Gentoo Archives: gentoo-commits

From: Fabian Groffen <grobian@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/prefix:master commit in: sys-apps/portage/
Date: Thu, 30 May 2019 09:16:33
Message-Id: 1559207777.7d3f27a474ff2fc086c95440e29d0319b64f80b0.grobian@gentoo
1 commit: 7d3f27a474ff2fc086c95440e29d0319b64f80b0
2 Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
3 AuthorDate: Thu May 30 09:16:17 2019 +0000
4 Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
5 CommitDate: Thu May 30 09:16:17 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=7d3f27a4
7
8 sys-apps/portage: remove interrevision
9
10 Package-Manager: Portage-2.3.62-prefix, Repoman-2.3.13
11 Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
12
13 sys-apps/portage/portage-2.3.62-r00.1.ebuild | 271 ---------------------------
14 sys-apps/portage/portage-2.3.62.ebuild | 1 +
15 2 files changed, 1 insertion(+), 271 deletions(-)
16
17 diff --git a/sys-apps/portage/portage-2.3.62-r00.1.ebuild b/sys-apps/portage/portage-2.3.62-r00.1.ebuild
18 deleted file mode 100644
19 index 8dab4da44e..0000000000
20 --- a/sys-apps/portage/portage-2.3.62-r00.1.ebuild
21 +++ /dev/null
22 @@ -1,271 +0,0 @@
23 -# Copyright 1999-2019 Gentoo Authors
24 -# Distributed under the terms of the GNU General Public License v2
25 -
26 -EAPI=5
27 -
28 -PYTHON_COMPAT=(
29 - pypy
30 - python3_4 python3_5 python3_6 python3_7
31 - python2_7
32 -)
33 -PYTHON_REQ_USE='bzip2(+),threads(+)'
34 -
35 -inherit eutils distutils-r1 multilib
36 -
37 -DESCRIPTION="Portage package manager used in Gentoo Prefix"
38 -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage"
39 -LICENSE="GPL-2"
40 -KEYWORDS="~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
41 -SLOT="0"
42 -IUSE="build doc epydoc +ipc +native-extensions selinux xattr"
43 -
44 -DEPEND="!build? ( $(python_gen_impl_dep 'ssl(+)') )
45 - >=app-arch/tar-1.27
46 - dev-lang/python-exec:2
47 - >=sys-apps/sed-4.0.5 sys-devel/patch
48 - doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 )
49 - epydoc? ( >=dev-python/epydoc-2.0[$(python_gen_usedep 'python2*')] )"
50 -# Require sandbox-2.2 for bug #288863.
51 -# For xattr, we can spawn getfattr and setfattr from sys-apps/attr, but that's
52 -# quite slow, so it's not considered in the dependencies as an alternative to
53 -# to python-3.3 / pyxattr. Also, xattr support is only tested with Linux, so
54 -# for now, don't pull in xattr deps for other kernels.
55 -# For whirlpool hash, require python[ssl] (bug #425046).
56 -# For compgen, require bash[readline] (bug #445576).
57 -RDEPEND="
58 - >=app-arch/tar-1.27
59 - dev-lang/python-exec:2
60 - !build? (
61 - >=sys-apps/sed-4.0.5
62 - app-shells/bash:0[readline]
63 - >=app-admin/eselect-1.2
64 - $(python_gen_cond_dep 'dev-python/pyblake2[${PYTHON_USEDEP}]' \
65 - python{2_7,3_4,3_5} pypy)
66 - )
67 - elibc_FreeBSD? ( !prefix? ( sys-freebsd/freebsd-bin ) )
68 - elibc_glibc? ( !prefix? ( >=sys-apps/sandbox-2.2 ) )
69 - elibc_uclibc? ( !prefix? ( >=sys-apps/sandbox-2.2 ) )
70 - kernel_linux? ( >=app-misc/pax-utils-0.1.17 )
71 - kernel_SunOS? ( >=app-misc/pax-utils-0.1.17 )
72 - kernel_FreeBSD? ( >=app-misc/pax-utils-0.1.17 )
73 - kernel_Darwin? ( >=app-misc/pax-utils-0.1.18 )
74 - kernel_AIX? ( >=sys-apps/aix-miscutils-0.1.1634 )
75 - selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] )
76 - xattr? ( kernel_linux? (
77 - >=sys-apps/install-xattr-0.3
78 - $(python_gen_cond_dep 'dev-python/pyxattr[${PYTHON_USEDEP}]' \
79 - python2_7 pypy)
80 - ) )
81 - !<app-admin/logrotate-3.8.0"
82 -PDEPEND="
83 - !build? (
84 - >=net-misc/rsync-2.6.4
85 - userland_GNU? ( >=sys-apps/coreutils-6.4 )
86 - )"
87 -# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
88 -# NOTE: FEATURES=installsources requires debugedit and rsync
89 -
90 -REQUIRED_USE="epydoc? ( $(python_gen_useflags 'python2*') )"
91 -
92 -SRC_ARCHIVES="https://dev.gentoo.org/~zmedico/portage/archives https://dev.gentoo.org/~grobian/distfiles"
93 -
94 -prefix_src_archives() {
95 - local x y
96 - for x in ${@}; do
97 - for y in ${SRC_ARCHIVES}; do
98 - echo ${y}/${x}
99 - done
100 - done
101 -}
102 -
103 -TARBALL_PV=${PV}
104 -SRC_URI="mirror://gentoo/prefix-${PN}-${TARBALL_PV}.tar.bz2
105 - $(prefix_src_archives prefix-${PN}-${TARBALL_PV}.tar.bz2)"
106 -
107 -S="${WORKDIR}"/prefix-${PN}-${TARBALL_PV}
108 -
109 -pkg_setup() {
110 - use epydoc && DISTUTILS_ALL_SUBPHASE_IMPLS=( python2.7 )
111 -}
112 -
113 -python_prepare_all() {
114 - distutils-r1_python_prepare_all
115 -
116 - epatch "${FILESDIR}"/${PN}-2.3.62-prefix-stack.patch # 658572
117 - epatch "${FILESDIR}"/${PN}-2.3.45-ebuildshell.patch # 155161
118 -
119 - if use native-extensions; then
120 - printf "[build_ext]\nportage-ext-modules=true\n" >> \
121 - setup.cfg || die
122 - fi
123 -
124 - if ! use ipc ; then
125 - einfo "Disabling ipc..."
126 - sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \
127 - -i lib/_emerge/AbstractEbuildProcess.py || \
128 - die "failed to patch AbstractEbuildProcess.py"
129 - fi
130 -
131 - if use xattr && use kernel_linux ; then
132 - einfo "Adding FEATURES=xattr to make.globals ..."
133 - echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \
134 - || die "failed to append to make.globals"
135 - fi
136 -
137 - if [[ -n ${EPREFIX} ]] ; then
138 - # PREFIX LOCAL: only hack const_autotool
139 - local extrapath="/usr/sbin:/usr/bin:/sbin:/bin"
140 - # ok, we can't rely on PORTAGE_ROOT_USER being there yet, as people
141 - # tend not to update that often, as long as we are a separate ebuild
142 - # we can assume when unset, it's time for some older trick
143 - if [[ -z ${PORTAGE_ROOT_USER} ]] ; then
144 - PORTAGE_ROOT_USER=$(python -c 'from portage.const import rootuser; print rootuser')
145 - fi
146 - # We need to probe for bash in the Prefix, because it may not
147 - # exist, in which case we fall back to the currently in use
148 - # bash. This logic is necessary in particular during bootstrap,
149 - # where we pull ourselves out of a temporary place with tools
150 - local bash="${EPREFIX}/bin/bash"
151 - [[ ! -x ${bash} ]] && bash=${BASH}
152 -
153 - einfo "Adjusting sources for ${EPREFIX}"
154 - find . -type f -exec \
155 - sed -e "s|@PORTAGE_EPREFIX@|${EPREFIX}|" \
156 - -e "s|@PORTAGE_MV@|$(type -P mv)|" \
157 - -e "s|@PORTAGE_BASH@|${bash}|" \
158 - -e "s|@PREFIX_PORTAGE_PYTHON@|$(type -P python)|" \
159 - -e "s|@EXTRA_PATH@|${extrapath}|" \
160 - -e "s|@portagegroup@|${PORTAGE_GROUP:-portage}|" \
161 - -e "s|@portageuser@|${PORTAGE_USER:-portage}|" \
162 - -e "s|@rootuser@|${PORTAGE_ROOT_USER:-root}|" \
163 - -e "s|@rootuid@|$(id -u ${PORTAGE_ROOT_USER:-root})|" \
164 - -e "s|@rootgid@|$(id -g ${PORTAGE_ROOT_USER:-root})|" \
165 - -e "s|@sysconfdir@|${EPREFIX}/etc|" \
166 - -i '{}' + || \
167 - die "Failed to patch sources"
168 - # We don't need the below, since setup.py deals with this (and
169 - # more) so we don't have to make this correct
170 - # -e "s|@PORTAGE_BASE@|${EPREFIX}/usr/lib/portage/${EPYTHON}|" \
171 -
172 - # remove Makefiles, or else they will get installed
173 - find . -name "Makefile.*" -delete
174 -
175 - einfo "Prefixing shebangs ..."
176 - while read -r -d $'\0' ; do
177 - local shebang=$(head -n1 "$REPLY")
178 - if [[ ${shebang} == "#!"* && ! ${shebang} == "#!${EPREFIX}/"* ]] ; then
179 - sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" "$REPLY" || \
180 - die "sed failed"
181 - fi
182 - done < <(find . -type f -print0)
183 -
184 - einfo "Setting gentoo_prefix as reponame for emerge-webrsync"
185 - sed -i -e 's/repo_name=gentoo/repo_name=gentoo_prefix/' \
186 - bin/emerge-webrsync || die
187 -
188 - einfo "Making absent gemato non-fatal"
189 - sed -i -e '/exitcode = 127/d' \
190 - lib/portage/sync/modules/rsync/rsync.py || die
191 -
192 - if [[ ${CHOST} == powerpc*-darwin* ]] ; then
193 - # asyncio triggers some python bug, not worth fixing on
194 - # ppc-macos, bug #656830
195 - sed -i -e '/^_asyncio_enabled/s/=.*$/= False/' \
196 - lib/portage/util/_eventloop/global_event_loop.py || die
197 - fi
198 - # END PREFIX LOCAL
199 - fi
200 -
201 - # PREFIX LOCAL: make.conf is written by bootstrap-prefix.sh
202 - if use !prefix ; then
203 - cd "${S}/cnf" || die
204 - if [ -f "make.conf.example.${ARCH}".diff ]; then
205 - patch make.conf.example "make.conf.example.${ARCH}".diff || \
206 - die "Failed to patch make.conf.example"
207 - else
208 - eerror ""
209 - eerror "Portage does not have an arch-specific configuration for this arch."
210 - eerror "Please notify the arch maintainer about this issue. Using generic."
211 - eerror ""
212 - fi
213 - fi
214 -}
215 -
216 -python_compile_all() {
217 - local targets=()
218 - use doc && targets+=( docbook )
219 - use epydoc && targets+=( epydoc )
220 -
221 - if [[ ${targets[@]} ]]; then
222 - esetup.py "${targets[@]}"
223 - fi
224 -}
225 -
226 -python_test() {
227 - esetup.py test
228 -}
229 -
230 -python_install() {
231 - # Install sbin scripts to bindir for python-exec linking
232 - # they will be relocated in pkg_preinst()
233 - distutils-r1_python_install \
234 - --system-prefix="${EPREFIX}/usr" \
235 - --bindir="$(python_get_scriptdir)" \
236 - --docdir="${EPREFIX}/usr/share/doc/${PF}" \
237 - --htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \
238 - --portage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}" \
239 - --sbindir="$(python_get_scriptdir)" \
240 - --sysconfdir="${EPREFIX}/etc" \
241 - "${@}"
242 -}
243 -
244 -python_install_all() {
245 - distutils-r1_python_install_all
246 -
247 - local targets=()
248 - use doc && targets+=(
249 - install_docbook
250 - --htmldir="${EPREFIX}/usr/share/doc/${PF}/html"
251 - )
252 - use epydoc && targets+=(
253 - install_epydoc
254 - --htmldir="${EPREFIX}/usr/share/doc/${PF}/html"
255 - )
256 -
257 - # install docs
258 - if [[ ${targets[@]} ]]; then
259 - esetup.py "${targets[@]}"
260 - fi
261 -
262 - # Due to distutils/python-exec limitations
263 - # these must be installed to /usr/bin.
264 - local sbin_relocations='archive-conf dispatch-conf emaint env-update etc-update fixpackages regenworld'
265 - einfo "Moving admin scripts to the correct directory"
266 - dodir /usr/sbin
267 - for target in ${sbin_relocations}; do
268 - einfo "Moving /usr/bin/${target} to /usr/sbin/${target}"
269 - mv "${ED}usr/bin/${target}" "${ED}usr/sbin/${target}" || die "sbin scripts move failed!"
270 - done
271 -}
272 -
273 -pkg_preinst() {
274 - # comment out sanity test until it is fixed to work
275 - # with the new PORTAGE_PYM_PATH
276 - #if [[ $ROOT == / ]] ; then
277 - ## Run some minimal tests as a sanity check.
278 - #local test_runner=$(find "${ED}" -name runTests)
279 - #if [[ -n $test_runner && -x $test_runner ]] ; then
280 - #einfo "Running preinst sanity tests..."
281 - #"$test_runner" || die "preinst sanity tests failed"
282 - #fi
283 - #fi
284 -
285 - # elog dir must exist to avoid logrotate error for bug #415911.
286 - # This code runs in preinst in order to bypass the mapping of
287 - # portage:portage to root:root which happens after src_install.
288 - keepdir /var/log/portage/elog
289 - # This is allowed to fail if the user/group are invalid for prefix users.
290 - if chown ${PORTAGE_USER}:${PORTAGE_GROUP} "${ED}"var/log/portage{,/elog} 2>/dev/null ; then
291 - chmod g+s,ug+rwx "${ED}"var/log/portage{,/elog}
292 - fi
293 -}
294
295 diff --git a/sys-apps/portage/portage-2.3.62.ebuild b/sys-apps/portage/portage-2.3.62.ebuild
296 index e2ca476f68..8dab4da44e 100644
297 --- a/sys-apps/portage/portage-2.3.62.ebuild
298 +++ b/sys-apps/portage/portage-2.3.62.ebuild
299 @@ -91,6 +91,7 @@ pkg_setup() {
300 python_prepare_all() {
301 distutils-r1_python_prepare_all
302
303 + epatch "${FILESDIR}"/${PN}-2.3.62-prefix-stack.patch # 658572
304 epatch "${FILESDIR}"/${PN}-2.3.45-ebuildshell.patch # 155161
305
306 if use native-extensions; then