[sys-apps/coreutils] bump from tree for cp selinux context copying patch
This commit is contained in:
parent
dc2f5d5f81
commit
86303bda70
3
sys-apps/coreutils/Manifest
Normal file
3
sys-apps/coreutils/Manifest
Normal file
@ -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
|
171
sys-apps/coreutils/coreutils-8.22-r2.ebuild
Normal file
171
sys-apps/coreutils/coreutils-8.22-r2.ebuild
Normal file
@ -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
|
||||
!<sys-apps/util-linux-2.13
|
||||
!sys-apps/stat
|
||||
!net-mail/base64
|
||||
!sys-apps/mktemp
|
||||
!<app-forensics/tct-1.18-r1
|
||||
!<net-fs/netatalk-2.0.3-r4
|
||||
!<sci-chemistry/ccp4-6.1.1"
|
||||
DEPEND="${RDEPEND}
|
||||
static? ( ${LIB_DEPEND} )
|
||||
app-arch/xz-utils"
|
||||
|
||||
src_prepare() {
|
||||
if ! use vanilla ; then
|
||||
use_if_iuse unicode || rm -f "${WORKDIR}"/patch/000_all_coreutils-i18n.patch
|
||||
epatch "${FILESDIR}/${P}-selinux-context-cp.patch"
|
||||
EPATCH_SUFFIX="patch" \
|
||||
PATCHDIR="${WORKDIR}/patch" \
|
||||
EPATCH_EXCLUDE="001_all_coreutils-gen-progress-bar.patch" \
|
||||
epatch
|
||||
fi
|
||||
|
||||
# Since we've patched many .c files, the make process will try to
|
||||
# re-build the manpages by running `./bin --help`. When doing a
|
||||
# cross-compile, we can't do that since 'bin' isn't a native bin.
|
||||
# Also, it's not like we changed the usage on any of these things,
|
||||
# so let's just update the timestamps and skip the help2man step.
|
||||
set -- man/*.x
|
||||
touch ${@/%x/1}
|
||||
|
||||
# Avoid perl dep for compiled in dircolors default #348642
|
||||
if ! has_version dev-lang/perl ; then
|
||||
touch src/dircolors.h
|
||||
touch ${@/%x/1}
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=''
|
||||
if tc-is-cross-compiler && [[ ${CHOST} == *linux* ]] ; then
|
||||
export fu_cv_sys_stat_statfs2_bsize=yes #311569
|
||||
export gl_cv_func_realpath_works=yes #416629
|
||||
fi
|
||||
|
||||
export gl_cv_func_mknod_works=yes #409919
|
||||
use static && append-ldflags -static && sed -i '/elf_sys=yes/s:yes:no:' configure #321821
|
||||
use selinux || export ac_cv_{header_selinux_{context,flash,selinux}_h,search_setfilecon}=no #301782
|
||||
use userland_BSD && myconf="${myconf} -program-prefix=g --program-transform-name=s/stat/nustat/"
|
||||
# kill/uptime - procps
|
||||
# groups/su - shadow
|
||||
# hostname - net-tools
|
||||
econf \
|
||||
--with-packager="Gentoo" \
|
||||
--with-packager-version="${PVR} (p${PATCH_VER:-0})" \
|
||||
--with-packager-bug-reports="http://bugs.gentoo.org/" \
|
||||
--enable-install-program="arch" \
|
||||
--enable-no-install-program="groups,hostname,kill,su,uptime" \
|
||||
--enable-largefile \
|
||||
$(use caps || echo --disable-libcap) \
|
||||
$(use_enable nls) \
|
||||
$(use_enable acl) \
|
||||
$(use_enable xattr) \
|
||||
$(use_with gmp) \
|
||||
${myconf}
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Non-root tests will fail if the full path isnt
|
||||
# accessible to non-root users
|
||||
chmod -R go-w "${WORKDIR}"
|
||||
chmod a+rx "${WORKDIR}"
|
||||
|
||||
# coreutils tests like to do `mount` and such with temp dirs
|
||||
# so make sure /etc/mtab is writable #265725
|
||||
# make sure /dev/loop* can be mounted #269758
|
||||
mkdir -p "${T}"/mount-wrappers
|
||||
mkwrap() {
|
||||
local w ww
|
||||
for w in "$@" ; do
|
||||
ww="${T}/mount-wrappers/${w}"
|
||||
cat <<-EOF > "${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
|
||||
}
|
@ -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;
|
Loading…
Reference in New Issue
Block a user