Gentoo Archives: gentoo-commits

From: Brian Dolbec <dolsen@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-apps/portage/
Date: Sat, 10 Oct 2015 18:50:57
Message-Id: 1444502995.6d6b97e870f98e26a6e5de0712da048495057286.dolsen@gentoo
1 commit: 6d6b97e870f98e26a6e5de0712da048495057286
2 Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
3 AuthorDate: Sat Oct 10 17:47:28 2015 +0000
4 Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
5 CommitDate: Sat Oct 10 18:49:55 2015 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6d6b97e8
7
8 sys-apps/portage: Add py3.5 compatibility to 2.2.23 and 9999.
9
10 Clean out older versions.
11 Keep 2.2.8-r2 for python-2.6/3.2 upgrade compatibility.
12
13 Package-Manager: portage-2.2.23
14
15 sys-apps/portage/Manifest | 4 -
16 sys-apps/portage/portage-2.2.14.ebuild | 352 -------------------------------
17 sys-apps/portage/portage-2.2.18.ebuild | 352 -------------------------------
18 sys-apps/portage/portage-2.2.20.ebuild | 365 ---------------------------------
19 sys-apps/portage/portage-2.2.22.ebuild | 363 --------------------------------
20 sys-apps/portage/portage-2.2.23.ebuild | 2 +-
21 sys-apps/portage/portage-9999.ebuild | 2 +-
22 7 files changed, 2 insertions(+), 1438 deletions(-)
23
24 diff --git a/sys-apps/portage/Manifest b/sys-apps/portage/Manifest
25 index 598a759..1f0dbca 100644
26 --- a/sys-apps/portage/Manifest
27 +++ b/sys-apps/portage/Manifest
28 @@ -1,7 +1,3 @@
29 -DIST portage-2.2.14.tar.bz2 896674 SHA256 8dd65971e0f1c31dca922b0f7be06e622aabbed8d012d056ff25a169fc9946d8 SHA512 c8724b42d9932adf6065ff9f9c3bb3d22ec3258dcdb23e041ce704f2c7b634d459a36764f3ec5aa4613843733c70725025af10439816c538ec12837db50dc1ab WHIRLPOOL 82bb660fcc1f0bb4639b53829cf8207fc40ee01a0cb9935ad46fb5039f0558fbbbb3af3d12d208289e9701e0874d77a7990911fd50fe04806948c6c6955625fc
30 -DIST portage-2.2.18.tar.bz2 942561 SHA256 e0d54f2fbcdc8b5fce716475183fa6e889b6fa8178c92d65a850df73f1636560 SHA512 be4f95bc04a61cdb371fc66a03d2183961bfd458e9b2b89cf8cab8c9e70bde4119be266177d947e31429627609ed75a75c21abfe4b674ca529632d5728e8e8a6 WHIRLPOOL f334bf5198d2214de557a046ed3217e23d48d8f8d7d64fb0bd2611dd5c8725139eaf7d1e1065f822d8816f3979e86d6a6f8df4d2f4605df0b5c157d6bbf09a6d
31 DIST portage-2.2.20.1.tar.bz2 950298 SHA256 84dd3ed1d9fd0a3336e956d057590c75834a906ae62a450411232fe5a842475c SHA512 5f7373da20d448059e8fdc8a3593eaca780be3184f0494bac66f5eea7c33d00dd61b9e74cbe9a52413f08cef29d426ed8751e20e16be09178468c18d77a6ae2e WHIRLPOOL 99643ce0ab74c5df64fb5239948c6102bc39847ff88eaf210c069c0c9587c1e8bdd1a032a7e61c1225b6113645387861d439e9c4f103df4d0f042b73e1afc328
32 -DIST portage-2.2.20.tar.bz2 950293 SHA256 483ce0b20960840f6499452ca4ef7df36fde08f835dcadf3cdd118c1ff7207a4 SHA512 fffb43a4c25a70cae071246fde7e379107535e607b9e8dd9fb513315a10750db92209bb436f532930a44cac06ba43aade06a7c2b0a1d675fd816968ba0fce7ae WHIRLPOOL aa1e560007cdafebd2bf56964d61e55a91fef4be5cd9bc50560891140287f6827ecda9d99e31ceb4e5a64691863fde325b51594cfdcfe88eb260fba47dad5fb9
33 -DIST portage-2.2.22.tar.bz2 973737 SHA256 d8ae50e2306452c4f8c2772e4001fbfffbcb8f6e3606d61fad039c7c11a3f180 SHA512 8acfe71880bdd1a681f54c8225d73f9dea52192c056b9cf64ed50aff2cc822568bebc5a8d7bac46f2d1f16093b6950434004926b10007c9591c18a435465e689 WHIRLPOOL 30d95197c63bac768f08e2397f1be79f077619f92833db6e86cb06e967ae982eed004106d869c86d37ac1b3cd66ca0a6c8acb4915dfb0385904caf09a901c93e
34 DIST portage-2.2.23.tar.bz2 960229 SHA256 9aecc9f4c813810f99f6604a9806e268b162d90243a9769f1410b3a96822cdfb SHA512 17b8fe4967719bacd8f3ca324bde3328d82f5b7748a05b66cca165dcc8a4abbaf7e05ec61a54684cd1b001297dc0adc04c3771d0fd3cc4732f17ac9e0810e6ad WHIRLPOOL da7229c2be8330e898ef1e422a62683a003c16a640fee9d183c8afc8474779d302c0de639072099c8d47372fa0c74e2a635c485d8c7ed2b2344cacc857199578
35 DIST portage-2.2.8.tar.bz2 874672 SHA256 c1074e01173df5384e003598dbc5f64f09e92f83fd26faab2f88f9f0bc64aa7e SHA512 acc47d94ff8c08e5a7bf2d4c4e600863430dd1e7d0bb8b4254d6477a498933cae663db84debf9487d2243c2cba689629ef8e8b6cf108e10d40e89e8e8d7e1257 WHIRLPOOL d54290ede8d3d85e5211cda7e86ed740178121ef2f47cf0858c27941d8679d29c11445befff962986d40a47ded50d0d4654de19e7d4aef3fdf2546655a0d6fe2
36
37 diff --git a/sys-apps/portage/portage-2.2.14.ebuild b/sys-apps/portage/portage-2.2.14.ebuild
38 deleted file mode 100644
39 index a601aab..0000000
40 --- a/sys-apps/portage/portage-2.2.14.ebuild
41 +++ /dev/null
42 @@ -1,352 +0,0 @@
43 -# Copyright 1999-2015 Gentoo Foundation
44 -# Distributed under the terms of the GNU General Public License v2
45 -# $Id$
46 -
47 -EAPI=5
48 -
49 -PYTHON_COMPAT=(
50 - pypy
51 - python3_3 python3_4
52 - python2_7
53 -)
54 -# Note: substituted below
55 -PYTHON_REQ_USE='bzip2(+)'
56 -
57 -inherit distutils-r1 multilib
58 -
59 -DESCRIPTION="Portage is the package management and distribution system for Gentoo"
60 -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage"
61 -
62 -LICENSE="GPL-2"
63 -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ~ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
64 -SLOT="0"
65 -IUSE="build doc epydoc +ipc linguas_ru selinux xattr"
66 -
67 -DEPEND="!build? ( ${PYTHON_DEPS//bzip2(+)/ssl(+),bzip2(+)} )
68 - dev-lang/python-exec:2
69 - >=sys-apps/sed-4.0.5 sys-devel/patch
70 - doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 )
71 - epydoc? ( >=dev-python/epydoc-2.0[$(python_gen_usedep 'python2*')] )"
72 -# Require sandbox-2.2 for bug #288863.
73 -# For xattr, we can spawn getfattr and setfattr from sys-apps/attr, but that's
74 -# quite slow, so it's not considered in the dependencies as an alternative to
75 -# to python-3.3 / pyxattr. Also, xattr support is only tested with Linux, so
76 -# for now, don't pull in xattr deps for other kernels.
77 -# For whirlpool hash, require python[ssl] (bug #425046).
78 -# For compgen, require bash[readline] (bug #445576).
79 -RDEPEND="
80 - dev-lang/python-exec:2
81 - !build? (
82 - >=sys-apps/sed-4.0.5
83 - app-shells/bash:0[readline]
84 - >=app-admin/eselect-1.2
85 - )
86 - elibc_FreeBSD? ( sys-freebsd/freebsd-bin )
87 - elibc_glibc? ( >=sys-apps/sandbox-2.2 )
88 - elibc_uclibc? ( >=sys-apps/sandbox-2.2 )
89 - >=app-misc/pax-utils-0.1.17
90 - selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] )
91 - xattr? ( kernel_linux? (
92 - >=sys-apps/install-xattr-0.3
93 - $(python_gen_cond_dep 'dev-python/pyxattr[${PYTHON_USEDEP}]' \
94 - python2_7 pypy)
95 - ) )
96 - !<app-admin/logrotate-3.8.0"
97 -PDEPEND="
98 - !build? (
99 - >=net-misc/rsync-2.6.4
100 - userland_GNU? ( >=sys-apps/coreutils-6.4 )
101 - )"
102 -# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
103 -# NOTE: FEATURES=installsources requires debugedit and rsync
104 -
105 -REQUIRED_USE="epydoc? ( $(python_gen_useflags 'python2*') )"
106 -
107 -SRC_ARCHIVES="https://dev.gentoo.org/~dolsen/releases/portage"
108 -
109 -prefix_src_archives() {
110 - local x y
111 - for x in ${@}; do
112 - for y in ${SRC_ARCHIVES}; do
113 - echo ${y}/${x}
114 - done
115 - done
116 -}
117 -
118 -TARBALL_PV=${PV}
119 -SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
120 - $(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)"
121 -
122 -python_prepare_all() {
123 - distutils-r1_python_prepare_all
124 -
125 - if ! use ipc ; then
126 - einfo "Disabling ipc..."
127 - sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \
128 - -i pym/_emerge/AbstractEbuildProcess.py || \
129 - die "failed to patch AbstractEbuildProcess.py"
130 - fi
131 -
132 - if use xattr && use kernel_linux ; then
133 - einfo "Adding FEATURES=xattr to make.globals ..."
134 - echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \
135 - || die "failed to append to make.globals"
136 - fi
137 -
138 - if [[ -n ${EPREFIX} ]] ; then
139 - einfo "Setting portage.const.EPREFIX ..."
140 - sed -e "s|^\(SANDBOX_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/sandbox\"\)|\\1${EPREFIX}\\2|" \
141 - -e "s|^\(FAKEROOT_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/fakeroot\"\)|\\1${EPREFIX}\\2|" \
142 - -e "s|^\(BASH_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/bash\"\)|\\1${EPREFIX}\\2|" \
143 - -e "s|^\(MOVE_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/mv\"\)|\\1${EPREFIX}\\2|" \
144 - -e "s|^\(PRELINK_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/sbin/prelink\"\)|\\1${EPREFIX}\\2|" \
145 - -e "s|^\(EPREFIX[[:space:]]*=[[:space:]]*\"\).*|\\1${EPREFIX}\"|" \
146 - -i pym/portage/const.py || \
147 - die "Failed to patch portage.const.EPREFIX"
148 -
149 - einfo "Prefixing shebangs ..."
150 - while read -r -d $'\0' ; do
151 - local shebang=$(head -n1 "$REPLY")
152 - if [[ ${shebang} == "#!"* && ! ${shebang} == "#!${EPREFIX}/"* ]] ; then
153 - sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" "$REPLY" || \
154 - die "sed failed"
155 - fi
156 - done < <(find . -type f -print0)
157 -
158 - einfo "Adjusting make.globals ..."
159 - sed -e "s|\(/usr/portage\)|${EPREFIX}\\1|" \
160 - -e "s|^\(PORTAGE_TMPDIR=\"\)\(/var/tmp\"\)|\\1${EPREFIX}\\2|" \
161 - -i cnf/make.globals || die "sed failed"
162 -
163 - einfo "Adjusting repos.conf ..."
164 - sed -e "s|^\(main-repo = \).*|\\1gentoo_prefix|" \
165 - -e "s|^\\[gentoo\\]|[gentoo_prefix]|" \
166 - -e "s|^\(location = \)\(/usr/portage\)|\\1${EPREFIX}\\2|" \
167 - -e "s|^\(sync-uri = \).*|\\1rsync://prefix.gentooexperimental.org/gentoo-portage-prefix|" \
168 - -i cnf/repos.conf || die "sed failed"
169 -
170 - einfo "Adding FEATURES=force-prefix to make.globals ..."
171 - echo -e '\nFEATURES="${FEATURES} force-prefix"' >> cnf/make.globals \
172 - || die "failed to append to make.globals"
173 - fi
174 -
175 - cd "${S}/cnf" || die
176 - if [ -f "make.conf.example.${ARCH}".diff ]; then
177 - patch make.conf.example "make.conf.example.${ARCH}".diff || \
178 - die "Failed to patch make.conf.example"
179 - else
180 - eerror ""
181 - eerror "Portage does not have an arch-specific configuration for this arch."
182 - eerror "Please notify the arch maintainer about this issue. Using generic."
183 - eerror ""
184 - fi
185 -}
186 -
187 -python_compile_all() {
188 - local targets=()
189 - use doc && targets+=( docbook )
190 - use epydoc && targets+=( epydoc )
191 -
192 - if [[ ${targets[@]} ]]; then
193 - esetup.py "${targets[@]}"
194 - fi
195 -}
196 -
197 -python_test() {
198 - esetup.py test
199 -}
200 -
201 -python_install() {
202 - # Install sbin scripts to bindir for python-exec linking
203 - # they will be relocated in pkg_preinst()
204 - distutils-r1_python_install \
205 - --system-prefix="${EPREFIX}/usr" \
206 - --bindir="$(python_get_scriptdir)" \
207 - --docdir="${EPREFIX}/usr/share/doc/${PF}" \
208 - --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \
209 - --portage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}" \
210 - --sbindir="$(python_get_scriptdir)" \
211 - --sysconfdir="${EPREFIX}/etc" \
212 - "${@}"
213 -}
214 -
215 -python_install_all() {
216 - distutils-r1_python_install_all
217 -
218 - local targets=()
219 - use doc && targets+=( install_docbook )
220 - use epydoc && targets+=( install_epydoc )
221 -
222 - # install docs
223 - if [[ ${targets[@]} ]]; then
224 - esetup.py "${targets[@]}"
225 - fi
226 -
227 - # Due to distutils/python-exec limitations
228 - # these must be installed to /usr/bin.
229 - local sbin_relocations='archive-conf dispatch-conf emaint env-update etc-update fixpackages regenworld'
230 - einfo "Moving admin scripts to the correct directory"
231 - dodir /usr/sbin
232 - for target in ${sbin_relocations}; do
233 - einfo "Moving /usr/bin/${target} to /usr/sbin/${target}"
234 - mv "${ED}usr/bin/${target}" "${ED}usr/sbin/${target}" || die "sbin scripts move failed!"
235 - done
236 -}
237 -
238 -pkg_preinst() {
239 - # comment out sanity test until it is fixed to work
240 - # with the new PORTAGE_PYM_PATH
241 - #if [[ $ROOT == / ]] ; then
242 - ## Run some minimal tests as a sanity check.
243 - #local test_runner=$(find "${ED}" -name runTests)
244 - #if [[ -n $test_runner && -x $test_runner ]] ; then
245 - #einfo "Running preinst sanity tests..."
246 - #"$test_runner" || die "preinst sanity tests failed"
247 - #fi
248 - #fi
249 -
250 - # elog dir must exist to avoid logrotate error for bug #415911.
251 - # This code runs in preinst in order to bypass the mapping of
252 - # portage:portage to root:root which happens after src_install.
253 - keepdir /var/log/portage/elog
254 - # This is allowed to fail if the user/group are invalid for prefix users.
255 - if chown portage:portage "${ED}"var/log/portage{,/elog} 2>/dev/null ; then
256 - chmod g+s,ug+rwx "${ED}"var/log/portage{,/elog}
257 - fi
258 -
259 - if has_version "<${CATEGORY}/${PN}-2.1.13" || \
260 - {
261 - has_version ">=${CATEGORY}/${PN}-2.2_rc0" && \
262 - has_version "<${CATEGORY}/${PN}-2.2.0_alpha189"
263 - } ; then
264 - USERPRIV_UPGRADE=true
265 - USERSYNC_UPGRADE=true
266 - REPOS_CONF_UPGRADE=true
267 - REPOS_CONF_SYNC=
268 - type -P portageq >/dev/null 2>&1 && \
269 - REPOS_CONF_SYNC=$("$(type -P portageq)" envvar SYNC)
270 - else
271 - USERPRIV_UPGRADE=false
272 - USERSYNC_UPGRADE=false
273 - REPOS_CONF_UPGRADE=false
274 - fi
275 -}
276 -
277 -get_ownership() {
278 - case ${USERLAND} in
279 - BSD)
280 - stat -f '%Su:%Sg' "${1}"
281 - ;;
282 - *)
283 - stat -c '%U:%G' "${1}"
284 - ;;
285 - esac
286 -}
287 -
288 -new_config_protect() {
289 - # Generate a ._cfg file even if the target file
290 - # does not exist, ensuring that the user will
291 - # notice the config change.
292 - local basename=${1##*/}
293 - local dirname=${1%/*}
294 - local i=0
295 - while true ; do
296 - local filename=$(
297 - echo -n "${dirname}/._cfg"
298 - printf "%04d" ${i}
299 - echo -n "_${basename}"
300 - )
301 - [[ -e ${filename} ]] || break
302 - (( i++ ))
303 - done
304 - echo "${filename}"
305 -}
306 -
307 -pkg_postinst() {
308 -
309 - if ${REPOS_CONF_UPGRADE} ; then
310 - einfo "Generating repos.conf"
311 - local repo_name=
312 - [[ -f ${PORTDIR}/profiles/repo_name ]] && \
313 - repo_name=$(< "${PORTDIR}/profiles/repo_name")
314 - if [[ -z ${REPOS_CONF_SYNC} ]] ; then
315 - REPOS_CONF_SYNC=$(grep "^sync-uri =" "${EROOT:-${ROOT}}usr/share/portage/config/repos.conf")
316 - REPOS_CONF_SYNC=${REPOS_CONF_SYNC##* }
317 - fi
318 - local sync_type=
319 - [[ ${REPOS_CONF_SYNC} == git://* ]] && sync_type=git
320 -
321 - if [[ ${REPOS_CONF_SYNC} == cvs://* ]]; then
322 - sync_type=cvs
323 - REPOS_CONF_SYNC=${REPOS_CONF_SYNC#cvs://}
324 - fi
325 -
326 - cat <<-EOF > "${T}/repos.conf"
327 - [DEFAULT]
328 - main-repo = ${repo_name:-gentoo}
329 -
330 - [${repo_name:-gentoo}]
331 - location = ${PORTDIR:-${EPREFIX}/usr/portage}
332 - sync-type = ${sync_type:-rsync}
333 - sync-uri = ${REPOS_CONF_SYNC}
334 - EOF
335 -
336 - [[ ${sync_type} == cvs ]] && echo "sync-cvs-repo = $(<"${PORTDIR}/CVS/Repository")" >> "${T}/repos.conf"
337 -
338 - local dest=${EROOT:-${ROOT}}etc/portage/repos.conf
339 - if [[ ! -f ${dest} ]] && mkdir -p "${dest}" 2>/dev/null ; then
340 - dest=${EROOT:-${ROOT}}etc/portage/repos.conf/${repo_name:-gentoo}.conf
341 - fi
342 - # Don't install the config update if the desired repos.conf directory
343 - # and config file exist, since users may accept it blindly and break
344 - # their config (bug #478726).
345 - [[ -e ${EROOT:-${ROOT}}etc/portage/repos.conf/${repo_name:-gentoo}.conf ]] || \
346 - mv "${T}/repos.conf" "$(new_config_protect "${dest}")"
347 -
348 - if [[ ${PORTDIR} == ${EPREFIX}/usr/portage ]] ; then
349 - einfo "Generating make.conf PORTDIR setting for backward compatibility"
350 - for dest in "${EROOT:-${ROOT}}etc/make.conf" "${EROOT:-${ROOT}}etc/portage/make.conf" ; do
351 - [[ -e ${dest} ]] && break
352 - done
353 - [[ -d ${dest} ]] && dest=${dest}/portdir.conf
354 - rm -rf "${T}/make.conf"
355 - [[ -f ${dest} ]] && cat "${dest}" > "${T}/make.conf"
356 - cat <<-EOF >> "${T}/make.conf"
357 -
358 - # Set PORTDIR for backward compatibility with various tools:
359 - # gentoo-bashcomp - bug #478444
360 - # euse - bug #474574
361 - # euses and ufed - bug #478318
362 - PORTDIR="${EPREFIX}/usr/portage"
363 - EOF
364 - mkdir -p "${dest%/*}"
365 - mv "${T}/make.conf" "$(new_config_protect "${dest}")"
366 - fi
367 - fi
368 -
369 - local distdir=${PORTAGE_ACTUAL_DISTDIR-${DISTDIR}}
370 -
371 - if ${USERSYNC_UPGRADE} && \
372 - [[ -d ${PORTDIR} && -w ${PORTDIR} ]] ; then
373 - local ownership=$(get_ownership "${PORTDIR}")
374 - if [[ -n ${ownership} ]] ; then
375 - einfo "Adjusting PORTDIR permissions for usersync"
376 - find "${PORTDIR}" -path "${distdir%/}" -prune -o \
377 - ! \( -user "${ownership%:*}" -a -group "${ownership#*:}" \) \
378 - -exec chown "${ownership}" {} +
379 - fi
380 - fi
381 -
382 - # Do this last, since it could take a long time if there
383 - # are lots of live sources, and the user may be tempted
384 - # to kill emerge while it is running.
385 - if ${USERPRIV_UPGRADE} && \
386 - [[ -d ${distdir} && -w ${distdir} ]] ; then
387 - local ownership=$(get_ownership "${distdir}")
388 - if [[ ${ownership#*:} == portage ]] ; then
389 - einfo "Adjusting DISTDIR permissions for userpriv"
390 - find "${distdir}" -mindepth 1 -maxdepth 1 -type d -uid 0 \
391 - -exec chown -R portage:portage {} +
392 - fi
393 - fi
394 -}
395
396 diff --git a/sys-apps/portage/portage-2.2.18.ebuild b/sys-apps/portage/portage-2.2.18.ebuild
397 deleted file mode 100644
398 index ebea2d3..0000000
399 --- a/sys-apps/portage/portage-2.2.18.ebuild
400 +++ /dev/null
401 @@ -1,352 +0,0 @@
402 -# Copyright 1999-2015 Gentoo Foundation
403 -# Distributed under the terms of the GNU General Public License v2
404 -# $Id$
405 -
406 -EAPI=5
407 -
408 -PYTHON_COMPAT=(
409 - pypy
410 - python3_3 python3_4
411 - python2_7
412 -)
413 -# Note: substituted below
414 -PYTHON_REQ_USE='bzip2(+)'
415 -
416 -inherit distutils-r1 multilib
417 -
418 -DESCRIPTION="Portage is the package management and distribution system for Gentoo"
419 -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage"
420 -
421 -LICENSE="GPL-2"
422 -KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
423 -SLOT="0"
424 -IUSE="build doc epydoc +ipc linguas_ru selinux xattr"
425 -
426 -DEPEND="!build? ( ${PYTHON_DEPS//bzip2(+)/ssl(+),bzip2(+)} )
427 - dev-lang/python-exec:2
428 - >=sys-apps/sed-4.0.5 sys-devel/patch
429 - doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 )
430 - epydoc? ( >=dev-python/epydoc-2.0[$(python_gen_usedep 'python2*')] )"
431 -# Require sandbox-2.2 for bug #288863.
432 -# For xattr, we can spawn getfattr and setfattr from sys-apps/attr, but that's
433 -# quite slow, so it's not considered in the dependencies as an alternative to
434 -# to python-3.3 / pyxattr. Also, xattr support is only tested with Linux, so
435 -# for now, don't pull in xattr deps for other kernels.
436 -# For whirlpool hash, require python[ssl] (bug #425046).
437 -# For compgen, require bash[readline] (bug #445576).
438 -RDEPEND="
439 - dev-lang/python-exec:2
440 - !build? (
441 - >=sys-apps/sed-4.0.5
442 - app-shells/bash:0[readline]
443 - >=app-admin/eselect-1.2
444 - )
445 - elibc_FreeBSD? ( sys-freebsd/freebsd-bin )
446 - elibc_glibc? ( >=sys-apps/sandbox-2.2 )
447 - elibc_uclibc? ( >=sys-apps/sandbox-2.2 )
448 - >=app-misc/pax-utils-0.1.17
449 - selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] )
450 - xattr? ( kernel_linux? (
451 - >=sys-apps/install-xattr-0.3
452 - $(python_gen_cond_dep 'dev-python/pyxattr[${PYTHON_USEDEP}]' \
453 - python2_7 pypy)
454 - ) )
455 - !<app-admin/logrotate-3.8.0"
456 -PDEPEND="
457 - !build? (
458 - >=net-misc/rsync-2.6.4
459 - userland_GNU? ( >=sys-apps/coreutils-6.4 )
460 - )"
461 -# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
462 -# NOTE: FEATURES=installsources requires debugedit and rsync
463 -
464 -REQUIRED_USE="epydoc? ( $(python_gen_useflags 'python2*') )"
465 -
466 -SRC_ARCHIVES="https://dev.gentoo.org/~dolsen/releases/portage"
467 -
468 -prefix_src_archives() {
469 - local x y
470 - for x in ${@}; do
471 - for y in ${SRC_ARCHIVES}; do
472 - echo ${y}/${x}
473 - done
474 - done
475 -}
476 -
477 -TARBALL_PV=${PV}
478 -SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
479 - $(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)"
480 -
481 -python_prepare_all() {
482 - distutils-r1_python_prepare_all
483 -
484 - if ! use ipc ; then
485 - einfo "Disabling ipc..."
486 - sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \
487 - -i pym/_emerge/AbstractEbuildProcess.py || \
488 - die "failed to patch AbstractEbuildProcess.py"
489 - fi
490 -
491 - if use xattr && use kernel_linux ; then
492 - einfo "Adding FEATURES=xattr to make.globals ..."
493 - echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \
494 - || die "failed to append to make.globals"
495 - fi
496 -
497 - if [[ -n ${EPREFIX} ]] ; then
498 - einfo "Setting portage.const.EPREFIX ..."
499 - sed -e "s|^\(SANDBOX_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/sandbox\"\)|\\1${EPREFIX}\\2|" \
500 - -e "s|^\(FAKEROOT_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/fakeroot\"\)|\\1${EPREFIX}\\2|" \
501 - -e "s|^\(BASH_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/bash\"\)|\\1${EPREFIX}\\2|" \
502 - -e "s|^\(MOVE_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/mv\"\)|\\1${EPREFIX}\\2|" \
503 - -e "s|^\(PRELINK_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/sbin/prelink\"\)|\\1${EPREFIX}\\2|" \
504 - -e "s|^\(EPREFIX[[:space:]]*=[[:space:]]*\"\).*|\\1${EPREFIX}\"|" \
505 - -i pym/portage/const.py || \
506 - die "Failed to patch portage.const.EPREFIX"
507 -
508 - einfo "Prefixing shebangs ..."
509 - while read -r -d $'\0' ; do
510 - local shebang=$(head -n1 "$REPLY")
511 - if [[ ${shebang} == "#!"* && ! ${shebang} == "#!${EPREFIX}/"* ]] ; then
512 - sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" "$REPLY" || \
513 - die "sed failed"
514 - fi
515 - done < <(find . -type f -print0)
516 -
517 - einfo "Adjusting make.globals ..."
518 - sed -e "s|\(/usr/portage\)|${EPREFIX}\\1|" \
519 - -e "s|^\(PORTAGE_TMPDIR=\"\)\(/var/tmp\"\)|\\1${EPREFIX}\\2|" \
520 - -i cnf/make.globals || die "sed failed"
521 -
522 - einfo "Adjusting repos.conf ..."
523 - sed -e "s|^\(main-repo = \).*|\\1gentoo_prefix|" \
524 - -e "s|^\\[gentoo\\]|[gentoo_prefix]|" \
525 - -e "s|^\(location = \)\(/usr/portage\)|\\1${EPREFIX}\\2|" \
526 - -e "s|^\(sync-uri = \).*|\\1rsync://prefix.gentooexperimental.org/gentoo-portage-prefix|" \
527 - -i cnf/repos.conf || die "sed failed"
528 -
529 - einfo "Adding FEATURES=force-prefix to make.globals ..."
530 - echo -e '\nFEATURES="${FEATURES} force-prefix"' >> cnf/make.globals \
531 - || die "failed to append to make.globals"
532 - fi
533 -
534 - cd "${S}/cnf" || die
535 - if [ -f "make.conf.example.${ARCH}".diff ]; then
536 - patch make.conf.example "make.conf.example.${ARCH}".diff || \
537 - die "Failed to patch make.conf.example"
538 - else
539 - eerror ""
540 - eerror "Portage does not have an arch-specific configuration for this arch."
541 - eerror "Please notify the arch maintainer about this issue. Using generic."
542 - eerror ""
543 - fi
544 -}
545 -
546 -python_compile_all() {
547 - local targets=()
548 - use doc && targets+=( docbook )
549 - use epydoc && targets+=( epydoc )
550 -
551 - if [[ ${targets[@]} ]]; then
552 - esetup.py "${targets[@]}"
553 - fi
554 -}
555 -
556 -python_test() {
557 - esetup.py test
558 -}
559 -
560 -python_install() {
561 - # Install sbin scripts to bindir for python-exec linking
562 - # they will be relocated in pkg_preinst()
563 - distutils-r1_python_install \
564 - --system-prefix="${EPREFIX}/usr" \
565 - --bindir="$(python_get_scriptdir)" \
566 - --docdir="${EPREFIX}/usr/share/doc/${PF}" \
567 - --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \
568 - --portage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}" \
569 - --sbindir="$(python_get_scriptdir)" \
570 - --sysconfdir="${EPREFIX}/etc" \
571 - "${@}"
572 -}
573 -
574 -python_install_all() {
575 - distutils-r1_python_install_all
576 -
577 - local targets=()
578 - use doc && targets+=( install_docbook )
579 - use epydoc && targets+=( install_epydoc )
580 -
581 - # install docs
582 - if [[ ${targets[@]} ]]; then
583 - esetup.py "${targets[@]}"
584 - fi
585 -
586 - # Due to distutils/python-exec limitations
587 - # these must be installed to /usr/bin.
588 - local sbin_relocations='archive-conf dispatch-conf emaint env-update etc-update fixpackages regenworld'
589 - einfo "Moving admin scripts to the correct directory"
590 - dodir /usr/sbin
591 - for target in ${sbin_relocations}; do
592 - einfo "Moving /usr/bin/${target} to /usr/sbin/${target}"
593 - mv "${ED}usr/bin/${target}" "${ED}usr/sbin/${target}" || die "sbin scripts move failed!"
594 - done
595 -}
596 -
597 -pkg_preinst() {
598 - # comment out sanity test until it is fixed to work
599 - # with the new PORTAGE_PYM_PATH
600 - #if [[ $ROOT == / ]] ; then
601 - ## Run some minimal tests as a sanity check.
602 - #local test_runner=$(find "${ED}" -name runTests)
603 - #if [[ -n $test_runner && -x $test_runner ]] ; then
604 - #einfo "Running preinst sanity tests..."
605 - #"$test_runner" || die "preinst sanity tests failed"
606 - #fi
607 - #fi
608 -
609 - # elog dir must exist to avoid logrotate error for bug #415911.
610 - # This code runs in preinst in order to bypass the mapping of
611 - # portage:portage to root:root which happens after src_install.
612 - keepdir /var/log/portage/elog
613 - # This is allowed to fail if the user/group are invalid for prefix users.
614 - if chown portage:portage "${ED}"var/log/portage{,/elog} 2>/dev/null ; then
615 - chmod g+s,ug+rwx "${ED}"var/log/portage{,/elog}
616 - fi
617 -
618 - if has_version "<${CATEGORY}/${PN}-2.1.13" || \
619 - {
620 - has_version ">=${CATEGORY}/${PN}-2.2_rc0" && \
621 - has_version "<${CATEGORY}/${PN}-2.2.0_alpha189"
622 - } ; then
623 - USERPRIV_UPGRADE=true
624 - USERSYNC_UPGRADE=true
625 - REPOS_CONF_UPGRADE=true
626 - REPOS_CONF_SYNC=
627 - type -P portageq >/dev/null 2>&1 && \
628 - REPOS_CONF_SYNC=$("$(type -P portageq)" envvar SYNC)
629 - else
630 - USERPRIV_UPGRADE=false
631 - USERSYNC_UPGRADE=false
632 - REPOS_CONF_UPGRADE=false
633 - fi
634 -}
635 -
636 -get_ownership() {
637 - case ${USERLAND} in
638 - BSD)
639 - stat -f '%Su:%Sg' "${1}"
640 - ;;
641 - *)
642 - stat -c '%U:%G' "${1}"
643 - ;;
644 - esac
645 -}
646 -
647 -new_config_protect() {
648 - # Generate a ._cfg file even if the target file
649 - # does not exist, ensuring that the user will
650 - # notice the config change.
651 - local basename=${1##*/}
652 - local dirname=${1%/*}
653 - local i=0
654 - while true ; do
655 - local filename=$(
656 - echo -n "${dirname}/._cfg"
657 - printf "%04d" ${i}
658 - echo -n "_${basename}"
659 - )
660 - [[ -e ${filename} ]] || break
661 - (( i++ ))
662 - done
663 - echo "${filename}"
664 -}
665 -
666 -pkg_postinst() {
667 -
668 - if ${REPOS_CONF_UPGRADE} ; then
669 - einfo "Generating repos.conf"
670 - local repo_name=
671 - [[ -f ${PORTDIR}/profiles/repo_name ]] && \
672 - repo_name=$(< "${PORTDIR}/profiles/repo_name")
673 - if [[ -z ${REPOS_CONF_SYNC} ]] ; then
674 - REPOS_CONF_SYNC=$(grep "^sync-uri =" "${EROOT:-${ROOT}}usr/share/portage/config/repos.conf")
675 - REPOS_CONF_SYNC=${REPOS_CONF_SYNC##* }
676 - fi
677 - local sync_type=
678 - [[ ${REPOS_CONF_SYNC} == git://* ]] && sync_type=git
679 -
680 - if [[ ${REPOS_CONF_SYNC} == cvs://* ]]; then
681 - sync_type=cvs
682 - REPOS_CONF_SYNC=${REPOS_CONF_SYNC#cvs://}
683 - fi
684 -
685 - cat <<-EOF > "${T}/repos.conf"
686 - [DEFAULT]
687 - main-repo = ${repo_name:-gentoo}
688 -
689 - [${repo_name:-gentoo}]
690 - location = ${PORTDIR:-${EPREFIX}/usr/portage}
691 - sync-type = ${sync_type:-rsync}
692 - sync-uri = ${REPOS_CONF_SYNC}
693 - EOF
694 -
695 - [[ ${sync_type} == cvs ]] && echo "sync-cvs-repo = $(<"${PORTDIR}/CVS/Repository")" >> "${T}/repos.conf"
696 -
697 - local dest=${EROOT:-${ROOT}}etc/portage/repos.conf
698 - if [[ ! -f ${dest} ]] && mkdir -p "${dest}" 2>/dev/null ; then
699 - dest=${EROOT:-${ROOT}}etc/portage/repos.conf/${repo_name:-gentoo}.conf
700 - fi
701 - # Don't install the config update if the desired repos.conf directory
702 - # and config file exist, since users may accept it blindly and break
703 - # their config (bug #478726).
704 - [[ -e ${EROOT:-${ROOT}}etc/portage/repos.conf/${repo_name:-gentoo}.conf ]] || \
705 - mv "${T}/repos.conf" "$(new_config_protect "${dest}")"
706 -
707 - if [[ ${PORTDIR} == ${EPREFIX}/usr/portage ]] ; then
708 - einfo "Generating make.conf PORTDIR setting for backward compatibility"
709 - for dest in "${EROOT:-${ROOT}}etc/make.conf" "${EROOT:-${ROOT}}etc/portage/make.conf" ; do
710 - [[ -e ${dest} ]] && break
711 - done
712 - [[ -d ${dest} ]] && dest=${dest}/portdir.conf
713 - rm -rf "${T}/make.conf"
714 - [[ -f ${dest} ]] && cat "${dest}" > "${T}/make.conf"
715 - cat <<-EOF >> "${T}/make.conf"
716 -
717 - # Set PORTDIR for backward compatibility with various tools:
718 - # gentoo-bashcomp - bug #478444
719 - # euse - bug #474574
720 - # euses and ufed - bug #478318
721 - PORTDIR="${EPREFIX}/usr/portage"
722 - EOF
723 - mkdir -p "${dest%/*}"
724 - mv "${T}/make.conf" "$(new_config_protect "${dest}")"
725 - fi
726 - fi
727 -
728 - local distdir=${PORTAGE_ACTUAL_DISTDIR-${DISTDIR}}
729 -
730 - if ${USERSYNC_UPGRADE} && \
731 - [[ -d ${PORTDIR} && -w ${PORTDIR} ]] ; then
732 - local ownership=$(get_ownership "${PORTDIR}")
733 - if [[ -n ${ownership} ]] ; then
734 - einfo "Adjusting PORTDIR permissions for usersync"
735 - find "${PORTDIR}" -path "${distdir%/}" -prune -o \
736 - ! \( -user "${ownership%:*}" -a -group "${ownership#*:}" \) \
737 - -exec chown "${ownership}" {} +
738 - fi
739 - fi
740 -
741 - # Do this last, since it could take a long time if there
742 - # are lots of live sources, and the user may be tempted
743 - # to kill emerge while it is running.
744 - if ${USERPRIV_UPGRADE} && \
745 - [[ -d ${distdir} && -w ${distdir} ]] ; then
746 - local ownership=$(get_ownership "${distdir}")
747 - if [[ ${ownership#*:} == portage ]] ; then
748 - einfo "Adjusting DISTDIR permissions for userpriv"
749 - find "${distdir}" -mindepth 1 -maxdepth 1 -type d -uid 0 \
750 - -exec chown -R portage:portage {} +
751 - fi
752 - fi
753 -}
754
755 diff --git a/sys-apps/portage/portage-2.2.20.ebuild b/sys-apps/portage/portage-2.2.20.ebuild
756 deleted file mode 100644
757 index 5db3fab..0000000
758 --- a/sys-apps/portage/portage-2.2.20.ebuild
759 +++ /dev/null
760 @@ -1,365 +0,0 @@
761 -# Copyright 1999-2015 Gentoo Foundation
762 -# Distributed under the terms of the GNU General Public License v2
763 -# $Id$
764 -
765 -EAPI=5
766 -
767 -PYTHON_COMPAT=(
768 - pypy
769 - python3_3 python3_4
770 - python2_7
771 -)
772 -# Note: substituted below
773 -PYTHON_REQ_USE='bzip2(+)'
774 -
775 -inherit distutils-r1 multilib
776 -
777 -DESCRIPTION="Portage is the package management and distribution system for Gentoo"
778 -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage"
779 -
780 -LICENSE="GPL-2"
781 -KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
782 -SLOT="0"
783 -IUSE="build doc epydoc +ipc linguas_ru selinux xattr"
784 -
785 -DEPEND="!build? ( ${PYTHON_DEPS//bzip2(+)/ssl(+),bzip2(+)} )
786 - >=app-arch/tar-1.27
787 - dev-lang/python-exec:2
788 - >=sys-apps/sed-4.0.5 sys-devel/patch
789 - doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 )
790 - epydoc? ( >=dev-python/epydoc-2.0[$(python_gen_usedep 'python2*')] )"
791 -# Require sandbox-2.2 for bug #288863.
792 -# For xattr, we can spawn getfattr and setfattr from sys-apps/attr, but that's
793 -# quite slow, so it's not considered in the dependencies as an alternative to
794 -# to python-3.3 / pyxattr. Also, xattr support is only tested with Linux, so
795 -# for now, don't pull in xattr deps for other kernels.
796 -# For whirlpool hash, require python[ssl] (bug #425046).
797 -# For compgen, require bash[readline] (bug #445576).
798 -RDEPEND="
799 - >=app-arch/tar-1.27
800 - dev-lang/python-exec:2
801 - !build? (
802 - >=sys-apps/sed-4.0.5
803 - app-shells/bash:0[readline]
804 - >=app-admin/eselect-1.2
805 - )
806 - elibc_FreeBSD? ( sys-freebsd/freebsd-bin )
807 - elibc_glibc? ( >=sys-apps/sandbox-2.2 )
808 - elibc_uclibc? ( >=sys-apps/sandbox-2.2 )
809 - >=app-misc/pax-utils-0.1.17
810 - selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] )
811 - xattr? ( kernel_linux? (
812 - >=sys-apps/install-xattr-0.3
813 - $(python_gen_cond_dep 'dev-python/pyxattr[${PYTHON_USEDEP}]' \
814 - python2_7 pypy)
815 - ) )
816 - !<app-admin/logrotate-3.8.0"
817 -PDEPEND="
818 - !build? (
819 - >=net-misc/rsync-2.6.4
820 - userland_GNU? ( >=sys-apps/coreutils-6.4 )
821 - )"
822 -# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
823 -# NOTE: FEATURES=installsources requires debugedit and rsync
824 -
825 -REQUIRED_USE="epydoc? ( $(python_gen_useflags 'python2*') )"
826 -
827 -SRC_ARCHIVES="https://dev.gentoo.org/~dolsen/releases/portage"
828 -
829 -prefix_src_archives() {
830 - local x y
831 - for x in ${@}; do
832 - for y in ${SRC_ARCHIVES}; do
833 - echo ${y}/${x}
834 - done
835 - done
836 -}
837 -
838 -TARBALL_PV=${PV}
839 -SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
840 - $(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)"
841 -
842 -python_prepare_all() {
843 - distutils-r1_python_prepare_all
844 -
845 - if ! use ipc ; then
846 - einfo "Disabling ipc..."
847 - sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \
848 - -i pym/_emerge/AbstractEbuildProcess.py || \
849 - die "failed to patch AbstractEbuildProcess.py"
850 - fi
851 -
852 - if use xattr && use kernel_linux ; then
853 - einfo "Adding FEATURES=xattr to make.globals ..."
854 - echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \
855 - || die "failed to append to make.globals"
856 - fi
857 -
858 - if [[ -n ${EPREFIX} ]] ; then
859 - einfo "Setting portage.const.EPREFIX ..."
860 - sed -e "s|^\(SANDBOX_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/sandbox\"\)|\\1${EPREFIX}\\2|" \
861 - -e "s|^\(FAKEROOT_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/fakeroot\"\)|\\1${EPREFIX}\\2|" \
862 - -e "s|^\(BASH_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/bash\"\)|\\1${EPREFIX}\\2|" \
863 - -e "s|^\(MOVE_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/mv\"\)|\\1${EPREFIX}\\2|" \
864 - -e "s|^\(PRELINK_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/sbin/prelink\"\)|\\1${EPREFIX}\\2|" \
865 - -e "s|^\(EPREFIX[[:space:]]*=[[:space:]]*\"\).*|\\1${EPREFIX}\"|" \
866 - -i pym/portage/const.py || \
867 - die "Failed to patch portage.const.EPREFIX"
868 -
869 - einfo "Prefixing shebangs ..."
870 - while read -r -d $'\0' ; do
871 - local shebang=$(head -n1 "$REPLY")
872 - if [[ ${shebang} == "#!"* && ! ${shebang} == "#!${EPREFIX}/"* ]] ; then
873 - sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" "$REPLY" || \
874 - die "sed failed"
875 - fi
876 - done < <(find . -type f -print0)
877 -
878 - einfo "Adjusting make.globals ..."
879 - sed -e "s|\(/usr/portage\)|${EPREFIX}\\1|" \
880 - -e "s|^\(PORTAGE_TMPDIR=\"\)\(/var/tmp\"\)|\\1${EPREFIX}\\2|" \
881 - -i cnf/make.globals || die "sed failed"
882 -
883 - einfo "Adjusting repos.conf ..."
884 - sed -e "s|^\(main-repo = \).*|\\1gentoo_prefix|" \
885 - -e "s|^\\[gentoo\\]|[gentoo_prefix]|" \
886 - -e "s|^\(location = \)\(/usr/portage\)|\\1${EPREFIX}\\2|" \
887 - -e "s|^\(sync-uri = \).*|\\1rsync://prefix.gentooexperimental.org/gentoo-portage-prefix|" \
888 - -i cnf/repos.conf || die "sed failed"
889 -
890 - einfo "Adding FEATURES=force-prefix to make.globals ..."
891 - echo -e '\nFEATURES="${FEATURES} force-prefix"' >> cnf/make.globals \
892 - || die "failed to append to make.globals"
893 - fi
894 -
895 - cd "${S}/cnf" || die
896 - if [ -f "make.conf.example.${ARCH}".diff ]; then
897 - patch make.conf.example "make.conf.example.${ARCH}".diff || \
898 - die "Failed to patch make.conf.example"
899 - else
900 - eerror ""
901 - eerror "Portage does not have an arch-specific configuration for this arch."
902 - eerror "Please notify the arch maintainer about this issue. Using generic."
903 - eerror ""
904 - fi
905 -}
906 -
907 -python_compile_all() {
908 - local targets=()
909 - use doc && targets+=( docbook )
910 - use epydoc && targets+=( epydoc )
911 -
912 - if [[ ${targets[@]} ]]; then
913 - esetup.py "${targets[@]}"
914 - fi
915 -}
916 -
917 -python_test() {
918 - esetup.py test
919 -}
920 -
921 -python_install() {
922 - # Install sbin scripts to bindir for python-exec linking
923 - # they will be relocated in pkg_preinst()
924 - distutils-r1_python_install \
925 - --system-prefix="${EPREFIX}/usr" \
926 - --bindir="$(python_get_scriptdir)" \
927 - --docdir="${EPREFIX}/usr/share/doc/${PF}" \
928 - --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \
929 - --portage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}" \
930 - --sbindir="$(python_get_scriptdir)" \
931 - --sysconfdir="${EPREFIX}/etc" \
932 - "${@}"
933 -}
934 -
935 -python_install_all() {
936 - distutils-r1_python_install_all
937 -
938 - local targets=()
939 - use doc && targets+=( install_docbook )
940 - use epydoc && targets+=( install_epydoc )
941 -
942 - # install docs
943 - if [[ ${targets[@]} ]]; then
944 - esetup.py "${targets[@]}"
945 - fi
946 -
947 - # Due to distutils/python-exec limitations
948 - # these must be installed to /usr/bin.
949 - local sbin_relocations='archive-conf dispatch-conf emaint env-update etc-update fixpackages regenworld'
950 - einfo "Moving admin scripts to the correct directory"
951 - dodir /usr/sbin
952 - for target in ${sbin_relocations}; do
953 - einfo "Moving /usr/bin/${target} to /usr/sbin/${target}"
954 - mv "${ED}usr/bin/${target}" "${ED}usr/sbin/${target}" || die "sbin scripts move failed!"
955 - done
956 -}
957 -
958 -pkg_preinst() {
959 - # comment out sanity test until it is fixed to work
960 - # with the new PORTAGE_PYM_PATH
961 - #if [[ $ROOT == / ]] ; then
962 - ## Run some minimal tests as a sanity check.
963 - #local test_runner=$(find "${ED}" -name runTests)
964 - #if [[ -n $test_runner && -x $test_runner ]] ; then
965 - #einfo "Running preinst sanity tests..."
966 - #"$test_runner" || die "preinst sanity tests failed"
967 - #fi
968 - #fi
969 -
970 - # elog dir must exist to avoid logrotate error for bug #415911.
971 - # This code runs in preinst in order to bypass the mapping of
972 - # portage:portage to root:root which happens after src_install.
973 - keepdir /var/log/portage/elog
974 - # This is allowed to fail if the user/group are invalid for prefix users.
975 - if chown portage:portage "${ED}"var/log/portage{,/elog} 2>/dev/null ; then
976 - chmod g+s,ug+rwx "${ED}"var/log/portage{,/elog}
977 - fi
978 -
979 - if has_version "<${CATEGORY}/${PN}-2.1.13" || \
980 - {
981 - has_version ">=${CATEGORY}/${PN}-2.2_rc0" && \
982 - has_version "<${CATEGORY}/${PN}-2.2.0_alpha189"
983 - } ; then
984 - USERPRIV_UPGRADE=true
985 - USERSYNC_UPGRADE=true
986 - REPOS_CONF_UPGRADE=true
987 - REPOS_CONF_SYNC=
988 - type -P portageq >/dev/null 2>&1 && \
989 - REPOS_CONF_SYNC=$("$(type -P portageq)" envvar SYNC)
990 - else
991 - USERPRIV_UPGRADE=false
992 - USERSYNC_UPGRADE=false
993 - REPOS_CONF_UPGRADE=false
994 - fi
995 -}
996 -
997 -get_ownership() {
998 - case ${USERLAND} in
999 - BSD)
1000 - stat -f '%Su:%Sg' "${1}"
1001 - ;;
1002 - *)
1003 - stat -c '%U:%G' "${1}"
1004 - ;;
1005 - esac
1006 -}
1007 -
1008 -new_config_protect() {
1009 - # Generate a ._cfg file even if the target file
1010 - # does not exist, ensuring that the user will
1011 - # notice the config change.
1012 - local basename=${1##*/}
1013 - local dirname=${1%/*}
1014 - local i=0
1015 - while true ; do
1016 - local filename=$(
1017 - echo -n "${dirname}/._cfg"
1018 - printf "%04d" ${i}
1019 - echo -n "_${basename}"
1020 - )
1021 - [[ -e ${filename} ]] || break
1022 - (( i++ ))
1023 - done
1024 - echo "${filename}"
1025 -}
1026 -
1027 -pkg_postinst() {
1028 -
1029 - if ${REPOS_CONF_UPGRADE} ; then
1030 - einfo "Generating repos.conf"
1031 - local repo_name=
1032 - [[ -f ${PORTDIR}/profiles/repo_name ]] && \
1033 - repo_name=$(< "${PORTDIR}/profiles/repo_name")
1034 - if [[ -z ${REPOS_CONF_SYNC} ]] ; then
1035 - REPOS_CONF_SYNC=$(grep "^sync-uri =" "${EROOT:-${ROOT}}usr/share/portage/config/repos.conf")
1036 - REPOS_CONF_SYNC=${REPOS_CONF_SYNC##* }
1037 - fi
1038 - local sync_type=
1039 - [[ ${REPOS_CONF_SYNC} == git://* ]] && sync_type=git
1040 -
1041 - if [[ ${REPOS_CONF_SYNC} == cvs://* ]]; then
1042 - sync_type=cvs
1043 - REPOS_CONF_SYNC=${REPOS_CONF_SYNC#cvs://}
1044 - fi
1045 -
1046 - cat <<-EOF > "${T}/repos.conf"
1047 - [DEFAULT]
1048 - main-repo = ${repo_name:-gentoo}
1049 -
1050 - [${repo_name:-gentoo}]
1051 - location = ${PORTDIR:-${EPREFIX}/usr/portage}
1052 - sync-type = ${sync_type:-rsync}
1053 - sync-uri = ${REPOS_CONF_SYNC}
1054 - EOF
1055 -
1056 - [[ ${sync_type} == cvs ]] && echo "sync-cvs-repo = $(<"${PORTDIR}/CVS/Repository")" >> "${T}/repos.conf"
1057 -
1058 - local dest=${EROOT:-${ROOT}}etc/portage/repos.conf
1059 - if [[ ! -f ${dest} ]] && mkdir -p "${dest}" 2>/dev/null ; then
1060 - dest=${EROOT:-${ROOT}}etc/portage/repos.conf/${repo_name:-gentoo}.conf
1061 - fi
1062 - # Don't install the config update if the desired repos.conf directory
1063 - # and config file exist, since users may accept it blindly and break
1064 - # their config (bug #478726).
1065 - [[ -e ${EROOT:-${ROOT}}etc/portage/repos.conf/${repo_name:-gentoo}.conf ]] || \
1066 - mv "${T}/repos.conf" "$(new_config_protect "${dest}")"
1067 -
1068 - if [[ ${PORTDIR} == ${EPREFIX}/usr/portage ]] ; then
1069 - einfo "Generating make.conf PORTDIR setting for backward compatibility"
1070 - for dest in "${EROOT:-${ROOT}}etc/make.conf" "${EROOT:-${ROOT}}etc/portage/make.conf" ; do
1071 - [[ -e ${dest} ]] && break
1072 - done
1073 - [[ -d ${dest} ]] && dest=${dest}/portdir.conf
1074 - rm -rf "${T}/make.conf"
1075 - [[ -f ${dest} ]] && cat "${dest}" > "${T}/make.conf"
1076 - cat <<-EOF >> "${T}/make.conf"
1077 -
1078 - # Set PORTDIR for backward compatibility with various tools:
1079 - # gentoo-bashcomp - bug #478444
1080 - # euse - bug #474574
1081 - # euses and ufed - bug #478318
1082 - PORTDIR="${EPREFIX}/usr/portage"
1083 - EOF
1084 - mkdir -p "${dest%/*}"
1085 - mv "${T}/make.conf" "$(new_config_protect "${dest}")"
1086 - fi
1087 - fi
1088 -
1089 - local distdir=${PORTAGE_ACTUAL_DISTDIR-${DISTDIR}}
1090 -
1091 - if ${USERSYNC_UPGRADE} && \
1092 - [[ -d ${PORTDIR} && -w ${PORTDIR} ]] ; then
1093 - local ownership=$(get_ownership "${PORTDIR}")
1094 - if [[ -n ${ownership} ]] ; then
1095 - einfo "Adjusting PORTDIR permissions for usersync"
1096 - find "${PORTDIR}" -path "${distdir%/}" -prune -o \
1097 - ! \( -user "${ownership%:*}" -a -group "${ownership#*:}" \) \
1098 - -exec chown "${ownership}" {} +
1099 - fi
1100 - fi
1101 -
1102 - # Do this last, since it could take a long time if there
1103 - # are lots of live sources, and the user may be tempted
1104 - # to kill emerge while it is running.
1105 - if ${USERPRIV_UPGRADE} && \
1106 - [[ -d ${distdir} && -w ${distdir} ]] ; then
1107 - local ownership=$(get_ownership "${distdir}")
1108 - if [[ ${ownership#*:} == portage ]] ; then
1109 - einfo "Adjusting DISTDIR permissions for userpriv"
1110 - find "${distdir}" -mindepth 1 -maxdepth 1 -type d -uid 0 \
1111 - -exec chown -R portage:portage {} +
1112 - fi
1113 - fi
1114 -
1115 - einfo ""
1116 - einfo "The 'websync' module has now been properly renamed to 'webrsync'"
1117 - einfo "Please update your repos.conf/gentoo.conf file if needed."
1118 - einfo ""
1119 - einfo "This release of portage removed the new squashfs sync module "
1120 - einfo "introduced in portage-2.2.19."
1121 - einfo "Look for it to be released as an installable portage module soon."
1122 - einfo "This will allow it to develop at it's own pace partially independant"
1123 - einfo "of portage"
1124 - einfo ""
1125 -}
1126
1127 diff --git a/sys-apps/portage/portage-2.2.22.ebuild b/sys-apps/portage/portage-2.2.22.ebuild
1128 deleted file mode 100644
1129 index 99d5c1c..0000000
1130 --- a/sys-apps/portage/portage-2.2.22.ebuild
1131 +++ /dev/null
1132 @@ -1,363 +0,0 @@
1133 -# Copyright 1999-2015 Gentoo Foundation
1134 -# Distributed under the terms of the GNU General Public License v2
1135 -# $Id$
1136 -
1137 -EAPI=5
1138 -
1139 -PYTHON_COMPAT=(
1140 - pypy
1141 - python3_3 python3_4
1142 - python2_7
1143 -)
1144 -# Note: substituted below
1145 -PYTHON_REQ_USE='bzip2(+)'
1146 -
1147 -inherit distutils-r1 multilib
1148 -
1149 -DESCRIPTION="Portage is the package management and distribution system for Gentoo"
1150 -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage"
1151 -
1152 -LICENSE="GPL-2"
1153 -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
1154 -SLOT="0"
1155 -IUSE="build doc epydoc +ipc linguas_ru selinux xattr"
1156 -
1157 -DEPEND="!build? ( ${PYTHON_DEPS//bzip2(+)/ssl(+),bzip2(+)} )
1158 - >=app-arch/tar-1.27
1159 - dev-lang/python-exec:2
1160 - >=sys-apps/sed-4.0.5 sys-devel/patch
1161 - doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 )
1162 - epydoc? ( >=dev-python/epydoc-2.0[$(python_gen_usedep 'python2*')] )"
1163 -# Require sandbox-2.2 for bug #288863.
1164 -# For xattr, we can spawn getfattr and setfattr from sys-apps/attr, but that's
1165 -# quite slow, so it's not considered in the dependencies as an alternative to
1166 -# to python-3.3 / pyxattr. Also, xattr support is only tested with Linux, so
1167 -# for now, don't pull in xattr deps for other kernels.
1168 -# For whirlpool hash, require python[ssl] (bug #425046).
1169 -# For compgen, require bash[readline] (bug #445576).
1170 -RDEPEND="
1171 - >=app-arch/tar-1.27
1172 - dev-lang/python-exec:2
1173 - !build? (
1174 - >=sys-apps/sed-4.0.5
1175 - app-shells/bash:0[readline]
1176 - >=app-admin/eselect-1.2
1177 - )
1178 - elibc_FreeBSD? ( sys-freebsd/freebsd-bin )
1179 - elibc_glibc? ( >=sys-apps/sandbox-2.2 )
1180 - elibc_uclibc? ( >=sys-apps/sandbox-2.2 )
1181 - >=app-misc/pax-utils-0.1.17
1182 - selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] )
1183 - xattr? ( kernel_linux? (
1184 - >=sys-apps/install-xattr-0.3
1185 - $(python_gen_cond_dep 'dev-python/pyxattr[${PYTHON_USEDEP}]' \
1186 - python2_7 pypy)
1187 - ) )
1188 - !<app-admin/logrotate-3.8.0"
1189 -PDEPEND="
1190 - !build? (
1191 - >=net-misc/rsync-2.6.4
1192 - userland_GNU? ( >=sys-apps/coreutils-6.4 )
1193 - )"
1194 -# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
1195 -# NOTE: FEATURES=installsources requires debugedit and rsync
1196 -
1197 -REQUIRED_USE="epydoc? ( $(python_gen_useflags 'python2*') )"
1198 -
1199 -SRC_ARCHIVES="https://dev.gentoo.org/~dolsen/releases/portage"
1200 -
1201 -prefix_src_archives() {
1202 - local x y
1203 - for x in ${@}; do
1204 - for y in ${SRC_ARCHIVES}; do
1205 - echo ${y}/${x}
1206 - done
1207 - done
1208 -}
1209 -
1210 -TARBALL_PV=${PV}
1211 -SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
1212 - $(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)"
1213 -
1214 -python_prepare_all() {
1215 - distutils-r1_python_prepare_all
1216 -
1217 - if ! use ipc ; then
1218 - einfo "Disabling ipc..."
1219 - sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \
1220 - -i pym/_emerge/AbstractEbuildProcess.py || \
1221 - die "failed to patch AbstractEbuildProcess.py"
1222 - fi
1223 -
1224 - if use xattr && use kernel_linux ; then
1225 - einfo "Adding FEATURES=xattr to make.globals ..."
1226 - echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \
1227 - || die "failed to append to make.globals"
1228 - fi
1229 -
1230 - if [[ -n ${EPREFIX} ]] ; then
1231 - einfo "Setting portage.const.EPREFIX ..."
1232 - sed -e "s|^\(SANDBOX_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/sandbox\"\)|\\1${EPREFIX}\\2|" \
1233 - -e "s|^\(FAKEROOT_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/fakeroot\"\)|\\1${EPREFIX}\\2|" \
1234 - -e "s|^\(BASH_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/bash\"\)|\\1${EPREFIX}\\2|" \
1235 - -e "s|^\(MOVE_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/mv\"\)|\\1${EPREFIX}\\2|" \
1236 - -e "s|^\(PRELINK_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/sbin/prelink\"\)|\\1${EPREFIX}\\2|" \
1237 - -e "s|^\(EPREFIX[[:space:]]*=[[:space:]]*\"\).*|\\1${EPREFIX}\"|" \
1238 - -i pym/portage/const.py || \
1239 - die "Failed to patch portage.const.EPREFIX"
1240 -
1241 - einfo "Prefixing shebangs ..."
1242 - while read -r -d $'\0' ; do
1243 - local shebang=$(head -n1 "$REPLY")
1244 - if [[ ${shebang} == "#!"* && ! ${shebang} == "#!${EPREFIX}/"* ]] ; then
1245 - sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" "$REPLY" || \
1246 - die "sed failed"
1247 - fi
1248 - done < <(find . -type f -print0)
1249 -
1250 - einfo "Adjusting make.globals ..."
1251 - sed -e "s|\(/usr/portage\)|${EPREFIX}\\1|" \
1252 - -e "s|^\(PORTAGE_TMPDIR=\"\)\(/var/tmp\"\)|\\1${EPREFIX}\\2|" \
1253 - -i cnf/make.globals || die "sed failed"
1254 -
1255 - einfo "Adjusting repos.conf ..."
1256 - sed -e "s|^\(main-repo = \).*|\\1gentoo_prefix|" \
1257 - -e "s|^\\[gentoo\\]|[gentoo_prefix]|" \
1258 - -e "s|^\(location = \)\(/usr/portage\)|\\1${EPREFIX}\\2|" \
1259 - -e "s|^\(sync-uri = \).*|\\1rsync://prefix.gentooexperimental.org/gentoo-portage-prefix|" \
1260 - -i cnf/repos.conf || die "sed failed"
1261 -
1262 - einfo "Adding FEATURES=force-prefix to make.globals ..."
1263 - echo -e '\nFEATURES="${FEATURES} force-prefix"' >> cnf/make.globals \
1264 - || die "failed to append to make.globals"
1265 - fi
1266 -
1267 - cd "${S}/cnf" || die
1268 - if [ -f "make.conf.example.${ARCH}".diff ]; then
1269 - patch make.conf.example "make.conf.example.${ARCH}".diff || \
1270 - die "Failed to patch make.conf.example"
1271 - else
1272 - eerror ""
1273 - eerror "Portage does not have an arch-specific configuration for this arch."
1274 - eerror "Please notify the arch maintainer about this issue. Using generic."
1275 - eerror ""
1276 - fi
1277 -}
1278 -
1279 -python_compile_all() {
1280 - local targets=()
1281 - use doc && targets+=( docbook )
1282 - use epydoc && targets+=( epydoc )
1283 -
1284 - if [[ ${targets[@]} ]]; then
1285 - esetup.py "${targets[@]}"
1286 - fi
1287 -}
1288 -
1289 -python_test() {
1290 - esetup.py test
1291 -}
1292 -
1293 -python_install() {
1294 - # Install sbin scripts to bindir for python-exec linking
1295 - # they will be relocated in pkg_preinst()
1296 - distutils-r1_python_install \
1297 - --system-prefix="${EPREFIX}/usr" \
1298 - --bindir="$(python_get_scriptdir)" \
1299 - --docdir="${EPREFIX}/usr/share/doc/${PF}" \
1300 - --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \
1301 - --portage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}" \
1302 - --sbindir="$(python_get_scriptdir)" \
1303 - --sysconfdir="${EPREFIX}/etc" \
1304 - "${@}"
1305 -}
1306 -
1307 -python_install_all() {
1308 - distutils-r1_python_install_all
1309 -
1310 - local targets=()
1311 - use doc && targets+=( install_docbook )
1312 - use epydoc && targets+=( install_epydoc )
1313 -
1314 - # install docs
1315 - if [[ ${targets[@]} ]]; then
1316 - esetup.py "${targets[@]}"
1317 - fi
1318 -
1319 - # Due to distutils/python-exec limitations
1320 - # these must be installed to /usr/bin.
1321 - local sbin_relocations='archive-conf dispatch-conf emaint env-update etc-update fixpackages regenworld'
1322 - einfo "Moving admin scripts to the correct directory"
1323 - dodir /usr/sbin
1324 - for target in ${sbin_relocations}; do
1325 - einfo "Moving /usr/bin/${target} to /usr/sbin/${target}"
1326 - mv "${ED}usr/bin/${target}" "${ED}usr/sbin/${target}" || die "sbin scripts move failed!"
1327 - done
1328 -}
1329 -
1330 -pkg_preinst() {
1331 - # comment out sanity test until it is fixed to work
1332 - # with the new PORTAGE_PYM_PATH
1333 - #if [[ $ROOT == / ]] ; then
1334 - ## Run some minimal tests as a sanity check.
1335 - #local test_runner=$(find "${ED}" -name runTests)
1336 - #if [[ -n $test_runner && -x $test_runner ]] ; then
1337 - #einfo "Running preinst sanity tests..."
1338 - #"$test_runner" || die "preinst sanity tests failed"
1339 - #fi
1340 - #fi
1341 -
1342 - # elog dir must exist to avoid logrotate error for bug #415911.
1343 - # This code runs in preinst in order to bypass the mapping of
1344 - # portage:portage to root:root which happens after src_install.
1345 - keepdir /var/log/portage/elog
1346 - # This is allowed to fail if the user/group are invalid for prefix users.
1347 - if chown portage:portage "${ED}"var/log/portage{,/elog} 2>/dev/null ; then
1348 - chmod g+s,ug+rwx "${ED}"var/log/portage{,/elog}
1349 - fi
1350 -
1351 - if has_version "<${CATEGORY}/${PN}-2.1.13" || \
1352 - {
1353 - has_version ">=${CATEGORY}/${PN}-2.2_rc0" && \
1354 - has_version "<${CATEGORY}/${PN}-2.2.0_alpha189"
1355 - } ; then
1356 - USERPRIV_UPGRADE=true
1357 - USERSYNC_UPGRADE=true
1358 - REPOS_CONF_UPGRADE=true
1359 - REPOS_CONF_SYNC=
1360 - type -P portageq >/dev/null 2>&1 && \
1361 - REPOS_CONF_SYNC=$("$(type -P portageq)" envvar SYNC)
1362 - else
1363 - USERPRIV_UPGRADE=false
1364 - USERSYNC_UPGRADE=false
1365 - REPOS_CONF_UPGRADE=false
1366 - fi
1367 -}
1368 -
1369 -get_ownership() {
1370 - case ${USERLAND} in
1371 - BSD)
1372 - stat -f '%Su:%Sg' "${1}"
1373 - ;;
1374 - *)
1375 - stat -c '%U:%G' "${1}"
1376 - ;;
1377 - esac
1378 -}
1379 -
1380 -new_config_protect() {
1381 - # Generate a ._cfg file even if the target file
1382 - # does not exist, ensuring that the user will
1383 - # notice the config change.
1384 - local basename=${1##*/}
1385 - local dirname=${1%/*}
1386 - local i=0
1387 - while true ; do
1388 - local filename=$(
1389 - echo -n "${dirname}/._cfg"
1390 - printf "%04d" ${i}
1391 - echo -n "_${basename}"
1392 - )
1393 - [[ -e ${filename} ]] || break
1394 - (( i++ ))
1395 - done
1396 - echo "${filename}"
1397 -}
1398 -
1399 -pkg_postinst() {
1400 -
1401 - if ${REPOS_CONF_UPGRADE} ; then
1402 - einfo "Generating repos.conf"
1403 - local repo_name=
1404 - [[ -f ${PORTDIR}/profiles/repo_name ]] && \
1405 - repo_name=$(< "${PORTDIR}/profiles/repo_name")
1406 - if [[ -z ${REPOS_CONF_SYNC} ]] ; then
1407 - REPOS_CONF_SYNC=$(grep "^sync-uri =" "${EROOT:-${ROOT}}usr/share/portage/config/repos.conf")
1408 - REPOS_CONF_SYNC=${REPOS_CONF_SYNC##* }
1409 - fi
1410 - local sync_type=
1411 - [[ ${REPOS_CONF_SYNC} == git://* ]] && sync_type=git
1412 -
1413 - if [[ ${REPOS_CONF_SYNC} == cvs://* ]]; then
1414 - sync_type=cvs
1415 - REPOS_CONF_SYNC=${REPOS_CONF_SYNC#cvs://}
1416 - fi
1417 -
1418 - cat <<-EOF > "${T}/repos.conf"
1419 - [DEFAULT]
1420 - main-repo = ${repo_name:-gentoo}
1421 -
1422 - [${repo_name:-gentoo}]
1423 - location = ${PORTDIR:-${EPREFIX}/usr/portage}
1424 - sync-type = ${sync_type:-rsync}
1425 - sync-uri = ${REPOS_CONF_SYNC}
1426 - EOF
1427 -
1428 - [[ ${sync_type} == cvs ]] && echo "sync-cvs-repo = $(<"${PORTDIR}/CVS/Repository")" >> "${T}/repos.conf"
1429 -
1430 - local dest=${EROOT:-${ROOT}}etc/portage/repos.conf
1431 - if [[ ! -f ${dest} ]] && mkdir -p "${dest}" 2>/dev/null ; then
1432 - dest=${EROOT:-${ROOT}}etc/portage/repos.conf/${repo_name:-gentoo}.conf
1433 - fi
1434 - # Don't install the config update if the desired repos.conf directory
1435 - # and config file exist, since users may accept it blindly and break
1436 - # their config (bug #478726).
1437 - [[ -e ${EROOT:-${ROOT}}etc/portage/repos.conf/${repo_name:-gentoo}.conf ]] || \
1438 - mv "${T}/repos.conf" "$(new_config_protect "${dest}")"
1439 -
1440 - if [[ ${PORTDIR} == ${EPREFIX}/usr/portage ]] ; then
1441 - einfo "Generating make.conf PORTDIR setting for backward compatibility"
1442 - for dest in "${EROOT:-${ROOT}}etc/make.conf" "${EROOT:-${ROOT}}etc/portage/make.conf" ; do
1443 - [[ -e ${dest} ]] && break
1444 - done
1445 - [[ -d ${dest} ]] && dest=${dest}/portdir.conf
1446 - rm -rf "${T}/make.conf"
1447 - [[ -f ${dest} ]] && cat "${dest}" > "${T}/make.conf"
1448 - cat <<-EOF >> "${T}/make.conf"
1449 -
1450 - # Set PORTDIR for backward compatibility with various tools:
1451 - # gentoo-bashcomp - bug #478444
1452 - # euse - bug #474574
1453 - # euses and ufed - bug #478318
1454 - PORTDIR="${EPREFIX}/usr/portage"
1455 - EOF
1456 - mkdir -p "${dest%/*}"
1457 - mv "${T}/make.conf" "$(new_config_protect "${dest}")"
1458 - fi
1459 - fi
1460 -
1461 - local distdir=${PORTAGE_ACTUAL_DISTDIR-${DISTDIR}}
1462 -
1463 - if ${USERSYNC_UPGRADE} && \
1464 - [[ -d ${PORTDIR} && -w ${PORTDIR} ]] ; then
1465 - local ownership=$(get_ownership "${PORTDIR}")
1466 - if [[ -n ${ownership} ]] ; then
1467 - einfo "Adjusting PORTDIR permissions for usersync"
1468 - find "${PORTDIR}" -path "${distdir%/}" -prune -o \
1469 - ! \( -user "${ownership%:*}" -a -group "${ownership#*:}" \) \
1470 - -exec chown "${ownership}" {} +
1471 - fi
1472 - fi
1473 -
1474 - # Do this last, since it could take a long time if there
1475 - # are lots of live sources, and the user may be tempted
1476 - # to kill emerge while it is running.
1477 - if ${USERPRIV_UPGRADE} && \
1478 - [[ -d ${distdir} && -w ${distdir} ]] ; then
1479 - local ownership=$(get_ownership "${distdir}")
1480 - if [[ ${ownership#*:} == portage ]] ; then
1481 - einfo "Adjusting DISTDIR permissions for userpriv"
1482 - find "${distdir}" -mindepth 1 -maxdepth 1 -type d -uid 0 \
1483 - -exec chown -R portage:portage {} +
1484 - fi
1485 - fi
1486 -
1487 - einfo ""
1488 - einfo "This release of portage contains the new repoman code base"
1489 - einfo "This code base is still being developed. So its API's are"
1490 - einfo "not to be considered stable and are subject to change."
1491 - einfo "The code released has been tested and considered ready for use."
1492 - einfo "This however does not guarantee it to be completely bug free."
1493 - einfo "Please report any bugs you may encounter."
1494 - einfo ""
1495 -}
1496
1497 diff --git a/sys-apps/portage/portage-2.2.23.ebuild b/sys-apps/portage/portage-2.2.23.ebuild
1498 index 99d5c1c..43cb079 100644
1499 --- a/sys-apps/portage/portage-2.2.23.ebuild
1500 +++ b/sys-apps/portage/portage-2.2.23.ebuild
1501 @@ -6,7 +6,7 @@ EAPI=5
1502
1503 PYTHON_COMPAT=(
1504 pypy
1505 - python3_3 python3_4
1506 + python3_3 python3_4 python3_5
1507 python2_7
1508 )
1509 # Note: substituted below
1510
1511 diff --git a/sys-apps/portage/portage-9999.ebuild b/sys-apps/portage/portage-9999.ebuild
1512 index 51113f5..f6dea3e 100644
1513 --- a/sys-apps/portage/portage-9999.ebuild
1514 +++ b/sys-apps/portage/portage-9999.ebuild
1515 @@ -6,7 +6,7 @@ EAPI=5
1516
1517 PYTHON_COMPAT=(
1518 pypy
1519 - python3_3 python3_4
1520 + python3_3 python3_4 python3_5
1521 python2_7
1522 )
1523 # Note: substituted below