Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sys-apps/portage: ChangeLog portage-2.2_rc63.ebuild
Date: Sat, 20 Feb 2010 01:50:38
Message-Id: E1NieUO-0007k0-5s@stork.gentoo.org
1 zmedico 10/02/20 01:50:36
2
3 Modified: ChangeLog
4 Added: portage-2.2_rc63.ebuild
5 Log:
6 19 Feb 2010; Zac Medico <zmedico@g.o> +portage-2.2_rc63.ebuild:
7 2.2_rc63 version bump. This fixes bug #268724 (make --unmerge suggest
8 --depclean for safety), bug #277902 (make quickpkg insert comment in
9 config file placeholders), bug #295197 (show newline when dispatch-conf
10 exits), bug #298141 (make /etc/portage/sets relative to PORTAGE_CONFIGROOT),
11 bug #298479 (don't export invalid USER variable), bug #302764 (fix --regen
12 to handle nested overlays correctly), bug #302937 (handle declare -r in
13 environment.bz2), bug #303211 (fix SIZE digest verification failure with
14 old binhost protocol), bug #303401 (don't emerge.log in fetchonly mode),
15 bug #303445 (fix mixed mask messages from different package.mask files),
16 bug #303519 (deprecation warning about internal dep_getkey usage),
17 bug #303567 (merge libc asap), bug #304793 (note in --newuse docs that
18 --selective is implied), and bug #305393 (fix dispatch-conf to handle sdiff
19 from diffutils-2.9).
20 (Portage version: 2.2_rc63/cvs/Linux i686)
21
22 Revision Changes Path
23 1.675 sys-apps/portage/ChangeLog
24
25 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/portage/ChangeLog?rev=1.675&view=markup
26 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/portage/ChangeLog?rev=1.675&content-type=text/plain
27 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/portage/ChangeLog?r1=1.674&r2=1.675
28
29 Index: ChangeLog
30 ===================================================================
31 RCS file: /var/cvsroot/gentoo-x86/sys-apps/portage/ChangeLog,v
32 retrieving revision 1.674
33 retrieving revision 1.675
34 diff -u -r1.674 -r1.675
35 --- ChangeLog 11 Feb 2010 01:14:13 -0000 1.674
36 +++ ChangeLog 20 Feb 2010 01:50:35 -0000 1.675
37 @@ -1,6 +1,23 @@
38 # ChangeLog for sys-apps/portage
39 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
40 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/ChangeLog,v 1.674 2010/02/11 01:14:13 zmedico Exp $
41 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/ChangeLog,v 1.675 2010/02/20 01:50:35 zmedico Exp $
42 +
43 +*portage-2.2_rc63 (19 Feb 2010)
44 +
45 + 19 Feb 2010; Zac Medico <zmedico@g.o> +portage-2.2_rc63.ebuild:
46 + 2.2_rc63 version bump. This fixes bug #268724 (make --unmerge suggest
47 + --depclean for safety), bug #277902 (make quickpkg insert comment in
48 + config file placeholders), bug #295197 (show newline when dispatch-conf
49 + exits), bug #298141 (make /etc/portage/sets relative to PORTAGE_CONFIGROOT),
50 + bug #298479 (don't export invalid USER variable), bug #302764 (fix --regen
51 + to handle nested overlays correctly), bug #302937 (handle declare -r in
52 + environment.bz2), bug #303211 (fix SIZE digest verification failure with
53 + old binhost protocol), bug #303401 (don't emerge.log in fetchonly mode),
54 + bug #303445 (fix mixed mask messages from different package.mask files),
55 + bug #303519 (deprecation warning about internal dep_getkey usage),
56 + bug #303567 (merge libc asap), bug #304793 (note in --newuse docs that
57 + --selective is implied), and bug #305393 (fix dispatch-conf to handle sdiff
58 + from diffutils-2.9).
59
60 11 Feb 2010; Zac Medico <zmedico@g.o> portage-2.1.7.16.ebuild,
61 portage-2.1.7.17.ebuild, portage-2.2_rc62.ebuild:
62
63
64
65 1.1 sys-apps/portage/portage-2.2_rc63.ebuild
66
67 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/portage/portage-2.2_rc63.ebuild?rev=1.1&view=markup
68 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/portage/portage-2.2_rc63.ebuild?rev=1.1&content-type=text/plain
69
70 Index: portage-2.2_rc63.ebuild
71 ===================================================================
72 # Copyright 1999-2010 Gentoo Foundation
73 # Distributed under the terms of the GNU General Public License v2
74 # $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-2.2_rc63.ebuild,v 1.1 2010/02/20 01:50:35 zmedico Exp $
75
76 # Require EAPI 2 since we now require at least python-2.6 (for python 3
77 # syntax support) which also requires EAPI 2.
78 EAPI=2
79 inherit eutils multilib python
80
81 DESCRIPTION="Portage is the package management and distribution system for Gentoo"
82 HOMEPAGE="http://www.gentoo.org/proj/en/portage/index.xml"
83 LICENSE="GPL-2"
84 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
85 PROVIDE="virtual/portage"
86 SLOT="0"
87 IUSE="build doc epydoc linguas_pl python3 selinux"
88
89 python_dep="python3? ( =dev-lang/python-3* )
90 !python3? ( || ( dev-lang/python:2.8 dev-lang/python:2.7 dev-lang/python:2.6 >=dev-lang/python-3 ) )"
91
92 # The pysqlite blocker is for bug #282760.
93 DEPEND="${python_dep}
94 !build? ( >=sys-apps/sed-4.0.5 )
95 doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 )
96 epydoc? ( >=dev-python/epydoc-2.0 !<=dev-python/pysqlite-2.4.1 )"
97 # Require sandbox-2.2 for bug #288863.
98 RDEPEND="${python_dep}
99 !build? ( >=sys-apps/sed-4.0.5
100 >=app-shells/bash-3.2_p17
101 >=app-admin/eselect-1.2 )
102 elibc_FreeBSD? ( sys-freebsd/freebsd-bin )
103 elibc_glibc? ( >=sys-apps/sandbox-2.2 )
104 elibc_uclibc? ( >=sys-apps/sandbox-2.2 )
105 >=app-misc/pax-utils-0.1.17
106 selinux? ( sys-libs/libselinux )"
107 PDEPEND="
108 !build? (
109 >=net-misc/rsync-2.6.4
110 userland_GNU? ( >=sys-apps/coreutils-6.4 )
111 )"
112 # coreutils-6.4 rdep is for date format in emerge-webrsync #164532
113 # rsync-2.6.4 rdep is for the --filter option #167668
114
115 SRC_ARCHIVES="http://dev.gentoo.org/~zmedico/portage/archives"
116
117 prefix_src_archives() {
118 local x y
119 for x in ${@}; do
120 for y in ${SRC_ARCHIVES}; do
121 echo ${y}/${x}
122 done
123 done
124 }
125
126 PV_PL="2.1.2"
127 PATCHVER_PL=""
128 TARBALL_PV=2.2_rc43
129 SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
130 $(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)
131 linguas_pl? ( mirror://gentoo/${PN}-man-pl-${PV_PL}.tar.bz2
132 $(prefix_src_archives ${PN}-man-pl-${PV_PL}.tar.bz2) )"
133
134 PATCHVER=$PV
135 if [ -n "${PATCHVER}" ]; then
136 SRC_URI="${SRC_URI} mirror://gentoo/${PN}-${PATCHVER}.patch.bz2
137 $(prefix_src_archives ${PN}-${PATCHVER}.patch.bz2)"
138 fi
139
140 S="${WORKDIR}"/${PN}-${TARBALL_PV}
141 S_PL="${WORKDIR}"/${PN}-${PV_PL}
142
143 compatible_python_is_selected() {
144 [[ $(/usr/bin/python -c 'import sys ; sys.stdout.write(sys.hexversion >= 0x2060000 and "good" or "bad")') = good ]]
145 }
146
147 pkg_setup() {
148 if ! use python3 && ! compatible_python_is_selected ; then
149 ewarn "Attempting to select a compatible default python interpreter"
150 local x success=0
151 for x in /usr/bin/python2.* ; do
152 x=${x#/usr/bin/python2.}
153 if [[ $x -ge 6 ]] 2>/dev/null ; then
154 eselect python set python2.$x
155 if compatible_python_is_selected ; then
156 elog "Default python interpreter is now set to python-2.$x"
157 success=1
158 break
159 fi
160 fi
161 done
162 if [ $success != 1 ] ; then
163 eerror "Unable to select a compatible default python interpreter!"
164 die "This version of portage requires at least python-2.6 to be selected as the default python interpreter (see \`eselect python --help\`)."
165 fi
166 fi
167
168 if use python3; then
169 python_set_active_version 3
170 fi
171 }
172
173 src_prepare() {
174 if [ -n "${PATCHVER}" ] ; then
175 if [[ -L $S/bin/ebuild-helpers/portageq ]] ; then
176 rm "$S/bin/ebuild-helpers/portageq" \
177 || die "failed to remove portageq helper symlink"
178 fi
179 epatch "${WORKDIR}/${PN}-${PATCHVER}.patch"
180 fi
181 einfo "Setting portage.VERSION to ${PVR} ..."
182 sed -i "s/^VERSION=.*/VERSION=\"${PVR}\"/" pym/portage/__init__.py || \
183 die "Failed to patch portage.VERSION"
184
185 if use python3; then
186 python_convert_shebangs -r 3 .
187 fi
188 }
189
190 src_compile() {
191 if use doc; then
192 cd "${S}"/doc
193 touch fragment/date
194 make xhtml xhtml-nochunks || die "failed to make docs"
195 fi
196
197 if use epydoc; then
198 einfo "Generating api docs"
199 mkdir "${WORKDIR}"/api
200 local my_modules epydoc_opts=""
201 # A name collision between the portage.dbapi class and the
202 # module with the same name triggers an epydoc crash unless
203 # portage.dbapi is excluded from introspection.
204 ROOT=/ has_version '>=dev-python/epydoc-3_pre0' && \
205 epydoc_opts='--exclude-introspect portage\.dbapi'
206 my_modules="$(find "${S}/pym" -name "*.py" \
207 | sed -e 's:/__init__.py$::' -e 's:\.py$::' -e "s:^${S}/pym/::" \
208 -e 's:/:.:g' | sort)" || die "error listing modules"
209 PYTHONPATH=${S}/pym:${PYTHONPATH:+:}${PYTHONPATH} \
210 epydoc -o "${WORKDIR}"/api \
211 -qqqqq --no-frames --show-imports $epydoc_opts \
212 --name "${PN}" --url "${HOMEPAGE}" \
213 ${my_modules} || die "epydoc failed"
214 fi
215 }
216
217 src_test() {
218 PYTHONPATH=${S}/pym:${PYTHONPATH:+:}${PYTHONPATH} \
219 ./pym/portage/tests/runTests || die "test(s) failed"
220 }
221
222 src_install() {
223 local libdir=$(get_libdir)
224 local portage_base="/usr/${libdir}/portage"
225 local portage_share_config=/usr/share/portage/config
226
227 cd "${S}"/cnf
228 insinto /etc
229 doins etc-update.conf dispatch-conf.conf || die
230
231 insinto "${portage_share_config}"
232 doins "${S}/cnf/"{sets.conf,make.globals} || die
233 if [ -f "make.conf.${ARCH}".diff ]; then
234 patch make.conf "make.conf.${ARCH}".diff || \
235 die "Failed to patch make.conf.example"
236 newins make.conf make.conf.example || die
237 else
238 eerror ""
239 eerror "Portage does not have an arch-specific configuration for this arch."
240 eerror "Please notify the arch maintainer about this issue. Using generic."
241 eerror ""
242 newins make.conf make.conf.example || die
243 fi
244
245 dosym ..${portage_share_config}/make.globals /etc/make.globals
246
247 insinto /etc/logrotate.d
248 doins "${S}"/cnf/logrotate.d/elog-save-summary || die
249
250 # BSD and OSX need a sed wrapper so that find/xargs work properly
251 if use userland_GNU; then
252 rm "${S}"/bin/ebuild-helpers/sed || die "Failed to remove sed wrapper"
253 fi
254
255 local x symlinks
256
257 # current tarball contains outdated stuff
258 rm -rf "$S"/bin/ebuild-helpers/3
259 for x in dohard dosed ; do
260 dosym ../../banned-helper ${portage_base}/bin/ebuild-helpers/4/$x
261 done
262
263 for x in $(find "$S"/bin -type d) ; do
264 x=${x#$S/}
265 exeinto $portage_base/$x || die "exeinto failed"
266 cd "$S"/$x || die "cd failed"
267 doexe $(find . -mindepth 1 -maxdepth 1 -type f ! -type l) || \
268 die "doexe failed"
269 symlinks=$(find . -mindepth 1 -maxdepth 1 -type l)
270 if [ -n "$symlinks" ] ; then
271 cp -P $symlinks "$D$portage_base/$x" || die "cp failed"
272 fi
273 done
274
275 for x in $(find "$S"/pym -type d) ; do
276 x=${x#$S/}
277 insinto $portage_base/$x || die "insinto failed"
278 cd "$S"/$x || die "cd failed"
279 doins *.py || die "doins failed"
280 symlinks=$(find . -mindepth 1 -maxdepth 1 -type l)
281 if [ -n "$symlinks" ] ; then
282 cp -P $symlinks "$D$portage_base/$x" || die "cp failed"
283 fi
284 done
285
286 # Symlinks to directories cause up/downgrade issues and the use of these
287 # modules outside of portage is probably negligible.
288 for x in "${D}${portage_base}/pym/"{cache,elog_modules} ; do
289 [ ! -L "${x}" ] && continue
290 die "symlink to directory will cause upgrade/downgrade issues: '${x}'"
291 done
292
293 exeinto ${portage_base}/pym/portage/tests
294 doexe "${S}"/pym/portage/tests/runTests
295
296 doman "${S}"/man/*.[0-9]
297 if use linguas_pl; then
298 doman -i18n=pl "${S_PL}"/man/pl/*.[0-9]
299 doman -i18n=pl_PL.UTF-8 "${S_PL}"/man/pl_PL.UTF-8/*.[0-9]
300 fi
301
302 dodoc "${S}"/{ChangeLog,NEWS,RELEASE-NOTES}
303 use doc && dohtml -r "${S}"/doc/*
304 use epydoc && dohtml -r "${WORKDIR}"/api
305
306 dodir /usr/bin
307 for x in ebuild egencache emerge portageq repoman ; do
308 dosym ../${libdir}/portage/bin/${x} /usr/bin/${x}
309 done
310
311 dodir /usr/sbin
312 local my_syms="archive-conf
313 dispatch-conf
314 emaint
315 emerge-webrsync
316 env-update
317 etc-update
318 fixpackages
319 quickpkg
320 regenworld"
321 local x
322 for x in ${my_syms}; do
323 dosym ../${libdir}/portage/bin/${x} /usr/sbin/${x}
324 done
325 dosym env-update /usr/sbin/update-env
326 dosym etc-update /usr/sbin/update-etc
327
328 dodir /etc/portage
329 keepdir /etc/portage
330 }
331
332 pkg_preinst() {
333 if ! use build && ! has_version dev-python/pycrypto && \
334 ! has_version '>=dev-lang/python-2.6[ssl]' ; then
335 ewarn "If you are an ebuild developer and you plan to commit ebuilds"
336 ewarn "with this system then please install dev-python/pycrypto or"
337 ewarn "enable the ssl USE flag for >=dev-lang/python-2.6 in order"
338 ewarn "to enable RMD160 hash support."
339 ewarn "See bug #198398 for more information."
340 fi
341 if [ -f "${ROOT}/etc/make.globals" ]; then
342 rm "${ROOT}/etc/make.globals"
343 fi
344
345 has_version "<${CATEGORY}/${PN}-2.2_alpha"
346 MINOR_UPGRADE=$?
347
348 has_version "<=${CATEGORY}/${PN}-2.2_pre5"
349 WORLD_MIGRATION_UPGRADE=$?
350
351 # If portage-2.1.6 is installed and the preserved_libs_registry exists,
352 # assume that the NEEDED.ELF.2 files have already been generated.
353 has_version "<=${CATEGORY}/${PN}-2.2_pre7" && \
354 ! ( [ -e "$ROOT"var/lib/portage/preserved_libs_registry ] && \
355 has_version ">=${CATEGORY}/${PN}-2.1.6_rc" )
356 NEEDED_REBUILD_UPGRADE=$?
357
358 [[ -n $PORTDIR_OVERLAY ]] && has_version "<${CATEGORY}/${PN}-2.1.6.12"
359 REPO_LAYOUT_CONF_WARN=$?
360 }
361
362 pkg_postinst() {
363 # Compile all source files recursively. Any orphans
364 # will be identified and removed in postrm.
365 python_mod_optimize /usr/$(get_libdir)/portage/pym
366
367 if [ $WORLD_MIGRATION_UPGRADE = 0 ] ; then
368 einfo "moving set references from the worldfile into world_sets"
369 cd "${ROOT}/var/lib/portage/"
370 grep "^@" world >> world_sets
371 sed -i -e '/^@/d' world
372 fi
373
374 if [ $NEEDED_REBUILD_UPGRADE = 0 ] ; then
375 einfo "rebuilding NEEDED.ELF.2 files"
376 for cpv in "${ROOT}/var/db/pkg"/*/*; do
377 if [ -f "${cpv}/NEEDED" ]; then
378 rm -f "${cpv}/NEEDED.ELF.2"
379 while read line; do
380 filename=${line% *}
381 needed=${line#* }
382 needed=${needed//+/++}
383 needed=${needed//#/##}
384 needed=${needed//%/%%}
385 newline=$(scanelf -BF "%a;%F;%S;%r;${needed}" $filename)
386 newline=${newline// - }
387 echo "${newline:3}" >> "${cpv}/NEEDED.ELF.2"
388 done < "${cpv}/NEEDED"
389 fi
390 done
391 fi
392
393 if [ $REPO_LAYOUT_CONF_WARN = 0 ] ; then
394 ewarn
395 echo "If you want overlay eclasses to override eclasses from" \
396 "other repos then see the portage(5) man page" \
397 "for information about the new layout.conf and repos.conf" \
398 "configuration files." \
399 | fmt -w 75 | while read -r ; do ewarn "$REPLY" ; done
400 ewarn
401 fi
402
403 einfo
404 einfo "For help with using portage please consult the Gentoo Handbook"
405 einfo "at http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3"
406 einfo
407
408 if [ $MINOR_UPGRADE = 0 ] ; then
409 elog "If you're upgrading from a pre-2.2 version of portage you might"
410 elog "want to remerge world (emerge -e world) to take full advantage"
411 elog "of some of the new features in 2.2."
412 elog "This is not required however for portage to function properly."
413 elog
414 fi
415
416 if [ -z "${PV/*_rc*}" ]; then
417 elog "If you always want to use the latest development version of portage"
418 elog "please read http://www.gentoo.org/proj/en/portage/doc/testing.xml"
419 elog
420 fi
421 }
422
423 pkg_postrm() {
424 python_mod_cleanup /usr/$(get_libdir)/portage/pym
425 }