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/util-linux/
Date: Sat, 01 Feb 2020 02:52:09
Message-Id: 1580525520.c50ecb72882fee0966f336e8568908bc0ea8ec35.polynomial-c@gentoo
1 commit: c50ecb72882fee0966f336e8568908bc0ea8ec35
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Sat Feb 1 02:48:48 2020 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Sat Feb 1 02:52:00 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c50ecb72
7
8 sys-apps/util-linux: Bump to version 2.35.1
9
10 Package-Manager: Portage-2.3.86, Repoman-2.3.20
11 Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
12
13 sys-apps/util-linux/Manifest | 1 +
14 sys-apps/util-linux/util-linux-2.35.1.ebuild | 305 +++++++++++++++++++++++++++
15 2 files changed, 306 insertions(+)
16
17 diff --git a/sys-apps/util-linux/Manifest b/sys-apps/util-linux/Manifest
18 index cb55f73665b..8e68a59f4e2 100644
19 --- a/sys-apps/util-linux/Manifest
20 +++ b/sys-apps/util-linux/Manifest
21 @@ -1,3 +1,4 @@
22 DIST util-linux-2.33.2.tar.xz 4707024 BLAKE2B fdeed0a236edd26d268bccca8cde2cf1b7ecbff521ede9fa26ea22c8e5cdfc380a416a168789504b303f1b569d163e41f6630ee28829be7f2b2129fa14c4fffa SHA512 ac88790a0272366b384b54df19cb28318014d98819d5d96aa05528ff17ab57a8c66d012a2f1b59caca4c5d4ea669e8c041e1123517c1f1c2d9960ef701aaf749
23 DIST util-linux-2.34.tar.xz 4974812 BLAKE2B d26b2f74d490eaee0a40d4c75a1a351ba165b4a52f9bbf6cf9d1afd7ae1382a3a3dfe41180584e97e9aaad6950f604cad928f30747590e3e1e669c8797689758 SHA512 2d0b76f63d32e7afb7acf61a83fabbfd58baa34ab78b3a331ce87f9c676a5fd71c56a493ded95039540d2c46b6048caaa38d7fb4491eb3d52d7b09dc54655cd7
24 +DIST util-linux-2.35.1.tar.xz 5138360 BLAKE2B 08c16d4d9fd670b62c2d664feda2cfa53d0cecc36bbaa2c3ed5960bf70f905f11caa7a904c63f36e12b472f10b8e781351cca0cf2f858c2b66e4fd0204b1c456 SHA512 6e27e08bfc02378970f015decfea5a52d6c342c4c8f4ac48dd07d248485eb797e506d91d290dbbca344c3e5cfe1fc150db80a23d510367427232f5abeabe591a
25 DIST util-linux-2.35.tar.xz 5137796 BLAKE2B fbd3124284d50e1dc3fd158f77969057c628e111ee489a920896cfbd93186de4cf1ea97f41854171f824e4b3042968d860827557a8d46aeadcfe5ef976e71222 SHA512 c95d26b9037d6b877a247e6aeb58d17aa80f7e1bd6b523a4e0fde559fe07b3d924ece6d373300fefb65d1f206b3f990aeddb3a03605040e72ce6d6ee88591021
26
27 diff --git a/sys-apps/util-linux/util-linux-2.35.1.ebuild b/sys-apps/util-linux/util-linux-2.35.1.ebuild
28 new file mode 100644
29 index 00000000000..9d43c8d2465
30 --- /dev/null
31 +++ b/sys-apps/util-linux/util-linux-2.35.1.ebuild
32 @@ -0,0 +1,305 @@
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=( python2_7 python3_{6,7,8} )
39 +
40 +inherit toolchain-funcs libtool flag-o-matic bash-completion-r1 usr-ldscript \
41 + pam python-r1 multilib-minimal multiprocessing systemd
42 +
43 +MY_PV="${PV/_/-}"
44 +MY_P="${PN}-${MY_PV}"
45 +
46 +if [[ ${PV} == 9999 ]] ; then
47 + inherit git-r3 autotools
48 + EGIT_REPO_URI="https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git"
49 +else
50 + [[ "${PV}" = *_rc* ]] || \
51 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
52 + SRC_URI="https://www.kernel.org/pub/linux/utils/util-linux/v${PV:0:4}/${MY_P}.tar.xz"
53 +fi
54 +
55 +DESCRIPTION="Various useful Linux utilities"
56 +HOMEPAGE="https://www.kernel.org/pub/linux/utils/util-linux/ https://github.com/karelzak/util-linux"
57 +
58 +LICENSE="GPL-2 GPL-3 LGPL-2.1 BSD-4 MIT public-domain"
59 +SLOT="0"
60 +IUSE="build caps +cramfs cryptsetup fdformat hardlink kill +logger ncurses nls pam python +readline selinux slang static-libs su +suid systemd test tty-helpers udev unicode userland_GNU"
61 +
62 +# Most lib deps here are related to programs rather than our libs,
63 +# so we rarely need to specify ${MULTILIB_USEDEP}.
64 +DEPEND="
65 + virtual/os-headers
66 + caps? ( sys-libs/libcap-ng )
67 + cramfs? ( sys-libs/zlib:= )
68 + cryptsetup? ( sys-fs/cryptsetup )
69 + ncurses? ( >=sys-libs/ncurses-5.2-r2:0=[unicode?] )
70 + nls? ( virtual/libintl[${MULTILIB_USEDEP}] )
71 + pam? ( sys-libs/pam )
72 + python? ( ${PYTHON_DEPS} )
73 + readline? ( sys-libs/readline:0= )
74 + selinux? ( >=sys-libs/libselinux-2.2.2-r4[${MULTILIB_USEDEP}] )
75 + slang? ( sys-libs/slang )
76 + !build? ( systemd? ( sys-apps/systemd ) )
77 + udev? ( virtual/libudev:= )"
78 +BDEPEND="
79 + virtual/pkgconfig
80 + nls? ( sys-devel/gettext )
81 + test? ( sys-devel/bc )
82 +"
83 +RDEPEND="${DEPEND}
84 + hardlink? ( !app-arch/hardlink )
85 + logger? ( !>=app-admin/sysklogd-2.0[logger] )
86 + kill? (
87 + !sys-apps/coreutils[kill]
88 + !sys-process/procps[kill]
89 + )
90 + su? (
91 + !<sys-apps/shadow-4.7-r2
92 + !>=sys-apps/shadow-4.7-r2[su]
93 + )
94 + !net-wireless/rfkill
95 + !sys-process/schedutils
96 + !sys-apps/setarch
97 + !<sys-apps/sysvinit-2.88-r7
98 + !<sys-libs/e2fsprogs-libs-1.41.8
99 + !<sys-fs/e2fsprogs-1.41.8
100 + !<app-shells/bash-completion-2.7-r1"
101 +
102 +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
103 +RESTRICT="!test? ( test )"
104 +
105 +S="${WORKDIR}/${MY_P}"
106 +
107 +src_prepare() {
108 + default
109 +
110 + # Prevent uuidd test failure due to socket path limit. #593304
111 + sed -i \
112 + -e "s|UUIDD_SOCKET=\"\$(mktemp -u \"\${TS_OUTDIR}/uuiddXXXXXXXXXXXXX\")\"|UUIDD_SOCKET=\"\$(mktemp -u \"${T}/uuiddXXXXXXXXXXXXX.sock\")\"|g" \
113 + tests/ts/uuid/uuidd || die "Failed to fix uuidd test"
114 +
115 + if ! use userland_GNU; then
116 + # test runner is using GNU-specific xargs call
117 + sed -i -e 's:xargs:gxargs:' tests/run.sh || die
118 + # test requires util-linux uuidgen (which we don't build)
119 + rm tests/ts/uuid/oids || die
120 + fi
121 +
122 + if [[ ${PV} == 9999 ]] ; then
123 + po/update-potfiles
124 + eautoreconf
125 + fi
126 +
127 + elibtoolize
128 +}
129 +
130 +lfs_fallocate_test() {
131 + # Make sure we can use fallocate with LFS #300307
132 + cat <<-EOF > "${T}"/fallocate.${ABI}.c
133 + #define _GNU_SOURCE
134 + #include <fcntl.h>
135 + main() { return fallocate(0, 0, 0, 0); }
136 + EOF
137 + append-lfs-flags
138 + $(tc-getCC) ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} "${T}"/fallocate.${ABI}.c -o /dev/null >/dev/null 2>&1 \
139 + || export ac_cv_func_fallocate=no
140 + rm -f "${T}"/fallocate.${ABI}.c
141 +}
142 +
143 +python_configure() {
144 + local myeconfargs=(
145 + "${commonargs[@]}"
146 + --disable-all-programs
147 + --disable-bash-completion
148 + --without-systemdsystemunitdir
149 + --with-python
150 + )
151 + if use userland_GNU; then
152 + myeconfargs+=(
153 + --enable-libblkid
154 + --enable-libmount
155 + --enable-pylibmount
156 + )
157 + fi
158 + mkdir "${BUILD_DIR}" || die
159 + pushd "${BUILD_DIR}" >/dev/null || die
160 + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
161 + popd >/dev/null || die
162 +}
163 +
164 +multilib_src_configure() {
165 + lfs_fallocate_test
166 + # The scanf test in a run-time test which fails while cross-compiling.
167 + # Blindly assume a POSIX setup since we require libmount, and libmount
168 + # itself fails when the scanf test fails. #531856
169 + tc-is-cross-compiler && export scanf_cv_alloc_modifier=ms
170 + export ac_cv_header_security_pam_misc_h=$(multilib_native_usex pam) #485486
171 + export ac_cv_header_security_pam_appl_h=$(multilib_native_usex pam) #545042
172 +
173 + # Undo bad ncurses handling by upstream. Fall back to pkg-config. #601530
174 + export NCURSES6_CONFIG=false NCURSES5_CONFIG=false
175 + export NCURSESW6_CONFIG=false NCURSESW5_CONFIG=false
176 +
177 + # configure args shared by python and non-python builds
178 + local commonargs=(
179 + --enable-fs-paths-extra="${EPREFIX}/usr/sbin:${EPREFIX}/bin:${EPREFIX}/usr/bin"
180 + )
181 +
182 + local myeconfargs=(
183 + "${commonargs[@]}"
184 + --with-bashcompletiondir="$(get_bashcompdir)"
185 + --without-python
186 + $(multilib_native_use_enable suid makeinstall-chown)
187 + $(multilib_native_use_enable suid makeinstall-setuid)
188 + $(multilib_native_use_with readline)
189 + $(multilib_native_use_with slang)
190 + $(multilib_native_use_with systemd)
191 + $(multilib_native_use_with udev)
192 + $(multilib_native_usex ncurses "$(use_with unicode ncursesw)" '--without-ncursesw')
193 + $(multilib_native_usex ncurses "$(use_with !unicode ncurses)" '--without-ncurses')
194 + $(tc-has-tls || echo --disable-tls)
195 + $(use_enable nls)
196 + $(use_enable unicode widechar)
197 + $(use_enable static-libs static)
198 + $(use_with ncurses tinfo)
199 + $(use_with selinux)
200 + )
201 + # build programs only on GNU, on *BSD we want libraries only
202 + if multilib_is_native_abi && use userland_GNU; then
203 + myeconfargs+=(
204 + --disable-chfn-chsh
205 + --disable-login
206 + --disable-nologin
207 + --disable-pylibmount
208 + --enable-agetty
209 + --enable-bash-completion
210 + --enable-line
211 + --enable-partx
212 + --enable-raw
213 + --enable-rename
214 + --enable-rfkill
215 + --enable-schedutils
216 + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
217 + $(use_enable caps setpriv)
218 + $(use_enable cramfs)
219 + $(use_enable fdformat)
220 + $(use_enable hardlink)
221 + $(use_enable kill)
222 + $(use_enable logger)
223 + $(use_enable su)
224 + $(use_enable tty-helpers mesg)
225 + $(use_enable tty-helpers wall)
226 + $(use_enable tty-helpers write)
227 + $(use_with cryptsetup)
228 + )
229 + else
230 + myeconfargs+=(
231 + --disable-all-programs
232 + --disable-bash-completion
233 + --without-systemdsystemunitdir
234 + # build libraries
235 + --enable-libuuid
236 + --enable-libblkid
237 + --enable-libsmartcols
238 + --enable-libfdisk
239 + )
240 + if use userland_GNU; then
241 + # those libraries don't work on *BSD
242 + myeconfargs+=(
243 + --enable-libmount
244 + )
245 + fi
246 + fi
247 + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
248 +
249 + if multilib_is_native_abi && use python; then
250 + python_foreach_impl python_configure
251 + fi
252 +}
253 +
254 +python_compile() {
255 + pushd "${BUILD_DIR}" >/dev/null || die
256 + emake all
257 + popd >/dev/null || die
258 +}
259 +
260 +multilib_src_compile() {
261 + emake all
262 +
263 + if multilib_is_native_abi && use python; then
264 + python_foreach_impl python_compile
265 + fi
266 +}
267 +
268 +python_test() {
269 + pushd "${BUILD_DIR}" >/dev/null || die
270 + emake check TS_OPTS="--parallel=$(makeopts_jobs) --nonroot"
271 + popd >/dev/null || die
272 +}
273 +
274 +multilib_src_test() {
275 + emake check TS_OPTS="--parallel=$(makeopts_jobs) --nonroot"
276 + if multilib_is_native_abi && use python; then
277 + python_foreach_impl python_test
278 + fi
279 +}
280 +
281 +python_install() {
282 + pushd "${BUILD_DIR}" >/dev/null || die
283 + emake DESTDIR="${D}" install
284 + python_optimize
285 + popd >/dev/null || die
286 +}
287 +
288 +multilib_src_install() {
289 + if multilib_is_native_abi && use python; then
290 + python_foreach_impl python_install
291 + fi
292 +
293 + # This needs to be called AFTER python_install call (#689190)
294 + emake DESTDIR="${D}" install
295 +
296 + if multilib_is_native_abi && use userland_GNU; then
297 + # need the libs in /
298 + gen_usr_ldscript -a blkid fdisk mount smartcols uuid
299 + fi
300 +}
301 +
302 +multilib_src_install_all() {
303 + dodoc AUTHORS NEWS README* Documentation/{TODO,*.txt,releases/*}
304 +
305 + # e2fsprogs-libs didnt install .la files, and .pc work fine
306 + find "${ED}" -name "*.la" -delete || die
307 +
308 + if ! use userland_GNU; then
309 + # manpage collisions
310 + # TODO: figure out a good way to keep them
311 + rm "${ED}"/usr/share/man/man3/uuid* || die
312 + fi
313 +
314 + if use pam; then
315 + newpamd "${FILESDIR}/runuser.pamd" runuser
316 + newpamd "${FILESDIR}/runuser-l.pamd" runuser-l
317 + fi
318 +
319 + # Note:
320 + # Bash completion for "runuser" command is provided by same file which
321 + # would also provide bash completion for "su" command. However, we don't
322 + # use "su" command from this package.
323 + # This triggers a known QA warning which we ignore for now to magically
324 + # keep bash completion for "su" command which shadow package does not
325 + # provide.
326 +}
327 +
328 +pkg_postinst() {
329 + if ! use tty-helpers; then
330 + elog "The mesg/wall/write tools have been disabled due to USE=-tty-helpers."
331 + fi
332 +
333 + if [[ -z ${REPLACING_VERSIONS} ]]; then
334 + elog "The agetty util now clears the terminal by default. You"
335 + elog "might want to add --noclear to your /etc/inittab lines."
336 + fi
337 +}