util-linux: 2.41.3 -> 2.42 (#507117)

This commit is contained in:
Vladimír Čunát
2026-04-06 07:05:12 +00:00
committed by GitHub
3 changed files with 74 additions and 72 deletions
@@ -0,0 +1,61 @@
From 145b6a66dcc725de3c3161db62db7047eb407214 Mon Sep 17 00:00:00 2001
From: Morgan Jones <me@numin.it>
Date: Sun, 5 Apr 2026 18:03:54 -0700
Subject: [PATCH] pidfd-utils: include correct struct statfs header for darwin
Fixes the build on Darwin since struct statfs is in sys/mount.h
and sys/vfs.h doesn't even exist. Just conditionally include all the
headers.
---
include/statfs_magic.h | 16 ++++++++++++++++
lib/pidfd-utils.c | 3 ---
2 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/include/statfs_magic.h b/include/statfs_magic.h
index 6921abaa4..28977f392 100644
--- a/include/statfs_magic.h
+++ b/include/statfs_magic.h
@@ -5,10 +5,26 @@
#ifndef UTIL_LINUX_STATFS_MAGIC_H
#define UTIL_LINUX_STATFS_MAGIC_H
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+
#ifdef HAVE_SYS_STATFS_H
# include <sys/statfs.h>
#endif
+#ifdef HAVE_SYS_VFS_H
+# include <sys/vfs.h>
+#endif
+
+#ifdef HAVE_SYS_MOUNT_H
+# include <sys/mount.h>
+#endif
+
/*
* If possible then don't depend on internal libc __SWORD_TYPE type.
*/
diff --git a/lib/pidfd-utils.c b/lib/pidfd-utils.c
index a83735920..f7c649144 100644
--- a/lib/pidfd-utils.c
+++ b/lib/pidfd-utils.c
@@ -5,9 +5,6 @@
* Authors: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu> [2025]
*/
#include <stdlib.h>
-#include <sys/stat.h>
-#include <sys/vfs.h>
-#include <sys/types.h>
#include <errno.h>
#include <err.h>
--
2.50.1
+13 -20
View File
@@ -43,11 +43,11 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "util-linux" + lib.optionalString isMinimal "-minimal";
version = "2.41.3";
version = "2.42";
src = fetchurl {
url = "mirror://kernel/linux/utils/util-linux/v${lib.versions.majorMinor finalAttrs.version}/util-linux-${finalAttrs.version}.tar.xz";
hash = "sha256-MzDYc/D861VguJp9wU5PMoi72IDpaQPtm1DsK1eZ5Ys=";
hash = "sha256-NFKyYLuqd11udJrDuyIRF4UAP8H0RJcAJcjaJt+nWOk=";
};
patches = [
@@ -56,17 +56,9 @@ stdenv.mkDerivation (finalAttrs: {
# distros anyway).
./rtcwake-search-PATH-for-shutdown.patch
# pam_lastlog2: link with libpam
# see https://github.com/NixOS/nixpkgs/issues/493934
./pam_lastlog2-add-lpam-to-Makemodule.am.patch
# bits: only build when cpu_set_t is available
# Otherwise, the build fails on macOS
(fetchurl {
name = "bits-only-build-when-cpu_set_t-is-available.patch";
url = "https://lore.kernel.org/util-linux/20250501075806.88759-1-hi@alyssa.is/raw";
hash = "sha256-G7Cdv8636wJEjgt9am7PaDI8bpSF8sO9bFWEIiAL25A=";
})
# Fix compile of 2.42+ on Darwin.
# https://lore.kernel.org/util-linux/CAEUYr6ZjVX1bd-xcBGtFN_ZYwQnXDYsw7d1-7sTpF2BbgfrR+g@mail.gmail.com/T/#u
./include-correct-struct-statfs-header.patch
];
# We separate some of the utilities into their own outputs. This
@@ -221,13 +213,6 @@ stdenv.mkDerivation (finalAttrs: {
doCheck = false; # "For development purpose only. Don't execute on production system!"
passthru = {
updateScript = gitUpdater {
# No nicer place to find latest release.
url = "https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git";
rev-prefix = "v";
ignoredVersions = "(-rc).*";
};
# encode upstream assumption to be used in man-db
# https://github.com/util-linux/util-linux/commit/8886d84e25a457702b45194d69a47313f76dc6bc
hasCol = stdenv.hostPlatform.libc == "glibc";
@@ -235,6 +220,14 @@ stdenv.mkDerivation (finalAttrs: {
tests = {
inherit (nixosTests) pam-lastlog;
};
}
// lib.optionalAttrs (!isMinimal) {
updateScript = gitUpdater {
# No nicer place to find latest release.
url = "https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git";
rev-prefix = "v";
ignoredVersions = "(-rc|-start|-devel).*";
};
};
meta = {
@@ -1,52 +0,0 @@
From c8e620c6bcd044786c59f822810fc973090dbfa2 Mon Sep 17 00:00:00 2001
From: Morgan Jones <me@numin.it>
Date: Mon, 2 Mar 2026 11:03:39 -0800
Subject: [PATCH] pam_lastlog2: add -lpam to Makemodule.am
If we don't add this, we don't actually link with PAM; compare the
before and after of `lib/security/pam_lastlog2.so`.
```
Dynamic section at offset 0x2ce8 contains 31 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [liblastlog2.so.2]
0x0000000000000001 (NEEDED) Shared library: [libsqlite3.so]
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x000000000000000e (SONAME) Library soname: [pam_lastlog2.so]
```
```
Dynamic section at offset 0x2cd8 contains 32 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libpam.so.0]
0x0000000000000001 (NEEDED) Shared library: [liblastlog2.so.2]
0x0000000000000001 (NEEDED) Shared library: [libsqlite3.so]
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x000000000000000e (SONAME) Library soname: [pam_lastlog2.so]
```
This causes issues like https://github.com/NixOS/nixpkgs/issues/493934
where the library has trouble linking with PAM symbols because it is not
linked.
Signed-off-by: Morgan Jones <me@numin.it>
---
pam_lastlog2/src/Makemodule.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pam_lastlog2/src/Makemodule.am b/pam_lastlog2/src/Makemodule.am
index 40d597c58..629930853 100644
--- a/pam_lastlog2/src/Makemodule.am
+++ b/pam_lastlog2/src/Makemodule.am
@@ -13,7 +13,7 @@ pam_lastlog2_la_CFLAGS = \
pam_lastlog2_la_LIBADD = liblastlog2.la
-pam_lastlog2_la_LDFLAGS = $(SOLIB_LDFLAGS) -module -avoid-version -shared
+pam_lastlog2_la_LDFLAGS = $(SOLIB_LDFLAGS) -lpam -module -avoid-version -shared
if HAVE_VSCRIPT
pam_lastlog2_la_LDFLAGS += $(VSCRIPT_LDFLAGS),$(top_srcdir)/pam_lastlog2/src/pam_lastlog2.sym
endif
--
2.50.1