From 86303bda7017c8712a05129a049ff830aba208f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20F=C3=B6rster?= Date: Sun, 18 May 2014 22:30:51 +0200 Subject: [PATCH] [sys-apps/coreutils] bump from tree for cp selinux context copying patch --- sys-apps/coreutils/Manifest | 3 + sys-apps/coreutils/coreutils-8.22-r2.ebuild | 171 ++++++++++++++++++ .../coreutils-8.22-selinux-context-cp.patch | 18 ++ 3 files changed, 192 insertions(+) create mode 100644 sys-apps/coreutils/Manifest create mode 100644 sys-apps/coreutils/coreutils-8.22-r2.ebuild create mode 100644 sys-apps/coreutils/files/coreutils-8.22-selinux-context-cp.patch diff --git a/sys-apps/coreutils/Manifest b/sys-apps/coreutils/Manifest new file mode 100644 index 0000000..82b1230 --- /dev/null +++ b/sys-apps/coreutils/Manifest @@ -0,0 +1,3 @@ +DIST coreutils-8.22-man-r1.tar.xz 42748 SHA256 eb9882286a6355674e607506318ccc9e361b6a985d64073b797fd56a5e0d256c SHA512 b0123e3c8cd037d006a2bb64e8047636329ac3fd3d685db8e52a19e83df87da0428896af9bdcd8f1208f7aad3665ec2a871bbbfa98cbe5293c697431a23d7b4c WHIRLPOOL 7e705060f5af2d28152531ad3b5ae8e6cca2dabdec7dc1a30bcf7b74951462bb58ee610d1e080abc812e1291fae904b3e931a35d3d2566fb7b85f6a37415e04b +DIST coreutils-8.22-patches-1.1.tar.xz 7840 SHA256 4c45cca7950bbd278db23318916e503bda2df3be3e11c81cd15b55874007ed16 SHA512 7555544041cf4acf5615df76d6e9f9df157dac66059757d587af8f264597e02e8a395fbb920d42623fd40dab9a5ef1dfae2719e300efe491b0eaa2baa3a91f11 WHIRLPOOL ebc9fa35f40473646c2b826cc1bc57e9012fa37f264eb7e6084c0d2cf04f46827c943f9aa80f779a3d99bc07eeb40ffc4ac09109a6324af9882e2b0630d84253 +DIST coreutils-8.22.tar.xz 5335124 SHA256 5b3e94998152c017e6c75d56b9b994188eb71bf46d4038a642cb9141f6ff1212 SHA512 2f14c2cab7001297309b4774bf3d610ecbaaec7d98d68e3792b24d2b52d319c4e30e55f803e56c48b9b9a1b76eb1c9636be5444fe1dc1dbcdd6150cfcb34847f WHIRLPOOL 1b8e3f1cf12f7975e8d80b9ddab132937b2fffaca8c85ac1fefddb5fe277a63a7aa9c6f0f93d8f5a93d5af378b3cf3573222db8e1da918152b9fb7eff1352238 diff --git a/sys-apps/coreutils/coreutils-8.22-r2.ebuild b/sys-apps/coreutils/coreutils-8.22-r2.ebuild new file mode 100644 index 0000000..04960c5 --- /dev/null +++ b/sys-apps/coreutils/coreutils-8.22-r2.ebuild @@ -0,0 +1,171 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/coreutils/coreutils-8.22-r1.ebuild,v 1.2 2014/05/08 19:42:07 vapier Exp $ + +EAPI="3" + +inherit eutils flag-o-matic toolchain-funcs + +PATCH_VER="1.1" +DESCRIPTION="Standard GNU file utilities (chmod, cp, dd, dir, ls...), text utilities (sort, tr, head, wc..), and shell utilities (whoami, who,...)" +HOMEPAGE="http://www.gnu.org/software/coreutils/" +SRC_URI="mirror://gnu/${PN}/${P}.tar.xz + mirror://gentoo/${P}-patches-${PATCH_VER}.tar.xz + http://dev.gentoo.org/~vapier/dist/${P}-patches-${PATCH_VER}.tar.xz + mirror://gentoo/${P}-man-r1.tar.xz + http://dev.gentoo.org/~vapier/dist/${P}-man-r1.tar.xz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~arm-linux ~x86-linux" +IUSE="acl caps gmp nls selinux static userland_BSD vanilla xattr" + +LIB_DEPEND="acl? ( sys-apps/acl[static-libs] ) + caps? ( sys-libs/libcap ) + gmp? ( dev-libs/gmp[static-libs] ) + xattr? ( !userland_BSD? ( sys-apps/attr[static-libs] ) )" +RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs]} ) + selinux? ( sys-libs/libselinux ) + nls? ( virtual/libintl ) + !app-misc/realpath + ! "${ww}" + #!${EPREFIX}/bin/sh + exec env SANDBOX_WRITE="\${SANDBOX_WRITE}:/etc/mtab:/dev/loop" $(type -P $w) "\$@" + EOF + chmod a+rx "${ww}" + done + } + mkwrap mount umount + + addwrite /dev/full + #export RUN_EXPENSIVE_TESTS="yes" + #export FETISH_GROUPS="portage wheel" + env PATH="${T}/mount-wrappers:${PATH}" \ + emake -j1 -k check || die "make check failed" +} + +src_install() { + emake install DESTDIR="${D}" || die + dodoc AUTHORS ChangeLog* NEWS README* THANKS TODO + + insinto /etc + newins src/dircolors.hin DIR_COLORS || die + + if [[ ${USERLAND} == "GNU" ]] ; then + cd "${ED}"/usr/bin + dodir /bin + # move critical binaries into /bin (required by FHS) + local fhs="cat chgrp chmod chown cp date dd df echo false ln ls + mkdir mknod mv pwd rm rmdir stty sync true uname" + mv ${fhs} ../../bin/ || die "could not move fhs bins" + # move critical binaries into /bin (common scripts) + local com="basename chroot cut dir dirname du env expr head mkfifo + mktemp readlink seq sleep sort tail touch tr tty vdir wc yes" + mv ${com} ../../bin/ || die "could not move common bins" + # create a symlink for uname in /usr/bin/ since autotools require it + local x + for x in ${com} uname ; do + dosym /bin/${x} /usr/bin/${x} || die + done + else + # For now, drop the man pages, collides with the ones of the system. + rm -rf "${ED}"/usr/share/man + fi + +} + +pkg_postinst() { + ewarn "Make sure you run 'hash -r' in your active shells." + ewarn "You should also re-source your shell settings for LS_COLORS" + ewarn " changes, such as: source /etc/profile" + + # Help out users using experimental filesystems + if grep -qs btrfs "${EROOT}"/etc/fstab /proc/mounts ; then + case $(uname -r) in + 2.6.[12][0-9]|2.6.3[0-7]*) + ewarn "You are running a system with a buggy btrfs driver." + ewarn "Please upgrade your kernel to avoid silent corruption." + ewarn "See: https://bugs.gentoo.org/353907" + ;; + esac + fi +} diff --git a/sys-apps/coreutils/files/coreutils-8.22-selinux-context-cp.patch b/sys-apps/coreutils/files/coreutils-8.22-selinux-context-cp.patch new file mode 100644 index 0000000..69c1b85 --- /dev/null +++ b/sys-apps/coreutils/files/coreutils-8.22-selinux-context-cp.patch @@ -0,0 +1,18 @@ +X-Git-Url: http://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=blobdiff_plain;f=src%2Fselinux.c;h=016db162604c2b618e3ae19377698265bc3a7120;hp=cd38a81e846aab10aa66ff75c1c6968c75a1f4ae;hb=d718331e59afb35e56445f3a1597ed74a7f3a3e2;hpb=ba25b75dc2a4f37cb65b5e2ff1bf41bd1707770b + +diff --git a/src/selinux.c b/src/selinux.c +index cd38a81..016db16 100644 +--- a/src/selinux.c ++++ b/src/selinux.c +@@ -192,6 +192,11 @@ restorecon_private (char const *path, bool local) + { + if (getfscreatecon (&tcon) < 0) + return rc; ++ if (!tcon) ++ { ++ errno = ENODATA; ++ return rc; ++ } + rc = lsetfilecon (path, tcon); + freecon (tcon); + return rc;