Gentoo Archives: gentoo-commits

From: Thomas Deutschmann <whissi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-apps/keyutils/, sys-apps/keyutils/files/
Date: Fri, 31 Aug 2018 02:55:04
Message-Id: 1535684090.6262e565b291b4d4bfdacf86d40cc49714906d86.whissi@gentoo
1 commit: 6262e565b291b4d4bfdacf86d40cc49714906d86
2 Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
3 AuthorDate: Fri Aug 31 02:50:42 2018 +0000
4 Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
5 CommitDate: Fri Aug 31 02:54:50 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6262e565
7
8 sys-apps/keyutils: bump to v1.5.11
9
10 Package-Manager: Portage-2.3.48, Repoman-2.3.10
11
12 sys-apps/keyutils/Manifest | 1 +
13 .../files/keyutils-1.5.10-endian-check-1.patch | 20 +++++
14 sys-apps/keyutils/keyutils-1.5.11.ebuild | 100 +++++++++++++++++++++
15 3 files changed, 121 insertions(+)
16
17 diff --git a/sys-apps/keyutils/Manifest b/sys-apps/keyutils/Manifest
18 index 6142fc4ba25..3892769c71a 100644
19 --- a/sys-apps/keyutils/Manifest
20 +++ b/sys-apps/keyutils/Manifest
21 @@ -1,2 +1,3 @@
22 DIST keyutils-1.5.10.tar.bz2 74190 BLAKE2B 8eeab02ef363b785152ac4576f1ce9792711f482e27c3ba71d906624ecc88ef4ce2ee909d7bc3a35b42b50e971c0bd0600cfdefa9a3db35b25553bfcbe7d2d13 SHA512 7f6f956c7e76cdc2aeb52e74fe670b20a5f9a5d9b543fd2ce971d80c48745f37d05235a42f0a8f152b1128a109c7d8bf07e751282a20d2d3f433a99a5308ae8d
23 +DIST keyutils-1.5.11.tar.bz2 87644 BLAKE2B 1a601b7036bcfe69b6272ae2b4fad44cbb22877aa94722fa26460f8addf105ff8898e851ad7c4f28bc755f7fe293c74bc70cffbe877978e462bc21c428c9a11d SHA512 5f0dc5d5ceb673cf0ba71d3a0b525d09adc8d501a795372aa3dc29215ef393cb8577c72051cecabdb9a46dca4fcaa11e629291fb857290872475a7e445f47d43
24 DIST keyutils-1.5.9.tar.bz2 74683 BLAKE2B 8d5133dcc4c1f40e634fcd6584f3e2e56a0fd4ff25ded41c5f94ef3193ef7240ff4a24ef1c5beba6ba835195605a77126bf77aace35a1b4acf025160a2082dcb SHA512 d4ee1dabb87844e18bfd8d094a5bc9ce792c96720b71e77961b6c36bb1addb9acea2a7004ddfba1d09b167af908368162312e5c3656b22a6266955bb57b887e2
25
26 diff --git a/sys-apps/keyutils/files/keyutils-1.5.10-endian-check-1.patch b/sys-apps/keyutils/files/keyutils-1.5.10-endian-check-1.patch
27 new file mode 100644
28 index 00000000000..99cf23fbb21
29 --- /dev/null
30 +++ b/sys-apps/keyutils/files/keyutils-1.5.10-endian-check-1.patch
31 @@ -0,0 +1,20 @@
32 +fix regexp match against `file /proc/$$/exe` for -fPIE bash
33 +Now that bash is built with PIE enabled, keyutils' check for endianness
34 +fails because file no longer returns "executable", but instead returns
35 +"shared object" for file << 5.33 and "pie executable" for file >= 5.33.
36 +
37 +--- a/tests/toolbox.inc.sh
38 ++++ b/tests/toolbox.inc.sh
39 +@@ -13,10 +13,10 @@
40 + echo === $OUTPUTFILE ===
41 +
42 + endian=`file -L /proc/$$/exe`
43 +-if expr "$endian" : '.* MSB \+\(executable\|shared object).*' >&/dev/null
44 ++if expr "$endian" : '.* MSB \+\(executable\|shared object\|pie executable\).*' >&/dev/null
45 + then
46 + endian=BE
47 +-elif expr "$endian" : '.* LSB \+\(executable\|shared object\).*' >&/dev/null
48 ++elif expr "$endian" : '.* LSB \+\(executable\|shared object\|pie executable\).*' >&/dev/null
49 + then
50 + endian=LE
51 + else
52
53 diff --git a/sys-apps/keyutils/keyutils-1.5.11.ebuild b/sys-apps/keyutils/keyutils-1.5.11.ebuild
54 new file mode 100644
55 index 00000000000..4d30cfbe2eb
56 --- /dev/null
57 +++ b/sys-apps/keyutils/keyutils-1.5.11.ebuild
58 @@ -0,0 +1,100 @@
59 +# Copyright 1999-2018 Gentoo Foundation
60 +# Distributed under the terms of the GNU General Public License v2
61 +
62 +EAPI="6"
63 +
64 +inherit multilib toolchain-funcs linux-info multilib-minimal
65 +
66 +DESCRIPTION="Linux Key Management Utilities"
67 +HOMEPAGE="https://people.redhat.com/dhowells/keyutils/"
68 +SRC_URI="https://people.redhat.com/dhowells/${PN}/${P}.tar.bz2"
69 +
70 +LICENSE="GPL-2 LGPL-2.1"
71 +SLOT="0"
72 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
73 +IUSE="static static-libs test"
74 +
75 +RDEPEND=""
76 +DEPEND="!prefix? ( >=sys-kernel/linux-headers-2.6.11 )"
77 +
78 +PATCHES=(
79 + "${FILESDIR}"/${PN}-1.5.10-endian-check-1.patch
80 + "${FILESDIR}"/${PN}-1.5.10-makefile-fixup.patch
81 + "${FILESDIR}"/${PN}-1.5.10-disable-tests.patch #519062 #522050
82 + "${FILESDIR}"/${PN}-1.5.9-header-extern-c.patch
83 +)
84 +
85 +pkg_setup() {
86 + CONFIG_CHECK="~KEYS"
87 + ERROR_KEYS="You must have CONFIG_KEYS to use this package!"
88 +
89 + if use test && kernel_is lt 4 0 0; then
90 + CONFIG_CHECK="${CONFIG_CHECK} ~KEYS_DEBUG_PROC_KEYS"
91 + ERROR_KEYS_DEBUG_PROC_KEYS="You must have CONFIG_KEYS_DEBUG_PROC_KEYS to run the package testsuite!"
92 + fi
93 + linux-info_pkg_setup
94 +}
95 +
96 +src_prepare() {
97 + default
98 +
99 + # The lsb check is useless, so avoid spurious command not found messages.
100 + sed -i -e 's,lsb_release,:,' tests/prepare.inc.sh || die
101 + # All the test files are bash, but try to execute via `sh`.
102 + sed -i -r \
103 + -e 's:([[:space:]])sh([[:space:]]):\1bash\2:' \
104 + tests/{Makefile*,*.sh} || die
105 + find tests/ -name '*.sh' -exec sed -i '1s:/sh$:/bash:' {} +
106 + # Some tests call the kernel which calls userspace, but that will
107 + # run the install keyutils rather than the locally compiled one,
108 + # so disable round trip tests.
109 + rm -rf tests/keyctl/requesting/{bad-args,piped,valid}
110 +
111 + multilib_copy_sources
112 +}
113 +
114 +multilib_src_compile() {
115 + tc-export AR CC
116 + sed -i \
117 + -e "1iRPATH = $(usex static -static '')" \
118 + -e '/^C.*FLAGS/s|:=|+=|' \
119 + -e 's:-Werror::' \
120 + -e '/^BUILDFOR/s:=.*:=:' \
121 + -e "/^LIBDIR/s:=.*:= /usr/$(get_libdir):" \
122 + -e '/^USRLIBDIR/s:=.*:=$(LIBDIR):' \
123 + -e "s: /: ${EPREFIX}/:g" \
124 + -e '/^NO_ARLIB/d' \
125 + Makefile || die
126 +
127 + # We need the static lib in order to statically link programs.
128 + if use static ; then
129 + export NO_ARLIB=0
130 + # Hack the progs to depend on the static lib instead.
131 + sed -i \
132 + -e '/^.*:.*[$](DEVELLIB)$/s:$(DEVELLIB):$(ARLIB) $(SONAME):' \
133 + Makefile || die
134 + else
135 + export NO_ARLIB=$(usex static-libs 0 1)
136 + fi
137 + emake
138 +}
139 +
140 +multilib_src_test() {
141 + # Execute the locally compiled code rather than the
142 + # older versions already installed in the system.
143 + LD_LIBRARY_PATH=${BUILD_DIR} \
144 + PATH="${BUILD_DIR}:${PATH}" \
145 + emake test
146 +}
147 +
148 +multilib_src_install() {
149 + # Possibly undo the setting for USE=static (see src_compile).
150 + export NO_ARLIB=$(usex static-libs 0 1)
151 +
152 + default
153 + use static || gen_usr_ldscript -a keyutils
154 +}
155 +
156 +multilib_src_install_all() {
157 + dodoc README
158 +}