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_rc10.ebuild
Date: Fri, 26 Sep 2008 08:00:16
Message-Id: E1Kj8FJ-00076p-Cc@stork.gentoo.org
1 zmedico 08/09/26 08:00:13
2
3 Modified: ChangeLog
4 Added: portage-2.2_rc10.ebuild
5 Log:
6 2.2_rc10 bump. This includes support for EAPI 2 which is identical to
7 EAPI 2_pre3. This also fixes bug #230975 (problem importing selinux
8 module). Bug #210077 tracks all bugs fixed since 2.1.5.x.
9 (Portage version: 2.2_rc10/cvs/Linux 2.6.26-0911-x86-64 i686)
10
11 Revision Changes Path
12 1.543 sys-apps/portage/ChangeLog
13
14 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/portage/ChangeLog?rev=1.543&view=markup
15 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/portage/ChangeLog?rev=1.543&content-type=text/plain
16 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/portage/ChangeLog?r1=1.542&r2=1.543
17
18 Index: ChangeLog
19 ===================================================================
20 RCS file: /var/cvsroot/gentoo-x86/sys-apps/portage/ChangeLog,v
21 retrieving revision 1.542
22 retrieving revision 1.543
23 diff -u -r1.542 -r1.543
24 --- ChangeLog 21 Sep 2008 23:29:32 -0000 1.542
25 +++ ChangeLog 26 Sep 2008 08:00:12 -0000 1.543
26 @@ -1,6 +1,13 @@
27 # ChangeLog for sys-apps/portage
28 # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
29 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/ChangeLog,v 1.542 2008/09/21 23:29:32 zmedico Exp $
30 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/ChangeLog,v 1.543 2008/09/26 08:00:12 zmedico Exp $
31 +
32 +*portage-2.2_rc10 (26 Sep 2008)
33 +
34 + 26 Sep 2008; Zac Medico <zmedico@g.o> +portage-2.2_rc10.ebuild:
35 + 2.2_rc10 bump. This includes support for EAPI 2 which is identical to
36 + EAPI 2_pre3. This also fixes bug #230975 (problem importing selinux
37 + module). Bug #210077 tracks all bugs fixed since 2.1.5.x.
38
39 *portage-2.2_rc9 (21 Sep 2008)
40
41
42
43
44 1.1 sys-apps/portage/portage-2.2_rc10.ebuild
45
46 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/portage/portage-2.2_rc10.ebuild?rev=1.1&view=markup
47 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/portage/portage-2.2_rc10.ebuild?rev=1.1&content-type=text/plain
48
49 Index: portage-2.2_rc10.ebuild
50 ===================================================================
51 # Copyright 1999-2008 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_rc10.ebuild,v 1.1 2008/09/26 08:00:12 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.4"
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-news-20071201 )
75 elibc_FreeBSD? ( sys-freebsd/freebsd-bin )
76 elibc_glibc? ( >=sys-apps/sandbox-1.2.17 !mips? ( >=sys-apps/sandbox-1.2.18.1-r2 ) )
77 elibc_uclibc? ( >=sys-apps/sandbox-1.2.17 !mips? ( >=sys-apps/sandbox-1.2.18.1-r2 ) )
78 >=app-misc/pax-utils-0.1.17
79 selinux? ( >=dev-python/python-selinux-2.16 )"
80 PDEPEND="
81 !build? (
82 >=net-misc/rsync-2.6.4
83 userland_GNU? ( >=sys-apps/coreutils-6.4 )
84 || ( >=dev-lang/python-2.5 >=dev-python/pycrypto-2.0.1-r6 )
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_rc1"
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 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 dodir ${portage_base}/bin
191 exeinto ${portage_base}/bin
192
193 # BSD and OSX need a sed wrapper so that find/xargs work properly
194 if use userland_GNU; then
195 rm "${S}"/bin/sed || die "Failed to remove sed wrapper"
196 fi
197
198 cd "${S}"/bin
199 doexe *
200 dosym newins ${portage_base}/bin/donewins
201
202 local symlinks
203 for mydir in $(find "${S}"/pym -type d | sed -e "s:^${S}/::") ; do
204 dodir ${portage_base}/${mydir}
205 insinto ${portage_base}/${mydir}
206 cd "${S}"/${mydir}
207 doins *.py
208 symlinks=$(find . -mindepth 1 -maxdepth 1 -type l)
209 [ -n "${symlinks}" ] && cp -P ${symlinks} "${D}${portage_base}/${mydir}"
210 done
211
212 # Symlinks to directories cause up/downgrade issues and the use of these
213 # modules outside of portage is probably negligible.
214 for x in "${D}${portage_base}/pym/"{cache,elog_modules} ; do
215 [ ! -L "${x}" ] && continue
216 die "symlink to directory will cause upgrade/downgrade issues: '${x}'"
217 done
218
219 exeinto ${portage_base}/pym/portage/tests
220 doexe "${S}"/pym/portage/tests/runTests
221
222 doman "${S}"/man/*.[0-9]
223 if use linguas_pl; then
224 doman -i18n=pl "${S_PL}"/man/pl/*.[0-9]
225 doman -i18n=pl_PL.UTF-8 "${S_PL}"/man/pl_PL.UTF-8/*.[0-9]
226 fi
227
228 dodoc "${S}"/{ChangeLog,NEWS,RELEASE-NOTES}
229 use doc && dohtml -r "${S}"/doc/*
230 use epydoc && dohtml -r "${WORKDIR}"/api
231
232 dodir /usr/bin
233 for x in ebuild emerge portageq repoman xpak; do
234 dosym ../${libdir}/portage/bin/${x} /usr/bin/${x}
235 done
236
237 dodir /usr/sbin
238 local my_syms="archive-conf
239 dispatch-conf
240 emaint
241 emerge-webrsync
242 env-update
243 etc-update
244 fixpackages
245 quickpkg
246 regenworld"
247 local x
248 for x in ${my_syms}; do
249 dosym ../${libdir}/portage/bin/${x} /usr/sbin/${x}
250 done
251 dosym env-update /usr/sbin/update-env
252 dosym etc-update /usr/sbin/update-etc
253
254 dodir /etc/portage
255 keepdir /etc/portage
256 }
257
258 pkg_preinst() {
259 if ! use build && ! has_version dev-python/pycrypto && \
260 has_version '>=dev-lang/python-2.5' ; then
261 if ! built_with_use '>=dev-lang/python-2.5' ssl ; then
262 ewarn "If you are an ebuild developer and you plan to commit ebuilds"
263 ewarn "with this system then please install dev-python/pycrypto or"
264 ewarn "enable the ssl USE flag for >=dev-lang/python-2.5 in order"
265 ewarn "to enable RMD160 hash support."
266 ewarn "See bug #198398 for more information."
267 fi
268 fi
269 if [ -f "${ROOT}/etc/make.globals" ]; then
270 rm "${ROOT}/etc/make.globals"
271 fi
272
273 has_version ">=${CATEGORY}/${PN}-2.2_alpha"
274 MINOR_UPGRADE=$?
275
276 has_version "<=${CATEGORY}/${PN}-2.2_pre5"
277 WORLD_MIGRATION_UPGRADE=$?
278
279 has_version "<=${CATEGORY}/${PN}-2.2_pre7"
280 NEEDED_REBUILD_UPGRADE=$?
281
282 has_version "<${CATEGORY}/${PN}-2.2_alpha"
283 ADD_SYSTEM_TO_WORLD=$?
284
285 if [ $ADD_SYSTEM_TO_WORLD != 0 -a "$ROOT" != / ] && \
286 ! has_version "${CATEGORY}/${PN}" ; then
287 # building stage 1
288 ADD_SYSTEM_TO_WORLD=0
289 fi
290 }
291
292 pkg_postinst() {
293 # Compile all source files recursively. Any orphans
294 # will be identified and removed in postrm.
295 python_mod_optimize /usr/$(get_libdir)/portage/pym
296
297 if [ $ADD_SYSTEM_TO_WORLD = 0 ] && \
298 [ ! -e "$ROOT"var/lib/portage/world_sets ] ; then
299 einfo "adding @system to world_sets for backward compatibility"
300 echo @system > "$ROOT"var/lib/portage/world_sets
301 fi
302
303 if [ $WORLD_MIGRATION_UPGRADE = 0 ] ; then
304 einfo "moving set references from the worldfile into world_sets"
305 cd "${ROOT}/var/lib/portage/"
306 grep "^@" world >> world_sets
307 sed -i -e '/^@/d' world
308 fi
309
310 if [ $NEEDED_REBUILD_UPGRADE = 0 ] ; then
311 einfo "rebuilding NEEDED.ELF.2 files"
312 for cpv in "${ROOT}/var/db/pkg"/*/*; do
313 if [ -f "${cpv}/NEEDED" ]; then
314 rm -f "${cpv}/NEEDED.ELF.2"
315 while read line; do
316 filename=${line% *}
317 needed=${line#* }
318 needed=${needed//+/++}
319 needed=${needed//#/##}
320 needed=${needed//%/%%}
321 newline=$(scanelf -BF "%a;%F;%S;%r;${needed}" $filename)
322 newline=${newline// - }
323 echo "${newline:3}" >> "${cpv}/NEEDED.ELF.2"
324 done < "${cpv}/NEEDED"
325 fi
326 done
327 fi
328
329 elog
330 elog "For help with using portage please consult the Gentoo Handbook"
331 elog "at http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3"
332 elog
333
334 if [ $MINOR_UPGRADE = 0 ] ; then
335 elog "If you're upgrading from a pre-2.2 version of portage you might"
336 elog "want to remerge world (emerge -e world) to take full advantage"
337 elog "of some of the new features in 2.2."
338 elog "This is not required however for portage to function properly."
339 elog
340 fi
341
342 if [ -z "${PV/*_pre*}" ]; then
343 elog "If you always want to use the latest development version of portage"
344 elog "please read http://www.gentoo.org/proj/en/portage/doc/testing.xml"
345 elog
346 fi
347 }
348
349 pkg_postrm() {
350 python_mod_cleanup /usr/$(get_libdir)/portage/pym
351 }