[sys-apps/coreutils] rm, newer in tree with patch included
This commit is contained in:
		| @@ -1,3 +0,0 @@ | ||||
| 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 | ||||
| @@ -1,171 +0,0 @@ | ||||
| # 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 | ||||
| } | ||||
| @@ -1,18 +0,0 @@ | ||||
| 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; | ||||
		Reference in New Issue
	
	Block a user