From f5d5c36f9ee13ae14f653d14559251f86236bcab Mon Sep 17 00:00:00 2001 From: David James Date: Mon, 2 Apr 2012 17:17:47 -0700 Subject: [PATCH] Revert "util-linux: update to latest Gentoo version" This reverts commit edf380c4e17af3a927af2b11003b892b2f9294cd This broke the commit queue. See http://chromegw.corp.google.com/i/chromiumos/builders/x86%20generic%20paladin/builds/2519 BUG=chromium-os:26483 TEST=none Change-Id: I616f63c0f96208db5e591a5a8542800b90f8b0a9 Reviewed-on: https://gerrit.chromium.org/gerrit/19493 Reviewed-by: David James Tested-by: David James --- .../md5-cache/sys-apps/util-linux-2.19.1-r1 | 13 +++ .../md5-cache/sys-apps/util-linux-2.21 | 13 --- .../sys-apps/util-linux/Manifest | 3 +- .../util-linux-2.19.1-mount-a-segv.patch | 86 +++++++++++++++++ .../util-linux-2.19.1-umount-l-nfs.patch | 92 +++++++++++++++++++ ...1.1.ebuild => util-linux-2.19.1-r1.ebuild} | 44 ++++----- 6 files changed, 216 insertions(+), 35 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/metadata/md5-cache/sys-apps/util-linux-2.19.1-r1 delete mode 100644 sdk_container/src/third_party/portage-stable/metadata/md5-cache/sys-apps/util-linux-2.21 create mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/util-linux/files/util-linux-2.19.1-mount-a-segv.patch create mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/util-linux/files/util-linux-2.19.1-umount-l-nfs.patch rename sdk_container/src/third_party/portage-stable/sys-apps/util-linux/{util-linux-2.21.1.ebuild => util-linux-2.19.1-r1.ebuild} (72%) diff --git a/sdk_container/src/third_party/portage-stable/metadata/md5-cache/sys-apps/util-linux-2.19.1-r1 b/sdk_container/src/third_party/portage-stable/metadata/md5-cache/sys-apps/util-linux-2.19.1-r1 new file mode 100644 index 0000000000..7ba4d9dbd0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/metadata/md5-cache/sys-apps/util-linux-2.19.1-r1 @@ -0,0 +1,13 @@ +DEFINED_PHASES=configure install prepare +DEPEND=!sys-process/schedutils !sys-apps/setarch !=sys-libs/ncurses-5.2-r2 ) perl? ( dev-lang/perl ) selinux? ( sys-libs/libselinux ) slang? ( sys-libs/slang ) nls? ( sys-devel/gettext ) virtual/os-headers +DESCRIPTION=Various useful Linux utilities +EAPI=3 +HOMEPAGE=http://www.kernel.org/pub/linux/utils/util-linux/ +IUSE=+cramfs crypt loop-aes ncurses nls old-linux perl selinux slang uclibc unicode +KEYWORDS=alpha amd64 arm hppa ia64 m68k ~mips ppc ~ppc64 s390 sh sparc x86 ~x86-linux +LICENSE=GPL-2 +RDEPEND=!sys-process/schedutils !sys-apps/setarch !=sys-libs/ncurses-5.2-r2 ) perl? ( dev-lang/perl ) selinux? ( sys-libs/libselinux ) slang? ( sys-libs/slang ) +SLOT=0 +SRC_URI=mirror://kernel/linux/utils/util-linux/v2.19/util-linux-2.19.1.tar.bz2 loop-aes? ( http://loop-aes.sourceforge.net/updates/util-linux-2.19.1-20110510.diff.bz2 ) +_eclasses_=eutils 33ef77a15337022e05342d2c772a7a5a flag-o-matic 01a8b1eb019305bc4b4a8bd0b04e4cd8 libtool 0fd90d183673bf1107465ec45849d1ea multilib 5f4ad6cf85e365e8f0c6050ddd21659e portability 0be430f759a631e692678ed796e09f5c toolchain-funcs 6526ac6fc9aedf391efb91fcd75ace68 user 9e552f935106ff0bc92af16da64b4b29 +_md5_=9c0d5faa1cf1f1a62d22b51e608dc46d diff --git a/sdk_container/src/third_party/portage-stable/metadata/md5-cache/sys-apps/util-linux-2.21 b/sdk_container/src/third_party/portage-stable/metadata/md5-cache/sys-apps/util-linux-2.21 deleted file mode 100644 index ba57389fef..0000000000 --- a/sdk_container/src/third_party/portage-stable/metadata/md5-cache/sys-apps/util-linux-2.21 +++ /dev/null @@ -1,13 +0,0 @@ -DEFINED_PHASES=configure install postinst prepare -DEPEND=!sys-process/schedutils !sys-apps/setarch !=sys-libs/ncurses-5.2-r2 ) perl? ( dev-lang/perl ) selinux? ( sys-libs/libselinux ) slang? ( sys-libs/slang ) nls? ( sys-devel/gettext ) virtual/os-headers -DESCRIPTION=Various useful Linux utilities -EAPI=3 -HOMEPAGE=http://www.kernel.org/pub/linux/utils/util-linux/ -IUSE=+cramfs crypt ddate loop-aes ncurses nls old-linux perl selinux slang static-libs uclibc unicode -KEYWORDS=~alpha amd64 arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~x86-linux -LICENSE=GPL-2 GPL-3 LGPL-2.1 BSD-4 MIT public-domain -RDEPEND=!sys-process/schedutils !sys-apps/setarch !=sys-libs/ncurses-5.2-r2 ) perl? ( dev-lang/perl ) selinux? ( sys-libs/libselinux ) slang? ( sys-libs/slang ) -SLOT=0 -SRC_URI=mirror://kernel/linux/utils/util-linux/v2.21/util-linux-2.21.tar.xz loop-aes? ( http://loop-aes.sourceforge.net/updates/util-linux-2.20-20110905.diff.bz2 ) -_eclasses_=eutils 33ef77a15337022e05342d2c772a7a5a flag-o-matic 01a8b1eb019305bc4b4a8bd0b04e4cd8 libtool 0fd90d183673bf1107465ec45849d1ea multilib 5f4ad6cf85e365e8f0c6050ddd21659e portability 0be430f759a631e692678ed796e09f5c toolchain-funcs 6526ac6fc9aedf391efb91fcd75ace68 user 9e552f935106ff0bc92af16da64b4b29 -_md5_=b6d81b0a2a3938f75ee47424a9da8609 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/Manifest index fa37befb6b..5e5a68e6c4 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/Manifest @@ -1 +1,2 @@ -DIST util-linux-2.21.1.tar.xz 2975120 RMD160 877752a63a0eae362d439b04db06a7be726469ae SHA1 49e130a456516e15c6bb0238f370f2125ad1cfe2 SHA256 6ffaffb46bfb1aa403f83f0c8d2700e5ec35ffcb35a0573adb10404ed16c9004 +DIST util-linux-2.19.1-20110510.diff.bz2 47865 RMD160 0983ac7a48031e4b3e0ddce213887526cfa17bc0 SHA1 e73c7bca691b5d83c1b2725d53a5b669fb268495 SHA256 e04f541ca48951284331e71cbf142d777750dbc9baa051ed9e9913c7dab32b7f +DIST util-linux-2.19.1.tar.bz2 4396543 RMD160 e4763d21a3a32029ccc525a0222e271f0946a4fd SHA1 96af5d4a37c42296dae5365ba533316216a6b347 SHA256 d3eac4afcc687b3ae1ffedcab2dc12df84c7ba7045cce31386d2b7040a011c7d diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/files/util-linux-2.19.1-mount-a-segv.patch b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/files/util-linux-2.19.1-mount-a-segv.patch new file mode 100644 index 0000000000..1f358bafe3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/files/util-linux-2.19.1-mount-a-segv.patch @@ -0,0 +1,86 @@ +https://bugs.gentoo.org/366213 + +From f53edda83ebcfd7015c3f35196d6cbd7bc2d8369 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Wed, 11 May 2011 16:57:27 +0200 +Subject: [PATCH] mount: -a segfaults when 4th field is omitted (mount + options) + + # echo 'tmpd /tmp/x tmpfs' >> /etc/fstab + # mkdir /tmp/x + # mount -a + segfault + +Reported-by: Mike Frysinger +Signed-off-by: Karel Zak +--- + mount/mount.c | 8 +++++--- + mount/mount_mntent.c | 5 +++-- + mount/sundries.c | 2 ++ + 3 files changed, 10 insertions(+), 5 deletions(-) + +diff --git a/mount/mount.c b/mount/mount.c +index ba71149..29963c2 100644 +--- a/mount/mount.c ++++ b/mount/mount.c +@@ -1163,7 +1163,9 @@ is_mounted_same_loopfile(const char *node0, const char *loopfile, unsigned long + res = loopfile_used_with((char *) mnt->m.mnt_fsname, + loopfile, offset); + +- else if ((p = strstr(mnt->m.mnt_opts, "loop="))) { ++ else if (mnt->m.mnt_opts && ++ (p = strstr(mnt->m.mnt_opts, "loop="))) ++ { + char *dev = xstrdup(p+5); + if ((p = strchr(dev, ','))) + *p = '\0'; +@@ -2052,8 +2054,8 @@ is_fstab_entry_mounted(struct mntentchn *mc, int verbose) + goto yes; + + /* extra care for loop devices */ +- if ((strstr(mc->m.mnt_opts, "loop=") || +- (stat(mc->m.mnt_fsname, &st) == 0 && S_ISREG(st.st_mode)))) { ++ if ((mc->m.mnt_opts && strstr(mc->m.mnt_opts, "loop=")) || ++ (stat(mc->m.mnt_fsname, &st) == 0 && S_ISREG(st.st_mode))) { + + char *p = get_option_value(mc->m.mnt_opts, "offset="); + uintmax_t offset = 0; +diff --git a/mount/mount_mntent.c b/mount/mount_mntent.c +index d90def3..f42c0ad 100644 +--- a/mount/mount_mntent.c ++++ b/mount/mount_mntent.c +@@ -70,7 +70,7 @@ my_addmntent (mntFILE *mfp, struct my_mntent *mnt) { + m1 = mangle(mnt->mnt_fsname); + m2 = mangle(mnt->mnt_dir); + m3 = mangle(mnt->mnt_type); +- m4 = mangle(mnt->mnt_opts); ++ m4 = mnt->mnt_opts ? mangle(mnt->mnt_opts) : "rw"; + + res = fprintf (mfp->mntent_fp, "%s %s %s %s %d %d\n", + m1, m2, m3, m4, mnt->mnt_freq, mnt->mnt_passno); +@@ -78,7 +78,8 @@ my_addmntent (mntFILE *mfp, struct my_mntent *mnt) { + free(m1); + free(m2); + free(m3); +- free(m4); ++ if (mnt->mnt_opts) ++ free(m4); + return (res < 0) ? 1 : 0; + } + +diff --git a/mount/sundries.c b/mount/sundries.c +index ae4501a..2dec37f 100644 +--- a/mount/sundries.c ++++ b/mount/sundries.c +@@ -217,6 +217,8 @@ matching_opts (const char *options, const char *test_opts) { + + if (test_opts == NULL) + return 1; ++ if (options == NULL) ++ options = ""; + + len = strlen(test_opts); + q = alloca(len+1); +-- +1.7.6 + diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/files/util-linux-2.19.1-umount-l-nfs.patch b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/files/util-linux-2.19.1-umount-l-nfs.patch new file mode 100644 index 0000000000..72ec3aa736 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/files/util-linux-2.19.1-umount-l-nfs.patch @@ -0,0 +1,92 @@ +https://bugs.gentoo.org/370051 + +From b3b0c657818aa6191e6494f88d671601dd9d837d Mon Sep 17 00:00:00 2001 +From: Petr Uzel +Date: Wed, 29 Jun 2011 10:24:09 +0200 +Subject: [PATCH] umount: do not hang with disconnected NFS mounts + +Since util-linux commit f4612577c942a3683b97632ad0b49671897c2070, +umount stat(2)s its argument to check whether it can be associated +with some loop device. This could hang with broken NFS mounts. + +Fix by first checking mtab if umount's argument is mounted and only if +we fail, check if there is a loop device associated. + +http://marc.info/?l=util-linux-ng&m=130924963804836&w=2 + +Reported-by: Konstantin Khlebnikov +Signed-off-by: Petr Uzel +--- + mount/umount.c | 42 ++++++++++++++++++++++-------------------- + 1 files changed, 22 insertions(+), 20 deletions(-) + +diff --git a/mount/umount.c b/mount/umount.c +index 0349cb3..96c940e 100644 +--- a/mount/umount.c ++++ b/mount/umount.c +@@ -600,6 +600,7 @@ umount_file (char *arg) { + int fstab_has_user, fstab_has_users, fstab_has_owner, fstab_has_group; + int ok, status = 0; + struct stat statbuf; ++ char *loopdev = NULL; + + if (!*arg) { /* "" would be expanded to `pwd` */ + die(2, _("Cannot unmount \"\"\n")); +@@ -608,26 +609,7 @@ umount_file (char *arg) { + + file = canonicalize(arg); /* mtab paths are canonicalized */ + +- /* if file is a regular file, check if it is associated +- * with some loop device +- */ +- if (!stat(file, &statbuf) && S_ISREG(statbuf.st_mode)) { +- char *loopdev = NULL; +- switch (find_loopdev_by_backing_file(file, &loopdev)) { +- case 0: +- if (verbose) +- printf(_("%s is associated with %s, trying to unmount it\n"), +- arg, loopdev); +- file = loopdev; +- break; +- case 2: +- if (verbose) +- printf(_("%s is associated with more than one loop device: not unmounting\n"), +- arg); +- break; +- } +- } +- ++try_loopdev: + if (verbose > 1) + printf(_("Trying to unmount %s\n"), file); + +@@ -659,6 +641,26 @@ umount_file (char *arg) { + if (!mc && verbose) + printf(_("Could not find %s in mtab\n"), file); + ++ /* not found in mtab - check if it is associated with some loop device ++ * (only if it is a regular file) ++ */ ++ if (!mc && !loopdev && !stat(file, &statbuf) && S_ISREG(statbuf.st_mode)) { ++ switch (find_loopdev_by_backing_file(file, &loopdev)) { ++ case 0: ++ if (verbose) ++ printf(_("%s is associated with %s\n"), ++ arg, loopdev); ++ file = loopdev; ++ goto try_loopdev; ++ break; ++ case 2: ++ if (verbose) ++ printf(_("%s is associated with more than one loop device: not unmounting\n"), ++ arg); ++ break; ++ } ++ } ++ + if (restricted) { + char *mtab_user = NULL; + +-- +1.7.6 + diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.21.1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.19.1-r1.ebuild similarity index 72% rename from sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.21.1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.19.1-r1.ebuild index 7b648fe3d1..46a569c073 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.21.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.19.1-r1.ebuild @@ -1,12 +1,12 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/util-linux/util-linux-2.21.1.ebuild,v 1.3 2012/03/30 20:31:38 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/util-linux/util-linux-2.19.1-r1.ebuild,v 1.10 2011/11/17 18:48:41 phajdan.jr Exp $ EAPI="3" EGIT_REPO_URI="git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git" inherit eutils toolchain-funcs libtool flag-o-matic -[[ ${PV} == "9999" ]] && inherit git-2 autotools +[[ ${PV} == "9999" ]] && inherit git autotools MY_PV=${PV/_/-} MY_P=${PN}-${MY_PV} @@ -18,18 +18,17 @@ if [[ ${PV} == "9999" ]] ; then SRC_URI="" #KEYWORDS="" else - SRC_URI="mirror://kernel/linux/utils/util-linux/v${PV:0:4}/${MY_P}.tar.xz - loop-aes? ( http://loop-aes.sourceforge.net/updates/util-linux-2.20-20110905.diff.bz2 )" - KEYWORDS="alpha amd64 arm hppa ia64 m68k mips ppc ppc64 s390 sh sparc x86 ~x86-linux" + SRC_URI="mirror://kernel/linux/utils/util-linux/v${PV:0:4}/${MY_P}.tar.bz2 + loop-aes? ( http://loop-aes.sourceforge.net/updates/util-linux-2.19.1-20110510.diff.bz2 )" + KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ~ppc64 s390 sh sparc x86 ~x86-linux" fi -LICENSE="GPL-2 GPL-3 LGPL-2.1 BSD-4 MIT public-domain" +LICENSE="GPL-2" SLOT="0" -IUSE="+cramfs crypt ddate loop-aes ncurses nls old-linux perl selinux slang static-libs uclibc unicode" +IUSE="+cramfs crypt loop-aes ncurses nls old-linux perl selinux slang uclibc unicode" RDEPEND="!sys-process/schedutils !sys-apps/setarch - !