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