git: 5e062f27de12 - main - devel/util-linux: update to v2.41.1 and fix test suite

From: Matthias Andree <mandree_at_FreeBSD.org>
Date: Mon, 29 Sep 2025 23:49:30 UTC
The branch main has been updated by mandree:

URL: https://cgit.FreeBSD.org/ports/commit/?id=5e062f27de12ab35840e82e213b5115d416d37da

commit 5e062f27de12ab35840e82e213b5115d416d37da
Author:     Matthias Andree <mandree@FreeBSD.org>
AuthorDate: 2025-09-29 20:04:42 +0000
Commit:     Matthias Andree <mandree@FreeBSD.org>
CommitDate: 2025-09-29 23:47:11 +0000

    devel/util-linux: update to v2.41.1 and fix test suite
    
    The test-suite requires GNU sed and xargs and will then pass most
    tests, three are failing, not yet investigated, but a clear improvement
    from 300+ fails that were from the incompatible xargs and sed.
    
    There are more issues in some of the build scripts that might be fixed
    by BINARY_ALIAS'ing GNU coreutils, or replacing their long options by
    our short options (mkdir --parents -> mkdir -p).
    
    Not updating to v2.41.2 which has upstream "blocker" issues filed
    recently.
    
    It would help if port maintainers stayed on top of their upstream
    releases and saw to it that the port is complete. It does not help
    at all to have broken test-suites in the tree.
    
    Also, ignore on i386, not Y2038 safe, and configure aborts with error.
---
 devel/util-linux/Makefile                       | 24 ++++++++++++------
 devel/util-linux/distinfo                       |  6 ++---
 devel/util-linux/files/patch-Makefile.am        | 18 ++++++++++----
 devel/util-linux/files/patch-configure.ac       |  6 ++---
 devel/util-linux/files/patch-include_bitops.h   | 11 ---------
 devel/util-linux/files/patch-tests_functions.sh | 33 +++++++++++++++++++++++++
 devel/util-linux/pkg-plist                      | 11 ++++++---
 7 files changed, 76 insertions(+), 33 deletions(-)

diff --git a/devel/util-linux/Makefile b/devel/util-linux/Makefile
index 284d3758a6d6..d481c8fd4112 100644
--- a/devel/util-linux/Makefile
+++ b/devel/util-linux/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	util-linux
-DISTVERSION=	2.39.4
-PORTREVISION=	4
+DISTVERSION=	2.41.1
+PORTREVISION=	0
 CATEGORIES=	devel
 MASTER_SITES=	KERNEL_ORG/linux/utils/util-linux/v${DISTVERSION:R}/
 
@@ -11,7 +11,13 @@ WWW=		https://github.com/util-linux/util-linux
 LICENSE=	GPLv2
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-BUILD_DEPENDS=	bash:shells/bash
+IGNORE_i386=	configure: error: could not enable timestamps after mid-January 2038.
+
+# gsed/gxargs are only TEST_DEPENDS, but we need to BINARY_ALIAS them,
+# so they need to be listed in BUILD_DEPENDS instead.
+BUILD_DEPENDS=	bash:shells/bash \
+		gsed:textproc/gsed \
+		gxargs:misc/findutils
 LIB_DEPENDS=	libblkid.so:filesystems/libblkid \
 		libuuid.so:misc/libuuid
 RUN_DEPENDS=	bash:shells/bash
@@ -24,17 +30,20 @@ USE_LDCONFIG=	yes
 SHEBANG_FILES=	misc-utils/getopt-example.bash \
 		tools/*.sh \
 		tools/git-tp-sync \
-		tools/git-tp-sync-man \
-		tests/run.sh
+		tests/run.sh \
+		tests/ts/*/*
 
 GNU_CONFIGURE=	yes
 GNU_CONFIGURE_MANPREFIX=	${PREFIX}/share
 CONFIGURE_ARGS=	--disable-nls --disable-ipcrm --disable-ipcs \
 		--disable-makeinstall-chown --disable-makeinstall-setuid \
+		--disable-asciidoc --disable-liblastlog2 \
 		--with-pkgconfigdir=${PREFIX}/libdata/pkgconfig
 
-INSTALL_TARGET=	install-strip
-TEST_TARGET=	check # tests fail due to https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=273196
+# INSTALL_TARGET=	install-strip
+TEST_ENV=	PATH=${PATH}:${STAGEDIR}${PREFIX}/bin:${STAGEDIR}${PREFIX}/sbin
+TEST_TARGET=	check # tests fail due to https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=273196 - workaround use gxargs
+BINARY_ALIAS=	sed=gsed xargs=gxargs
 
 CONFLICTS_INSTALL=	heirloom-doctools
 
@@ -58,6 +67,7 @@ post-install: # https://github.com/karelzak/util-linux/issues/1149
 	${RM} -r ${STAGEDIR}${DOCSDIR}
 	${RM} -r ${STAGEDIR}${PREFIX}/include/blkid/
 	${RM} ${STAGEDIR}${PREFIX}/share/man/man5/terminal-colors.d.5*
+	${MV} ${STAGEDIR}${PREFIX}/sbin/fdisk ${STAGEDIR}${PREFIX}/sbin/fdisk-linux
 	${FIND} ${STAGEDIR}${PREFIX} -name 'flock*' -delete
 	${FIND} ${STAGEDIR}${PREFIX} -name 'getopt*' -delete
 	${FIND} ${STAGEDIR}${PREFIX} -name 'blkid*' -delete
diff --git a/devel/util-linux/distinfo b/devel/util-linux/distinfo
index bcb689df13a7..b83fb63e0748 100644
--- a/devel/util-linux/distinfo
+++ b/devel/util-linux/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1714112744
-SHA256 (util-linux-2.39.4.tar.xz) = 6c4f8723dafd41c39d93ecbf16509fc88c33cd5bd3277880ae5a1d97a014fd0e
-SIZE (util-linux-2.39.4.tar.xz) = 8541176
+TIMESTAMP = 1759172745
+SHA256 (util-linux-2.41.1.tar.xz) = be9ad9a276f4305ab7dd2f5225c8be1ff54352f565ff4dede9628c1aaa7dec57
+SIZE (util-linux-2.41.1.tar.xz) = 9606156
diff --git a/devel/util-linux/files/patch-Makefile.am b/devel/util-linux/files/patch-Makefile.am
index 25af74efade8..fc5132a38224 100644
--- a/devel/util-linux/files/patch-Makefile.am
+++ b/devel/util-linux/files/patch-Makefile.am
@@ -1,15 +1,15 @@
---- Makefile.am.orig	2020-07-23 09:26:04 UTC
+--- Makefile.am.orig	2025-05-05 08:28:44 UTC
 +++ Makefile.am
-@@ -65,7 +65,7 @@ CHECK_LOCALS =
- EXTRA_DIST =
+@@ -84,7 +84,7 @@ DISTCLEANFILES =
  CLEANFILES =
+ DISTCLEANFILES =
  
 -SUBDIRS = po
-+SUBDIRS = # po
++SUBDIRS = 
  
  RCS_FIND_IGNORE = \( -name SCCS -o -name BitKeeper -o -name .svn -o \
  		-name CVS -o -name .pc -o -name .hg -o -name .git \) -prune -o
-@@ -76,7 +76,6 @@ EXTRA_DIST += \
+@@ -95,7 +95,6 @@ EXTRA_DIST += \
  	.version \
  	autogen.sh \
  	Documentation \
@@ -17,3 +17,11 @@
  	README.licensing
  
  include tools/Makemodule.am
+@@ -120,7 +119,6 @@ include man-common/Makemodule.am
+ include pam_lastlog2/Makemodule.am
+ include bash-completion/Makemodule.am
+ include man-common/Makemodule.am
+-include po-man/Makemodule.am
+ 
+ include Documentation/Makemodule.am
+ include tests/Makemodule.am
diff --git a/devel/util-linux/files/patch-configure.ac b/devel/util-linux/files/patch-configure.ac
index cb4155f7831e..798eb638b5fa 100644
--- a/devel/util-linux/files/patch-configure.ac
+++ b/devel/util-linux/files/patch-configure.ac
@@ -1,6 +1,6 @@
---- configure.ac.orig	2020-07-23 09:23:58 UTC
+--- configure.ac.orig	2025-06-24 07:55:28 UTC
 +++ configure.ac
-@@ -204,7 +204,8 @@ PKG_INSTALLDIR(['${usrlib_execdir}/pkgconfig'])
+@@ -257,7 +257,8 @@ PKG_INSTALLDIR(['${usrlib_execdir}/pkgconfig'])
  PKG_PROG_PKG_CONFIG
  PKG_INSTALLDIR(['${usrlib_execdir}/pkgconfig'])
  
@@ -9,4 +9,4 @@
 +AM_CONDITIONAL([GTK_DOC_USE_LIBTOOL], true)
  AC_PATH_PROG([XSLTPROC], [xsltproc])
  
- linux_os=no
+ 
diff --git a/devel/util-linux/files/patch-include_bitops.h b/devel/util-linux/files/patch-include_bitops.h
deleted file mode 100644
index 2b5c7ce9f633..000000000000
--- a/devel/util-linux/files/patch-include_bitops.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- include/bitops.h.orig	2023-06-25 21:35:59 UTC
-+++ include/bitops.h
-@@ -25,7 +25,7 @@
- # define be16toh(x) betoh16(x)
- # define be32toh(x) betoh32(x)
- # define be64toh(x) betoh64(x)
--#elif defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
-+#elif defined(__NetBSD__) || defined(__DragonFly__)
- # define bswap_16(x) bswap16(x)
- # define bswap_32(x) bswap32(x)
- # define bswap_64(x) bswap64(x)
diff --git a/devel/util-linux/files/patch-tests_functions.sh b/devel/util-linux/files/patch-tests_functions.sh
new file mode 100644
index 000000000000..c0d2183eb709
--- /dev/null
+++ b/devel/util-linux/files/patch-tests_functions.sh
@@ -0,0 +1,33 @@
+--- tests/functions.sh.orig	2025-06-23 11:25:00 UTC
++++ tests/functions.sh
+@@ -479,8 +479,8 @@ function ts_init_suid {
+ 
+ 	# Save info about original setting
+ 	TS_SUID_PROGS[$ct]=$PROG
+-	TS_SUID_USER[$ct]=$(stat --printf="%U" $PROG)
+-	TS_SUID_GROUP[$ct]=$(stat --printf="%G" $PROG)
++	TS_SUID_USER[$ct]=$(stat -f "%Su" $PROG)
++	TS_SUID_GROUP[$ct]=$(stat -f "%Sg" $PROG)
+ 
+ 	chown root:root $PROG &> /dev/null
+ 	chmod u+s $PROG &> /dev/null
+@@ -688,12 +688,13 @@ function ts_cleanup_on_exit {
+ }
+ 
+ function ts_cleanup_on_exit {
+-
+-	for idx in $(seq 0 $((${#TS_SUID_PROGS[*]} - 1))); do
+-		PROG=${TS_SUID_PROGS[$idx]}
+-		chmod a-s $PROG &> /dev/null
+-		chown ${TS_SUID_USER[$idx]}:${TS_SUID_GROUP[$idx]} $PROG &> /dev/null
+-	done
++	if [ ${#TS_SUID_PROGS[*]} -ge 1 ] ; then
++		for idx in $(seq 0 $((${#TS_SUID_PROGS[*]} - 1))); do
++			PROG=${TS_SUID_PROGS[$idx]}
++			chmod a-s $PROG &> /dev/null
++			chown ${TS_SUID_USER[$idx]}:${TS_SUID_GROUP[$idx]} $PROG &> /dev/null
++		done
++	fi
+ 
+ 	for dev in "${TS_LOOP_DEVS[@]}"; do
+ 		ts_device_deinit "$dev"
diff --git a/devel/util-linux/pkg-plist b/devel/util-linux/pkg-plist
index 4a2f21638ef9..774bb8aec5ee 100644
--- a/devel/util-linux/pkg-plist
+++ b/devel/util-linux/pkg-plist
@@ -1,6 +1,6 @@
+bin/bits
 %%CAL%%bin/cal
 bin/chrt
-bin/col
 bin/colcrt
 bin/colrm
 bin/column
@@ -17,6 +17,7 @@ bin/rename
 bin/renice
 bin/rev
 bin/scriptreplay
+bin/setpgid
 @comment bin/setsid
 bin/ul
 bin/wall
@@ -34,7 +35,7 @@ lib/libsmartcols.so.1.1.0
 libdata/pkgconfig/fdisk.pc
 libdata/pkgconfig/smartcols.pc
 sbin/cfdisk
-sbin/fdisk
+sbin/fdisk-linux
 sbin/findfs
 sbin/fsck.cramfs
 sbin/fsck.minix
@@ -50,7 +51,6 @@ sbin/wipefs
 %%CAL%%share/bash-completion/completions/cal
 share/bash-completion/completions/cfdisk
 share/bash-completion/completions/chrt
-share/bash-completion/completions/col
 share/bash-completion/completions/colcrt
 share/bash-completion/completions/colrm
 share/bash-completion/completions/column
@@ -76,6 +76,7 @@ share/bash-completion/completions/rename
 share/bash-completion/completions/renice
 share/bash-completion/completions/rev
 share/bash-completion/completions/scriptreplay
+share/bash-completion/completions/setpgid
 @comment share/bash-completion/completions/setsid
 share/bash-completion/completions/sfdisk
 share/bash-completion/completions/swaplabel
@@ -83,9 +84,9 @@ share/bash-completion/completions/ul
 share/bash-completion/completions/wall
 share/bash-completion/completions/whereis
 share/bash-completion/completions/wipefs
+share/man/man1/bits.1.gz
 %%CAL%%share/man/man1/cal.1.gz
 share/man/man1/chrt.1.gz
-share/man/man1/col.1.gz
 share/man/man1/colcrt.1.gz
 share/man/man1/colrm.1.gz
 share/man/man1/column.1.gz
@@ -101,10 +102,12 @@ share/man/man1/rename.1.gz
 share/man/man1/renice.1.gz
 share/man/man1/rev.1.gz
 share/man/man1/scriptreplay.1.gz
+share/man/man1/setpgid.1.gz
 @comment share/man/man1/setsid.1.gz
 share/man/man1/ul.1.gz
 share/man/man1/wall.1.gz
 share/man/man1/whereis.1.gz
+share/man/man5/scols-filter.5.gz
 share/man/man8/cfdisk.8.gz
 share/man/man8/fdisk.8.gz
 share/man/man8/findfs.8.gz