Gentoo Archives: gentoo-commits

From: Lars Wendler <polynomial-c@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-apps/coreutils/
Date: Thu, 05 Mar 2020 15:22:07
Message-Id: 1583421719.e7358bb1215addd86f2890f26d457a03c29435e6.polynomial-c@gentoo
1 commit: e7358bb1215addd86f2890f26d457a03c29435e6
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Thu Mar 5 15:21:43 2020 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Thu Mar 5 15:21:59 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e7358bb1
7
8 sys-apps/coreutils: Bump to version 8.32
9
10 Package-Manager: Portage-2.3.92, Repoman-2.3.20
11 Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
12
13 sys-apps/coreutils/Manifest | 1 +
14 sys-apps/coreutils/coreutils-8.32.ebuild | 198 +++++++++++++++++++++++++++++++
15 2 files changed, 199 insertions(+)
16
17 diff --git a/sys-apps/coreutils/Manifest b/sys-apps/coreutils/Manifest
18 index 9e4b4c1d5cd..587b6b33bc9 100644
19 --- a/sys-apps/coreutils/Manifest
20 +++ b/sys-apps/coreutils/Manifest
21 @@ -1,3 +1,4 @@
22 DIST coreutils-8.30-patches-01.tar.xz 5788 BLAKE2B a41511ce39ac570cb14b7f12d125eebef92217469a9490808719fa0665f5e5c0adb96fbd02c4bac4d280d1502295669575790a81dbc01afe2ca3a9d384cbefb0 SHA512 b1e1933637de4581d5f8c6ede4e80a012435d13f0cf5550a76ab5bbe9441e3c15ce19ef3f78a7ea3b8368d5e9a3bb17c1207c471d26171b59786f38adeba0454
23 DIST coreutils-8.30.tar.xz 5359532 BLAKE2B b66ccd112a6c2c8b90e58ff1c3371e7f5827937035769329885e5bdae197466189f3715720b8f8cf0b5047fe16d6c86984dcee994117c2d3c7b8dbd597027255 SHA512 25bc132c0d89ce71c33e417f04649c9fcfce6c5ef8b19f093b2e9e2851bfde9b5a31e20499d9c427332228ba54b88d445ddb445551e1944bb8f5cbff5ffa4eda
24 DIST coreutils-8.31.tar.xz 5410140 BLAKE2B e3ae6be8edbe9df9164b4c9ac8bf14dc23b147fa665f20669e18ac4c6e45ba839dc0dc99e05670eb006d22133475a4a717a5f40b00ebaedfd6e1fbab887674d5 SHA512 ef8941dae845bbf5ae5838bc49e44554a766302930601aada6fa594e8088f0fbad74e481ee392ff89633e68b99e4da3f761fcb5d31ee3b233d540fe2a2d4e1af
25 +DIST coreutils-8.32.tar.xz 5547836 BLAKE2B 0ad99c176c19ec214fcfd0845523e5362f0151827707c759bd46c0fe8d2501c6ad1c29c5b71266f6525857bc0d56c472db0d7fe29953b6c65e2e6c76bdf3c515 SHA512 1c8f3584efd61b4b02e7ac5db8e103b63cfb2063432caaf1e64cb2dcc56d8c657d1133bbf10bd41468d6a1f31142e6caa81d16ae68fa3e6e84075c253613a145
26
27 diff --git a/sys-apps/coreutils/coreutils-8.32.ebuild b/sys-apps/coreutils/coreutils-8.32.ebuild
28 new file mode 100644
29 index 00000000000..e398ba4307c
30 --- /dev/null
31 +++ b/sys-apps/coreutils/coreutils-8.32.ebuild
32 @@ -0,0 +1,198 @@
33 +# Copyright 1999-2020 Gentoo Authors
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI=7
37 +
38 +PYTHON_COMPAT=( python3_{6,7} )
39 +
40 +inherit eutils flag-o-matic python-any-r1 toolchain-funcs
41 +
42 +PATCH="${PN}-8.30-patches-01"
43 +DESCRIPTION="Standard GNU utilities (chmod, cp, dd, ls, sort, tr, head, wc, who,...)"
44 +HOMEPAGE="https://www.gnu.org/software/coreutils/"
45 +SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
46 + mirror://gentoo/${PATCH}.tar.xz
47 + https://dev.gentoo.org/~polynomial-c/dist/${PATCH}.tar.xz"
48 +
49 +LICENSE="GPL-3"
50 +SLOT="0"
51 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~x86-linux"
52 +IUSE="acl caps gmp hostname kill multicall nls selinux +split-usr static test vanilla xattr"
53 +RESTRICT="!test? ( test )"
54 +
55 +LIB_DEPEND="acl? ( sys-apps/acl[static-libs] )
56 + caps? ( sys-libs/libcap )
57 + gmp? ( dev-libs/gmp:=[static-libs] )
58 + xattr? ( sys-apps/attr[static-libs] )"
59 +RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs]} )
60 + selinux? ( sys-libs/libselinux )
61 + nls? ( virtual/libintl )"
62 +DEPEND="
63 + ${RDEPEND}
64 + static? ( ${LIB_DEPEND} )
65 +"
66 +BDEPEND="
67 + app-arch/xz-utils
68 + test? (
69 + dev-lang/perl
70 + dev-perl/Expect
71 + dev-util/strace
72 + ${PYTHON_DEPS}
73 + $(python_gen_any_dep 'dev-python/pyinotify[${PYTHON_USEDEP}]')
74 + )
75 +"
76 +RDEPEND+="
77 + hostname? ( !sys-apps/net-tools[hostname] )
78 + kill? (
79 + !sys-apps/util-linux[kill]
80 + !sys-process/procps[kill]
81 + )
82 + !app-misc/realpath
83 + !<sys-apps/util-linux-2.13
84 + !<sys-apps/sandbox-2.10-r4
85 + !sys-apps/stat
86 + !net-mail/base64
87 + !sys-apps/mktemp
88 + !<app-forensics/tct-1.18-r1
89 + !<net-fs/netatalk-2.0.3-r4"
90 +
91 +python_check_deps() {
92 + has_version "dev-python/pyinotify[${PYTHON_USEDEP}]"
93 +}
94 +
95 +pkg_setup() {
96 + if use test ; then
97 + python-any-r1_pkg_setup
98 + fi
99 +}
100 +
101 +src_prepare() {
102 + if ! use vanilla ; then
103 + eapply "${WORKDIR}"/patch/*.patch
104 + fi
105 +
106 + eapply_user
107 +
108 + # Since we've patched many .c files, the make process will try to
109 + # re-build the manpages by running `./bin --help`. When doing a
110 + # cross-compile, we can't do that since 'bin' isn't a native bin.
111 + # Also, it's not like we changed the usage on any of these things,
112 + # so let's just update the timestamps and skip the help2man step.
113 + set -- man/*.x
114 + touch ${@/%x/1}
115 +
116 + # Avoid perl dep for compiled in dircolors default #348642
117 + if ! has_version dev-lang/perl ; then
118 + touch src/dircolors.h
119 + touch ${@/%x/1}
120 + fi
121 +}
122 +
123 +src_configure() {
124 + local myconf=(
125 + --with-packager="Gentoo"
126 + --with-packager-version="${PVR} (p${PATCH_VER:-0})"
127 + --with-packager-bug-reports="https://bugs.gentoo.org/"
128 + --enable-install-program="arch,$(usev hostname),$(usev kill)"
129 + --enable-no-install-program="groups,$(usev !hostname),$(usev !kill),su,uptime"
130 + --enable-largefile
131 + $(usex caps '' --disable-libcap)
132 + $(use_enable nls)
133 + $(use_enable acl)
134 + $(use_enable multicall single-binary)
135 + $(use_enable xattr)
136 + $(use_with gmp)
137 + )
138 + if tc-is-cross-compiler && [[ ${CHOST} == *linux* ]] ; then
139 + export fu_cv_sys_stat_statfs2_bsize=yes #311569
140 + export gl_cv_func_realpath_works=yes #416629
141 + fi
142 +
143 + export gl_cv_func_mknod_works=yes #409919
144 + use static && append-ldflags -static && sed -i '/elf_sys=yes/s:yes:no:' configure #321821
145 + use selinux || export ac_cv_{header_selinux_{context,flash,selinux}_h,search_setfilecon}=no #301782
146 + # kill/uptime - procps
147 + # groups/su - shadow
148 + # hostname - net-tools
149 + econf "${myconf[@]}"
150 +}
151 +
152 +src_test() {
153 + # Known to fail with FEATURES=usersandbox (bug #439574):
154 + # - tests/du/long-from-unreadable.sh} (bug #413621)
155 + # - tests/rm/deep-2.sh (bug #413621)
156 + # - tests/dd/no-allocate.sh (bug #629660)
157 + if has usersandbox ${FEATURES} ; then
158 + ewarn "You are emerging ${P} with 'usersandbox' enabled." \
159 + "Expect some test failures or emerge with 'FEATURES=-usersandbox'!"
160 + fi
161 +
162 + # Non-root tests will fail if the full path isn't
163 + # accessible to non-root users
164 + chmod -R go-w "${WORKDIR}"
165 + chmod a+rx "${WORKDIR}"
166 +
167 + # coreutils tests like to do `mount` and such with temp dirs
168 + # so make sure /etc/mtab is writable #265725
169 + # make sure /dev/loop* can be mounted #269758
170 + mkdir -p "${T}"/mount-wrappers || die
171 + mkwrap() {
172 + local w ww
173 + for w in "${@}" ; do
174 + ww="${T}/mount-wrappers/${w}"
175 + cat <<-EOF > "${ww}"
176 + #!${EPREFIX}/bin/sh
177 + exec env SANDBOX_WRITE="\${SANDBOX_WRITE}:/etc/mtab:/dev/loop" $(type -P ${w}) "\$@"
178 + EOF
179 + chmod a+rx "${ww}"
180 + done
181 + }
182 + mkwrap mount umount
183 +
184 + addwrite /dev/full
185 + #export RUN_EXPENSIVE_TESTS="yes"
186 + #export FETISH_GROUPS="portage wheel"
187 + env PATH="${T}/mount-wrappers:${PATH}" \
188 + emake -j1 -k check
189 +}
190 +
191 +src_install() {
192 + default
193 +
194 + insinto /etc
195 + newins src/dircolors.hin DIR_COLORS
196 +
197 + if use split-usr ; then
198 + cd "${ED}"/usr/bin || die
199 + dodir /bin
200 + # move critical binaries into /bin (required by FHS)
201 + local fhs="cat chgrp chmod chown cp date dd df echo false ln ls
202 + mkdir mknod mv pwd rm rmdir stty sync true uname"
203 + mv ${fhs} ../../bin/ || die "could not move fhs bins"
204 + if use hostname; then
205 + mv hostname ../../bin/ || die
206 + fi
207 + if use kill; then
208 + mv kill ../../bin/ || die
209 + fi
210 + # move critical binaries into /bin (common scripts)
211 + # Why are these required for booting?
212 + local com="basename chroot cut dir dirname du env expr head mkfifo
213 + mktemp readlink seq sleep sort tail touch tr tty vdir wc yes"
214 + mv ${com} ../../bin/ || die "could not move common bins"
215 + # create a symlink for uname in /usr/bin/ since autotools require it
216 + # Other than uname, we need to figure out why we are
217 + # creating symlinks for these in /usr/bin instead of leaving
218 + # the files there in the first place.
219 + local x
220 + for x in ${com} uname ; do
221 + dosym ../../bin/${x} /usr/bin/${x}
222 + done
223 + fi
224 +}
225 +
226 +pkg_postinst() {
227 + ewarn "Make sure you run 'hash -r' in your active shells."
228 + ewarn "You should also re-source your shell settings for LS_COLORS"
229 + ewarn " changes, such as: source /etc/profile"
230 +}