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