Gentoo Archives: gentoo-commits

From: Zac Medico <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-apps/portage/
Date: Sun, 19 Aug 2018 20:03:55
Message-Id: 1534708903.ecffff37f15321c8f16eb5297f89ae1fba498ef1.zmedico@gentoo
1 commit: ecffff37f15321c8f16eb5297f89ae1fba498ef1
2 Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
3 AuthorDate: Sun Aug 19 19:55:23 2018 +0000
4 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
5 CommitDate: Sun Aug 19 20:01:43 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ecffff37
7
8 sys-apps/portage: remove old versions
9
10 Package-Manager: Portage-2.3.47, Repoman-2.3.10
11
12 sys-apps/portage/Manifest | 4 -
13 sys-apps/portage/portage-2.3.19-r1.ebuild | 254 ----------------------------
14 sys-apps/portage/portage-2.3.44.ebuild | 264 ------------------------------
15 sys-apps/portage/portage-2.3.45.ebuild | 264 ------------------------------
16 sys-apps/portage/portage-2.3.46.ebuild | 264 ------------------------------
17 5 files changed, 1050 deletions(-)
18
19 diff --git a/sys-apps/portage/Manifest b/sys-apps/portage/Manifest
20 index cc23e6bb95e..d6218ceee8b 100644
21 --- a/sys-apps/portage/Manifest
22 +++ b/sys-apps/portage/Manifest
23 @@ -1,11 +1,7 @@
24 DIST portage-2.3.13.tar.bz2 945477 BLAKE2B 0ad44859f04db529713cc80a51e6dadc767ed6b6d0aef1d070650d82133c05e161eaa9fd1e208b3078c513ccf6f73136b8bf865542f0dc9396de9142bad1d32c SHA512 71d9ea6c9a889572f60e7e501e9f8739db588cffd98a431303906eb90c1f7bb85c55f6779cbfb921630149d1b3174539fe2357fbeffbbe9857998907e3215ad3
25 -DIST portage-2.3.19.tar.bz2 954921 BLAKE2B e1bb3606ff2c5ba7b2123c61469b99f4d5d89f534a9af26065ac03bb2accd00cd363e4027e33546fc9b6d01b2fb65ca0d4311c6e2e8cc518c09030c979a69240 SHA512 94899bdfa4d22c846234bd28d4744613202cf67d3f32c242cb7fb60b17419419a2a29912e584ade7df52fba4c6a58774c5859148352221c978f34b4e7680981d
26 DIST portage-2.3.24.tar.bz2 959266 BLAKE2B bc15f10599c694ad29f5a55264e929d0a04a9c5211e9cafd4f1a35de1d77e655d99df0ceb352fd431a8cefd40c733064422d8f41099edf7263aa36ef8cfd2ba8 SHA512 fca250d4afc1819a27b67daff770132ed4e88fb067038992a6b3f8aac63604536366ea628dd30c24f93db19ae55e88da372598ccc489bcf445038dfe860ce0ec
27 DIST portage-2.3.40-bug-656942-bug-657436-937d0156aa06.patch 15214 BLAKE2B 0351f82cd46aa1523eb0f70109551009a422546f2fbde1beee7a18dad4ecbfc6465b3b3052a25720196950f7da81adeb66d87940f2b477fbeca27afba56fa18e SHA512 b0482b8dac8af97b841ded426001872c1c708f649dc7774bd3c7003179888fd4d126ece33d001d127b643d88b8a70b9af75bbeb36beeaca7b8ad308f92ff72e7
28 DIST portage-2.3.40-bug-657436-937d0156aa06-1fc628eead43.patch 4131 BLAKE2B 1b051097ef4fb073d22b9ef3472077b4845190ec3839886f462cacbee0996dc4c036549c4beab09025e1bb42f421e5032144e90197e3aa5de08dd7d8d1c50fbb SHA512 5910469816b69afb7a0078dd3b35a5304e2c806ac03ff3949603cf4162900fd9dd1df15661b91a2181528e8406679e525308822a0f6ddf4799c79fa9652c27a9
29 DIST portage-2.3.40.tar.bz2 995122 BLAKE2B 3bfadee6cf57dace32bb4a365850650e13664202f3b16bf75821ff6226e85da823785ac87875fa82bd5cf1b953d638773819495f73f471c06ffd6926518df1ac SHA512 ded128c1941664fab6bc95f05115ec08900fddaedd1b6f12afa48da024531ee8939134d49759e09995c76a95e41beafdbf5528a5b62d3bf21c826ab1ac0cd1c5
30 -DIST portage-2.3.44.tar.bz2 1008301 BLAKE2B de370ce9f455e6f778dece3be78703f23852caa9185d79b54e6fc35939923f2a28c91aa372a4ae601872b7933970b536e935ea1f8cb8604bf1547dced3d70c33 SHA512 e491998958439dc27fed6e6f9a3b87867c881cae6ec1fe9515db3277fb2f6f866b6ea6298bae5bf6553591ebe75719a5f379ae92e4aede440ac620ce4af9160d
31 -DIST portage-2.3.45.tar.bz2 1009687 BLAKE2B 396dc6e09e2415ab034963f2b30fe318bd783c873437f3f82e8af233605b7356130c45a18e2423029ec025669f0490542283308011dd60f4c3ee7a95a6d28c2b SHA512 551d24ac168f1cd8dd3affd6bc30e3a6e8a0622956407db72ffb283cfc0937b81b2cb1007ffe7eb8f9c7f94515fab44e1b82c1f45be0375c9d867369b2533792
32 -DIST portage-2.3.46.tar.bz2 1009905 BLAKE2B 009615295b3b040c5d009bf1ca87a2875eb2aef6380ae6c715cc08903865f6a52d7ece4a4ac861c59170480396f9c80df16c50a30f931420c6bac8e97d81b0db SHA512 60782adc06a1339166a33e25a26cfaae029b242e5036f329f9328c30c4e99ea9c1d23cbf487faa9f4834145b111d753b0a6f70fb090ae907a6ab61c637a0815d
33 DIST portage-2.3.47.tar.bz2 1010355 BLAKE2B 3d1058c4dfbd147468619bbc29ba894addfe0d390ad586d1da36f9ed3e379141e0e5954117bf011cb88f88760e5fb0f31e03f6c48ddc3d8dcc62a447bdab2fd2 SHA512 85609e0130108eac18ce43511648ce0be1d04f6bd1cbbe8a92d806b15450a233f5020fea06ca33762b6ccaa48d8c13c9876bc66b4521ba61a96ee07f0f21c1d5
34 DIST portage-2.3.8.tar.bz2 938062 BLAKE2B 3f7bedf6268131a3b3539d53c8a7bb069b533b3a78e5eec521b6201439c8ee5e66996e798fe295561d0a94bfcd32adf414d4f8b5e7a93035cea09749406e64a3 SHA512 4b4b2de20323799b9b0f7a8812f939aa9a96d2744a0f65ad5287ba49744c491b55169cdb21f2885317a6a7c960d2070775ffd798f247b44eebc677c33c271eb8
35
36 diff --git a/sys-apps/portage/portage-2.3.19-r1.ebuild b/sys-apps/portage/portage-2.3.19-r1.ebuild
37 deleted file mode 100644
38 index f35f915422f..00000000000
39 --- a/sys-apps/portage/portage-2.3.19-r1.ebuild
40 +++ /dev/null
41 @@ -1,254 +0,0 @@
42 -# Copyright 1999-2018 Gentoo Foundation
43 -# Distributed under the terms of the GNU General Public License v2
44 -
45 -EAPI=5
46 -
47 -PYTHON_COMPAT=(
48 - pypy
49 - python3_4 python3_5 python3_6
50 - python2_7
51 -)
52 -PYTHON_REQ_USE='bzip2(+),threads(+)'
53 -
54 -inherit distutils-r1 systemd
55 -
56 -DESCRIPTION="Portage is the package management and distribution system for Gentoo"
57 -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage"
58 -
59 -LICENSE="GPL-2"
60 -KEYWORDS="alpha amd64 ~arm arm64 hppa ia64 ~mips ppc ppc64 sparc x86"
61 -SLOT="0"
62 -IUSE="build doc epydoc +ipc +native-extensions selinux xattr"
63 -
64 -DEPEND="!build? ( $(python_gen_impl_dep 'ssl(+)') )
65 - >=app-arch/tar-1.27
66 - dev-lang/python-exec:2
67 - >=sys-apps/sed-4.0.5 sys-devel/patch
68 - doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 )
69 - epydoc? ( >=dev-python/epydoc-2.0[$(python_gen_usedep 'python2*')] )"
70 -# Require sandbox-2.2 for bug #288863.
71 -# For xattr, we can spawn getfattr and setfattr from sys-apps/attr, but that's
72 -# quite slow, so it's not considered in the dependencies as an alternative to
73 -# to python-3.3 / pyxattr. Also, xattr support is only tested with Linux, so
74 -# for now, don't pull in xattr deps for other kernels.
75 -# For whirlpool hash, require python[ssl] (bug #425046).
76 -# For compgen, require bash[readline] (bug #445576).
77 -RDEPEND="
78 - >=app-arch/tar-1.27
79 - dev-lang/python-exec:2
80 - !build? (
81 - >=sys-apps/sed-4.0.5
82 - app-shells/bash:0[readline]
83 - >=app-admin/eselect-1.2
84 - $(python_gen_cond_dep 'dev-python/pyblake2[${PYTHON_USEDEP}]' \
85 - python{2_7,3_4,3_5} pypy)
86 - )
87 - elibc_FreeBSD? ( sys-freebsd/freebsd-bin )
88 - elibc_glibc? ( >=sys-apps/sandbox-2.2 )
89 - elibc_musl? ( >=sys-apps/sandbox-2.2 )
90 - elibc_uclibc? ( >=sys-apps/sandbox-2.2 )
91 - >=app-misc/pax-utils-0.1.17
92 - selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] )
93 - xattr? ( kernel_linux? (
94 - >=sys-apps/install-xattr-0.3
95 - $(python_gen_cond_dep 'dev-python/pyxattr[${PYTHON_USEDEP}]' \
96 - python2_7 pypy)
97 - ) )
98 - !<app-admin/logrotate-3.8.0"
99 -PDEPEND="
100 - !build? (
101 - >=net-misc/rsync-2.6.4
102 - userland_GNU? ( >=sys-apps/coreutils-6.4 )
103 - )"
104 -# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
105 -# NOTE: FEATURES=installsources requires debugedit and rsync
106 -
107 -REQUIRED_USE="epydoc? ( $(python_gen_useflags 'python2*') )"
108 -
109 -SRC_ARCHIVES="https://dev.gentoo.org/~zmedico/portage/archives"
110 -
111 -prefix_src_archives() {
112 - local x y
113 - for x in ${@}; do
114 - for y in ${SRC_ARCHIVES}; do
115 - echo ${y}/${x}
116 - done
117 - done
118 -}
119 -
120 -TARBALL_PV=${PV}
121 -SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
122 - $(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)"
123 -
124 -pkg_setup() {
125 - use epydoc && DISTUTILS_ALL_SUBPHASE_IMPLS=( python2.7 )
126 -}
127 -
128 -python_prepare_all() {
129 - distutils-r1_python_prepare_all
130 -
131 - if use native-extensions; then
132 - printf "[build_ext]\nportage-ext-modules=true\n" >> \
133 - setup.cfg || die
134 - fi
135 -
136 - if ! use ipc ; then
137 - einfo "Disabling ipc..."
138 - sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \
139 - -i pym/_emerge/AbstractEbuildProcess.py || \
140 - die "failed to patch AbstractEbuildProcess.py"
141 - fi
142 -
143 - if use xattr && use kernel_linux ; then
144 - einfo "Adding FEATURES=xattr to make.globals ..."
145 - echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \
146 - || die "failed to append to make.globals"
147 - fi
148 -
149 - if [[ -n ${EPREFIX} ]] ; then
150 - einfo "Setting portage.const.EPREFIX ..."
151 - sed -e "s|^\(SANDBOX_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/sandbox\"\)|\\1${EPREFIX}\\2|" \
152 - -e "s|^\(FAKEROOT_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/fakeroot\"\)|\\1${EPREFIX}\\2|" \
153 - -e "s|^\(BASH_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/bash\"\)|\\1${EPREFIX}\\2|" \
154 - -e "s|^\(MOVE_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/mv\"\)|\\1${EPREFIX}\\2|" \
155 - -e "s|^\(PRELINK_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/sbin/prelink\"\)|\\1${EPREFIX}\\2|" \
156 - -e "s|^\(EPREFIX[[:space:]]*=[[:space:]]*\"\).*|\\1${EPREFIX}\"|" \
157 - -i pym/portage/const.py || \
158 - die "Failed to patch portage.const.EPREFIX"
159 -
160 - einfo "Prefixing shebangs ..."
161 - while read -r -d $'\0' ; do
162 - local shebang=$(head -n1 "$REPLY")
163 - if [[ ${shebang} == "#!"* && ! ${shebang} == "#!${EPREFIX}/"* ]] ; then
164 - sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" "$REPLY" || \
165 - die "sed failed"
166 - fi
167 - done < <(find . -type f -print0)
168 -
169 - einfo "Adjusting make.globals ..."
170 - sed -e "s|\(/usr/portage\)|${EPREFIX}\\1|" \
171 - -e "s|^\(PORTAGE_TMPDIR=\"\)\(/var/tmp\"\)|\\1${EPREFIX}\\2|" \
172 - -i cnf/make.globals || die "sed failed"
173 -
174 - einfo "Adjusting repos.conf ..."
175 - sed -e "s|^\(location = \)\(/usr/portage\)|\\1${EPREFIX}\\2|" \
176 - -i cnf/repos.conf || die "sed failed"
177 - if use prefix-guest ; then
178 - sed -e "s|^\(main-repo = \).*|\\1gentoo_prefix|" \
179 - -e "s|^\\[gentoo\\]|[gentoo_prefix]|" \
180 - -e "s|^\(sync-uri = \).*|\\1rsync://rsync.prefix.bitzolder.nl/gentoo-portage-prefix|" \
181 - -i cnf/repos.conf || die "sed failed"
182 - fi
183 -
184 - einfo "Adding FEATURES=force-prefix to make.globals ..."
185 - echo -e '\nFEATURES="${FEATURES} force-prefix"' >> cnf/make.globals \
186 - || die "failed to append to make.globals"
187 - fi
188 -
189 - cd "${S}/cnf" || die
190 - if [ -f "make.conf.example.${ARCH}".diff ]; then
191 - patch make.conf.example "make.conf.example.${ARCH}".diff || \
192 - die "Failed to patch make.conf.example"
193 - else
194 - eerror ""
195 - eerror "Portage does not have an arch-specific configuration for this arch."
196 - eerror "Please notify the arch maintainer about this issue. Using generic."
197 - eerror ""
198 - fi
199 -}
200 -
201 -python_compile_all() {
202 - local targets=()
203 - use doc && targets+=( docbook )
204 - use epydoc && targets+=( epydoc )
205 -
206 - if [[ ${targets[@]} ]]; then
207 - esetup.py "${targets[@]}"
208 - fi
209 -}
210 -
211 -python_test() {
212 - esetup.py test
213 -}
214 -
215 -python_install() {
216 - # Install sbin scripts to bindir for python-exec linking
217 - # they will be relocated in pkg_preinst()
218 - distutils-r1_python_install \
219 - --system-prefix="${EPREFIX}/usr" \
220 - --bindir="$(python_get_scriptdir)" \
221 - --docdir="${EPREFIX}/usr/share/doc/${PF}" \
222 - --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \
223 - --portage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}" \
224 - --sbindir="$(python_get_scriptdir)" \
225 - --sysconfdir="${EPREFIX}/etc" \
226 - "${@}"
227 -}
228 -
229 -python_install_all() {
230 - distutils-r1_python_install_all
231 -
232 - local targets=()
233 - use doc && targets+=(
234 - install_docbook
235 - --htmldir="${EPREFIX}/usr/share/doc/${PF}/html"
236 - )
237 - use epydoc && targets+=(
238 - install_epydoc
239 - --htmldir="${EPREFIX}/usr/share/doc/${PF}/html"
240 - )
241 -
242 - # install docs
243 - if [[ ${targets[@]} ]]; then
244 - esetup.py "${targets[@]}"
245 - fi
246 -
247 - systemd_dotmpfilesd "${FILESDIR}"/portage-ccache.conf
248 -
249 - # Due to distutils/python-exec limitations
250 - # these must be installed to /usr/bin.
251 - local sbin_relocations='archive-conf dispatch-conf emaint env-update etc-update fixpackages regenworld'
252 - einfo "Moving admin scripts to the correct directory"
253 - dodir /usr/sbin
254 - for target in ${sbin_relocations}; do
255 - einfo "Moving /usr/bin/${target} to /usr/sbin/${target}"
256 - mv "${ED}usr/bin/${target}" "${ED}usr/sbin/${target}" || die "sbin scripts move failed!"
257 - done
258 -}
259 -
260 -pkg_preinst() {
261 - # comment out sanity test until it is fixed to work
262 - # with the new PORTAGE_PYM_PATH
263 - #if [[ $ROOT == / ]] ; then
264 - ## Run some minimal tests as a sanity check.
265 - #local test_runner=$(find "${ED}" -name runTests)
266 - #if [[ -n $test_runner && -x $test_runner ]] ; then
267 - #einfo "Running preinst sanity tests..."
268 - #"$test_runner" || die "preinst sanity tests failed"
269 - #fi
270 - #fi
271 -
272 - # elog dir must exist to avoid logrotate error for bug #415911.
273 - # This code runs in preinst in order to bypass the mapping of
274 - # portage:portage to root:root which happens after src_install.
275 - keepdir /var/log/portage/elog
276 - # This is allowed to fail if the user/group are invalid for prefix users.
277 - if chown portage:portage "${ED}"var/log/portage{,/elog} 2>/dev/null ; then
278 - chmod g+s,ug+rwx "${ED}"var/log/portage{,/elog}
279 - fi
280 -
281 - if has_version ">=${CATEGORY}/${PN}-2.3.1" && \
282 - has_version "<${CATEGORY}/${PN}-2.3.3"; then
283 - SYNC_DEPTH_UPGRADE=true
284 - else
285 - SYNC_DEPTH_UPGRADE=false
286 - fi
287 -}
288 -
289 -pkg_postinst() {
290 - if ${SYNC_DEPTH_UPGRADE}; then
291 - ewarn "Please note that this release no longer respects sync-depth for"
292 - ewarn "git repositories. There have been too many problems and"
293 - ewarn "performance issues. See bugs 552814, 559008"
294 - fi
295 -}
296
297 diff --git a/sys-apps/portage/portage-2.3.44.ebuild b/sys-apps/portage/portage-2.3.44.ebuild
298 deleted file mode 100644
299 index 0da8ed04e4f..00000000000
300 --- a/sys-apps/portage/portage-2.3.44.ebuild
301 +++ /dev/null
302 @@ -1,264 +0,0 @@
303 -# Copyright 1999-2018 Gentoo Foundation
304 -# Distributed under the terms of the GNU General Public License v2
305 -
306 -EAPI=5
307 -
308 -PYTHON_COMPAT=(
309 - pypy
310 - python3_4 python3_5 python3_6 python3_7
311 - python2_7
312 -)
313 -PYTHON_REQ_USE='bzip2(+),threads(+)'
314 -
315 -inherit distutils-r1 systemd
316 -
317 -DESCRIPTION="Portage is the package management and distribution system for Gentoo"
318 -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage"
319 -
320 -LICENSE="GPL-2"
321 -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-fbsd"
322 -SLOT="0"
323 -IUSE="build doc epydoc gentoo-dev +ipc +native-extensions +rsync-verify selinux xattr"
324 -
325 -DEPEND="!build? ( $(python_gen_impl_dep 'ssl(+)') )
326 - >=app-arch/tar-1.27
327 - dev-lang/python-exec:2
328 - >=sys-apps/sed-4.0.5 sys-devel/patch
329 - doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 )
330 - epydoc? ( >=dev-python/epydoc-2.0[$(python_gen_usedep 'python2*')] )"
331 -# Require sandbox-2.2 for bug #288863.
332 -# For xattr, we can spawn getfattr and setfattr from sys-apps/attr, but that's
333 -# quite slow, so it's not considered in the dependencies as an alternative to
334 -# to python-3.3 / pyxattr. Also, xattr support is only tested with Linux, so
335 -# for now, don't pull in xattr deps for other kernels.
336 -# For whirlpool hash, require python[ssl] (bug #425046).
337 -# For compgen, require bash[readline] (bug #445576).
338 -# app-portage/gemato goes without PYTHON_USEDEP since we're calling
339 -# the executable.
340 -RDEPEND="
341 - >=app-arch/tar-1.27
342 - dev-lang/python-exec:2
343 - !build? (
344 - >=sys-apps/sed-4.0.5
345 - app-shells/bash:0[readline]
346 - >=app-admin/eselect-1.2
347 - $(python_gen_cond_dep 'dev-python/pyblake2[${PYTHON_USEDEP}]' \
348 - python{2_7,3_4,3_5} pypy)
349 - rsync-verify? (
350 - >=app-portage/gemato-12.1[${PYTHON_USEDEP}]
351 - app-crypt/openpgp-keys-gentoo-release
352 - >=app-crypt/gnupg-2.2.4-r2[ssl(-)]
353 - )
354 - )
355 - elibc_FreeBSD? ( sys-freebsd/freebsd-bin )
356 - elibc_glibc? ( >=sys-apps/sandbox-2.2 )
357 - elibc_musl? ( >=sys-apps/sandbox-2.2 )
358 - elibc_uclibc? ( >=sys-apps/sandbox-2.2 )
359 - >=app-misc/pax-utils-0.1.17
360 - selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] )
361 - xattr? ( kernel_linux? (
362 - >=sys-apps/install-xattr-0.3
363 - $(python_gen_cond_dep 'dev-python/pyxattr[${PYTHON_USEDEP}]' \
364 - python2_7 pypy)
365 - ) )
366 - !<app-admin/logrotate-3.8.0
367 - !<app-portage/repoman-2.3.10"
368 -PDEPEND="
369 - !build? (
370 - >=net-misc/rsync-2.6.4
371 - userland_GNU? ( >=sys-apps/coreutils-6.4 )
372 - )"
373 -# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
374 -# NOTE: FEATURES=installsources requires debugedit and rsync
375 -
376 -REQUIRED_USE="epydoc? ( $(python_gen_useflags 'python2*') )"
377 -
378 -SRC_ARCHIVES="https://dev.gentoo.org/~zmedico/portage/archives"
379 -
380 -prefix_src_archives() {
381 - local x y
382 - for x in ${@}; do
383 - for y in ${SRC_ARCHIVES}; do
384 - echo ${y}/${x}
385 - done
386 - done
387 -}
388 -
389 -TARBALL_PV=${PV}
390 -SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
391 - $(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)"
392 -
393 -pkg_setup() {
394 - use epydoc && DISTUTILS_ALL_SUBPHASE_IMPLS=( python2.7 )
395 -}
396 -
397 -python_prepare_all() {
398 - distutils-r1_python_prepare_all
399 -
400 - if use gentoo-dev; then
401 - einfo "Disabling --dynamic-deps by default for gentoo-dev..."
402 - sed -e 's:\("--dynamic-deps", \)\("y"\):\1"n":' \
403 - -i lib/_emerge/create_depgraph_params.py || \
404 - die "failed to patch create_depgraph_params.py"
405 -
406 - einfo "Enabling additional FEATURES for gentoo-dev..."
407 - echo 'FEATURES="${FEATURES} ipc-sandbox network-sandbox strict-keepdir"' \
408 - >> cnf/make.globals || die
409 - fi
410 -
411 - if use native-extensions; then
412 - printf "[build_ext]\nportage-ext-modules=true\n" >> \
413 - setup.cfg || die
414 - fi
415 -
416 - if ! use ipc ; then
417 - einfo "Disabling ipc..."
418 - sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \
419 - -i lib/_emerge/AbstractEbuildProcess.py || \
420 - die "failed to patch AbstractEbuildProcess.py"
421 - fi
422 -
423 - if use xattr && use kernel_linux ; then
424 - einfo "Adding FEATURES=xattr to make.globals ..."
425 - echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \
426 - || die "failed to append to make.globals"
427 - fi
428 -
429 - if use build || ! use rsync-verify; then
430 - sed -e '/^sync-rsync-verify-metamanifest/s|yes|no|' \
431 - -i cnf/repos.conf || die "sed failed"
432 - fi
433 -
434 - if [[ -n ${EPREFIX} ]] ; then
435 - einfo "Setting portage.const.EPREFIX ..."
436 - sed -e "s|^\(SANDBOX_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/sandbox\"\)|\\1${EPREFIX}\\2|" \
437 - -e "s|^\(FAKEROOT_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/fakeroot\"\)|\\1${EPREFIX}\\2|" \
438 - -e "s|^\(BASH_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/bash\"\)|\\1${EPREFIX}\\2|" \
439 - -e "s|^\(MOVE_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/mv\"\)|\\1${EPREFIX}\\2|" \
440 - -e "s|^\(PRELINK_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/sbin/prelink\"\)|\\1${EPREFIX}\\2|" \
441 - -e "s|^\(EPREFIX[[:space:]]*=[[:space:]]*\"\).*|\\1${EPREFIX}\"|" \
442 - -i lib/portage/const.py || \
443 - die "Failed to patch portage.const.EPREFIX"
444 -
445 - einfo "Prefixing shebangs ..."
446 - while read -r -d $'\0' ; do
447 - local shebang=$(head -n1 "$REPLY")
448 - if [[ ${shebang} == "#!"* && ! ${shebang} == "#!${EPREFIX}/"* ]] ; then
449 - sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" "$REPLY" || \
450 - die "sed failed"
451 - fi
452 - done < <(find . -type f -print0)
453 -
454 - einfo "Adjusting make.globals ..."
455 - sed -e "s|\(/usr/portage\)|${EPREFIX}\\1|" \
456 - -e "s|^\(PORTAGE_TMPDIR=\"\)\(/var/tmp\"\)|\\1${EPREFIX}\\2|" \
457 - -i cnf/make.globals || die "sed failed"
458 -
459 - einfo "Adjusting repos.conf ..."
460 - sed -e "s|^\(location = \)\(/usr/portage\)|\\1${EPREFIX}\\2|" \
461 - -e "s|^\(sync-openpgp-key-path = \)\(.*\)|\\1${EPREFIX}\\2|" \
462 - -i cnf/repos.conf || die "sed failed"
463 - if use prefix-guest ; then
464 - sed -e "s|^\(main-repo = \).*|\\1gentoo_prefix|" \
465 - -e "s|^\\[gentoo\\]|[gentoo_prefix]|" \
466 - -e "s|^\(sync-uri = \).*|\\1rsync://rsync.prefix.bitzolder.nl/gentoo-portage-prefix|" \
467 - -i cnf/repos.conf || die "sed failed"
468 - fi
469 -
470 - einfo "Adding FEATURES=force-prefix to make.globals ..."
471 - echo -e '\nFEATURES="${FEATURES} force-prefix"' >> cnf/make.globals \
472 - || die "failed to append to make.globals"
473 - fi
474 -
475 - cd "${S}/cnf" || die
476 - if [ -f "make.conf.example.${ARCH}".diff ]; then
477 - patch make.conf.example "make.conf.example.${ARCH}".diff || \
478 - die "Failed to patch make.conf.example"
479 - else
480 - eerror ""
481 - eerror "Portage does not have an arch-specific configuration for this arch."
482 - eerror "Please notify the arch maintainer about this issue. Using generic."
483 - eerror ""
484 - fi
485 -}
486 -
487 -python_compile_all() {
488 - local targets=()
489 - use doc && targets+=( docbook )
490 - use epydoc && targets+=( epydoc )
491 -
492 - if [[ ${targets[@]} ]]; then
493 - esetup.py "${targets[@]}"
494 - fi
495 -}
496 -
497 -python_test() {
498 - esetup.py test
499 -}
500 -
501 -python_install() {
502 - # Install sbin scripts to bindir for python-exec linking
503 - # they will be relocated in pkg_preinst()
504 - distutils-r1_python_install \
505 - --system-prefix="${EPREFIX}/usr" \
506 - --bindir="$(python_get_scriptdir)" \
507 - --docdir="${EPREFIX}/usr/share/doc/${PF}" \
508 - --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \
509 - --portage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}" \
510 - --sbindir="$(python_get_scriptdir)" \
511 - --sysconfdir="${EPREFIX}/etc" \
512 - "${@}"
513 -}
514 -
515 -python_install_all() {
516 - distutils-r1_python_install_all
517 -
518 - local targets=()
519 - use doc && targets+=(
520 - install_docbook
521 - --htmldir="${EPREFIX}/usr/share/doc/${PF}/html"
522 - )
523 - use epydoc && targets+=(
524 - install_epydoc
525 - --htmldir="${EPREFIX}/usr/share/doc/${PF}/html"
526 - )
527 -
528 - # install docs
529 - if [[ ${targets[@]} ]]; then
530 - esetup.py "${targets[@]}"
531 - fi
532 -
533 - systemd_dotmpfilesd "${FILESDIR}"/portage-ccache.conf
534 -
535 - # Due to distutils/python-exec limitations
536 - # these must be installed to /usr/bin.
537 - local sbin_relocations='archive-conf dispatch-conf emaint env-update etc-update fixpackages regenworld'
538 - einfo "Moving admin scripts to the correct directory"
539 - dodir /usr/sbin
540 - for target in ${sbin_relocations}; do
541 - einfo "Moving /usr/bin/${target} to /usr/sbin/${target}"
542 - mv "${ED}usr/bin/${target}" "${ED}usr/sbin/${target}" || die "sbin scripts move failed!"
543 - done
544 -}
545 -
546 -pkg_preinst() {
547 - # comment out sanity test until it is fixed to work
548 - # with the new PORTAGE_PYM_PATH
549 - #if [[ $ROOT == / ]] ; then
550 - ## Run some minimal tests as a sanity check.
551 - #local test_runner=$(find "${ED}" -name runTests)
552 - #if [[ -n $test_runner && -x $test_runner ]] ; then
553 - #einfo "Running preinst sanity tests..."
554 - #"$test_runner" || die "preinst sanity tests failed"
555 - #fi
556 - #fi
557 -
558 - # elog dir must exist to avoid logrotate error for bug #415911.
559 - # This code runs in preinst in order to bypass the mapping of
560 - # portage:portage to root:root which happens after src_install.
561 - keepdir /var/log/portage/elog
562 - # This is allowed to fail if the user/group are invalid for prefix users.
563 - if chown portage:portage "${ED}"var/log/portage{,/elog} 2>/dev/null ; then
564 - chmod g+s,ug+rwx "${ED}"var/log/portage{,/elog}
565 - fi
566 -}
567
568 diff --git a/sys-apps/portage/portage-2.3.45.ebuild b/sys-apps/portage/portage-2.3.45.ebuild
569 deleted file mode 100644
570 index 0da8ed04e4f..00000000000
571 --- a/sys-apps/portage/portage-2.3.45.ebuild
572 +++ /dev/null
573 @@ -1,264 +0,0 @@
574 -# Copyright 1999-2018 Gentoo Foundation
575 -# Distributed under the terms of the GNU General Public License v2
576 -
577 -EAPI=5
578 -
579 -PYTHON_COMPAT=(
580 - pypy
581 - python3_4 python3_5 python3_6 python3_7
582 - python2_7
583 -)
584 -PYTHON_REQ_USE='bzip2(+),threads(+)'
585 -
586 -inherit distutils-r1 systemd
587 -
588 -DESCRIPTION="Portage is the package management and distribution system for Gentoo"
589 -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage"
590 -
591 -LICENSE="GPL-2"
592 -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-fbsd"
593 -SLOT="0"
594 -IUSE="build doc epydoc gentoo-dev +ipc +native-extensions +rsync-verify selinux xattr"
595 -
596 -DEPEND="!build? ( $(python_gen_impl_dep 'ssl(+)') )
597 - >=app-arch/tar-1.27
598 - dev-lang/python-exec:2
599 - >=sys-apps/sed-4.0.5 sys-devel/patch
600 - doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 )
601 - epydoc? ( >=dev-python/epydoc-2.0[$(python_gen_usedep 'python2*')] )"
602 -# Require sandbox-2.2 for bug #288863.
603 -# For xattr, we can spawn getfattr and setfattr from sys-apps/attr, but that's
604 -# quite slow, so it's not considered in the dependencies as an alternative to
605 -# to python-3.3 / pyxattr. Also, xattr support is only tested with Linux, so
606 -# for now, don't pull in xattr deps for other kernels.
607 -# For whirlpool hash, require python[ssl] (bug #425046).
608 -# For compgen, require bash[readline] (bug #445576).
609 -# app-portage/gemato goes without PYTHON_USEDEP since we're calling
610 -# the executable.
611 -RDEPEND="
612 - >=app-arch/tar-1.27
613 - dev-lang/python-exec:2
614 - !build? (
615 - >=sys-apps/sed-4.0.5
616 - app-shells/bash:0[readline]
617 - >=app-admin/eselect-1.2
618 - $(python_gen_cond_dep 'dev-python/pyblake2[${PYTHON_USEDEP}]' \
619 - python{2_7,3_4,3_5} pypy)
620 - rsync-verify? (
621 - >=app-portage/gemato-12.1[${PYTHON_USEDEP}]
622 - app-crypt/openpgp-keys-gentoo-release
623 - >=app-crypt/gnupg-2.2.4-r2[ssl(-)]
624 - )
625 - )
626 - elibc_FreeBSD? ( sys-freebsd/freebsd-bin )
627 - elibc_glibc? ( >=sys-apps/sandbox-2.2 )
628 - elibc_musl? ( >=sys-apps/sandbox-2.2 )
629 - elibc_uclibc? ( >=sys-apps/sandbox-2.2 )
630 - >=app-misc/pax-utils-0.1.17
631 - selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] )
632 - xattr? ( kernel_linux? (
633 - >=sys-apps/install-xattr-0.3
634 - $(python_gen_cond_dep 'dev-python/pyxattr[${PYTHON_USEDEP}]' \
635 - python2_7 pypy)
636 - ) )
637 - !<app-admin/logrotate-3.8.0
638 - !<app-portage/repoman-2.3.10"
639 -PDEPEND="
640 - !build? (
641 - >=net-misc/rsync-2.6.4
642 - userland_GNU? ( >=sys-apps/coreutils-6.4 )
643 - )"
644 -# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
645 -# NOTE: FEATURES=installsources requires debugedit and rsync
646 -
647 -REQUIRED_USE="epydoc? ( $(python_gen_useflags 'python2*') )"
648 -
649 -SRC_ARCHIVES="https://dev.gentoo.org/~zmedico/portage/archives"
650 -
651 -prefix_src_archives() {
652 - local x y
653 - for x in ${@}; do
654 - for y in ${SRC_ARCHIVES}; do
655 - echo ${y}/${x}
656 - done
657 - done
658 -}
659 -
660 -TARBALL_PV=${PV}
661 -SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
662 - $(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)"
663 -
664 -pkg_setup() {
665 - use epydoc && DISTUTILS_ALL_SUBPHASE_IMPLS=( python2.7 )
666 -}
667 -
668 -python_prepare_all() {
669 - distutils-r1_python_prepare_all
670 -
671 - if use gentoo-dev; then
672 - einfo "Disabling --dynamic-deps by default for gentoo-dev..."
673 - sed -e 's:\("--dynamic-deps", \)\("y"\):\1"n":' \
674 - -i lib/_emerge/create_depgraph_params.py || \
675 - die "failed to patch create_depgraph_params.py"
676 -
677 - einfo "Enabling additional FEATURES for gentoo-dev..."
678 - echo 'FEATURES="${FEATURES} ipc-sandbox network-sandbox strict-keepdir"' \
679 - >> cnf/make.globals || die
680 - fi
681 -
682 - if use native-extensions; then
683 - printf "[build_ext]\nportage-ext-modules=true\n" >> \
684 - setup.cfg || die
685 - fi
686 -
687 - if ! use ipc ; then
688 - einfo "Disabling ipc..."
689 - sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \
690 - -i lib/_emerge/AbstractEbuildProcess.py || \
691 - die "failed to patch AbstractEbuildProcess.py"
692 - fi
693 -
694 - if use xattr && use kernel_linux ; then
695 - einfo "Adding FEATURES=xattr to make.globals ..."
696 - echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \
697 - || die "failed to append to make.globals"
698 - fi
699 -
700 - if use build || ! use rsync-verify; then
701 - sed -e '/^sync-rsync-verify-metamanifest/s|yes|no|' \
702 - -i cnf/repos.conf || die "sed failed"
703 - fi
704 -
705 - if [[ -n ${EPREFIX} ]] ; then
706 - einfo "Setting portage.const.EPREFIX ..."
707 - sed -e "s|^\(SANDBOX_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/sandbox\"\)|\\1${EPREFIX}\\2|" \
708 - -e "s|^\(FAKEROOT_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/fakeroot\"\)|\\1${EPREFIX}\\2|" \
709 - -e "s|^\(BASH_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/bash\"\)|\\1${EPREFIX}\\2|" \
710 - -e "s|^\(MOVE_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/mv\"\)|\\1${EPREFIX}\\2|" \
711 - -e "s|^\(PRELINK_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/sbin/prelink\"\)|\\1${EPREFIX}\\2|" \
712 - -e "s|^\(EPREFIX[[:space:]]*=[[:space:]]*\"\).*|\\1${EPREFIX}\"|" \
713 - -i lib/portage/const.py || \
714 - die "Failed to patch portage.const.EPREFIX"
715 -
716 - einfo "Prefixing shebangs ..."
717 - while read -r -d $'\0' ; do
718 - local shebang=$(head -n1 "$REPLY")
719 - if [[ ${shebang} == "#!"* && ! ${shebang} == "#!${EPREFIX}/"* ]] ; then
720 - sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" "$REPLY" || \
721 - die "sed failed"
722 - fi
723 - done < <(find . -type f -print0)
724 -
725 - einfo "Adjusting make.globals ..."
726 - sed -e "s|\(/usr/portage\)|${EPREFIX}\\1|" \
727 - -e "s|^\(PORTAGE_TMPDIR=\"\)\(/var/tmp\"\)|\\1${EPREFIX}\\2|" \
728 - -i cnf/make.globals || die "sed failed"
729 -
730 - einfo "Adjusting repos.conf ..."
731 - sed -e "s|^\(location = \)\(/usr/portage\)|\\1${EPREFIX}\\2|" \
732 - -e "s|^\(sync-openpgp-key-path = \)\(.*\)|\\1${EPREFIX}\\2|" \
733 - -i cnf/repos.conf || die "sed failed"
734 - if use prefix-guest ; then
735 - sed -e "s|^\(main-repo = \).*|\\1gentoo_prefix|" \
736 - -e "s|^\\[gentoo\\]|[gentoo_prefix]|" \
737 - -e "s|^\(sync-uri = \).*|\\1rsync://rsync.prefix.bitzolder.nl/gentoo-portage-prefix|" \
738 - -i cnf/repos.conf || die "sed failed"
739 - fi
740 -
741 - einfo "Adding FEATURES=force-prefix to make.globals ..."
742 - echo -e '\nFEATURES="${FEATURES} force-prefix"' >> cnf/make.globals \
743 - || die "failed to append to make.globals"
744 - fi
745 -
746 - cd "${S}/cnf" || die
747 - if [ -f "make.conf.example.${ARCH}".diff ]; then
748 - patch make.conf.example "make.conf.example.${ARCH}".diff || \
749 - die "Failed to patch make.conf.example"
750 - else
751 - eerror ""
752 - eerror "Portage does not have an arch-specific configuration for this arch."
753 - eerror "Please notify the arch maintainer about this issue. Using generic."
754 - eerror ""
755 - fi
756 -}
757 -
758 -python_compile_all() {
759 - local targets=()
760 - use doc && targets+=( docbook )
761 - use epydoc && targets+=( epydoc )
762 -
763 - if [[ ${targets[@]} ]]; then
764 - esetup.py "${targets[@]}"
765 - fi
766 -}
767 -
768 -python_test() {
769 - esetup.py test
770 -}
771 -
772 -python_install() {
773 - # Install sbin scripts to bindir for python-exec linking
774 - # they will be relocated in pkg_preinst()
775 - distutils-r1_python_install \
776 - --system-prefix="${EPREFIX}/usr" \
777 - --bindir="$(python_get_scriptdir)" \
778 - --docdir="${EPREFIX}/usr/share/doc/${PF}" \
779 - --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \
780 - --portage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}" \
781 - --sbindir="$(python_get_scriptdir)" \
782 - --sysconfdir="${EPREFIX}/etc" \
783 - "${@}"
784 -}
785 -
786 -python_install_all() {
787 - distutils-r1_python_install_all
788 -
789 - local targets=()
790 - use doc && targets+=(
791 - install_docbook
792 - --htmldir="${EPREFIX}/usr/share/doc/${PF}/html"
793 - )
794 - use epydoc && targets+=(
795 - install_epydoc
796 - --htmldir="${EPREFIX}/usr/share/doc/${PF}/html"
797 - )
798 -
799 - # install docs
800 - if [[ ${targets[@]} ]]; then
801 - esetup.py "${targets[@]}"
802 - fi
803 -
804 - systemd_dotmpfilesd "${FILESDIR}"/portage-ccache.conf
805 -
806 - # Due to distutils/python-exec limitations
807 - # these must be installed to /usr/bin.
808 - local sbin_relocations='archive-conf dispatch-conf emaint env-update etc-update fixpackages regenworld'
809 - einfo "Moving admin scripts to the correct directory"
810 - dodir /usr/sbin
811 - for target in ${sbin_relocations}; do
812 - einfo "Moving /usr/bin/${target} to /usr/sbin/${target}"
813 - mv "${ED}usr/bin/${target}" "${ED}usr/sbin/${target}" || die "sbin scripts move failed!"
814 - done
815 -}
816 -
817 -pkg_preinst() {
818 - # comment out sanity test until it is fixed to work
819 - # with the new PORTAGE_PYM_PATH
820 - #if [[ $ROOT == / ]] ; then
821 - ## Run some minimal tests as a sanity check.
822 - #local test_runner=$(find "${ED}" -name runTests)
823 - #if [[ -n $test_runner && -x $test_runner ]] ; then
824 - #einfo "Running preinst sanity tests..."
825 - #"$test_runner" || die "preinst sanity tests failed"
826 - #fi
827 - #fi
828 -
829 - # elog dir must exist to avoid logrotate error for bug #415911.
830 - # This code runs in preinst in order to bypass the mapping of
831 - # portage:portage to root:root which happens after src_install.
832 - keepdir /var/log/portage/elog
833 - # This is allowed to fail if the user/group are invalid for prefix users.
834 - if chown portage:portage "${ED}"var/log/portage{,/elog} 2>/dev/null ; then
835 - chmod g+s,ug+rwx "${ED}"var/log/portage{,/elog}
836 - fi
837 -}
838
839 diff --git a/sys-apps/portage/portage-2.3.46.ebuild b/sys-apps/portage/portage-2.3.46.ebuild
840 deleted file mode 100644
841 index 0da8ed04e4f..00000000000
842 --- a/sys-apps/portage/portage-2.3.46.ebuild
843 +++ /dev/null
844 @@ -1,264 +0,0 @@
845 -# Copyright 1999-2018 Gentoo Foundation
846 -# Distributed under the terms of the GNU General Public License v2
847 -
848 -EAPI=5
849 -
850 -PYTHON_COMPAT=(
851 - pypy
852 - python3_4 python3_5 python3_6 python3_7
853 - python2_7
854 -)
855 -PYTHON_REQ_USE='bzip2(+),threads(+)'
856 -
857 -inherit distutils-r1 systemd
858 -
859 -DESCRIPTION="Portage is the package management and distribution system for Gentoo"
860 -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage"
861 -
862 -LICENSE="GPL-2"
863 -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-fbsd"
864 -SLOT="0"
865 -IUSE="build doc epydoc gentoo-dev +ipc +native-extensions +rsync-verify selinux xattr"
866 -
867 -DEPEND="!build? ( $(python_gen_impl_dep 'ssl(+)') )
868 - >=app-arch/tar-1.27
869 - dev-lang/python-exec:2
870 - >=sys-apps/sed-4.0.5 sys-devel/patch
871 - doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 )
872 - epydoc? ( >=dev-python/epydoc-2.0[$(python_gen_usedep 'python2*')] )"
873 -# Require sandbox-2.2 for bug #288863.
874 -# For xattr, we can spawn getfattr and setfattr from sys-apps/attr, but that's
875 -# quite slow, so it's not considered in the dependencies as an alternative to
876 -# to python-3.3 / pyxattr. Also, xattr support is only tested with Linux, so
877 -# for now, don't pull in xattr deps for other kernels.
878 -# For whirlpool hash, require python[ssl] (bug #425046).
879 -# For compgen, require bash[readline] (bug #445576).
880 -# app-portage/gemato goes without PYTHON_USEDEP since we're calling
881 -# the executable.
882 -RDEPEND="
883 - >=app-arch/tar-1.27
884 - dev-lang/python-exec:2
885 - !build? (
886 - >=sys-apps/sed-4.0.5
887 - app-shells/bash:0[readline]
888 - >=app-admin/eselect-1.2
889 - $(python_gen_cond_dep 'dev-python/pyblake2[${PYTHON_USEDEP}]' \
890 - python{2_7,3_4,3_5} pypy)
891 - rsync-verify? (
892 - >=app-portage/gemato-12.1[${PYTHON_USEDEP}]
893 - app-crypt/openpgp-keys-gentoo-release
894 - >=app-crypt/gnupg-2.2.4-r2[ssl(-)]
895 - )
896 - )
897 - elibc_FreeBSD? ( sys-freebsd/freebsd-bin )
898 - elibc_glibc? ( >=sys-apps/sandbox-2.2 )
899 - elibc_musl? ( >=sys-apps/sandbox-2.2 )
900 - elibc_uclibc? ( >=sys-apps/sandbox-2.2 )
901 - >=app-misc/pax-utils-0.1.17
902 - selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] )
903 - xattr? ( kernel_linux? (
904 - >=sys-apps/install-xattr-0.3
905 - $(python_gen_cond_dep 'dev-python/pyxattr[${PYTHON_USEDEP}]' \
906 - python2_7 pypy)
907 - ) )
908 - !<app-admin/logrotate-3.8.0
909 - !<app-portage/repoman-2.3.10"
910 -PDEPEND="
911 - !build? (
912 - >=net-misc/rsync-2.6.4
913 - userland_GNU? ( >=sys-apps/coreutils-6.4 )
914 - )"
915 -# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
916 -# NOTE: FEATURES=installsources requires debugedit and rsync
917 -
918 -REQUIRED_USE="epydoc? ( $(python_gen_useflags 'python2*') )"
919 -
920 -SRC_ARCHIVES="https://dev.gentoo.org/~zmedico/portage/archives"
921 -
922 -prefix_src_archives() {
923 - local x y
924 - for x in ${@}; do
925 - for y in ${SRC_ARCHIVES}; do
926 - echo ${y}/${x}
927 - done
928 - done
929 -}
930 -
931 -TARBALL_PV=${PV}
932 -SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
933 - $(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)"
934 -
935 -pkg_setup() {
936 - use epydoc && DISTUTILS_ALL_SUBPHASE_IMPLS=( python2.7 )
937 -}
938 -
939 -python_prepare_all() {
940 - distutils-r1_python_prepare_all
941 -
942 - if use gentoo-dev; then
943 - einfo "Disabling --dynamic-deps by default for gentoo-dev..."
944 - sed -e 's:\("--dynamic-deps", \)\("y"\):\1"n":' \
945 - -i lib/_emerge/create_depgraph_params.py || \
946 - die "failed to patch create_depgraph_params.py"
947 -
948 - einfo "Enabling additional FEATURES for gentoo-dev..."
949 - echo 'FEATURES="${FEATURES} ipc-sandbox network-sandbox strict-keepdir"' \
950 - >> cnf/make.globals || die
951 - fi
952 -
953 - if use native-extensions; then
954 - printf "[build_ext]\nportage-ext-modules=true\n" >> \
955 - setup.cfg || die
956 - fi
957 -
958 - if ! use ipc ; then
959 - einfo "Disabling ipc..."
960 - sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \
961 - -i lib/_emerge/AbstractEbuildProcess.py || \
962 - die "failed to patch AbstractEbuildProcess.py"
963 - fi
964 -
965 - if use xattr && use kernel_linux ; then
966 - einfo "Adding FEATURES=xattr to make.globals ..."
967 - echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \
968 - || die "failed to append to make.globals"
969 - fi
970 -
971 - if use build || ! use rsync-verify; then
972 - sed -e '/^sync-rsync-verify-metamanifest/s|yes|no|' \
973 - -i cnf/repos.conf || die "sed failed"
974 - fi
975 -
976 - if [[ -n ${EPREFIX} ]] ; then
977 - einfo "Setting portage.const.EPREFIX ..."
978 - sed -e "s|^\(SANDBOX_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/sandbox\"\)|\\1${EPREFIX}\\2|" \
979 - -e "s|^\(FAKEROOT_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/fakeroot\"\)|\\1${EPREFIX}\\2|" \
980 - -e "s|^\(BASH_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/bash\"\)|\\1${EPREFIX}\\2|" \
981 - -e "s|^\(MOVE_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/mv\"\)|\\1${EPREFIX}\\2|" \
982 - -e "s|^\(PRELINK_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/sbin/prelink\"\)|\\1${EPREFIX}\\2|" \
983 - -e "s|^\(EPREFIX[[:space:]]*=[[:space:]]*\"\).*|\\1${EPREFIX}\"|" \
984 - -i lib/portage/const.py || \
985 - die "Failed to patch portage.const.EPREFIX"
986 -
987 - einfo "Prefixing shebangs ..."
988 - while read -r -d $'\0' ; do
989 - local shebang=$(head -n1 "$REPLY")
990 - if [[ ${shebang} == "#!"* && ! ${shebang} == "#!${EPREFIX}/"* ]] ; then
991 - sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" "$REPLY" || \
992 - die "sed failed"
993 - fi
994 - done < <(find . -type f -print0)
995 -
996 - einfo "Adjusting make.globals ..."
997 - sed -e "s|\(/usr/portage\)|${EPREFIX}\\1|" \
998 - -e "s|^\(PORTAGE_TMPDIR=\"\)\(/var/tmp\"\)|\\1${EPREFIX}\\2|" \
999 - -i cnf/make.globals || die "sed failed"
1000 -
1001 - einfo "Adjusting repos.conf ..."
1002 - sed -e "s|^\(location = \)\(/usr/portage\)|\\1${EPREFIX}\\2|" \
1003 - -e "s|^\(sync-openpgp-key-path = \)\(.*\)|\\1${EPREFIX}\\2|" \
1004 - -i cnf/repos.conf || die "sed failed"
1005 - if use prefix-guest ; then
1006 - sed -e "s|^\(main-repo = \).*|\\1gentoo_prefix|" \
1007 - -e "s|^\\[gentoo\\]|[gentoo_prefix]|" \
1008 - -e "s|^\(sync-uri = \).*|\\1rsync://rsync.prefix.bitzolder.nl/gentoo-portage-prefix|" \
1009 - -i cnf/repos.conf || die "sed failed"
1010 - fi
1011 -
1012 - einfo "Adding FEATURES=force-prefix to make.globals ..."
1013 - echo -e '\nFEATURES="${FEATURES} force-prefix"' >> cnf/make.globals \
1014 - || die "failed to append to make.globals"
1015 - fi
1016 -
1017 - cd "${S}/cnf" || die
1018 - if [ -f "make.conf.example.${ARCH}".diff ]; then
1019 - patch make.conf.example "make.conf.example.${ARCH}".diff || \
1020 - die "Failed to patch make.conf.example"
1021 - else
1022 - eerror ""
1023 - eerror "Portage does not have an arch-specific configuration for this arch."
1024 - eerror "Please notify the arch maintainer about this issue. Using generic."
1025 - eerror ""
1026 - fi
1027 -}
1028 -
1029 -python_compile_all() {
1030 - local targets=()
1031 - use doc && targets+=( docbook )
1032 - use epydoc && targets+=( epydoc )
1033 -
1034 - if [[ ${targets[@]} ]]; then
1035 - esetup.py "${targets[@]}"
1036 - fi
1037 -}
1038 -
1039 -python_test() {
1040 - esetup.py test
1041 -}
1042 -
1043 -python_install() {
1044 - # Install sbin scripts to bindir for python-exec linking
1045 - # they will be relocated in pkg_preinst()
1046 - distutils-r1_python_install \
1047 - --system-prefix="${EPREFIX}/usr" \
1048 - --bindir="$(python_get_scriptdir)" \
1049 - --docdir="${EPREFIX}/usr/share/doc/${PF}" \
1050 - --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \
1051 - --portage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}" \
1052 - --sbindir="$(python_get_scriptdir)" \
1053 - --sysconfdir="${EPREFIX}/etc" \
1054 - "${@}"
1055 -}
1056 -
1057 -python_install_all() {
1058 - distutils-r1_python_install_all
1059 -
1060 - local targets=()
1061 - use doc && targets+=(
1062 - install_docbook
1063 - --htmldir="${EPREFIX}/usr/share/doc/${PF}/html"
1064 - )
1065 - use epydoc && targets+=(
1066 - install_epydoc
1067 - --htmldir="${EPREFIX}/usr/share/doc/${PF}/html"
1068 - )
1069 -
1070 - # install docs
1071 - if [[ ${targets[@]} ]]; then
1072 - esetup.py "${targets[@]}"
1073 - fi
1074 -
1075 - systemd_dotmpfilesd "${FILESDIR}"/portage-ccache.conf
1076 -
1077 - # Due to distutils/python-exec limitations
1078 - # these must be installed to /usr/bin.
1079 - local sbin_relocations='archive-conf dispatch-conf emaint env-update etc-update fixpackages regenworld'
1080 - einfo "Moving admin scripts to the correct directory"
1081 - dodir /usr/sbin
1082 - for target in ${sbin_relocations}; do
1083 - einfo "Moving /usr/bin/${target} to /usr/sbin/${target}"
1084 - mv "${ED}usr/bin/${target}" "${ED}usr/sbin/${target}" || die "sbin scripts move failed!"
1085 - done
1086 -}
1087 -
1088 -pkg_preinst() {
1089 - # comment out sanity test until it is fixed to work
1090 - # with the new PORTAGE_PYM_PATH
1091 - #if [[ $ROOT == / ]] ; then
1092 - ## Run some minimal tests as a sanity check.
1093 - #local test_runner=$(find "${ED}" -name runTests)
1094 - #if [[ -n $test_runner && -x $test_runner ]] ; then
1095 - #einfo "Running preinst sanity tests..."
1096 - #"$test_runner" || die "preinst sanity tests failed"
1097 - #fi
1098 - #fi
1099 -
1100 - # elog dir must exist to avoid logrotate error for bug #415911.
1101 - # This code runs in preinst in order to bypass the mapping of
1102 - # portage:portage to root:root which happens after src_install.
1103 - keepdir /var/log/portage/elog
1104 - # This is allowed to fail if the user/group are invalid for prefix users.
1105 - if chown portage:portage "${ED}"var/log/portage{,/elog} 2>/dev/null ; then
1106 - chmod g+s,ug+rwx "${ED}"var/log/portage{,/elog}
1107 - fi
1108 -}