From 2678bc65c2caad955d045cf58396d0f940428bd9 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Fri, 30 Mar 2012 14:26:32 -0400 Subject: [PATCH] util-linux: update to latest Gentoo version Upgraded sys-apps/util-linux to version 2.21 on amd64, arm, x86. This includes fixes from upstream which are biting us. Like loop file handling. We can reland this now that all targets have USE=static-libs set. BUG=chromium-os:26483 TEST=`cbuildbot amd64-generic-full` worked TEST=`cbuildbot arm-tegra2-full` worked TEST=`cbuildbot x86-generic-full` worked Change-Id: I4d9111e659fd35c7d2a99c6207fd19ecfe0856b1 Reviewed-on: https://gerrit.chromium.org/gerrit/19520 Reviewed-by: David James Commit-Ready: Mike Frysinger Tested-by: Mike Frysinger --- .../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 ------------------- ...9.1-r1.ebuild => util-linux-2.21.1.ebuild} | 44 +++++---- 6 files changed, 35 insertions(+), 216 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/metadata/md5-cache/sys-apps/util-linux-2.19.1-r1 create mode 100644 sdk_container/src/third_party/portage-stable/metadata/md5-cache/sys-apps/util-linux-2.21 delete mode 100644 sdk_container/src/third_party/portage-stable/sys-apps/util-linux/files/util-linux-2.19.1-mount-a-segv.patch delete 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.19.1-r1.ebuild => util-linux-2.21.1.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 deleted file mode 100644 index 7ba4d9dbd0..0000000000 --- a/sdk_container/src/third_party/portage-stable/metadata/md5-cache/sys-apps/util-linux-2.19.1-r1 +++ /dev/null @@ -1,13 +0,0 @@ -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 new file mode 100644 index 0000000000..ba57389fef --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/metadata/md5-cache/sys-apps/util-linux-2.21 @@ -0,0 +1,13 @@ +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 5e5a68e6c4..fa37befb6b 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,2 +1 @@ -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 +DIST util-linux-2.21.1.tar.xz 2975120 RMD160 877752a63a0eae362d439b04db06a7be726469ae SHA1 49e130a456516e15c6bb0238f370f2125ad1cfe2 SHA256 6ffaffb46bfb1aa403f83f0c8d2700e5ec35ffcb35a0573adb10404ed16c9004 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 deleted file mode 100644 index 1f358bafe3..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/files/util-linux-2.19.1-mount-a-segv.patch +++ /dev/null @@ -1,86 +0,0 @@ -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 deleted file mode 100644 index 72ec3aa736..0000000000 --- a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/files/util-linux-2.19.1-umount-l-nfs.patch +++ /dev/null @@ -1,92 +0,0 @@ -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.19.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.21.1.ebuild similarity index 72% rename from sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.19.1-r1.ebuild rename to sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.21.1.ebuild index 46a569c073..7b648fe3d1 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.19.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/util-linux/util-linux-2.21.1.ebuild @@ -1,12 +1,12 @@ -# Copyright 1999-2011 Gentoo Foundation +# Copyright 1999-2012 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.19.1-r1.ebuild,v 1.10 2011/11/17 18:48:41 phajdan.jr Exp $ +# $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 $ 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 autotools +[[ ${PV} == "9999" ]] && inherit git-2 autotools MY_PV=${PV/_/-} MY_P=${PN}-${MY_PV} @@ -18,17 +18,18 @@ if [[ ${PV} == "9999" ]] ; then SRC_URI="" #KEYWORDS="" else - 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" + 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" fi -LICENSE="GPL-2" +LICENSE="GPL-2 GPL-3 LGPL-2.1 BSD-4 MIT public-domain" SLOT="0" -IUSE="+cramfs crypt loop-aes ncurses nls old-linux perl selinux slang uclibc unicode" +IUSE="+cramfs crypt ddate loop-aes ncurses nls old-linux perl selinux slang static-libs uclibc unicode" RDEPEND="!sys-process/schedutils !sys-apps/setarch + !