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