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 |