util-linux: upgraded package to upstream

Upgraded sys-apps/util-linux to version 2.21.2 on amd64, arm, x86

BUG=chromium-os:36939
TEST=`cbuildbot chromiumos-sdk` worked
TEST=`cbuildbot {amd64,arm,x86}-generic-full` worked

Change-Id: I0bfc91448b72761982996822def0c5efaf7d3bb2
Reviewed-on: https://gerrit.chromium.org/gerrit/39761
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
diff --git a/metadata/md5-cache/sys-apps/util-linux-2.21.1 b/metadata/md5-cache/sys-apps/util-linux-2.21.1
deleted file mode 100644
index 6baa1af..0000000
--- a/metadata/md5-cache/sys-apps/util-linux-2.21.1
+++ /dev/null
@@ -1,13 +0,0 @@
-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.1.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_=1c81592d30c28fe0494232eb96ecb0f9
diff --git a/metadata/md5-cache/sys-apps/util-linux-2.21.2 b/metadata/md5-cache/sys-apps/util-linux-2.21.2
new file mode 100644
index 0000000..0eaee45
--- /dev/null
+++ b/metadata/md5-cache/sys-apps/util-linux-2.21.2
@@ -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 ) udev? ( virtual/udev ) nls? ( sys-devel/gettext ) virtual/os-headers uclibc? ( || ( >=sys-devel/automake-1.11.1:1.11 ) >=sys-devel/autoconf-2.68 sys-devel/libtool )
+DESCRIPTION=Various useful Linux utilities
+EAPI=3
+HOMEPAGE=http://www.kernel.org/pub/linux/utils/util-linux/
+IUSE=+cramfs crypt ddate ncurses nls old-linux perl selinux slang static-libs uclibc udev unicode
+KEYWORDS=alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~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 ) udev? ( virtual/udev )
+SLOT=0
+SRC_URI=mirror://kernel/linux/utils/util-linux/v2.21/util-linux-2.21.2.tar.xz
+_eclasses_=autotools	addbdf6cce5024ac93ad2084ad5e1d2d	eutils	33ef77a15337022e05342d2c772a7a5a	flag-o-matic	01a8b1eb019305bc4b4a8bd0b04e4cd8	libtool	0fd90d183673bf1107465ec45849d1ea	multilib	5f4ad6cf85e365e8f0c6050ddd21659e	portability	0be430f759a631e692678ed796e09f5c	toolchain-funcs	6526ac6fc9aedf391efb91fcd75ace68	user	9e552f935106ff0bc92af16da64b4b29
+_md5_=0cc4a0364c77db9323c1dc917259eb95
diff --git a/sys-apps/util-linux/Manifest b/sys-apps/util-linux/Manifest
index fa37bef..3c45d6f 100644
--- a/sys-apps/util-linux/Manifest
+++ b/sys-apps/util-linux/Manifest
@@ -1 +1 @@
-DIST util-linux-2.21.1.tar.xz 2975120 RMD160 877752a63a0eae362d439b04db06a7be726469ae SHA1 49e130a456516e15c6bb0238f370f2125ad1cfe2 SHA256 6ffaffb46bfb1aa403f83f0c8d2700e5ec35ffcb35a0573adb10404ed16c9004
+DIST util-linux-2.21.2.tar.xz 2985668 RMD160 be2e13d0442689190d77bcdc7703766f4f83e26b SHA1 f1ebeb8fe32f11f79bbc5d26e89cc801d1663d2f SHA256 39b25765a02385dc73580ab5edc3c5a2cecd03c92b42e41b03fd037b1c7cefe6
diff --git a/sys-apps/util-linux/files/util-linux-2.21.1-no-printf-alloc.patch b/sys-apps/util-linux/files/util-linux-2.21.1-no-printf-alloc.patch
new file mode 100644
index 0000000..6818224
--- /dev/null
+++ b/sys-apps/util-linux/files/util-linux-2.21.1-no-printf-alloc.patch
@@ -0,0 +1,108 @@
+for systems that don't support latest POSIX standard: %as
+
+https://bugs.gentoo.org/406303
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -688,7 +688,6 @@ AC_ARG_ENABLE([libmount],
+ UL_BUILD_INIT([libmount])
+ UL_REQUIRES_LINUX([libmount])
+ UL_REQUIRES_BUILD([libmount], [libblkid])
+-UL_REQUIRES_HAVE([libmount], [scanf_alloc_modifier], [scanf string alloc modifier])
+ AM_CONDITIONAL(BUILD_LIBMOUNT, test "x$build_libmount" = xyes)
+ 
+ AC_SUBST([LIBMOUNT_VERSION])
+--- a/libmount/src/tab_parse.c
++++ b/libmount/src/tab_parse.c
+@@ -22,6 +22,10 @@
+ #include "pathnames.h"
+ #include "strutils.h"
+ 
++#ifndef HAVE_SCANF_MS_MODIFIER
++# define UL_SCNsA "%s"
++#endif
++
+ static inline char *skip_spaces(char *s)
+ {
+ 	assert(s);
+@@ -61,16 +65,31 @@ static int mnt_parse_table_line(struct libmnt_fs *fs, char *s)
+ 	int rc, n = 0, xrc;
+ 	char *src = NULL, *fstype = NULL, *optstr = NULL;
+ 
++#ifndef HAVE_SCANF_MS_MODIFIER
++	size_t len = strlen(s) + 1;
++	src = malloc(len);
++	fstype = malloc(len);
++	fs->target = malloc(len);
++	optstr = malloc(len);
++#endif
++
+ 	rc = sscanf(s,	UL_SCNsA" "	/* (1) source */
+ 			UL_SCNsA" "	/* (2) target */
+ 			UL_SCNsA" "	/* (3) FS type */
+ 			UL_SCNsA" "	/* (4) options */
+ 			"%n",		/* byte count */
+ 
++#ifdef HAVE_SCANF_MS_MODIFIER
+ 			&src,
+ 			&fs->target,
+ 			&fstype,
+ 			&optstr,
++#else
++			src,
++			fs->target,
++			fstype,
++			optstr,
++#endif
+ 			&n);
+ 	xrc = rc;
+ 
+@@ -136,6 +155,16 @@ static int mnt_parse_mountinfo_line(struct libmnt_fs *fs, char *s)
+ 	unsigned int maj, min;
+ 	char *fstype = NULL, *src = NULL, *p;
+ 
++#ifndef HAVE_SCANF_MS_MODIFIER
++	size_t len = strlen(s) + 1;
++	fs->root = malloc(len);
++	fs->target = malloc(len);
++	fs->vfs_optstr = malloc(len);
++	fs->fs_optstr = malloc(len);
++	fstype = malloc(len);
++	src = malloc(len);
++#endif
++
+ 	rc = sscanf(s,	"%u "		/* (1) id */
+ 			"%u "		/* (2) parent */
+ 			"%u:%u "	/* (3) maj:min */
+@@ -147,9 +175,15 @@ static int mnt_parse_mountinfo_line(struct libmnt_fs *fs, char *s)
+ 			&fs->id,
+ 			&fs->parent,
+ 			&maj, &min,
++#ifdef HAVE_SCANF_MS_MODIFIER
+ 			&fs->root,
+ 			&fs->target,
+ 			&fs->vfs_optstr,
++#else
++			fs->root,
++			fs->target,
++			fs->vfs_optstr,
++#endif
+ 			&end);
+ 
+ 	if (rc >= 7 && end > 0)
+@@ -167,9 +201,15 @@ static int mnt_parse_mountinfo_line(struct libmnt_fs *fs, char *s)
+ 			UL_SCNsA" "	/* (9) source */
+ 			UL_SCNsA,	/* (10) fs options (fs specific) */
+ 
++#ifdef HAVE_SCANF_MS_MODIFIER
+ 			&fstype,
+ 			&src,
+ 			&fs->fs_optstr);
++#else
++			fstype,
++			src,
++			fs->fs_optstr);
++#endif
+ 
+ 	if (rc >= 10) {
+ 		fs->flags |= MNT_FS_KERNEL;
diff --git a/sys-apps/util-linux/util-linux-2.21.1.ebuild b/sys-apps/util-linux/util-linux-2.21.2.ebuild
similarity index 79%
rename from sys-apps/util-linux/util-linux-2.21.1.ebuild
rename to sys-apps/util-linux/util-linux-2.21.2.ebuild
index 7b648fe..682285c 100644
--- a/sys-apps/util-linux/util-linux-2.21.1.ebuild
+++ b/sys-apps/util-linux/util-linux-2.21.2.ebuild
@@ -1,12 +1,18 @@
 # 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.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.21.2.ebuild,v 1.11 2012/11/28 23:03:40 ssuominen 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
+AUTOTOOLS_AUTO_DEPEND="no"
+inherit eutils toolchain-funcs libtool flag-o-matic autotools
+if [[ ${PV} == "9999" ]] ; then
+	inherit git-2 autotools
+	#KEYWORDS=""
+else
+	KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux"
+fi
 
 MY_PV=${PV/_/-}
 MY_P=${PN}-${MY_PV}
@@ -16,16 +22,13 @@
 HOMEPAGE="http://www.kernel.org/pub/linux/utils/util-linux/"
 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.xz"
 fi
 
 LICENSE="GPL-2 GPL-3 LGPL-2.1 BSD-4 MIT public-domain"
 SLOT="0"
-IUSE="+cramfs crypt ddate loop-aes ncurses nls old-linux perl selinux slang static-libs uclibc unicode"
+IUSE="+cramfs crypt ddate ncurses nls old-linux perl selinux slang static-libs uclibc udev unicode"
 
 RDEPEND="!sys-process/schedutils
 	!sys-apps/setarch
@@ -36,20 +39,22 @@
 	ncurses? ( >=sys-libs/ncurses-5.2-r2 )
 	perl? ( dev-lang/perl )
 	selinux? ( sys-libs/libselinux )
-	slang? ( sys-libs/slang )"
+	slang? ( sys-libs/slang )
+	udev? ( virtual/udev )"
 DEPEND="${RDEPEND}
 	nls? ( sys-devel/gettext )
-	virtual/os-headers"
+	virtual/os-headers
+	uclibc? ( ${AUTOTOOLS_DEPEND} )"
 
 src_prepare() {
 	if [[ ${PV} == "9999" ]] ; then
 		po/update-potfiles
-		autopoint --force
 		eautoreconf
-	else
-		use loop-aes && epatch "${WORKDIR}"/util-linux-*.diff
 	fi
-	use uclibc && sed -i -e s/versionsort/alphasort/g -e s/strverscmp.h/dirent.h/g mount/lomount.c
+	if use uclibc ; then
+		epatch "${FILESDIR}"/${PN}-2.21.1-no-printf-alloc.patch #406303
+		eautoreconf
+	fi
 	elibtoolize
 }
 
@@ -90,6 +95,7 @@
 		$(use_with selinux) \
 		$(use_with slang) \
 		$(use_enable static-libs static) \
+		$(use_with udev) \
 		$(tc-has-tls || echo --disable-tls)
 }