From fda6a92214ec847349100a7bf82d6c4e995ccf0344e586c4e508698ee6cb8cfa Mon Sep 17 00:00:00 2001 From: Petr Uzel Date: Tue, 14 Dec 2010 16:25:55 +0000 Subject: [PATCH] add util-linux-swapon-canonicalize-swap-device.patch (bnc#641142) OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=60 --- util-linux-2.18-no-canonicalize-fix.patch | 24 +++++++++++ ...inux-swapon-canonicalize-swap-device.patch | 41 +++++++++++++++++++ util-linux.changes | 17 ++++++++ util-linux.spec | 11 ++++- 4 files changed, 91 insertions(+), 2 deletions(-) create mode 100644 util-linux-2.18-no-canonicalize-fix.patch create mode 100644 util-linux-swapon-canonicalize-swap-device.patch diff --git a/util-linux-2.18-no-canonicalize-fix.patch b/util-linux-2.18-no-canonicalize-fix.patch new file mode 100644 index 0000000..774025f --- /dev/null +++ b/util-linux-2.18-no-canonicalize-fix.patch @@ -0,0 +1,24 @@ +commit 1cf4c20b198c0c6566198fd00b983d9aaf8321bc +Author: Miklos Szeredi +Date: Thu Oct 7 16:05:12 2010 +0200 + + mount: don't canonicalize "spec" with --no-canonicalize option + + "Spec" was still canonicalized despite --no-canonicalize. This + resulted in a hang during login with pam_encfs (Debian Bug#593336). + + Signed-off-by: Miklos Szeredi + +diff --git a/mount/devname.c b/mount/devname.c +index 585d259..05da092 100644 +--- a/mount/devname.c ++++ b/mount/devname.c +@@ -8,7 +8,7 @@ spec_to_devname(const char *spec) + { + if (!spec) + return NULL; +- if (is_pseudo_fs(spec)) ++ if (nocanonicalize || is_pseudo_fs(spec)) + return xstrdup(spec); + return fsprobe_get_devname_by_spec(spec); + } diff --git a/util-linux-swapon-canonicalize-swap-device.patch b/util-linux-swapon-canonicalize-swap-device.patch new file mode 100644 index 0000000..435a540 --- /dev/null +++ b/util-linux-swapon-canonicalize-swap-device.patch @@ -0,0 +1,41 @@ +Index: util-linux-ng-2.18/mount/swapon.c +=================================================================== +--- util-linux-ng-2.18.orig/mount/swapon.c ++++ util-linux-ng-2.18/mount/swapon.c +@@ -23,6 +23,7 @@ + #include "pathnames.h" + #include "swapheader.h" + #include "mangle.h" ++#include "canonicalize.h" + + #define PATH_MKSWAP "/sbin/mkswap" + +@@ -171,7 +172,11 @@ read_proc_swaps(void) { + break; + swapFiles = q; + +- swapFiles[numSwaps++] = unmangle(line); ++ if ((p = unmangle(line)) == NULL) ++ break; ++ ++ swapFiles[numSwaps++] = canonicalize_path(p); ++ free(p); + } + fclose(swaps); + } +@@ -179,10 +184,14 @@ read_proc_swaps(void) { + static int + is_in_proc_swaps(const char *fname) { + int i; ++ char *p = canonicalize_path(fname); + + for (i = 0; i < numSwaps; i++) +- if (swapFiles[i] && !strcmp(fname, swapFiles[i])) ++ if (swapFiles[i] && !strcmp(p, swapFiles[i])) { ++ free(p); + return 1; ++ } ++ free(p); + return 0; + } + diff --git a/util-linux.changes b/util-linux.changes index a5ef0a3..150828d 100644 --- a/util-linux.changes +++ b/util-linux.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Tue Dec 14 16:11:34 UTC 2010 - puzel@novell.com + +- add util-linux-swapon-canonicalize-swap-device.patch + (bnc#641142) + +------------------------------------------------------------------- +Thu Dec 2 17:09:08 CET 2010 - mszeredi@suse.cz + +- mount: don't canonicalize "spec" with --no-canonicalize option + [bnc#651598] + +------------------------------------------------------------------- +Thu Dec 2 15:23:36 CET 2010 - mszeredi@suse.cz + +- add Provides: util-linux(fake+no-canonicalize) [bnc#651598] + ------------------------------------------------------------------- Tue Nov 30 12:19:53 UTC 2010 - puzel@novell.com diff --git a/util-linux.spec b/util-linux.spec index 165cd27..cebcbfc 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -30,15 +30,17 @@ BuildRequires: pam-devel BuildRequires: pkg-config BuildRequires: readline-devel BuildRequires: zlib-devel -Url: http://userweb.kernel.org/~kzak/util-linux-ng/ +Url: http://kernel.org/~kzak/util-linux/ Supplements: filesystem(minix) Provides: fsck-with-dev-lock = %{version} +# bnc#651598: +Provides: util-linux(fake+no-canonicalize) PreReq: %install_info_prereq permissions License: GPLv2+ Group: System/Base AutoReqProv: on Version: 2.18 -Release: 4 +Release: 6 Recommends: %name-lang = %{version} Summary: A collection of basic system utilities Source: ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v%{version}/%name-ng-%{version}.tar.bz2 @@ -82,6 +84,8 @@ Patch4: util-linux-2.17.1-losetup-honor-documented-c-option Patch7: util-linux-swapon-btrfs-limitations Patch8: util-linux-agetty-s-option.patch Patch9: util-linux-fsck-l-option.patch +Patch10: util-linux-2.18-no-canonicalize-fix.patch +Patch11: util-linux-swapon-canonicalize-swap-device.patch ## ## adjtimex ## @@ -190,6 +194,9 @@ Files to develop applications using the libmount library. %patch7 -p1 %patch8 -p1 %patch9 -p1 +%patch10 -p1 +%patch11 -p1 + # cd adjtimex-* # adjtimex patches belongs here