freebsd-ports/misc/e2fsprogs-libuuid/Makefile
Matthias Andree 594ba3e582 sysutils/e2fsprogs: bugfix update to 1.46.6
ChangeLog: https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.46.6

Add patch to make m_offset reliable. Due to some race conditions on the
pipeline between FreeBSD's yes a, which emits 8190-long writes on
13-STABLE, and GNU dd (gdd), which it pipes its output into, gdd can
sometimes receive short reads occasionally, and because the count=
normally is the number of read(2) calls dispatched, this then leads to a
shorter reference "file system" that we crcsum, and that causes false
negative test results.  gdd warns that iflag=fullblock would avoid
effects of short reads, but this warning is discarded in the test
script.  Anyways, patch m_offset to use dd's and gdd's iflag=fullblock,
which causes (g)dd to call read(2) again until the block is full for
each nominal block, so we definitely read the desired output size 512 kB
no matter what shorter blocks might travel through the pipeline.

MFH:		2023Q1
2023-02-03 00:49:24 +01:00

47 lines
1.4 KiB
Makefile

PORTREVISION= 0
CATEGORIES= misc devel
PKGNAMESUFFIX= -libuuid
COMMENT= UUID library from e2fsprogs package
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${INSTALL_WRKSRC}/COPYING
CONFIGURE_ARGS= --enable-elf-shlibs --enable-libuuid
OPTIONS_EXCLUDE= NLS
MASTERDIR= ${.CURDIR}/../../sysutils/e2fsprogs-core
MAKE_ARGS= LIB_SUBDIRS=lib/uuid
USE_LDCONFIG= yes
ALL_TARGET= libs
INSTALL_TARGET= install install-shlibs
INSTALL_WRKSRC= ${WRKSRC}/lib/uuid
FILESDIR= ${.CURDIR}/files
USE_RC_SUBR= uuidd
PKGDIR= ${.CURDIR}
post-patch::
${REINPLACE_CMD} -e 's,/var/lib/libuuid,/var/run/libuuid,g' \
-e 's,/usr/sbin/uuidd,${PREFIX}/sbin/uuidd,' \
${WRKSRC}/lib/uuid/*.[ch]
pre-build:
${MKDIR} ${WRKSRC}/lib/uuid/elfshared
cd ${WRKSRC}/util && ${MAKE_CMD} subst
# ulimit guards against runaway tests
# failure to launch uuidd is fine (one might be running, or we may lack
# privileges); if it works, it'll quit after 50 seconds
post-build:
cd ${WRKSRC}/misc && ${MAKE_CMD} uuidgen uuidgen.1 uuidd uuidd.8
cd ${INSTALL_WRKSRC} && ( ulimit -t 5 && ${MAKE_CMD} check )
post-install:
${INSTALL_PROGRAM} ${WRKSRC}/misc/uuidgen ${STAGEDIR}${PREFIX}/bin/
${INSTALL_MAN} ${WRKSRC}/misc/uuidgen.1 ${STAGEDIR}${MAN8PREFIX}/man/man1/
${INSTALL_PROGRAM} ${WRKSRC}/misc/uuidd ${STAGEDIR}${PREFIX}/sbin/
${INSTALL_MAN} ${WRKSRC}/misc/uuidd.8 ${STAGEDIR}${MAN8PREFIX}/man/man8/
${MKDIR} ${STAGEDIR}/var/run/libuuid
.include "${MASTERDIR}/Makefile"