mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-29 17:41:05 +02:00
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 <davidjames@chromium.org> Commit-Ready: Mike Frysinger <vapier@chromium.org> Tested-by: Mike Frysinger <vapier@chromium.org>
This commit is contained in:
parent
183bceee2f
commit
2678bc65c2
@ -1,13 +0,0 @@
|
||||
DEFINED_PHASES=configure install prepare
|
||||
DEPEND=!sys-process/schedutils !sys-apps/setarch !<sys-libs/e2fsprogs-libs-1.41.8 !<sys-fs/e2fsprogs-1.41.8 cramfs? ( sys-libs/zlib ) ncurses? ( >=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/e2fsprogs-libs-1.41.8 !<sys-fs/e2fsprogs-1.41.8 cramfs? ( sys-libs/zlib ) ncurses? ( >=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
|
13
sdk_container/src/third_party/portage-stable/metadata/md5-cache/sys-apps/util-linux-2.21
vendored
Normal file
13
sdk_container/src/third_party/portage-stable/metadata/md5-cache/sys-apps/util-linux-2.21
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
DEFINED_PHASES=configure install postinst prepare
|
||||
DEPEND=!sys-process/schedutils !sys-apps/setarch !<sys-apps/sysvinit-2.88-r3 !<sys-libs/e2fsprogs-libs-1.41.8 !<sys-fs/e2fsprogs-1.41.8 cramfs? ( sys-libs/zlib ) ncurses? ( >=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-apps/sysvinit-2.88-r3 !<sys-libs/e2fsprogs-libs-1.41.8 !<sys-fs/e2fsprogs-1.41.8 cramfs? ( sys-libs/zlib ) ncurses? ( >=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
|
@ -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
|
||||
|
@ -1,86 +0,0 @@
|
||||
https://bugs.gentoo.org/366213
|
||||
|
||||
From f53edda83ebcfd7015c3f35196d6cbd7bc2d8369 Mon Sep 17 00:00:00 2001
|
||||
From: Karel Zak <kzak@redhat.com>
|
||||
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 <vapier@gentoo.org>
|
||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||||
---
|
||||
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
|
||||
|
@ -1,92 +0,0 @@
|
||||
https://bugs.gentoo.org/370051
|
||||
|
||||
From b3b0c657818aa6191e6494f88d671601dd9d837d Mon Sep 17 00:00:00 2001
|
||||
From: Petr Uzel <petr.uzel@suse.cz>
|
||||
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 <khlebnikov@openvz.org>
|
||||
Signed-off-by: Petr Uzel <petr.uzel@suse.cz>
|
||||
---
|
||||
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
|
||||
|
@ -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
|
||||
!<sys-apps/sysvinit-2.88-r3
|
||||
!<sys-libs/e2fsprogs-libs-1.41.8
|
||||
!<sys-fs/e2fsprogs-1.41.8
|
||||
cramfs? ( sys-libs/zlib )
|
||||
@ -42,19 +43,12 @@ DEPEND="${RDEPEND}
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
po/update-potfiles
|
||||
autopoint --force
|
||||
eautoreconf
|
||||
else
|
||||
use loop-aes && epatch "${WORKDIR}"/util-linux-*.diff
|
||||
fi
|
||||
epatch "${FILESDIR}"/${P}-mount-a-segv.patch #366213
|
||||
if ! use loop-aes ; then
|
||||
epatch "${FILESDIR}"/${P}-umount-l-nfs.patch #370051
|
||||
else
|
||||
ewarn "loop-aes is incompatible with current solution of #370051 bug!"
|
||||
ewarn "Therefore you're vulnerable to that bug now!"
|
||||
ewarn "Look at https://bugs.gentoo.org/show_bug.cgi?id=370051."
|
||||
fi
|
||||
use uclibc && sed -i -e s/versionsort/alphasort/g -e s/strverscmp.h/dirent.h/g mount/lomount.c
|
||||
elibtoolize
|
||||
}
|
||||
@ -72,7 +66,6 @@ lfs_fallocate_test() {
|
||||
rm -f "${T}"/fallocate.c
|
||||
}
|
||||
|
||||
usex() { use $1 && echo ${2:-yes} || echo ${3:-no} ; }
|
||||
src_configure() {
|
||||
lfs_fallocate_test
|
||||
econf \
|
||||
@ -80,9 +73,9 @@ src_configure() {
|
||||
$(use_enable nls) \
|
||||
--enable-agetty \
|
||||
$(use_enable cramfs) \
|
||||
$(use_enable ddate) \
|
||||
$(use_enable old-linux elvtune) \
|
||||
--with-ncurses=$(usex ncurses $(usex unicode auto yes) no) \
|
||||
--disable-init \
|
||||
--disable-kill \
|
||||
--disable-last \
|
||||
--disable-mesg \
|
||||
@ -94,15 +87,15 @@ src_configure() {
|
||||
--enable-schedutils \
|
||||
--disable-wall \
|
||||
--enable-write \
|
||||
--without-pam \
|
||||
$(use_with selinux) \
|
||||
$(use_with slang) \
|
||||
$(use_enable static-libs static) \
|
||||
$(tc-has-tls || echo --disable-tls)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake install DESTDIR="${D}" || die "install failed"
|
||||
dodoc AUTHORS NEWS README* TODO docs/*
|
||||
emake install DESTDIR="${D}" || die
|
||||
dodoc AUTHORS NEWS README* Documentation/{TODO,*.txt}
|
||||
|
||||
if ! use perl ; then #284093
|
||||
rm "${ED}"/usr/bin/chkdupexe || die
|
||||
@ -110,12 +103,17 @@ src_install() {
|
||||
fi
|
||||
|
||||
# need the libs in /
|
||||
gen_usr_ldscript -a blkid uuid
|
||||
gen_usr_ldscript -a blkid mount uuid
|
||||
# e2fsprogs-libs didnt install .la files, and .pc work fine
|
||||
rm -f "${ED}"/usr/$(get_libdir)/*.la
|
||||
find "${ED}" -name '*.la' -delete
|
||||
|
||||
if use crypt ; then
|
||||
newinitd "${FILESDIR}"/crypto-loop.initd crypto-loop || die
|
||||
newconfd "${FILESDIR}"/crypto-loop.confd crypto-loop || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "The agetty util now clears the terminal by default. You"
|
||||
elog "might want to add --noclear to your /etc/inittab lines."
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user