public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Anthony G. Basile" <blueness@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/hardened-dev:musl commit in: sys-apps/util-linux/, sys-apps/util-linux/files/
Date: Tue, 12 Aug 2014 15:35:37 +0000 (UTC)	[thread overview]
Message-ID: <1407857829.b125d8b883eaae5be261fe67ba98f366043e30cd.blueness@gentoo> (raw)

commit:     b125d8b883eaae5be261fe67ba98f366043e30cd
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 12 15:37:09 2014 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Tue Aug 12 15:37:09 2014 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-dev.git;a=commit;h=b125d8b8

sys-apps/util-linux: version bump to 2.25

Package-Manager: portage-2.2.8-r1
Manifest-Sign-Key: 0xF52D4BBA

---
 .../files/util-linux-2.25-lscpu-pic.patch          |  81 ++++++++++
 .../util-linux-2.25-missing__SWORD_TYPE.patch      |  28 ++++
 sys-apps/util-linux/util-linux-2.25-r99.ebuild     | 175 +++++++++++++++++++++
 3 files changed, 284 insertions(+)

diff --git a/sys-apps/util-linux/files/util-linux-2.25-lscpu-pic.patch b/sys-apps/util-linux/files/util-linux-2.25-lscpu-pic.patch
new file mode 100644
index 0000000..f66ffa7
--- /dev/null
+++ b/sys-apps/util-linux/files/util-linux-2.25-lscpu-pic.patch
@@ -0,0 +1,81 @@
+From f86d649d5f2522c61b791366a96e9f00cd255668 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Tue, 5 Aug 2014 18:58:52 -0400
+Subject: [PATCH] lscpu: clean up vmware inline asm
+
+This code is not PIC clean which means it fails to build on hardened
+32bit x86 systems (i.e. building as PIE).
+
+While here, optimize the existing cpuid logic slightly.
+
+URL: https://bugs.gentoo.org/518936
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ sys-utils/lscpu.c | 36 ++++++++++++++++++++++++++----------
+ 1 file changed, 26 insertions(+), 10 deletions(-)
+
+diff --git a/sys-utils/lscpu.c b/sys-utils/lscpu.c
+index 062dff5..9965eeb 100644
+--- a/sys-utils/lscpu.c
++++ b/sys-utils/lscpu.c
+@@ -546,10 +546,9 @@ cpuid(unsigned int op, unsigned int *eax, unsigned int *ebx,
+ 	__asm__(
+ #if defined(__PIC__) && defined(__i386__)
+ 		/* x86 PIC cannot clobber ebx -- gcc bitches */
+-		"pushl %%ebx;"
++		"xchg %%ebx, %%esi;"
+ 		"cpuid;"
+-		"movl %%ebx, %%esi;"
+-		"popl %%ebx;"
++		"xchg %%esi, %%ebx;"
+ 		: "=S" (*ebx),
+ #else
+ 		"cpuid;"
+@@ -656,12 +655,29 @@ read_hypervisor_powerpc(struct lscpu_desc *desc)
+ #define VMWARE_BDOOR_PORT           0x5658
+ #define VMWARE_BDOOR_CMD_GETVERSION 10
+ 
+-#define VMWARE_BDOOR(eax, ebx, ecx, edx)                                  \
+-        __asm__("inl (%%dx), %%eax" :                                     \
+-               "=a"(eax), "=c"(ecx), "=d"(edx), "=b"(ebx) :               \
+-               "0"(VMWARE_BDOOR_MAGIC), "1"(VMWARE_BDOOR_CMD_GETVERSION), \
+-               "2"(VMWARE_BDOOR_PORT), "3"(0) :                           \
+-               "memory");
++static inline
++void vmware_bdoor(uint32_t *eax, uint32_t *ebx, uint32_t *ecx, uint32_t *edx)
++{
++	__asm__(
++#if defined(__PIC__) && defined(__i386__)
++		/* x86 PIC cannot clobber ebx -- gcc bitches */
++		"xchg %%ebx, %%esi;"
++		"inl (%%dx), %%eax;"
++		"xchg %%esi, %%ebx;"
++		: "=S" (*ebx),
++#else
++		"inl (%%dx), %%eax;"
++		: "=b" (*ebx),
++#endif
++		  "=a" (*eax),
++		  "=c" (*ecx),
++		  "=d" (*edx)
++		: "0" (VMWARE_BDOOR_MAGIC),
++		  "1" (VMWARE_BDOOR_CMD_GETVERSION),
++		  "2" (VMWARE_BDOOR_PORT),
++		  "3" (0)
++		: "memory");
++}
+ 
+ static jmp_buf segv_handler_env;
+ 
+@@ -697,7 +713,7 @@ is_vmware_platform(void)
+ 	if (sigaction(SIGSEGV, &act, &oact))
+ 		err(EXIT_FAILURE, _("error: can not set signal handler"));
+ 
+-	VMWARE_BDOOR(eax, ebx, ecx, edx);
++	vmware_bdoor(&eax, &ebx, &ecx, &edx);
+ 
+ 	if (sigaction(SIGSEGV, &oact, NULL))
+ 		err(EXIT_FAILURE, _("error: can not restore signal handler"));
+-- 
+2.0.0
+

diff --git a/sys-apps/util-linux/files/util-linux-2.25-missing__SWORD_TYPE.patch b/sys-apps/util-linux/files/util-linux-2.25-missing__SWORD_TYPE.patch
new file mode 100644
index 0000000..e471e0f
--- /dev/null
+++ b/sys-apps/util-linux/files/util-linux-2.25-missing__SWORD_TYPE.patch
@@ -0,0 +1,28 @@
+diff -Naur util-linux-2.25.orig/sys-utils/switch_root.c util-linux-2.25/sys-utils/switch_root.c
+--- util-linux-2.25.orig/sys-utils/switch_root.c	2014-06-25 09:35:44.333812673 +0000
++++ util-linux-2.25/sys-utils/switch_root.c	2014-08-12 14:54:40.752012106 +0000
+@@ -25,6 +25,7 @@
+ #include <sys/stat.h>
+ #include <sys/statfs.h>
+ #include <sys/param.h>
++#include <sys/user.h>
+ #include <fcntl.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+@@ -47,6 +48,16 @@
+ #define MNT_DETACH       0x00000002	/* Just detach from the tree */
+ #endif
+ 
++#ifndef __SWORD_TYPE
++#if __WORDSIZE == 32
++# define __SWORD_TYPE           int
++#elif __WORDSIZE == 64
++# define __SWORD_TYPE           long int
++#else
++# error
++#endif
++#endif
++
+ /* remove all files/directories below dirName -- don't cross mountpoints */
+ static int recursiveRemove(int fd)
+ {

diff --git a/sys-apps/util-linux/util-linux-2.25-r99.ebuild b/sys-apps/util-linux/util-linux-2.25-r99.ebuild
new file mode 100644
index 0000000..eb17752
--- /dev/null
+++ b/sys-apps/util-linux/util-linux-2.25-r99.ebuild
@@ -0,0 +1,175 @@
+# Copyright 1999-2014 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.25.ebuild,v 1.5 2014/08/05 23:04:39 vapier Exp $
+
+EAPI="4"
+
+PYTHON_COMPAT=( python2_7 python3_{2,3,4} )
+
+inherit eutils toolchain-funcs libtool flag-o-matic bash-completion-r1 \
+	python-single-r1 multilib-minimal
+
+MY_PV=${PV/_/-}
+MY_P=${PN}-${MY_PV}
+
+if [[ ${PV} == 9999 ]] ; then
+	inherit git-2 autotools
+	EGIT_REPO_URI="git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git"
+else
+	KEYWORDS="~amd64 ~arm ~mips ~x86"
+	SRC_URI="mirror://kernel/linux/utils/util-linux/v${PV:0:4}/${MY_P}.tar.xz"
+fi
+
+DESCRIPTION="Various useful Linux utilities"
+HOMEPAGE="http://www.kernel.org/pub/linux/utils/util-linux/"
+
+LICENSE="GPL-2 LGPL-2.1 BSD-4 MIT public-domain"
+SLOT="0"
+IUSE="bash-completion caps +cramfs fdformat ncurses nls pam python selinux slang static-libs +suid test tty-helpers udev unicode"
+
+RDEPEND="!sys-process/schedutils
+	!sys-apps/setarch
+	!<sys-apps/sysvinit-2.88-r7
+	!sys-block/eject
+	!<sys-libs/e2fsprogs-libs-1.41.8
+	!<sys-fs/e2fsprogs-1.41.8
+	!<app-shells/bash-completion-1.3-r2
+	caps? ( sys-libs/libcap-ng )
+	cramfs? ( sys-libs/zlib )
+	ncurses? ( >=sys-libs/ncurses-5.2-r2 )
+	pam? ( sys-libs/pam )
+	python? ( ${PYTHON_DEPS} )
+	selinux? ( >=sys-libs/libselinux-2.2.2-r4[${MULTILIB_USEDEP}] )
+	slang? ( sys-libs/slang )
+	udev? ( virtual/udev )
+	abi_x86_32? (
+		!<=app-emulation/emul-linux-x86-baselibs-20140406-r2
+		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32]
+	)"
+DEPEND="${RDEPEND}
+	virtual/pkgconfig
+	nls? ( sys-devel/gettext )
+	test? ( sys-devel/bc )
+	virtual/os-headers"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+S=${WORKDIR}/${MY_P}
+
+pkg_setup() {
+	use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+	if [[ ${PV} == 9999 ]] ; then
+		po/update-potfiles
+		eautoreconf
+	fi
+	epatch "${FILESDIR}"/${P}-lscpu-pic.patch #518936
+	epatch "${FILESDIR}"/${PN}-2.25-missing__SWORD_TYPE.patch
+	elibtoolize
+}
+
+lfs_fallocate_test() {
+	# Make sure we can use fallocate with LFS #300307
+	cat <<-EOF > "${T}"/fallocate.${ABI}.c
+		#define _GNU_SOURCE
+		#include <fcntl.h>
+		main() { return fallocate(0, 0, 0, 0); }
+	EOF
+	append-lfs-flags
+	$(tc-getCC) ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} "${T}"/fallocate.${ABI}.c -o /dev/null >/dev/null 2>&1 \
+		|| export ac_cv_func_fallocate=no
+	rm -f "${T}"/fallocate.${ABI}.c
+}
+
+multilib_src_configure() {
+	lfs_fallocate_test
+	export ac_cv_header_security_pam_misc_h=$(multilib_native_usex pam) #485486
+	# We manually set --libdir to the default since on prefix, econf will set it to
+	# a value which the configure script does not recognize.  This makes it set the
+	# usrlib_execdir to a bad value. bug #518898#c2, fixed upstream for >2.25
+	ECONF_SOURCE=${S} \
+	econf \
+		--enable-fs-paths-extra="${EPREFIX}/usr/sbin:${EPREFIX}/bin:${EPREFIX}/usr/bin" \
+		--libdir='${prefix}/'"$(get_libdir)" \
+		$(multilib_native_use_enable nls) \
+		--enable-agetty \
+		--with-bashcompletiondir="$(get_bashcompdir)" \
+		$(multilib_native_use_enable bash-completion) \
+		$(multilib_native_use_enable caps setpriv) \
+		--disable-chfn-chsh \
+		$(multilib_native_use_enable cramfs) \
+		$(multilib_native_use_enable fdformat) \
+		--with-ncurses=$(multilib_native_usex ncurses $(usex unicode auto yes) no) \
+		--disable-kill \
+		--disable-login \
+		$(multilib_native_use_enable tty-helpers mesg) \
+		--disable-nologin \
+		--enable-partx \
+		$(multilib_native_use_with python) \
+		--enable-raw \
+		--enable-rename \
+		--disable-reset \
+		--enable-schedutils \
+		--disable-su \
+		$(multilib_native_use_enable tty-helpers wall) \
+		$(multilib_native_use_enable tty-helpers write) \
+		$(multilib_native_use_enable suid makeinstall-chown) \
+		$(multilib_native_use_enable suid makeinstall-setuid) \
+		$(use_with selinux) \
+		$(multilib_native_use_with slang) \
+		$(use_enable static-libs static) \
+		$(multilib_native_use_with udev) \
+		$(tc-has-tls || echo --disable-tls)
+}
+
+multilib_src_compile() {
+	if multilib_is_native_abi; then
+		default
+	else
+		# build libraries only
+		emake -f Makefile -f - mylibs \
+			<<< 'mylibs: $(usrlib_exec_LTLIBRARIES) $(pkgconfig_DATA)'
+	fi
+}
+
+multilib_src_test() {
+	multilib_is_native_abi && emake check
+}
+
+multilib_src_install() {
+	if multilib_is_native_abi; then
+		default
+	else
+		emake DESTDIR="${D}" install-usrlib_execLTLIBRARIES \
+			install-pkgconfigDATA install-uuidincHEADERS \
+			install-nodist_blkidincHEADERS install-nodist_mountincHEADERS \
+			install-nodist_smartcolsincHEADERS
+	fi
+
+	if multilib_is_native_abi; then
+		# need the libs in /
+		gen_usr_ldscript -a blkid mount smartcols uuid
+
+		use python && python_optimize
+	fi
+}
+
+multilib_src_install_all() {
+	dodoc AUTHORS NEWS README* Documentation/{TODO,*.txt,releases/*}
+
+	# e2fsprogs-libs didnt install .la files, and .pc work fine
+	prune_libtool_files
+}
+
+pkg_postinst() {
+	if ! use tty-helpers; then
+		elog "The mesg/wall/write tools have been disabled due to USE=-tty-helpers."
+	fi
+
+	if [[ -z ${REPLACING_VERSIONS} ]]; then
+		elog "The agetty util now clears the terminal by default. You"
+		elog "might want to add --noclear to your /etc/inittab lines."
+	fi
+}


WARNING: multiple messages have this Message-ID (diff)
From: "Anthony G. Basile" <blueness@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/hardened-dev:musl commit in: sys-apps/util-linux/, sys-apps/util-linux/files/
Date: Tue, 19 Aug 2014 13:59:16 +0000 (UTC)	[thread overview]
Message-ID: <1407857829.b125d8b883eaae5be261fe67ba98f366043e30cd.blueness@gentoo> (raw)
Message-ID: <20140819135916.5-DbI1V5EWY7SZjzkUnQmkxgtrdxKpDpb3hsOz6OPuY@z> (raw)

commit:     b125d8b883eaae5be261fe67ba98f366043e30cd
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 12 15:37:09 2014 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Tue Aug 12 15:37:09 2014 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/hardened-dev.git;a=commit;h=b125d8b8

sys-apps/util-linux: version bump to 2.25

Package-Manager: portage-2.2.8-r1
Manifest-Sign-Key: 0xF52D4BBA

---
 .../files/util-linux-2.25-lscpu-pic.patch          |  81 ++++++++++
 .../util-linux-2.25-missing__SWORD_TYPE.patch      |  28 ++++
 sys-apps/util-linux/util-linux-2.25-r99.ebuild     | 175 +++++++++++++++++++++
 3 files changed, 284 insertions(+)

diff --git a/sys-apps/util-linux/files/util-linux-2.25-lscpu-pic.patch b/sys-apps/util-linux/files/util-linux-2.25-lscpu-pic.patch
new file mode 100644
index 0000000..f66ffa7
--- /dev/null
+++ b/sys-apps/util-linux/files/util-linux-2.25-lscpu-pic.patch
@@ -0,0 +1,81 @@
+From f86d649d5f2522c61b791366a96e9f00cd255668 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Tue, 5 Aug 2014 18:58:52 -0400
+Subject: [PATCH] lscpu: clean up vmware inline asm
+
+This code is not PIC clean which means it fails to build on hardened
+32bit x86 systems (i.e. building as PIE).
+
+While here, optimize the existing cpuid logic slightly.
+
+URL: https://bugs.gentoo.org/518936
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ sys-utils/lscpu.c | 36 ++++++++++++++++++++++++++----------
+ 1 file changed, 26 insertions(+), 10 deletions(-)
+
+diff --git a/sys-utils/lscpu.c b/sys-utils/lscpu.c
+index 062dff5..9965eeb 100644
+--- a/sys-utils/lscpu.c
++++ b/sys-utils/lscpu.c
+@@ -546,10 +546,9 @@ cpuid(unsigned int op, unsigned int *eax, unsigned int *ebx,
+ 	__asm__(
+ #if defined(__PIC__) && defined(__i386__)
+ 		/* x86 PIC cannot clobber ebx -- gcc bitches */
+-		"pushl %%ebx;"
++		"xchg %%ebx, %%esi;"
+ 		"cpuid;"
+-		"movl %%ebx, %%esi;"
+-		"popl %%ebx;"
++		"xchg %%esi, %%ebx;"
+ 		: "=S" (*ebx),
+ #else
+ 		"cpuid;"
+@@ -656,12 +655,29 @@ read_hypervisor_powerpc(struct lscpu_desc *desc)
+ #define VMWARE_BDOOR_PORT           0x5658
+ #define VMWARE_BDOOR_CMD_GETVERSION 10
+ 
+-#define VMWARE_BDOOR(eax, ebx, ecx, edx)                                  \
+-        __asm__("inl (%%dx), %%eax" :                                     \
+-               "=a"(eax), "=c"(ecx), "=d"(edx), "=b"(ebx) :               \
+-               "0"(VMWARE_BDOOR_MAGIC), "1"(VMWARE_BDOOR_CMD_GETVERSION), \
+-               "2"(VMWARE_BDOOR_PORT), "3"(0) :                           \
+-               "memory");
++static inline
++void vmware_bdoor(uint32_t *eax, uint32_t *ebx, uint32_t *ecx, uint32_t *edx)
++{
++	__asm__(
++#if defined(__PIC__) && defined(__i386__)
++		/* x86 PIC cannot clobber ebx -- gcc bitches */
++		"xchg %%ebx, %%esi;"
++		"inl (%%dx), %%eax;"
++		"xchg %%esi, %%ebx;"
++		: "=S" (*ebx),
++#else
++		"inl (%%dx), %%eax;"
++		: "=b" (*ebx),
++#endif
++		  "=a" (*eax),
++		  "=c" (*ecx),
++		  "=d" (*edx)
++		: "0" (VMWARE_BDOOR_MAGIC),
++		  "1" (VMWARE_BDOOR_CMD_GETVERSION),
++		  "2" (VMWARE_BDOOR_PORT),
++		  "3" (0)
++		: "memory");
++}
+ 
+ static jmp_buf segv_handler_env;
+ 
+@@ -697,7 +713,7 @@ is_vmware_platform(void)
+ 	if (sigaction(SIGSEGV, &act, &oact))
+ 		err(EXIT_FAILURE, _("error: can not set signal handler"));
+ 
+-	VMWARE_BDOOR(eax, ebx, ecx, edx);
++	vmware_bdoor(&eax, &ebx, &ecx, &edx);
+ 
+ 	if (sigaction(SIGSEGV, &oact, NULL))
+ 		err(EXIT_FAILURE, _("error: can not restore signal handler"));
+-- 
+2.0.0
+

diff --git a/sys-apps/util-linux/files/util-linux-2.25-missing__SWORD_TYPE.patch b/sys-apps/util-linux/files/util-linux-2.25-missing__SWORD_TYPE.patch
new file mode 100644
index 0000000..e471e0f
--- /dev/null
+++ b/sys-apps/util-linux/files/util-linux-2.25-missing__SWORD_TYPE.patch
@@ -0,0 +1,28 @@
+diff -Naur util-linux-2.25.orig/sys-utils/switch_root.c util-linux-2.25/sys-utils/switch_root.c
+--- util-linux-2.25.orig/sys-utils/switch_root.c	2014-06-25 09:35:44.333812673 +0000
++++ util-linux-2.25/sys-utils/switch_root.c	2014-08-12 14:54:40.752012106 +0000
+@@ -25,6 +25,7 @@
+ #include <sys/stat.h>
+ #include <sys/statfs.h>
+ #include <sys/param.h>
++#include <sys/user.h>
+ #include <fcntl.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+@@ -47,6 +48,16 @@
+ #define MNT_DETACH       0x00000002	/* Just detach from the tree */
+ #endif
+ 
++#ifndef __SWORD_TYPE
++#if __WORDSIZE == 32
++# define __SWORD_TYPE           int
++#elif __WORDSIZE == 64
++# define __SWORD_TYPE           long int
++#else
++# error
++#endif
++#endif
++
+ /* remove all files/directories below dirName -- don't cross mountpoints */
+ static int recursiveRemove(int fd)
+ {

diff --git a/sys-apps/util-linux/util-linux-2.25-r99.ebuild b/sys-apps/util-linux/util-linux-2.25-r99.ebuild
new file mode 100644
index 0000000..eb17752
--- /dev/null
+++ b/sys-apps/util-linux/util-linux-2.25-r99.ebuild
@@ -0,0 +1,175 @@
+# Copyright 1999-2014 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.25.ebuild,v 1.5 2014/08/05 23:04:39 vapier Exp $
+
+EAPI="4"
+
+PYTHON_COMPAT=( python2_7 python3_{2,3,4} )
+
+inherit eutils toolchain-funcs libtool flag-o-matic bash-completion-r1 \
+	python-single-r1 multilib-minimal
+
+MY_PV=${PV/_/-}
+MY_P=${PN}-${MY_PV}
+
+if [[ ${PV} == 9999 ]] ; then
+	inherit git-2 autotools
+	EGIT_REPO_URI="git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git"
+else
+	KEYWORDS="~amd64 ~arm ~mips ~x86"
+	SRC_URI="mirror://kernel/linux/utils/util-linux/v${PV:0:4}/${MY_P}.tar.xz"
+fi
+
+DESCRIPTION="Various useful Linux utilities"
+HOMEPAGE="http://www.kernel.org/pub/linux/utils/util-linux/"
+
+LICENSE="GPL-2 LGPL-2.1 BSD-4 MIT public-domain"
+SLOT="0"
+IUSE="bash-completion caps +cramfs fdformat ncurses nls pam python selinux slang static-libs +suid test tty-helpers udev unicode"
+
+RDEPEND="!sys-process/schedutils
+	!sys-apps/setarch
+	!<sys-apps/sysvinit-2.88-r7
+	!sys-block/eject
+	!<sys-libs/e2fsprogs-libs-1.41.8
+	!<sys-fs/e2fsprogs-1.41.8
+	!<app-shells/bash-completion-1.3-r2
+	caps? ( sys-libs/libcap-ng )
+	cramfs? ( sys-libs/zlib )
+	ncurses? ( >=sys-libs/ncurses-5.2-r2 )
+	pam? ( sys-libs/pam )
+	python? ( ${PYTHON_DEPS} )
+	selinux? ( >=sys-libs/libselinux-2.2.2-r4[${MULTILIB_USEDEP}] )
+	slang? ( sys-libs/slang )
+	udev? ( virtual/udev )
+	abi_x86_32? (
+		!<=app-emulation/emul-linux-x86-baselibs-20140406-r2
+		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32]
+	)"
+DEPEND="${RDEPEND}
+	virtual/pkgconfig
+	nls? ( sys-devel/gettext )
+	test? ( sys-devel/bc )
+	virtual/os-headers"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+S=${WORKDIR}/${MY_P}
+
+pkg_setup() {
+	use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+	if [[ ${PV} == 9999 ]] ; then
+		po/update-potfiles
+		eautoreconf
+	fi
+	epatch "${FILESDIR}"/${P}-lscpu-pic.patch #518936
+	epatch "${FILESDIR}"/${PN}-2.25-missing__SWORD_TYPE.patch
+	elibtoolize
+}
+
+lfs_fallocate_test() {
+	# Make sure we can use fallocate with LFS #300307
+	cat <<-EOF > "${T}"/fallocate.${ABI}.c
+		#define _GNU_SOURCE
+		#include <fcntl.h>
+		main() { return fallocate(0, 0, 0, 0); }
+	EOF
+	append-lfs-flags
+	$(tc-getCC) ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} "${T}"/fallocate.${ABI}.c -o /dev/null >/dev/null 2>&1 \
+		|| export ac_cv_func_fallocate=no
+	rm -f "${T}"/fallocate.${ABI}.c
+}
+
+multilib_src_configure() {
+	lfs_fallocate_test
+	export ac_cv_header_security_pam_misc_h=$(multilib_native_usex pam) #485486
+	# We manually set --libdir to the default since on prefix, econf will set it to
+	# a value which the configure script does not recognize.  This makes it set the
+	# usrlib_execdir to a bad value. bug #518898#c2, fixed upstream for >2.25
+	ECONF_SOURCE=${S} \
+	econf \
+		--enable-fs-paths-extra="${EPREFIX}/usr/sbin:${EPREFIX}/bin:${EPREFIX}/usr/bin" \
+		--libdir='${prefix}/'"$(get_libdir)" \
+		$(multilib_native_use_enable nls) \
+		--enable-agetty \
+		--with-bashcompletiondir="$(get_bashcompdir)" \
+		$(multilib_native_use_enable bash-completion) \
+		$(multilib_native_use_enable caps setpriv) \
+		--disable-chfn-chsh \
+		$(multilib_native_use_enable cramfs) \
+		$(multilib_native_use_enable fdformat) \
+		--with-ncurses=$(multilib_native_usex ncurses $(usex unicode auto yes) no) \
+		--disable-kill \
+		--disable-login \
+		$(multilib_native_use_enable tty-helpers mesg) \
+		--disable-nologin \
+		--enable-partx \
+		$(multilib_native_use_with python) \
+		--enable-raw \
+		--enable-rename \
+		--disable-reset \
+		--enable-schedutils \
+		--disable-su \
+		$(multilib_native_use_enable tty-helpers wall) \
+		$(multilib_native_use_enable tty-helpers write) \
+		$(multilib_native_use_enable suid makeinstall-chown) \
+		$(multilib_native_use_enable suid makeinstall-setuid) \
+		$(use_with selinux) \
+		$(multilib_native_use_with slang) \
+		$(use_enable static-libs static) \
+		$(multilib_native_use_with udev) \
+		$(tc-has-tls || echo --disable-tls)
+}
+
+multilib_src_compile() {
+	if multilib_is_native_abi; then
+		default
+	else
+		# build libraries only
+		emake -f Makefile -f - mylibs \
+			<<< 'mylibs: $(usrlib_exec_LTLIBRARIES) $(pkgconfig_DATA)'
+	fi
+}
+
+multilib_src_test() {
+	multilib_is_native_abi && emake check
+}
+
+multilib_src_install() {
+	if multilib_is_native_abi; then
+		default
+	else
+		emake DESTDIR="${D}" install-usrlib_execLTLIBRARIES \
+			install-pkgconfigDATA install-uuidincHEADERS \
+			install-nodist_blkidincHEADERS install-nodist_mountincHEADERS \
+			install-nodist_smartcolsincHEADERS
+	fi
+
+	if multilib_is_native_abi; then
+		# need the libs in /
+		gen_usr_ldscript -a blkid mount smartcols uuid
+
+		use python && python_optimize
+	fi
+}
+
+multilib_src_install_all() {
+	dodoc AUTHORS NEWS README* Documentation/{TODO,*.txt,releases/*}
+
+	# e2fsprogs-libs didnt install .la files, and .pc work fine
+	prune_libtool_files
+}
+
+pkg_postinst() {
+	if ! use tty-helpers; then
+		elog "The mesg/wall/write tools have been disabled due to USE=-tty-helpers."
+	fi
+
+	if [[ -z ${REPLACING_VERSIONS} ]]; then
+		elog "The agetty util now clears the terminal by default. You"
+		elog "might want to add --noclear to your /etc/inittab lines."
+	fi
+}


             reply	other threads:[~2014-08-12 15:35 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-12 15:35 Anthony G. Basile [this message]
2014-08-19 13:59 ` [gentoo-commits] proj/hardened-dev:musl commit in: sys-apps/util-linux/, sys-apps/util-linux/files/ Anthony G. Basile
  -- strict thread matches above, loose matches on Subject: below --
2014-12-09 14:22 Anthony G. Basile
2014-08-19 13:59 Anthony G. Basile
2014-08-13 15:29 ` Anthony G. Basile
2014-05-18 12:42 Anthony G. Basile

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1407857829.b125d8b883eaae5be261fe67ba98f366043e30cd.blueness@gentoo \
    --to=blueness@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox