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/man-db/
Date: Tue, 02 Jun 2020 09:13:56
Message-Id: 1591089228.bf1bee65cb6e66ef950a6edd578cdaecbab253bc.polynomial-c@gentoo
1 commit: bf1bee65cb6e66ef950a6edd578cdaecbab253bc
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Tue Jun 2 09:09:18 2020 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Tue Jun 2 09:13:48 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bf1bee65
7
8 sys-apps/man-db: Bump to version 2.9.2
9
10 Package-Manager: Portage-2.3.100, Repoman-2.3.22
11 Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
12
13 sys-apps/man-db/Manifest | 1 +
14 sys-apps/man-db/man-db-2.9.2.ebuild | 157 ++++++++++++++++++++++++++++++++++++
15 2 files changed, 158 insertions(+)
16
17 diff --git a/sys-apps/man-db/Manifest b/sys-apps/man-db/Manifest
18 index 071f45cf4b9..9d6e116797e 100644
19 --- a/sys-apps/man-db/Manifest
20 +++ b/sys-apps/man-db/Manifest
21 @@ -1,2 +1,3 @@
22 DIST man-db-2.8.7.tar.xz 1839012 BLAKE2B 19b438b1083cfd838421f29ed053fe85686929bc9f2105fe399ea99622f138bca2c8888a17cddb9223362db2d5f9c4bb3669865ecf749fe845ea8e4223027f67 SHA512 9f9d6f3b776c0b35f95c179fb668f2dc3db3d3e63a162cfda98c5d126fe147f2418e1a1503037ebe28314f57d9b6f48b7f7674d611df14424973a866a61ff2d9
23 DIST man-db-2.9.1.tar.xz 1875456 BLAKE2B 42d7d5f49bf19e031bde18dd60cbf18a7656e8756f2cc5d3789cab6ea82283115ed0303ae2f7f7ffd3e32310302b7b70b4e39704bd5c2a08ab60a38905d8c448 SHA512 ae2d1e9f293795c63f5a9a1a765478a9a59cbe5fe6f759647be5057c1ae53f90baee8d5467921f3d0102300f2111a5026eeb25f78401bcb16ce45ad790634977
24 +DIST man-db-2.9.2.tar.xz 1885484 BLAKE2B 46778ebdecffcdefedd062e3f6a01a54054b57aa9636450dd148f62184b9bb919deb72e3b57b2fc75670fc2d8d274417f00994f7030fee913d572637e080b4c1 SHA512 47b63c074cf61c15f82230cc35a0062ab6ded8c3229475c6667a47ca518346d0555616c5b07bb01515b31bd80cbdc9870cd05ffff35097d013252401c6927002
25
26 diff --git a/sys-apps/man-db/man-db-2.9.2.ebuild b/sys-apps/man-db/man-db-2.9.2.ebuild
27 new file mode 100644
28 index 00000000000..8ad0f47c856
29 --- /dev/null
30 +++ b/sys-apps/man-db/man-db-2.9.2.ebuild
31 @@ -0,0 +1,157 @@
32 +# Copyright 1999-2020 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI=7
36 +
37 +inherit systemd
38 +
39 +DESCRIPTION="a man replacement that utilizes berkdb instead of flat files"
40 +HOMEPAGE="http://www.nongnu.org/man-db/"
41 +if [[ "${PV}" = 9999* ]] ; then
42 + inherit autotools git-r3
43 + EGIT_REPO_URI="https://git.savannah.gnu.org/git/man-db.git"
44 +else
45 + SRC_URI="mirror://nongnu/${PN}/${P}.tar.xz"
46 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
47 +fi
48 +
49 +LICENSE="GPL-3"
50 +SLOT="0"
51 +IUSE="berkdb +gdbm +manpager nls +seccomp selinux static-libs zlib"
52 +
53 +CDEPEND="
54 + !sys-apps/man
55 + >=dev-libs/libpipeline-1.5.0
56 + sys-apps/groff
57 + gdbm? ( sys-libs/gdbm:= )
58 + !gdbm? ( berkdb? ( sys-libs/db:= ) )
59 + !berkdb? ( !gdbm? ( sys-libs/gdbm:= ) )
60 + seccomp? ( sys-libs/libseccomp )
61 + zlib? ( sys-libs/zlib )
62 +"
63 +DEPEND="${CDEPEND}"
64 +BDEPEND="
65 + app-arch/xz-utils
66 + virtual/pkgconfig
67 + nls? (
68 + >=app-text/po4a-0.45
69 + sys-devel/gettext
70 + )
71 +"
72 +RDEPEND="
73 + ${CDEPEND}
74 + acct-group/man
75 + acct-user/man
76 + selinux? ( sec-policy/selinux-mandb )
77 +"
78 +PDEPEND="manpager? ( app-text/manpager )"
79 +
80 +pkg_setup() {
81 + if (use gdbm && use berkdb) || (use !gdbm && use !berkdb) ; then #496150
82 + ewarn "Defaulting to USE=gdbm due to ambiguous berkdb/gdbm USE flag settings"
83 + fi
84 +}
85 +
86 +src_unpack() {
87 + if [[ "${PV}" == *9999 ]] ; then
88 + git-r3_src_unpack
89 +
90 + # We need to mess with gnulib :-/
91 + EGIT_REPO_URI="https://git.savannah.gnu.org/r/gnulib.git" \
92 + EGIT_CHECKOUT_DIR="${WORKDIR}/gnulib" \
93 + git-r3_src_unpack
94 + else
95 + default
96 + fi
97 +}
98 +
99 +src_prepare() {
100 + default
101 + if [[ "${PV}" == *9999 ]] ; then
102 + local bootstrap_opts=(
103 + --gnulib-srcdir=../gnulib
104 + --no-bootstrap-sync
105 + --copy
106 + --no-git
107 + )
108 + AUTORECONF="/bin/true" \
109 + LIBTOOLIZE="/bin/true" \
110 + sh ./bootstrap "${bootstrap_opts[@]}" || die
111 +
112 + eautoreconf
113 + fi
114 +}
115 +
116 +src_configure() {
117 + export ac_cv_lib_z_gzopen=$(usex zlib)
118 + local myeconfargs=(
119 + --with-systemdtmpfilesdir="${EPREFIX}"/usr/lib/tmpfiles.d
120 + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
121 + --disable-setuid #662438
122 + --enable-cache-owner=man
123 + --with-sections="1 1p 8 2 3 3p 4 5 6 7 9 0p tcl n l p o 1x 2x 3x 4x 5x 6x 7x 8x"
124 + $(use_enable nls)
125 + $(use_enable static-libs static)
126 + $(use_with seccomp libseccomp)
127 + --with-db=$(usex gdbm gdbm $(usex berkdb db gdbm))
128 + )
129 + econf "${myeconfargs[@]}"
130 +
131 + # Disable color output from groff so that the manpager can add it. #184604
132 + sed -i \
133 + -e '/^#DEFINE.*\<[nt]roff\>/{s:^#::;s:$: -c:}' \
134 + src/man_db.conf || die
135 +
136 + cat > 15man-db <<-EOF || die
137 + SANDBOX_PREDICT="/var/cache/man"
138 + EOF
139 +}
140 +
141 +src_install() {
142 + default
143 + dodoc docs/{HACKING,TODO}
144 + find "${ED}" -type f -name "*.la" -delete || die
145 +
146 + exeinto /etc/cron.daily
147 + newexe "${FILESDIR}"/man-db.cron-r1 man-db #289884
148 +
149 + insinto /etc/sandbox.d
150 + doins 15man-db
151 +}
152 +
153 +pkg_preinst() {
154 + local cachedir="${EROOT}/var/cache/man"
155 + # If the system was already exploited, and the attacker is hiding in the
156 + # cachedir of the old man-db, let's wipe them out.
157 + # see bug #602588 comment 18
158 + local _replacing_version=
159 + local _setgid_vuln=0
160 + for _replacing_version in ${REPLACING_VERSIONS}; do
161 + if ver_test '2.7.6.1-r2' -le "${_replacing_version}"; then
162 + debug-print "Skipping security bug #602588 ... existing installation (${_replacing_version}) should not be affected!"
163 + else
164 + _setgid_vuln=1
165 + debug-print "Applying cleanup for security bug #602588"
166 + fi
167 + done
168 + [[ ${_setgid_vuln} -eq 1 ]] && rm -rf "${cachedir}"
169 +
170 + # Fall back to recreating the cachedir
171 + if [[ ! -d ${cachedir} ]] ; then
172 + mkdir -p "${cachedir}" || die
173 + chown man:man "${cachedir}" || die
174 + fi
175 +
176 + # Update the whatis cache
177 + if [[ -f ${cachedir}/whatis ]] ; then
178 + einfo "Cleaning ${cachedir} from sys-apps/man"
179 + find "${cachedir}" -type f '!' '(' -name index.bt -o -name index.db ')' -delete
180 + fi
181 +}
182 +
183 +pkg_postinst() {
184 + if [[ $(ver_cut 2 ${REPLACING_VERSIONS}) -lt 7 ]] ; then
185 + einfo "Rebuilding man-db from scratch with new database format!"
186 + su man -s /bin/sh -c 'mandb --quiet --create' 2>/dev/null
187 + fi
188 +}