3 changed files with 192 additions and 0 deletions
@ -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 |
@ -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