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_rc68.ebuild
Date: Mon, 23 Aug 2010 05:51:38
Message-Id: 20100823055128.320472004E@flycatcher.gentoo.org
1 zmedico 10/08/23 05:51:28
2
3 Modified: ChangeLog
4 Added: portage-2.2_rc68.ebuild
5 Log:
6 2.2_rc68 version bump.
7
8 (Portage version: 2.2_rc68/cvs/Linux i686)
9
10 Revision Changes Path
11 1.710 sys-apps/portage/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-apps/portage/ChangeLog?rev=1.710&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-apps/portage/ChangeLog?rev=1.710&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-apps/portage/ChangeLog?r1=1.709&r2=1.710
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/sys-apps/portage/ChangeLog,v
20 retrieving revision 1.709
21 retrieving revision 1.710
22 diff -u -r1.709 -r1.710
23 --- ChangeLog 14 Aug 2010 18:55:53 -0000 1.709
24 +++ ChangeLog 23 Aug 2010 05:51:28 -0000 1.710
25 @@ -1,6 +1,49 @@
26 # ChangeLog for sys-apps/portage
27 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/ChangeLog,v 1.709 2010/08/14 18:55:53 zmedico Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/ChangeLog,v 1.710 2010/08/23 05:51:28 zmedico Exp $
30 +
31 +*portage-2.2_rc68 (23 Aug 2010)
32 +
33 + 23 Aug 2010; Zac Medico <zmedico@g.o> +portage-2.2_rc68.ebuild:
34 + 2.2_rc68 version bump. This fixes bug #44796 (package.env for
35 + per-package environment variables, bug #267103 (add /etc/portage to
36 + CONFIG_PROTECT_MASK), bug #275789 (ignore CVS directories inside
37 + package.* config directories), bug #278895 (emerge hangs due to
38 + orphan ebuild subprocesses, bug #285191 (RDEPEND.implicit warning for
39 + repoman), bug #292083 (package.accept_keywords for profiles), bug
40 + #305035 (emerge -p support for PORTAGE_RO_DISTDIR), #308835 (econf
41 + support for CONFIG_SHELL), bug #309149 (eend display adjustments),
42 + bug #309699 (clarify emerge -e docs), bug #309907 (apply package moves
43 + to package.license), bug #310135 (disable repoman changelog.ebuildadded
44 + check for git), bug #310947 (prevent emerge atom arguments from expanding
45 + to unavailable categories), bug #312085 (improved implicit IUSE support
46 + for minimal profiles), bug #315615 (fix config file permission issues
47 + with userpriv), bug #315709 and bug #315741 (whitespace and unicode
48 + handling for PORTDIR_OVERLAY), bug #317133 (exeinto typo in man page),
49 + bug #317775 (UnicodeEncodeError in merge list display), bug #317921
50 + (variable typo in man page), bug #318241 (include LICENSE file in
51 + tarball), bug #320755 (fix ebuild(1) to only run test phase once), bug
52 + #321145 (fix error handling in ebuild.sh), bug #321871 (make repoman
53 + check all manifest entries), bug #324075 (fix repoman copyright date
54 + warnings for git), bug #324191 (FEATURES=compress-build-logs), bug #325505
55 + (UnicodeEncodeError in emerge --info), bug #326553 (repoman warning for
56 + preserve_old_lib), bug #326561 (emerge warning about unknown FEATURES
57 + settings), bug #326787 (intermittent unsatisfied build-time dependencies
58 + with --jobs), bug #327507 (make FEATURES=usersync drop privileges
59 + for all rsync invocations), bug #327883 (intermittent loss of build
60 + logs), bug #328099 (add warning in FEATURES=ccache docs), bug #328317
61 + (merge os-headers before libc), bug #328935 (document substitution in
62 + PORTAGE_ELOG_MAILSUBJECT), bug #329159 (disable file owner lookup when
63 + collision features are disabled), bug #329803 (make --depclean show a
64 + machine-readable list of selected atoms), bug #330179 (fix emerge to show
65 + a masking message instead of missing IUSE when appropriate), bug #330645
66 + (autouse AttributeError triggered by missing portage group), bug #330937
67 + (handle IOError raisedby array.fromfile() in recent python), bug #331271
68 + (fix USE_EXPAND wildcards to work correctly with incremental negation),
69 + bug #331413 (clarify atom operator docs), bug #332799 (fix emerge-webrsync
70 + to only download bz2 snapshots if tarsync is installed), and bug #332967
71 + (movefile issue with binary packages). Bug #210077 tracks all bugs
72 + fixed since 2.1.8.3 and 2.2_rc67.
73
74 14 Aug 2010; Zac Medico <zmedico@g.o> portage-9999.ebuild:
75 Use runtests.sh in src_test().
76
77
78
79 1.1 sys-apps/portage/portage-2.2_rc68.ebuild
80
81 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-apps/portage/portage-2.2_rc68.ebuild?rev=1.1&view=markup
82 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-apps/portage/portage-2.2_rc68.ebuild?rev=1.1&content-type=text/plain
83
84 Index: portage-2.2_rc68.ebuild
85 ===================================================================
86 # Copyright 1999-2010 Gentoo Foundation
87 # Distributed under the terms of the GNU General Public License v2
88 # $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-2.2_rc68.ebuild,v 1.1 2010/08/23 05:51:28 zmedico Exp $
89
90 # Require EAPI 2 since we now require at least python-2.6 (for python 3
91 # syntax support) which also requires EAPI 2.
92 EAPI=2
93 inherit eutils multilib python
94
95 DESCRIPTION="Portage is the package management and distribution system for Gentoo"
96 HOMEPAGE="http://www.gentoo.org/proj/en/portage/index.xml"
97 LICENSE="GPL-2"
98 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
99 PROVIDE="virtual/portage"
100 SLOT="0"
101 IUSE="build doc epydoc linguas_pl python3 selinux"
102
103 python_dep="python3? ( =dev-lang/python-3* )
104 !python3? (
105 build? ( || ( dev-lang/python:2.8 dev-lang/python:2.7 dev-lang/python:2.6 ) )
106 !build? ( || ( dev-lang/python:2.8 dev-lang/python:2.7 dev-lang/python:2.6 >=dev-lang/python-3 ) )
107 )"
108
109 # The pysqlite blocker is for bug #282760.
110 DEPEND="${python_dep}
111 !build? ( >=sys-apps/sed-4.0.5 )
112 doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 )
113 epydoc? ( >=dev-python/epydoc-2.0 !<=dev-python/pysqlite-2.4.1 )"
114 # Require sandbox-2.2 for bug #288863.
115 RDEPEND="${python_dep}
116 !build? ( >=sys-apps/sed-4.0.5
117 >=app-shells/bash-3.2_p17
118 >=app-admin/eselect-1.2 )
119 elibc_FreeBSD? ( sys-freebsd/freebsd-bin )
120 elibc_glibc? ( >=sys-apps/sandbox-2.2 )
121 elibc_uclibc? ( >=sys-apps/sandbox-2.2 )
122 >=app-misc/pax-utils-0.1.17
123 selinux? ( sys-libs/libselinux )"
124 PDEPEND="
125 !build? (
126 >=net-misc/rsync-2.6.4
127 userland_GNU? ( >=sys-apps/coreutils-6.4 )
128 )"
129 # coreutils-6.4 rdep is for date format in emerge-webrsync #164532
130 # rsync-2.6.4 rdep is for the --filter option #167668
131
132 SRC_ARCHIVES="http://dev.gentoo.org/~zmedico/portage/archives"
133
134 prefix_src_archives() {
135 local x y
136 for x in ${@}; do
137 for y in ${SRC_ARCHIVES}; do
138 echo ${y}/${x}
139 done
140 done
141 }
142
143 PV_PL="2.1.2"
144 PATCHVER_PL=""
145 TARBALL_PV=2.2_rc68
146 SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
147 $(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)
148 linguas_pl? ( mirror://gentoo/${PN}-man-pl-${PV_PL}.tar.bz2
149 $(prefix_src_archives ${PN}-man-pl-${PV_PL}.tar.bz2) )"
150
151 PATCHVER=
152 if [ -n "${PATCHVER}" ]; then
153 SRC_URI="${SRC_URI} mirror://gentoo/${PN}-${PATCHVER}.patch.bz2
154 $(prefix_src_archives ${PN}-${PATCHVER}.patch.bz2)"
155 fi
156
157 S="${WORKDIR}"/${PN}-${TARBALL_PV}
158 S_PL="${WORKDIR}"/${PN}-${PV_PL}
159
160 compatible_python_is_selected() {
161 [[ $(/usr/bin/python -c 'import sys ; sys.stdout.write(sys.hexversion >= 0x2060000 and "good" or "bad")') = good ]]
162 }
163
164 pkg_setup() {
165 if ! use python3 && ! compatible_python_is_selected ; then
166 ewarn "Attempting to select a compatible default python interpreter"
167 local x success=0
168 for x in /usr/bin/python2.* ; do
169 x=${x#/usr/bin/python2.}
170 if [[ $x -ge 6 ]] 2>/dev/null ; then
171 eselect python set python2.$x
172 if compatible_python_is_selected ; then
173 elog "Default python interpreter is now set to python-2.$x"
174 success=1
175 break
176 fi
177 fi
178 done
179 if [ $success != 1 ] ; then
180 eerror "Unable to select a compatible default python interpreter!"
181 die "This version of portage requires at least python-2.6 to be selected as the default python interpreter (see \`eselect python --help\`)."
182 fi
183 fi
184
185 if use python3; then
186 python_set_active_version 3
187 fi
188 }
189
190 src_prepare() {
191 if [ -n "${PATCHVER}" ] ; then
192 if [[ -L $S/bin/ebuild-helpers/portageq ]] ; then
193 rm "$S/bin/ebuild-helpers/portageq" \
194 || die "failed to remove portageq helper symlink"
195 fi
196 epatch "${WORKDIR}/${PN}-${PATCHVER}.patch"
197 fi
198 einfo "Setting portage.VERSION to ${PVR} ..."
199 sed -i "s/^VERSION=.*/VERSION=\"${PVR}\"/" pym/portage/__init__.py || \
200 die "Failed to patch portage.VERSION"
201
202 if use python3; then
203 python_convert_shebangs -r 3 .
204 fi
205 }
206
207 src_compile() {
208 if use doc; then
209 cd "${S}"/doc
210 touch fragment/date
211 make xhtml xhtml-nochunks || die "failed to make docs"
212 fi
213
214 if use epydoc; then
215 einfo "Generating api docs"
216 mkdir "${WORKDIR}"/api
217 local my_modules epydoc_opts=""
218 my_modules="$(find "${S}/pym" -name "*.py" \
219 | sed -e 's:/__init__.py$::' -e 's:\.py$::' -e "s:^${S}/pym/::" \
220 -e 's:/:.:g' | sort)" || die "error listing modules"
221 # workaround for bug 282760
222 > "$S/pym/pysqlite2.py"
223 PYTHONPATH=${S}/pym:${PYTHONPATH:+:}${PYTHONPATH} \
224 epydoc -o "${WORKDIR}"/api \
225 -qqqqq --no-frames --show-imports $epydoc_opts \
226 --name "${PN}" --url "${HOMEPAGE}" \
227 ${my_modules} || die "epydoc failed"
228 rm "$S/pym/pysqlite2.py"
229 fi
230 }
231
232 src_test() {
233 # make files executable, in case they were created by patch
234 find bin -type f | xargs chmod +x
235 PYTHONPATH=${S}/pym:${PYTHONPATH:+:}${PYTHONPATH} \
236 ./pym/portage/tests/runTests || die "test(s) failed"
237 }
238
239 src_install() {
240 local libdir=$(get_libdir)
241 local portage_base="/usr/${libdir}/portage"
242 local portage_share_config=/usr/share/portage/config
243
244 cd "${S}"/cnf
245 insinto /etc
246 doins etc-update.conf dispatch-conf.conf || die
247
248 # This allows config file updates that are applied for package
249 # moves to take effect immediately.
250 echo 'CONFIG_PROTECT_MASK="/etc/portage"' > "$T"/50portage \
251 || die "failed to create 50portage"
252 doenvd "$T"/50portage || die "doenvd 50portage failed"
253 rm "$T"/50portage
254
255 insinto "$portage_share_config/sets"
256 doins "$S"/cnf/sets/*.conf || die
257 insinto "$portage_share_config"
258 doins "$S/cnf/make.globals" || die
259 if [ -f "make.conf.${ARCH}".diff ]; then
260 patch make.conf "make.conf.${ARCH}".diff || \
261 die "Failed to patch make.conf.example"
262 newins make.conf make.conf.example || die
263 else
264 eerror ""
265 eerror "Portage does not have an arch-specific configuration for this arch."
266 eerror "Please notify the arch maintainer about this issue. Using generic."
267 eerror ""
268 newins make.conf make.conf.example || die
269 fi
270
271 dosym ..${portage_share_config}/make.globals /etc/make.globals
272
273 insinto /etc/logrotate.d
274 doins "${S}"/cnf/logrotate.d/elog-save-summary || die
275
276 # BSD and OSX need a sed wrapper so that find/xargs work properly
277 if use userland_GNU; then
278 rm "${S}"/bin/ebuild-helpers/sed || die "Failed to remove sed wrapper"
279 fi
280
281 local x symlinks
282
283 cd "$S" || die "cd failed"
284 for x in $(find bin -type d) ; do
285 exeinto $portage_base/$x || die "exeinto failed"
286 cd "$S"/$x || die "cd failed"
287 doexe $(find . -mindepth 1 -maxdepth 1 -type f ! -type l) || \
288 die "doexe failed"
289 symlinks=$(find . -mindepth 1 -maxdepth 1 -type l)
290 if [ -n "$symlinks" ] ; then
291 cp -P $symlinks "$D$portage_base/$x" || die "cp failed"
292 fi
293 done
294
295 cd "$S" || die "cd failed"
296 for x in $(find pym/* -type d) ; do
297 insinto $portage_base/$x || die "insinto failed"
298 cd "$S"/$x || die "cd failed"
299 doins *.py || die "doins failed"
300 symlinks=$(find . -mindepth 1 -maxdepth 1 -type l)
301 if [ -n "$symlinks" ] ; then
302 cp -P $symlinks "$D$portage_base/$x" || die "cp failed"
303 fi
304 done
305
306 # Symlinks to directories cause up/downgrade issues and the use of these
307 # modules outside of portage is probably negligible.
308 for x in "${D}${portage_base}/pym/"{cache,elog_modules} ; do
309 [ ! -L "${x}" ] && continue
310 die "symlink to directory will cause upgrade/downgrade issues: '${x}'"
311 done
312
313 exeinto ${portage_base}/pym/portage/tests
314 doexe "${S}"/pym/portage/tests/runTests
315
316 doman "${S}"/man/*.[0-9]
317 if use linguas_pl; then
318 doman -i18n=pl "${S_PL}"/man/pl/*.[0-9]
319 doman -i18n=pl_PL.UTF-8 "${S_PL}"/man/pl_PL.UTF-8/*.[0-9]
320 fi
321
322 dodoc "${S}"/{ChangeLog,NEWS,RELEASE-NOTES}
323 use doc && dohtml -r "${S}"/doc/*
324 use epydoc && dohtml -r "${WORKDIR}"/api
325
326 dodir /usr/bin
327 for x in ebuild egencache emerge portageq repoman ; do
328 dosym ../${libdir}/portage/bin/${x} /usr/bin/${x}
329 done
330
331 dodir /usr/sbin
332 local my_syms="archive-conf
333 dispatch-conf
334 emaint
335 emerge-webrsync
336 env-update
337 etc-update
338 fixpackages
339 quickpkg
340 regenworld"
341 local x
342 for x in ${my_syms}; do
343 dosym ../${libdir}/portage/bin/${x} /usr/sbin/${x}
344 done
345 dosym env-update /usr/sbin/update-env
346 dosym etc-update /usr/sbin/update-etc
347
348 dodir /etc/portage
349 keepdir /etc/portage
350 }
351
352 pkg_preinst() {
353 if ! use build && ! has_version dev-python/pycrypto && \
354 ! has_version '>=dev-lang/python-2.6[ssl]' ; then
355 ewarn "If you are an ebuild developer and you plan to commit ebuilds"
356 ewarn "with this system then please install dev-python/pycrypto or"
357 ewarn "enable the ssl USE flag for >=dev-lang/python-2.6 in order"
358 ewarn "to enable RMD160 hash support."
359 ewarn "See bug #198398 for more information."
360 fi
361 if [ -f "${ROOT}/etc/make.globals" ]; then
362 rm "${ROOT}/etc/make.globals"
363 fi
364
365 has_version "<${CATEGORY}/${PN}-2.2_alpha"
366 MINOR_UPGRADE=$?
367
368 has_version "<=${CATEGORY}/${PN}-2.2_pre5"
369 WORLD_MIGRATION_UPGRADE=$?
370
371 # If portage-2.1.6 is installed and the preserved_libs_registry exists,
372 # assume that the NEEDED.ELF.2 files have already been generated.
373 has_version "<=${CATEGORY}/${PN}-2.2_pre7" && \
374 ! ( [ -e "$ROOT"var/lib/portage/preserved_libs_registry ] && \
375 has_version ">=${CATEGORY}/${PN}-2.1.6_rc" )
376 NEEDED_REBUILD_UPGRADE=$?
377
378 [[ -n $PORTDIR_OVERLAY ]] && has_version "<${CATEGORY}/${PN}-2.1.6.12"
379 REPO_LAYOUT_CONF_WARN=$?
380 }
381
382 pkg_postinst() {
383 # Compile all source files recursively. Any orphans
384 # will be identified and removed in postrm.
385 python_mod_optimize /usr/$(get_libdir)/portage/pym
386
387 if [ $WORLD_MIGRATION_UPGRADE = 0 ] ; then
388 einfo "moving set references from the worldfile into world_sets"
389 cd "${ROOT}/var/lib/portage/"
390 grep "^@" world >> world_sets
391 sed -i -e '/^@/d' world
392 fi
393
394 if [ $NEEDED_REBUILD_UPGRADE = 0 ] ; then
395 einfo "rebuilding NEEDED.ELF.2 files"
396 for cpv in "${ROOT}/var/db/pkg"/*/*; do
397 if [ -f "${cpv}/NEEDED" ]; then
398 rm -f "${cpv}/NEEDED.ELF.2"
399 while read line; do
400 filename=${line% *}
401 needed=${line#* }
402 needed=${needed//+/++}
403 needed=${needed//#/##}
404 needed=${needed//%/%%}
405 newline=$(scanelf -BF "%a;%F;%S;%r;${needed}" $filename)
406 newline=${newline// - }
407 echo "${newline:3}" >> "${cpv}/NEEDED.ELF.2"
408 done < "${cpv}/NEEDED"
409 fi
410 done
411 fi
412
413 if [ $REPO_LAYOUT_CONF_WARN = 0 ] ; then
414 ewarn
415 echo "If you want overlay eclasses to override eclasses from" \
416 "other repos then see the portage(5) man page" \
417 "for information about the new layout.conf and repos.conf" \
418 "configuration files." \
419 | fmt -w 75 | while read -r ; do ewarn "$REPLY" ; done
420 ewarn
421 fi
422
423 einfo
424 einfo "For help with using portage please consult the Gentoo Handbook"
425 einfo "at http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3"
426 einfo
427
428 if [ $MINOR_UPGRADE = 0 ] ; then
429 elog "If you're upgrading from a pre-2.2 version of portage you might"
430 elog "want to remerge world (emerge -e world) to take full advantage"
431 elog "of some of the new features in 2.2."
432 elog "This is not required however for portage to function properly."
433 elog
434 fi
435
436 if [ -z "${PV/*_rc*}" ]; then
437 elog "If you always want to use the latest development version of portage"
438 elog "please read http://www.gentoo.org/proj/en/portage/doc/testing.xml"
439 elog
440 fi
441 }
442
443 pkg_postrm() {
444 python_mod_cleanup /usr/$(get_libdir)/portage/pym
445 }