-
Notifications
You must be signed in to change notification settings - Fork 36
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
FL-793: coreutils-8.21, masked for testing
- Loading branch information
1 parent
6836a04
commit 6033915
Showing
3 changed files
with
185 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,5 @@ | ||
DIST coreutils-8.20-patches-1.1.tar.xz 19504 SHA256 0a1a3cc578e8872ebc93113edd76d1f1d88fb4d6596a047cfbb6c5fd4e82c22d SHA512 258116ff52d1d28acbedd2383c8d0f488c272b297c4f146231ea45fb76902bb56c9fad2d74d50c22371e67a4178dcff7b65950fcc034f56fc02c3c2ff290224f WHIRLPOOL ae4436a6ae655affbc02ee2d3d6a87345dc7b63b67aaecf01e034d2e40237c6e76b00a909d852f6ea96e348ef43e8e3f6f4c5bdb01aaf6d30a1b51036cbfe31b | ||
DIST coreutils-8.20.tar.xz 5273788 SHA256 dbcb798764827a0f74be738662ecb516705cf520330cd3d7b2640fdffa499eb2 SHA512 adbeab5af780ae70d2a98a81e96ad2cdfbcbc20153372b0085f6ac75ae9fadff82bd09b460400820057692b4145d7f2d276630b76b0ed509303587972ed175cd WHIRLPOOL 3cf911cf785c6e6acab4f37bc75805687f91fe74d5727782903d242669ee6b7ad444b18395d6808b1f2569703cca1992983d3bfef41f65ea461f6d0aa25908e2 | ||
DIST coreutils-8.21-man.tar.xz 42464 SHA256 0ab87b22a715505051ffb6d94ff01fb45988ba353f0a7c248e7a1c9d79e69815 SHA512 846a995f4ddc2bd20a1a9970fc476db3d3f0f4584fbde981940b81f0c3f4065c0ced7cae71c8518bed9e880143ce734bc98bae5b84da8600e26c32b194176013 WHIRLPOOL a5c424b24223d26a90ddf9b03839fb4311e4e89a408ff982d7b493ea3962dd88e305ecd08c799b554dfe74c19eb37f1f97307a94a4f7c79c84ae8b5f5bd26b12 | ||
DIST coreutils-8.21-patches-1.0.tar.xz 6480 SHA256 3a10abca6e41e654837583b582a831c220a02ad9a6dc2bec66e60f7038a2f632 SHA512 4f19712c2c50cbe3f3abd1c48decd063df250d72344c02796f24a43eac9d6f543be64cb7f48e3716e92db964d93b8cfc08e860f7f79726ccada796fefbe7ddd8 WHIRLPOOL 72fb7908728ffc33d9f6bd360e1bc0d990573c01c2974de5ed842ba15224e9ad137ec24d727659748350886b53ee6da71f3773cf6a5c36bd091919090200294a | ||
DIST coreutils-8.21.tar.xz 5357988 SHA256 adaa44bdab3fa5eb352e80d8a31fdbf957b78653d0c2cd30d63e161444288e18 SHA512 cf0e5a393b486dd7fd46600dc2928bd2303250f3bce7b2f0de1bb3bf7b0cc3f6e29001b23fda5bbabe7686bf78917cfabe1f81abb602ab41cd406b45021fd229 WHIRLPOOL 4aa93529fc41f52841d82169fc5d8b10095462d24b46a97bff78c1abda865af5cb248cfbb67495c2618b338dd05e33fecf68a677c9ca268abf97eb5d0f1f05ef |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,178 @@ | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI="3" | ||
|
||
inherit eutils flag-o-matic toolchain-funcs | ||
|
||
PATCH_VER="1.0" | ||
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-alpha/coreutils/${P}.tar.xz | ||
mirror://gnu/${PN}/${P}.tar.xz | ||
mirror://gentoo/${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.tar.xz | ||
http://dev.gentoo.org/~vapier/dist/${P}-man.tar.xz" | ||
|
||
LICENSE="GPL-3" | ||
SLOT="0" | ||
KEYWORDS="*" | ||
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_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" | ||
|
||
# /bin/dircolors sometimes sticks around #224823 | ||
if [ -e "${EROOT}/usr/bin/dircolors" ] && [ -e "${EROOT}/bin/dircolors" ] ; then | ||
if strings "${EROOT}/bin/dircolors" | grep -qs "GNU coreutils" ; then | ||
einfo "Deleting orphaned GNU /bin/dircolors for you" | ||
rm -f "${EROOT}/bin/dircolors" | ||
fi | ||
fi | ||
|
||
# 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 | ||
} |