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