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.1.6.8.ebuild
Date: Fri, 13 Mar 2009 20:30:09
Message-Id: E1LiE18-00085y-Mu@stork.gentoo.org
1 zmedico 09/03/13 20:30:06
2
3 Modified: ChangeLog
4 Added: portage-2.1.6.8.ebuild
5 Log:
6 13 Mar 2009; Zac Medico <zmedico@g.o> +portage-2.1.6.8.ebuild:
7 2.1.6.8 bump. This fixes bug #199408 (account for current config with
8 emerge --resume), bug #250020 (improve merge order), bug #253904 (avoid
9 slot conflicts), bug #256289 (show normal mask message for use deps when
10 version with required IUSE is masked), bug #256616 (don't do anything
11 else when system packages are merging), bug #258433 (warn about
12 incorrectly defined FETCHCOMMAND for EAPI 2), bug #259124 (apply --color
13 to fetch output), bug #259882 (disable dispatch-conf confmem-like
14 behavior), bug #259954 (be careful about system deps with unsatisfied
15 PDEPEND), bug #260331 (reject set*id binaries that have DT_RPATH:$ORIGIN),
16 bug #261082 (fetch changed packages with --getbinpkg), bug #261670 (ensure
17 CHOST metadata reflects the initial CHOST setting), bug #261675 (avoid
18 interference between FEATURES=digest and concurrent tasks), and bug
19 unexpected exception), bug #261992 (File name too long exception), bug
20 bugs fixed since 2.1.6.7.
21 (Portage version: 2.1.6.8/cvs/Linux i686)
22
23 Revision Changes Path
24 1.585 sys-apps/portage/ChangeLog
25
26 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/portage/ChangeLog?rev=1.585&view=markup
27 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/portage/ChangeLog?rev=1.585&content-type=text/plain
28 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/portage/ChangeLog?r1=1.584&r2=1.585
29
30 Index: ChangeLog
31 ===================================================================
32 RCS file: /var/cvsroot/gentoo-x86/sys-apps/portage/ChangeLog,v
33 retrieving revision 1.584
34 retrieving revision 1.585
35 diff -u -r1.584 -r1.585
36 --- ChangeLog 12 Mar 2009 09:55:05 -0000 1.584
37 +++ ChangeLog 13 Mar 2009 20:30:06 -0000 1.585
38 @@ -1,6 +1,27 @@
39 # ChangeLog for sys-apps/portage
40 # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
41 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/ChangeLog,v 1.584 2009/03/12 09:55:05 zmedico Exp $
42 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/ChangeLog,v 1.585 2009/03/13 20:30:06 zmedico Exp $
43 +
44 +*portage-2.1.6.8 (13 Mar 2009)
45 +
46 + 13 Mar 2009; Zac Medico <zmedico@g.o> +portage-2.1.6.8.ebuild:
47 + 2.1.6.8 bump. This fixes bug #199408 (account for current config with
48 + emerge --resume), bug #250020 (improve merge order), bug #253904 (avoid
49 + slot conflicts), bug #256289 (show normal mask message for use deps when
50 + version with required IUSE is masked), bug #256616 (don't do anything
51 + else when system packages are merging), bug #258433 (warn about
52 + incorrectly defined FETCHCOMMAND for EAPI 2), bug #259124 (apply --color
53 + to fetch output), bug #259882 (disable dispatch-conf confmem-like
54 + behavior), bug #259954 (be careful about system deps with unsatisfied
55 + PDEPEND), bug #260331 (reject set*id binaries that have DT_RPATH:$ORIGIN),
56 + bug #261082 (fetch changed packages with --getbinpkg), bug #261670 (ensure
57 + CHOST metadata reflects the initial CHOST setting), bug #261675 (avoid
58 + interference between FEATURES=digest and concurrent tasks), and bug
59 + #261852 (show mod_echo elog output before showing a traceback from an
60 + unexpected exception), bug #261992 (File name too long exception), bug
61 + #262012 (invalid message about --newuse triggered by slot conflict), bug
62 + #262096 (add elog binaries for sandbox to call). Bug #261959 tracks all
63 + bugs fixed since 2.1.6.7.
64
65 *portage-2.2_rc25 (12 Mar 2009)
66
67
68
69
70 1.1 sys-apps/portage/portage-2.1.6.8.ebuild
71
72 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/portage/portage-2.1.6.8.ebuild?rev=1.1&view=markup
73 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/portage/portage-2.1.6.8.ebuild?rev=1.1&content-type=text/plain
74
75 Index: portage-2.1.6.8.ebuild
76 ===================================================================
77 # Copyright 1999-2009 Gentoo Foundation
78 # Distributed under the terms of the GNU General Public License v2
79 # $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-2.1.6.8.ebuild,v 1.1 2009/03/13 20:30:06 zmedico Exp $
80
81 inherit eutils multilib python
82
83 DESCRIPTION="Portage is the package management and distribution system for Gentoo"
84 HOMEPAGE="http://www.gentoo.org/proj/en/portage/index.xml"
85 LICENSE="GPL-2"
86 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
87 PROVIDE="virtual/portage"
88 SLOT="0"
89 IUSE="build doc epydoc selinux linguas_pl"
90
91 python_dep=">=dev-lang/python-2.4"
92
93 DEPEND="${python_dep}
94 !build? ( >=sys-apps/sed-4.0.5 )
95 doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 )
96 epydoc? ( >=dev-python/epydoc-2.0 )"
97 RDEPEND="${python_dep}
98 !build? ( >=sys-apps/sed-4.0.5
99 >=app-shells/bash-3.2_p17
100 >=app-admin/eselect-news-20071201 )
101 elibc_FreeBSD? ( sys-freebsd/freebsd-bin )
102 elibc_glibc? ( >=sys-apps/sandbox-1.2.17 !mips? ( >=sys-apps/sandbox-1.2.18.1-r2 ) )
103 elibc_uclibc? ( >=sys-apps/sandbox-1.2.17 !mips? ( >=sys-apps/sandbox-1.2.18.1-r2 ) )
104 >=app-misc/pax-utils-0.1.17
105 selinux? ( >=dev-python/python-selinux-2.16 )"
106 PDEPEND="
107 !build? (
108 >=net-misc/rsync-2.6.4
109 userland_GNU? ( >=sys-apps/coreutils-6.4 )
110 || ( >=dev-lang/python-2.5 >=dev-python/pycrypto-2.0.1-r6 )
111 )"
112 # coreutils-6.4 rdep is for date format in emerge-webrsync #164532
113 # rsync-2.6.4 rdep is for the --filter option #167668
114
115 SRC_ARCHIVES="http://dev.gentoo.org/~zmedico/portage/archives"
116
117 prefix_src_archives() {
118 local x y
119 for x in ${@}; do
120 for y in ${SRC_ARCHIVES}; do
121 echo ${y}/${x}
122 done
123 done
124 }
125
126 PV_PL="2.1.2"
127 PATCHVER_PL=""
128 TARBALL_PV=2.1.6
129 SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
130 $(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)
131 linguas_pl? ( mirror://gentoo/${PN}-man-pl-${PV_PL}.tar.bz2
132 $(prefix_src_archives ${PN}-man-pl-${PV_PL}.tar.bz2) )"
133
134 PATCHVER=$PV
135 if [ -n "${PATCHVER}" ]; then
136 SRC_URI="${SRC_URI} mirror://gentoo/${PN}-${PATCHVER}.patch.bz2
137 $(prefix_src_archives ${PN}-${PATCHVER}.patch.bz2)"
138 fi
139
140 S="${WORKDIR}"/${PN}-${TARBALL_PV}
141 S_PL="${WORKDIR}"/${PN}-${PV_PL}
142
143 src_unpack() {
144 unpack ${A}
145 cd "${S}"
146 if [ -n "${PATCHVER}" ]; then
147 cd "${S}"
148 epatch "${WORKDIR}/${PN}-${PATCHVER}.patch"
149 fi
150 einfo "Setting portage.VERSION to ${PVR} ..."
151 sed -i "s/^VERSION=.*/VERSION=\"${PVR}\"/" pym/portage/__init__.py || \
152 die "Failed to patch portage.VERSION"
153 }
154
155 src_compile() {
156
157 if use doc; then
158 cd "${S}"/doc
159 touch fragment/date
160 make xhtml xhtml-nochunks || die "failed to make docs"
161 fi
162
163 if use epydoc; then
164 einfo "Generating api docs"
165 mkdir "${WORKDIR}"/api
166 local my_modules epydoc_opts=""
167 # A name collision between the portage.dbapi class and the
168 # module with the same name triggers an epydoc crash unless
169 # portage.dbapi is excluded from introspection.
170 ROOT=/ has_version '>=dev-python/epydoc-3_pre0' && \
171 epydoc_opts='--exclude-introspect portage\.dbapi'
172 my_modules="$(find "${S}/pym" -name "*.py" \
173 | sed -e 's:/__init__.py$::' -e 's:\.py$::' -e "s:^${S}/pym/::" \
174 -e 's:/:.:g' | sort)" || die "error listing modules"
175 PYTHONPATH="${S}/pym:${PYTHONPATH}" epydoc -o "${WORKDIR}"/api \
176 -qqqqq --no-frames --show-imports $epydoc_opts \
177 --name "${PN}" --url "${HOMEPAGE}" \
178 ${my_modules} || die "epydoc failed"
179 fi
180 }
181
182 src_test() {
183 ./pym/portage/tests/runTests || \
184 die "test(s) failed"
185 }
186
187 src_install() {
188 local libdir=$(get_libdir)
189 local portage_base="/usr/${libdir}/portage"
190 local portage_share_config=/usr/share/portage/config
191
192 cd "${S}"/cnf
193 insinto /etc
194 doins etc-update.conf dispatch-conf.conf
195
196 dodir "${portage_share_config}"
197 insinto "${portage_share_config}"
198 doins "${S}/cnf/"make.globals
199 if [ -f "make.conf.${ARCH}".diff ]; then
200 patch make.conf "make.conf.${ARCH}".diff || \
201 die "Failed to patch make.conf.example"
202 newins make.conf make.conf.example
203 else
204 eerror ""
205 eerror "Portage does not have an arch-specific configuration for this arch."
206 eerror "Please notify the arch maintainer about this issue. Using generic."
207 eerror ""
208 newins make.conf make.conf.example
209 fi
210
211 dosym ..${portage_share_config}/make.globals /etc/make.globals
212
213 insinto /etc/logrotate.d
214 doins "${S}"/cnf/logrotate.d/elog-save-summary
215
216 dodir ${portage_base}/bin
217 exeinto ${portage_base}/bin
218
219 # BSD and OSX need a sed wrapper so that find/xargs work properly
220 if use userland_GNU; then
221 rm "${S}"/bin/ebuild-helpers/sed || die "Failed to remove sed wrapper"
222 fi
223
224 cd "${S}"/bin || die "cd failed"
225 doexe $(find . -maxdepth 1 -type f) || die "doexe failed"
226
227 local symlinks
228 dodir ${portage_base}/bin/ebuild-helpers || die "dodir failed"
229 exeinto ${portage_base}/bin/ebuild-helpers || die "exeinto failed"
230 cd "${S}"/bin/ebuild-helpers || die "cd failed"
231 doexe $(find . -type f ! -type l) || die "doexe failed"
232 symlinks=$(find . -type l)
233 if [ -n "$symlinks" ] ; then
234 cp -P $symlinks "${D}${portage_base}/bin/ebuild-helpers/" || \
235 die "cp failed"
236 fi
237
238 # These symlinks will be included in the next tarball.
239 # Until then, create them manually.
240 dosym ../portageq ${portage_base}/bin/ebuild-helpers/portageq || \
241 die "dosym failed"
242 local x
243 for x in eerror einfo ewarn eqawarn ; do
244 dosym elog ${portage_base}/bin/ebuild-helpers/$x || die "dosym failed"
245 done
246
247 for mydir in $(find "${S}"/pym -type d | sed -e "s:^${S}/::") ; do
248 dodir ${portage_base}/${mydir}
249 insinto ${portage_base}/${mydir}
250 cd "${S}"/${mydir}
251 doins *.py
252 symlinks=$(find . -mindepth 1 -maxdepth 1 -type l)
253 [ -n "${symlinks}" ] && cp -P ${symlinks} "${D}${portage_base}/${mydir}"
254 done
255
256 # Symlinks to directories cause up/downgrade issues and the use of these
257 # modules outside of portage is probably negligible.
258 for x in "${D}${portage_base}/pym/"{cache,elog_modules} ; do
259 [ ! -L "${x}" ] && continue
260 die "symlink to directory will cause upgrade/downgrade issues: '${x}'"
261 done
262
263 exeinto ${portage_base}/pym/portage/tests
264 doexe "${S}"/pym/portage/tests/runTests
265
266 doman "${S}"/man/*.[0-9]
267 if use linguas_pl; then
268 doman -i18n=pl "${S_PL}"/man/pl/*.[0-9]
269 doman -i18n=pl_PL.UTF-8 "${S_PL}"/man/pl_PL.UTF-8/*.[0-9]
270 fi
271
272 dodoc "${S}"/{ChangeLog,NEWS,RELEASE-NOTES}
273 use doc && dohtml -r "${S}"/doc/*
274 use epydoc && dohtml -r "${WORKDIR}"/api
275
276 dodir /usr/bin
277 for x in ebuild emerge portageq repoman xpak; do
278 dosym ../${libdir}/portage/bin/${x} /usr/bin/${x}
279 done
280
281 dodir /usr/sbin
282 local my_syms="archive-conf
283 dispatch-conf
284 emaint
285 emerge-webrsync
286 env-update
287 etc-update
288 fixpackages
289 quickpkg
290 regenworld"
291 local x
292 for x in ${my_syms}; do
293 dosym ../${libdir}/portage/bin/${x} /usr/sbin/${x}
294 done
295 dosym env-update /usr/sbin/update-env
296 dosym etc-update /usr/sbin/update-etc
297
298 dodir /etc/portage
299 keepdir /etc/portage
300 }
301
302 pkg_preinst() {
303 if ! use build && ! has_version dev-python/pycrypto && \
304 has_version '>=dev-lang/python-2.5' ; then
305 if ! built_with_use '>=dev-lang/python-2.5' ssl ; then
306 ewarn "If you are an ebuild developer and you plan to commit ebuilds"
307 ewarn "with this system then please install dev-python/pycrypto or"
308 ewarn "enable the ssl USE flag for >=dev-lang/python-2.5 in order"
309 ewarn "to enable RMD160 hash support."
310 ewarn "See bug #198398 for more information."
311 fi
312 fi
313 if [ -f "${ROOT}/etc/make.globals" ]; then
314 rm "${ROOT}/etc/make.globals"
315 fi
316 has_version ">=${CATEGORY}/${PN}-2.2_pre"
317 DOWNGRADE_FROM_2_2=$?
318 has_version "<${CATEGORY}/${PN}-2.1.6_pre"
319 UPGRADE_FROM_2_1=$?
320 }
321
322 pkg_postinst() {
323 # Compile all source files recursively. Any orphans
324 # will be identified and removed in postrm.
325 python_mod_optimize /usr/$(get_libdir)/portage/pym
326
327 einfo
328 einfo "For help with using portage please consult the Gentoo Handbook"
329 einfo "at http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3"
330 einfo
331
332 local warning_shown=0
333 if [ $DOWNGRADE_FROM_2_2 = 0 ] ; then
334 ewarn
335 echo "Since you have downgraded from portage-2.2, do not forget to" \
336 "use revdep-rebuild when appropriate, since the @preserved-rebuild" \
337 "package set is only supported with portage-2.2." | fmt -w 70 | \
338 while read ; do ewarn "$REPLY" ; done
339 warning_shown=1
340 fi
341 if [ $UPGRADE_FROM_2_1 = 0 ] ; then
342 ewarn
343 echo "In portage-2.1.6, the default behavior has changed for" \
344 "\`emerge world\` and \`emerge system\` commands. These commands" \
345 "will reinstall all packages from the given set unless an option" \
346 "such as --noreplace, --update, or --newuse is specified." \
347 | fmt -w 70 | while read ; do ewarn "$REPLY" ; done
348 ewarn
349 echo "File collision protection is now enabled by default via" \
350 "make.globals with FEATURES=protect-owned. If you want to" \
351 "disable collision protection completely (not recommended), then" \
352 "you need to ensure that neither protect-owned nor collision-protect" \
353 "are enabled." | fmt -w 70 | while read ; do ewarn "$REPLY" ; done
354 ewarn
355 echo "If you have overridden FETCHCOMMAND or RESUMECOMMAND variables," \
356 "for compatibility with EAPI 2, you must ensure that these variables" \
357 "are written such that the downloaded file will be placed at" \
358 "\"\${DISTDIR}/\${FILE}\". Refer to make.conf(5) for" \
359 "information about FETCHCOMMAND and RESUMECOMMAND." | \
360 fmt -w 70 | while read ; do ewarn "$REPLY" ; done
361 warning_shown=1
362 fi
363 if [ $warning_shown = 1 ] ; then
364 ewarn # for symmetry
365 fi
366 }
367
368 pkg_postrm() {
369 python_mod_cleanup /usr/$(get_libdir)/portage/pym
370 }