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