mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-09 19:13:26 +03:00
util-linux: hack: add withPatches passthru
TODO (#409339): Remove this hack. We had to add it to avoid a mass rebuild for the 25.05 release to fix Kubernetes. Once the staging cycle referenced in the above PR completes, this passthru and all consumers of it should go away.
This commit is contained in:
parent
89d5efb589
commit
99e6554fea
2 changed files with 53 additions and 2 deletions
39
pkgs/by-name/ut/util-linux/fix-mount-regression.patch
Normal file
39
pkgs/by-name/ut/util-linux/fix-mount-regression.patch
Normal file
|
@ -0,0 +1,39 @@
|
|||
From 7dbfe31a83f45d5aef2b508697e9511c569ffbc8 Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
Date: Mon, 24 Mar 2025 14:31:05 +0100
|
||||
Subject: [PATCH] libmount: fix --no-canonicalize regression
|
||||
|
||||
Fixes: https://github.com/util-linux/util-linux/issues/3474
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
---
|
||||
libmount/src/context.c | 3 ---
|
||||
sys-utils/mount.8.adoc | 2 +-
|
||||
2 files changed, 1 insertion(+), 4 deletions(-)
|
||||
|
||||
diff --git a/libmount/src/context.c b/libmount/src/context.c
|
||||
index 0323cb23d34..15a8ad3bbd0 100644
|
||||
--- a/libmount/src/context.c
|
||||
+++ b/libmount/src/context.c
|
||||
@@ -530,9 +530,6 @@ int mnt_context_is_xnocanonicalize(
|
||||
assert(cxt);
|
||||
assert(type);
|
||||
|
||||
- if (mnt_context_is_nocanonicalize(cxt))
|
||||
- return 1;
|
||||
-
|
||||
ol = mnt_context_get_optlist(cxt);
|
||||
if (!ol)
|
||||
return 0;
|
||||
diff --git a/sys-utils/mount.8.adoc b/sys-utils/mount.8.adoc
|
||||
index 4f23f8d1f0e..5103b91c578 100644
|
||||
--- a/sys-utils/mount.8.adoc
|
||||
+++ b/sys-utils/mount.8.adoc
|
||||
@@ -756,7 +756,7 @@ Allow to make a target directory (mountpoint) if it does not exist yet. The opti
|
||||
*X-mount.nocanonicalize*[**=**_type_]::
|
||||
Allows disabling of canonicalization for mount source and target paths. By default, the `mount` command resolves all paths to their absolute paths without symlinks. However, this behavior may not be desired in certain situations, such as when binding a mount over a symlink, or a symlink over a directory or another symlink. The optional argument _type_ can be either "source" or "target" (mountpoint). If no _type_ is specified, then canonicalization is disabled for both types. This mount option does not affect the conversion of source tags (e.g. LABEL= or UUID=) and fstab processing.
|
||||
+
|
||||
-The command line option *--no-canonicalize* overrides this mount option and affects all path and tag conversions in all situations, but it does not modify flags for open_tree syscalls.
|
||||
+The command-line option *--no-canonicalize* overrides this mount option and affects all path and tag conversions in all situations, but for backward compatibility, it does not modify open_tree syscall flags and does not allow the bind-mount over a symlink use case.
|
||||
+
|
||||
Note that *mount*(8) still sanitizes and canonicalizes the source and target paths specified on the command line by non-root users, regardless of the X-mount.nocanonicalize setting.
|
||||
|
|
@ -34,7 +34,7 @@
|
|||
let
|
||||
isMinimal = cryptsetupSupport == false && !nlsSupport && !ncursesSupport && !systemdSupport;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalPackage: rec {
|
||||
pname = "util-linux" + lib.optionalString isMinimal "-minimal";
|
||||
version = "2.41";
|
||||
|
||||
|
@ -200,6 +200,18 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
passthru = {
|
||||
# TODO (#409339): Remove this hack. We had to add it to avoid a mass rebuild
|
||||
# for the 25.05 release to fix Kubernetes. Once the staging cycle referenced
|
||||
# in the above PR completes, this passthru and all consumers of it should go away.
|
||||
withPatches = finalPackage.overrideAttrs (prev: {
|
||||
patches = lib.unique (
|
||||
prev.patches or [ ]
|
||||
++ [
|
||||
./fix-mount-regression.patch
|
||||
]
|
||||
);
|
||||
});
|
||||
|
||||
updateScript = gitUpdater {
|
||||
# No nicer place to find latest release.
|
||||
url = "https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git";
|
||||
|
@ -237,4 +249,4 @@ stdenv.mkDerivation rec {
|
|||
];
|
||||
priority = 6; # lower priority than coreutils ("kill") and shadow ("login" etc.) packages
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue