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_rc34.ebuild
Date: Mon, 03 Aug 2009 22:55:38
Message-Id: E1MY6RM-00062n-3H@stork.gentoo.org
1 zmedico 09/08/03 22:55:36
2
3 Modified: ChangeLog
4 Added: portage-2.2_rc34.ebuild
5 Log:
6 03 Aug 2009; Zac Medico <zmedico@g.o> +portage-2.2_rc34.ebuild:
7 2.2_rc34 bump. This fixes bug #82488 (problem in evaluation of conditional
8 PROVIDE), bug #137562 (backtracking for unsatisfied deps), bug #236786
9 (repoman warning for test useflag in RDEPEND), bug #253467 (fix possible
10 interference with portage environment variables), bug #258684 (move sandbox
11 variables from ebuild.sh), bug #264434 (lazy evaluation of || deps),
12 bug #268929 (strict-aliasing check for gcc 4.4), bug #270040 (fix repoman
13 to handle overlay categories), bug #270658 (fix usev to comply with PMS),
14 bug #270953 (fix !!atom blockers to work for package is same slot),
15 bug #272063 (fix docbook xml to work with xmlto-0.0.22), bug #273020
16 (document FEATURES=multilib-strict), bug #274279 (color.map support for
17 color=color), bug #274742 (remove repoman quoting check for "dir" variable,
18 bug #275047 (split _emerge python module), bug #275217 (backtracking for
19 slot conflicts), bug #275796 (make || deps prefer packages in graph over
20 installed packages), bug #275821 (make emerge reject !!atom blockers for
21 old EAPIs), bug #275901 (make emerge reject USE deps for old EAPIs),
22 bug #275945 (make emerge avoid updates unless --update is enabled),
23 bug #275947 (enable build.log on selinux), bug #276264 (document cache
24 issues with eclass-overrides), bug #276813 (performance improvements),
25 bug #276866 (--binpkg-respect-use option), and bug #278729 (prevent
26 interaction between || deps and unsatisfied USE deps).
27 (Portage version: 2.2_rc34/cvs/Linux i686)
28
29 Revision Changes Path
30 1.620 sys-apps/portage/ChangeLog
31
32 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/portage/ChangeLog?rev=1.620&view=markup
33 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/portage/ChangeLog?rev=1.620&content-type=text/plain
34 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/portage/ChangeLog?r1=1.619&r2=1.620
35
36 Index: ChangeLog
37 ===================================================================
38 RCS file: /var/cvsroot/gentoo-x86/sys-apps/portage/ChangeLog,v
39 retrieving revision 1.619
40 retrieving revision 1.620
41 diff -u -r1.619 -r1.620
42 --- ChangeLog 2 Aug 2009 19:51:34 -0000 1.619
43 +++ ChangeLog 3 Aug 2009 22:55:35 -0000 1.620
44 @@ -1,6 +1,30 @@
45 # ChangeLog for sys-apps/portage
46 # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
47 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/ChangeLog,v 1.619 2009/08/02 19:51:34 zmedico Exp $
48 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/ChangeLog,v 1.620 2009/08/03 22:55:35 zmedico Exp $
49 +
50 +*portage-2.2_rc34 (03 Aug 2009)
51 +
52 + 03 Aug 2009; Zac Medico <zmedico@g.o> +portage-2.2_rc34.ebuild:
53 + 2.2_rc34 bump. This fixes bug #82488 (problem in evaluation of conditional
54 + PROVIDE), bug #137562 (backtracking for unsatisfied deps), bug #236786
55 + (repoman warning for test useflag in RDEPEND), bug #253467 (fix possible
56 + interference with portage environment variables), bug #258684 (move sandbox
57 + variables from ebuild.sh), bug #264434 (lazy evaluation of || deps),
58 + bug #268929 (strict-aliasing check for gcc 4.4), bug #270040 (fix repoman
59 + to handle overlay categories), bug #270658 (fix usev to comply with PMS),
60 + bug #270953 (fix !!atom blockers to work for package is same slot),
61 + bug #272063 (fix docbook xml to work with xmlto-0.0.22), bug #273020
62 + (document FEATURES=multilib-strict), bug #274279 (color.map support for
63 + color=color), bug #274742 (remove repoman quoting check for "dir" variable,
64 + bug #275047 (split _emerge python module), bug #275217 (backtracking for
65 + slot conflicts), bug #275796 (make || deps prefer packages in graph over
66 + installed packages), bug #275821 (make emerge reject !!atom blockers for
67 + old EAPIs), bug #275901 (make emerge reject USE deps for old EAPIs),
68 + bug #275945 (make emerge avoid updates unless --update is enabled),
69 + bug #275947 (enable build.log on selinux), bug #276264 (document cache
70 + issues with eclass-overrides), bug #276813 (performance improvements),
71 + bug #276866 (--binpkg-respect-use option), and bug #278729 (prevent
72 + interaction between || deps and unsatisfied USE deps).
73
74 02 Aug 2009; Zac Medico <zmedico@g.o> portage-2.1.6.13.ebuild,
75 portage-2.2_rc33.ebuild:
76
77
78
79 1.1 sys-apps/portage/portage-2.2_rc34.ebuild
80
81 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/portage/portage-2.2_rc34.ebuild?rev=1.1&view=markup
82 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/portage/portage-2.2_rc34.ebuild?rev=1.1&content-type=text/plain
83
84 Index: portage-2.2_rc34.ebuild
85 ===================================================================
86 # Copyright 1999-2009 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_rc34.ebuild,v 1.1 2009/08/03 22:55:36 zmedico Exp $
89
90 inherit eutils multilib python
91
92 DESCRIPTION="Portage is the package management and distribution system for Gentoo"
93 HOMEPAGE="http://www.gentoo.org/proj/en/portage/index.xml"
94 LICENSE="GPL-2"
95 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
96 PROVIDE="virtual/portage"
97 SLOT="0"
98 IUSE="build doc epydoc selinux linguas_pl"
99
100 python_dep=">=dev-lang/python-2.5 <dev-lang/python-3.0"
101
102 DEPEND="${python_dep}
103 !build? ( >=sys-apps/sed-4.0.5 )
104 doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 )
105 epydoc? ( >=dev-python/epydoc-2.0 )"
106 RDEPEND="${python_dep}
107 !build? ( >=sys-apps/sed-4.0.5
108 >=app-shells/bash-3.2_p17
109 || ( >=app-admin/eselect-news-20071201 >=app-admin/eselect-1.1 ) )
110 elibc_FreeBSD? ( sys-freebsd/freebsd-bin )
111 elibc_glibc? ( >=sys-apps/sandbox-1.6 )
112 elibc_uclibc? ( >=sys-apps/sandbox-1.6 )
113 >=app-misc/pax-utils-0.1.17
114 selinux? ( >=dev-python/python-selinux-2.16 )"
115 PDEPEND="
116 !build? (
117 >=net-misc/rsync-2.6.4
118 userland_GNU? ( >=sys-apps/coreutils-6.4 )
119 )"
120 # coreutils-6.4 rdep is for date format in emerge-webrsync #164532
121 # rsync-2.6.4 rdep is for the --filter option #167668
122
123 SRC_ARCHIVES="http://dev.gentoo.org/~zmedico/portage/archives"
124
125 prefix_src_archives() {
126 local x y
127 for x in ${@}; do
128 for y in ${SRC_ARCHIVES}; do
129 echo ${y}/${x}
130 done
131 done
132 }
133
134 PV_PL="2.1.2"
135 PATCHVER_PL=""
136 TARBALL_PV=$PV
137 SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
138 $(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)
139 linguas_pl? ( mirror://gentoo/${PN}-man-pl-${PV_PL}.tar.bz2
140 $(prefix_src_archives ${PN}-man-pl-${PV_PL}.tar.bz2) )"
141
142 PATCHVER=
143 if [ -n "${PATCHVER}" ]; then
144 SRC_URI="${SRC_URI} mirror://gentoo/${PN}-${PATCHVER}.patch.bz2
145 $(prefix_src_archives ${PN}-${PATCHVER}.patch.bz2)"
146 fi
147
148 S="${WORKDIR}"/${PN}-${TARBALL_PV}
149 S_PL="${WORKDIR}"/${PN}-${PV_PL}
150
151 src_unpack() {
152 unpack ${A}
153 cd "${S}"
154 if [ -n "${PATCHVER}" ]; then
155 cd "${S}"
156 epatch "${WORKDIR}/${PN}-${PATCHVER}.patch"
157 fi
158 einfo "Setting portage.VERSION to ${PVR} ..."
159 sed -i "s/^VERSION=.*/VERSION=\"${PVR}\"/" pym/portage/__init__.py || \
160 die "Failed to patch portage.VERSION"
161 }
162
163 src_compile() {
164
165 if use doc; then
166 cd "${S}"/doc
167 touch fragment/date
168 # Workaround for bug #272063, remove in next portage release.
169 sed 's:^XMLTO_FLAGS =:XMLTO_FLAGS = --skip-validation:' -i Makefile
170 make xhtml xhtml-nochunks || die "failed to make docs"
171 fi
172
173 if use epydoc; then
174 einfo "Generating api docs"
175 mkdir "${WORKDIR}"/api
176 local my_modules epydoc_opts=""
177 # A name collision between the portage.dbapi class and the
178 # module with the same name triggers an epydoc crash unless
179 # portage.dbapi is excluded from introspection.
180 ROOT=/ has_version '>=dev-python/epydoc-3_pre0' && \
181 epydoc_opts='--exclude-introspect portage\.dbapi'
182 my_modules="$(find "${S}/pym" -name "*.py" \
183 | sed -e 's:/__init__.py$::' -e 's:\.py$::' -e "s:^${S}/pym/::" \
184 -e 's:/:.:g' | sort)" || die "error listing modules"
185 PYTHONPATH="${S}/pym:${PYTHONPATH}" epydoc -o "${WORKDIR}"/api \
186 -qqqqq --no-frames --show-imports $epydoc_opts \
187 --name "${PN}" --url "${HOMEPAGE}" \
188 ${my_modules} || die "epydoc failed"
189 fi
190 }
191
192 src_test() {
193 ./pym/portage/tests/runTests || \
194 die "test(s) failed"
195 }
196
197 src_install() {
198 local libdir=$(get_libdir)
199 local portage_base="/usr/${libdir}/portage"
200 local portage_share_config=/usr/share/portage/config
201
202 cd "${S}"/cnf
203 insinto /etc
204 doins etc-update.conf dispatch-conf.conf
205
206 dodir "${portage_share_config}"
207 insinto "${portage_share_config}"
208 doins "${S}/cnf/"{sets.conf,make.globals}
209 if [ -f "make.conf.${ARCH}".diff ]; then
210 patch make.conf "make.conf.${ARCH}".diff || \
211 die "Failed to patch make.conf.example"
212 newins make.conf make.conf.example
213 else
214 eerror ""
215 eerror "Portage does not have an arch-specific configuration for this arch."
216 eerror "Please notify the arch maintainer about this issue. Using generic."
217 eerror ""
218 newins make.conf make.conf.example
219 fi
220
221 dosym ..${portage_share_config}/make.globals /etc/make.globals
222
223 insinto /etc/logrotate.d
224 doins "${S}"/cnf/logrotate.d/elog-save-summary
225
226 # BSD and OSX need a sed wrapper so that find/xargs work properly
227 if use userland_GNU; then
228 rm "${S}"/bin/ebuild-helpers/sed || die "Failed to remove sed wrapper"
229 fi
230
231 for x in $(find "$S"/bin -type d) ; do
232 x=${x#$S/}
233 dodir $portage_base/$x || die "dodir failed"
234 exeinto $portage_base/$x || die "exeinto failed"
235 cd "$S"/$x || die "cd failed"
236 doexe $(find . -mindepth 1 -maxdepth 1 -type f ! -type l) || \
237 die "doexe failed"
238 symlinks=$(find . -mindepth 1 -maxdepth 1 -type l)
239 if [ -n "$symlinks" ] ; then
240 cp -P $symlinks "$D$portage_base/$x" || die "cp failed"
241 fi
242 done
243
244 for x in $(find "$S"/pym -type d) ; do
245 x=${x#$S/}
246 dodir $portage_base/$x || die "dodir failed"
247 insinto $portage_base/$x || die "insinto failed"
248 cd "$S"/$x || die "cd failed"
249 doins *.py || die "doins failed"
250 symlinks=$(find . -mindepth 1 -maxdepth 1 -type l)
251 if [ -n "$symlinks" ] ; then
252 cp -P $symlinks "$D$portage_base/$x" || die "cp failed"
253 fi
254 done
255
256 # Symlinks to directories cause up/downgrade issues and the use of these
257 # modules outside of portage is probably negligible.
258 for x in "${D}${portage_base}/pym/"{cache,elog_modules} ; do
259 [ ! -L "${x}" ] && continue
260 die "symlink to directory will cause upgrade/downgrade issues: '${x}'"
261 done
262
263 exeinto ${portage_base}/pym/portage/tests
264 doexe "${S}"/pym/portage/tests/runTests
265
266 doman "${S}"/man/*.[0-9]
267 if use linguas_pl; then
268 doman -i18n=pl "${S_PL}"/man/pl/*.[0-9]
269 doman -i18n=pl_PL.UTF-8 "${S_PL}"/man/pl_PL.UTF-8/*.[0-9]
270 fi
271
272 dodoc "${S}"/{ChangeLog,NEWS,RELEASE-NOTES}
273 use doc && dohtml -r "${S}"/doc/*
274 use epydoc && dohtml -r "${WORKDIR}"/api
275
276 dodir /usr/bin
277 for x in ebuild egencache emerge portageq repoman xpak; do
278 dosym ../${libdir}/portage/bin/${x} /usr/bin/${x}
279 done
280
281 dodir /usr/sbin
282 local my_syms="archive-conf
283 dispatch-conf
284 emaint
285 emerge-webrsync
286 env-update
287 etc-update
288 fixpackages
289 quickpkg
290 regenworld"
291 local x
292 for x in ${my_syms}; do
293 dosym ../${libdir}/portage/bin/${x} /usr/sbin/${x}
294 done
295 dosym env-update /usr/sbin/update-env
296 dosym etc-update /usr/sbin/update-etc
297
298 dodir /etc/portage
299 keepdir /etc/portage
300 }
301
302 pkg_preinst() {
303 if ! use build && ! has_version dev-python/pycrypto && \
304 has_version '>=dev-lang/python-2.5' ; then
305 if ! built_with_use '>=dev-lang/python-2.5' ssl ; then
306 ewarn "If you are an ebuild developer and you plan to commit ebuilds"
307 ewarn "with this system then please install dev-python/pycrypto or"
308 ewarn "enable the ssl USE flag for >=dev-lang/python-2.5 in order"
309 ewarn "to enable RMD160 hash support."
310 ewarn "See bug #198398 for more information."
311 fi
312 fi
313 if [ -f "${ROOT}/etc/make.globals" ]; then
314 rm "${ROOT}/etc/make.globals"
315 fi
316
317 has_version "<${CATEGORY}/${PN}-2.2_alpha"
318 MINOR_UPGRADE=$?
319
320 has_version "<=${CATEGORY}/${PN}-2.2_pre5"
321 WORLD_MIGRATION_UPGRADE=$?
322
323 # If portage-2.1.6 is installed and the preserved_libs_registry exists,
324 # assume that the NEEDED.ELF.2 files have already been generated.
325 has_version "<=${CATEGORY}/${PN}-2.2_pre7" && \
326 ! ( [ -e "$ROOT"var/lib/portage/preserved_libs_registry ] && \
327 has_version ">=${CATEGORY}/${PN}-2.1.6_rc" )
328 NEEDED_REBUILD_UPGRADE=$?
329
330 has_version "<${CATEGORY}/${PN}-2.2_alpha"
331 ADD_SYSTEM_TO_WORLD=$?
332
333 if [ $ADD_SYSTEM_TO_WORLD != 0 -a "$ROOT" != / ] && \
334 ! has_version "${CATEGORY}/${PN}" ; then
335 # building stage 1
336 ADD_SYSTEM_TO_WORLD=0
337 fi
338
339 [[ -n $PORTDIR_OVERLAY ]] && has_version "<${CATEGORY}/${PN}-2.1.6.12"
340 REPO_LAYOUT_CONF_WARN=$?
341 }
342
343 pkg_postinst() {
344 # Compile all source files recursively. Any orphans
345 # will be identified and removed in postrm.
346 python_mod_optimize /usr/$(get_libdir)/portage/pym
347
348 if [ $ADD_SYSTEM_TO_WORLD = 0 ] && \
349 [ ! -e "$ROOT"var/lib/portage/world_sets ] ; then
350 einfo "adding @system to world_sets for backward compatibility"
351 echo @system > "$ROOT"var/lib/portage/world_sets
352 fi
353
354 if [ $WORLD_MIGRATION_UPGRADE = 0 ] ; then
355 einfo "moving set references from the worldfile into world_sets"
356 cd "${ROOT}/var/lib/portage/"
357 grep "^@" world >> world_sets
358 sed -i -e '/^@/d' world
359 fi
360
361 if [ $NEEDED_REBUILD_UPGRADE = 0 ] ; then
362 einfo "rebuilding NEEDED.ELF.2 files"
363 for cpv in "${ROOT}/var/db/pkg"/*/*; do
364 if [ -f "${cpv}/NEEDED" ]; then
365 rm -f "${cpv}/NEEDED.ELF.2"
366 while read line; do
367 filename=${line% *}
368 needed=${line#* }
369 needed=${needed//+/++}
370 needed=${needed//#/##}
371 needed=${needed//%/%%}
372 newline=$(scanelf -BF "%a;%F;%S;%r;${needed}" $filename)
373 newline=${newline// - }
374 echo "${newline:3}" >> "${cpv}/NEEDED.ELF.2"
375 done < "${cpv}/NEEDED"
376 fi
377 done
378 fi
379
380 if [ $REPO_LAYOUT_CONF_WARN = 0 ] ; then
381 ewarn
382 echo "If you want overlay eclasses to override eclasses from" \
383 "other repos then see the portage(5) man page" \
384 "for information about the new layout.conf and repos.conf" \
385 "configuration files." \
386 | fmt -w 75 | while read -r ; do ewarn "$REPLY" ; done
387 ewarn
388 fi
389
390 einfo
391 einfo "For help with using portage please consult the Gentoo Handbook"
392 einfo "at http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3"
393 einfo
394
395 if [ $MINOR_UPGRADE = 0 ] ; then
396 elog "If you're upgrading from a pre-2.2 version of portage you might"
397 elog "want to remerge world (emerge -e world) to take full advantage"
398 elog "of some of the new features in 2.2."
399 elog "This is not required however for portage to function properly."
400 elog
401 fi
402
403 if [ -z "${PV/*_rc*}" ]; then
404 elog "If you always want to use the latest development version of portage"
405 elog "please read http://www.gentoo.org/proj/en/portage/doc/testing.xml"
406 elog
407 fi
408 }
409
410 pkg_postrm() {
411 python_mod_cleanup /usr/$(get_libdir)/portage/pym
412 }