diff options
Diffstat (limited to 'sys-apps')
-rw-r--r-- | sys-apps/portage/ChangeLog | 13 | ||||
-rw-r--r-- | sys-apps/portage/portage-2.1.6.ebuild (renamed from sys-apps/portage/portage-2.1.6_rc1.ebuild) | 4 | ||||
-rw-r--r-- | sys-apps/portage/portage-2.1.6_rc2.ebuild | 248 | ||||
-rw-r--r-- | sys-apps/portage/portage-2.1.6_rc3.ebuild | 248 | ||||
-rw-r--r-- | sys-apps/portage/portage-2.2_rc16.ebuild | 305 |
5 files changed, 14 insertions, 804 deletions
diff --git a/sys-apps/portage/ChangeLog b/sys-apps/portage/ChangeLog index 3c7a5e87b029..06ec5c9140ef 100644 --- a/sys-apps/portage/ChangeLog +++ b/sys-apps/portage/ChangeLog @@ -1,6 +1,17 @@ # ChangeLog for sys-apps/portage # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/ChangeLog,v 1.558 2008/12/05 02:28:06 zmedico Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/ChangeLog,v 1.559 2008/12/07 21:29:55 zmedico Exp $ + +*portage-2.1.6 (07 Dec 2008) + + 07 Dec 2008; Zac Medico <zmedico@gentoo.org> +portage-2.1.6.ebuild: + 2.1.6 final release. This fixes bug #249586. Bug #216231 tracks all bugs + fixed since 2.1.4.x. + + 07 Dec 2008; Zac Medico <zmedico@gentoo.org> -portage-2.1.6_rc1.ebuild, + -portage-2.1.6_rc2.ebuild, -portage-2.1.6_rc3.ebuild, + -portage-2.2_rc16.ebuild: + Remove old versions. *portage-2.1.6_rc3 (04 Dec 2008) diff --git a/sys-apps/portage/portage-2.1.6_rc1.ebuild b/sys-apps/portage/portage-2.1.6.ebuild index 2c4367b2696b..7062bcfdfc9f 100644 --- a/sys-apps/portage/portage-2.1.6_rc1.ebuild +++ b/sys-apps/portage/portage-2.1.6.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-2.1.6_rc1.ebuild,v 1.2 2008/11/24 18:03:57 zmedico Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-2.1.6.ebuild,v 1.1 2008/12/07 21:29:55 zmedico Exp $ inherit eutils multilib python @@ -49,7 +49,7 @@ prefix_src_archives() { PV_PL="2.1.2" PATCHVER_PL="" -TARBALL_PV=2.1.6_rc1 +TARBALL_PV=2.1.6 SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2 $(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2) linguas_pl? ( mirror://gentoo/${PN}-man-pl-${PV_PL}.tar.bz2 diff --git a/sys-apps/portage/portage-2.1.6_rc2.ebuild b/sys-apps/portage/portage-2.1.6_rc2.ebuild deleted file mode 100644 index 32d4b3b997a4..000000000000 --- a/sys-apps/portage/portage-2.1.6_rc2.ebuild +++ /dev/null @@ -1,248 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-2.1.6_rc2.ebuild,v 1.1 2008/11/27 04:04:47 zmedico Exp $ - -inherit eutils multilib python - -DESCRIPTION="Portage is the package management and distribution system for Gentoo" -HOMEPAGE="http://www.gentoo.org/proj/en/portage/index.xml" -LICENSE="GPL-2" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd" -PROVIDE="virtual/portage" -SLOT="0" -IUSE="build doc epydoc selinux linguas_pl" - -python_dep=">=dev-lang/python-2.4" - -DEPEND="${python_dep} - !build? ( >=sys-apps/sed-4.0.5 ) - doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 ) - epydoc? ( >=dev-python/epydoc-2.0 )" -RDEPEND="${python_dep} - !build? ( >=sys-apps/sed-4.0.5 - >=app-shells/bash-3.2_p17 - >=app-admin/eselect-news-20071201 ) - elibc_FreeBSD? ( sys-freebsd/freebsd-bin ) - elibc_glibc? ( >=sys-apps/sandbox-1.2.17 !mips? ( >=sys-apps/sandbox-1.2.18.1-r2 ) ) - elibc_uclibc? ( >=sys-apps/sandbox-1.2.17 !mips? ( >=sys-apps/sandbox-1.2.18.1-r2 ) ) - >=app-misc/pax-utils-0.1.17 - selinux? ( >=dev-python/python-selinux-2.16 )" -PDEPEND=" - !build? ( - >=net-misc/rsync-2.6.4 - userland_GNU? ( >=sys-apps/coreutils-6.4 ) - || ( >=dev-lang/python-2.5 >=dev-python/pycrypto-2.0.1-r6 ) - )" -# coreutils-6.4 rdep is for date format in emerge-webrsync #164532 -# rsync-2.6.4 rdep is for the --filter option #167668 - -SRC_ARCHIVES="http://dev.gentoo.org/~zmedico/portage/archives" - -prefix_src_archives() { - local x y - for x in ${@}; do - for y in ${SRC_ARCHIVES}; do - echo ${y}/${x} - done - done -} - -PV_PL="2.1.2" -PATCHVER_PL="" -TARBALL_PV=2.1.6_rc1 -SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2 - $(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2) - linguas_pl? ( mirror://gentoo/${PN}-man-pl-${PV_PL}.tar.bz2 - $(prefix_src_archives ${PN}-man-pl-${PV_PL}.tar.bz2) )" - -PATCHVER=$PV -if [ -n "${PATCHVER}" ]; then - SRC_URI="${SRC_URI} mirror://gentoo/${PN}-${PATCHVER}.patch.bz2 - $(prefix_src_archives ${PN}-${PATCHVER}.patch.bz2)" -fi - -S="${WORKDIR}"/${PN}-${TARBALL_PV} -S_PL="${WORKDIR}"/${PN}-${PV_PL} - -src_unpack() { - unpack ${A} - cd "${S}" - if [ -n "${PATCHVER}" ]; then - cd "${S}" - epatch "${WORKDIR}/${PN}-${PATCHVER}.patch" - fi - einfo "Setting portage.VERSION to ${PVR} ..." - sed -i "s/^VERSION=.*/VERSION=\"${PVR}\"/" pym/portage/__init__.py || \ - die "Failed to patch portage.VERSION" -} - -src_compile() { - - if use doc; then - cd "${S}"/doc - touch fragment/date - make xhtml xhtml-nochunks || die "failed to make docs" - fi - - if use epydoc; then - einfo "Generating api docs" - mkdir "${WORKDIR}"/api - local my_modules epydoc_opts="" - # A name collision between the portage.dbapi class and the - # module with the same name triggers an epydoc crash unless - # portage.dbapi is excluded from introspection. - ROOT=/ has_version '>=dev-python/epydoc-3_pre0' && \ - epydoc_opts='--exclude-introspect portage\.dbapi' - my_modules="$(find "${S}/pym" -name "*.py" \ - | sed -e 's:/__init__.py$::' -e 's:\.py$::' -e "s:^${S}/pym/::" \ - -e 's:/:.:g' | sort)" || die "error listing modules" - PYTHONPATH="${S}/pym:${PYTHONPATH}" epydoc -o "${WORKDIR}"/api \ - -qqqqq --no-frames --show-imports $epydoc_opts \ - --name "${PN}" --url "${HOMEPAGE}" \ - ${my_modules} || die "epydoc failed" - fi -} - -src_test() { - ./pym/portage/tests/runTests || \ - die "test(s) failed" -} - -src_install() { - local libdir=$(get_libdir) - local portage_base="/usr/${libdir}/portage" - local portage_share_config=/usr/share/portage/config - - cd "${S}"/cnf - insinto /etc - doins etc-update.conf dispatch-conf.conf - - dodir "${portage_share_config}" - insinto "${portage_share_config}" - doins "${S}/cnf/"make.globals - if [ -f "make.conf.${ARCH}".diff ]; then - patch make.conf "make.conf.${ARCH}".diff || \ - die "Failed to patch make.conf.example" - newins make.conf make.conf.example - else - eerror "" - eerror "Portage does not have an arch-specific configuration for this arch." - eerror "Please notify the arch maintainer about this issue. Using generic." - eerror "" - newins make.conf make.conf.example - fi - - dosym ..${portage_share_config}/make.globals /etc/make.globals - - insinto /etc/logrotate.d - doins "${S}"/cnf/logrotate.d/elog-save-summary - - dodir ${portage_base}/bin - exeinto ${portage_base}/bin - - # BSD and OSX need a sed wrapper so that find/xargs work properly - if use userland_GNU; then - rm "${S}"/bin/sed || die "Failed to remove sed wrapper" - fi - - cd "${S}"/bin - doexe * - dosym newins ${portage_base}/bin/donewins - - local symlinks - for mydir in $(find "${S}"/pym -type d | sed -e "s:^${S}/::") ; do - dodir ${portage_base}/${mydir} - insinto ${portage_base}/${mydir} - cd "${S}"/${mydir} - doins *.py - symlinks=$(find . -mindepth 1 -maxdepth 1 -type l) - [ -n "${symlinks}" ] && cp -P ${symlinks} "${D}${portage_base}/${mydir}" - done - - # Symlinks to directories cause up/downgrade issues and the use of these - # modules outside of portage is probably negligible. - for x in "${D}${portage_base}/pym/"{cache,elog_modules} ; do - [ ! -L "${x}" ] && continue - die "symlink to directory will cause upgrade/downgrade issues: '${x}'" - done - - exeinto ${portage_base}/pym/portage/tests - doexe "${S}"/pym/portage/tests/runTests - - doman "${S}"/man/*.[0-9] - if use linguas_pl; then - doman -i18n=pl "${S_PL}"/man/pl/*.[0-9] - doman -i18n=pl_PL.UTF-8 "${S_PL}"/man/pl_PL.UTF-8/*.[0-9] - fi - - dodoc "${S}"/{ChangeLog,NEWS,RELEASE-NOTES} - use doc && dohtml -r "${S}"/doc/* - use epydoc && dohtml -r "${WORKDIR}"/api - - dodir /usr/bin - for x in ebuild emerge portageq repoman xpak; do - dosym ../${libdir}/portage/bin/${x} /usr/bin/${x} - done - - dodir /usr/sbin - local my_syms="archive-conf - dispatch-conf - emaint - emerge-webrsync - env-update - etc-update - fixpackages - quickpkg - regenworld" - local x - for x in ${my_syms}; do - dosym ../${libdir}/portage/bin/${x} /usr/sbin/${x} - done - dosym env-update /usr/sbin/update-env - dosym etc-update /usr/sbin/update-etc - - dodir /etc/portage - keepdir /etc/portage -} - -pkg_preinst() { - if ! use build && ! has_version dev-python/pycrypto && \ - has_version '>=dev-lang/python-2.5' ; then - if ! built_with_use '>=dev-lang/python-2.5' ssl ; then - ewarn "If you are an ebuild developer and you plan to commit ebuilds" - ewarn "with this system then please install dev-python/pycrypto or" - ewarn "enable the ssl USE flag for >=dev-lang/python-2.5 in order" - ewarn "to enable RMD160 hash support." - ewarn "See bug #198398 for more information." - fi - fi - if [ -f "${ROOT}/etc/make.globals" ]; then - rm "${ROOT}/etc/make.globals" - fi - has_version ">=${CATEGORY}/${PN}-2.2_pre" - DOWNGRADE_FROM_2_2=$? -} - -pkg_postinst() { - # Compile all source files recursively. Any orphans - # will be identified and removed in postrm. - python_mod_optimize /usr/$(get_libdir)/portage/pym - - elog - elog "For help with using portage please consult the Gentoo Handbook" - elog "at http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3" - elog - - if [ $DOWNGRADE_FROM_2_2 = 0 ] ; then - ewarn - echo "Since you have downgraded from portage-2.2, do not forget to" \ - "use revdep-rebuild when appropriate, since the @preserved-rebuild" \ - "package set is only supported with portage-2.2." | fmt -w 70 | \ - while read ; do ewarn "$REPLY" ; done - ewarn - fi -} - -pkg_postrm() { - python_mod_cleanup /usr/$(get_libdir)/portage/pym -} diff --git a/sys-apps/portage/portage-2.1.6_rc3.ebuild b/sys-apps/portage/portage-2.1.6_rc3.ebuild deleted file mode 100644 index 26af1459a7b9..000000000000 --- a/sys-apps/portage/portage-2.1.6_rc3.ebuild +++ /dev/null @@ -1,248 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-2.1.6_rc3.ebuild,v 1.1 2008/12/05 01:34:34 zmedico Exp $ - -inherit eutils multilib python - -DESCRIPTION="Portage is the package management and distribution system for Gentoo" -HOMEPAGE="http://www.gentoo.org/proj/en/portage/index.xml" -LICENSE="GPL-2" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd" -PROVIDE="virtual/portage" -SLOT="0" -IUSE="build doc epydoc selinux linguas_pl" - -python_dep=">=dev-lang/python-2.4" - -DEPEND="${python_dep} - !build? ( >=sys-apps/sed-4.0.5 ) - doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 ) - epydoc? ( >=dev-python/epydoc-2.0 )" -RDEPEND="${python_dep} - !build? ( >=sys-apps/sed-4.0.5 - >=app-shells/bash-3.2_p17 - >=app-admin/eselect-news-20071201 ) - elibc_FreeBSD? ( sys-freebsd/freebsd-bin ) - elibc_glibc? ( >=sys-apps/sandbox-1.2.17 !mips? ( >=sys-apps/sandbox-1.2.18.1-r2 ) ) - elibc_uclibc? ( >=sys-apps/sandbox-1.2.17 !mips? ( >=sys-apps/sandbox-1.2.18.1-r2 ) ) - >=app-misc/pax-utils-0.1.17 - selinux? ( >=dev-python/python-selinux-2.16 )" -PDEPEND=" - !build? ( - >=net-misc/rsync-2.6.4 - userland_GNU? ( >=sys-apps/coreutils-6.4 ) - || ( >=dev-lang/python-2.5 >=dev-python/pycrypto-2.0.1-r6 ) - )" -# coreutils-6.4 rdep is for date format in emerge-webrsync #164532 -# rsync-2.6.4 rdep is for the --filter option #167668 - -SRC_ARCHIVES="http://dev.gentoo.org/~zmedico/portage/archives" - -prefix_src_archives() { - local x y - for x in ${@}; do - for y in ${SRC_ARCHIVES}; do - echo ${y}/${x} - done - done -} - -PV_PL="2.1.2" -PATCHVER_PL="" -TARBALL_PV=2.1.6_rc1 -SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2 - $(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2) - linguas_pl? ( mirror://gentoo/${PN}-man-pl-${PV_PL}.tar.bz2 - $(prefix_src_archives ${PN}-man-pl-${PV_PL}.tar.bz2) )" - -PATCHVER=$PV -if [ -n "${PATCHVER}" ]; then - SRC_URI="${SRC_URI} mirror://gentoo/${PN}-${PATCHVER}.patch.bz2 - $(prefix_src_archives ${PN}-${PATCHVER}.patch.bz2)" -fi - -S="${WORKDIR}"/${PN}-${TARBALL_PV} -S_PL="${WORKDIR}"/${PN}-${PV_PL} - -src_unpack() { - unpack ${A} - cd "${S}" - if [ -n "${PATCHVER}" ]; then - cd "${S}" - epatch "${WORKDIR}/${PN}-${PATCHVER}.patch" - fi - einfo "Setting portage.VERSION to ${PVR} ..." - sed -i "s/^VERSION=.*/VERSION=\"${PVR}\"/" pym/portage/__init__.py || \ - die "Failed to patch portage.VERSION" -} - -src_compile() { - - if use doc; then - cd "${S}"/doc - touch fragment/date - make xhtml xhtml-nochunks || die "failed to make docs" - fi - - if use epydoc; then - einfo "Generating api docs" - mkdir "${WORKDIR}"/api - local my_modules epydoc_opts="" - # A name collision between the portage.dbapi class and the - # module with the same name triggers an epydoc crash unless - # portage.dbapi is excluded from introspection. - ROOT=/ has_version '>=dev-python/epydoc-3_pre0' && \ - epydoc_opts='--exclude-introspect portage\.dbapi' - my_modules="$(find "${S}/pym" -name "*.py" \ - | sed -e 's:/__init__.py$::' -e 's:\.py$::' -e "s:^${S}/pym/::" \ - -e 's:/:.:g' | sort)" || die "error listing modules" - PYTHONPATH="${S}/pym:${PYTHONPATH}" epydoc -o "${WORKDIR}"/api \ - -qqqqq --no-frames --show-imports $epydoc_opts \ - --name "${PN}" --url "${HOMEPAGE}" \ - ${my_modules} || die "epydoc failed" - fi -} - -src_test() { - ./pym/portage/tests/runTests || \ - die "test(s) failed" -} - -src_install() { - local libdir=$(get_libdir) - local portage_base="/usr/${libdir}/portage" - local portage_share_config=/usr/share/portage/config - - cd "${S}"/cnf - insinto /etc - doins etc-update.conf dispatch-conf.conf - - dodir "${portage_share_config}" - insinto "${portage_share_config}" - doins "${S}/cnf/"make.globals - if [ -f "make.conf.${ARCH}".diff ]; then - patch make.conf "make.conf.${ARCH}".diff || \ - die "Failed to patch make.conf.example" - newins make.conf make.conf.example - else - eerror "" - eerror "Portage does not have an arch-specific configuration for this arch." - eerror "Please notify the arch maintainer about this issue. Using generic." - eerror "" - newins make.conf make.conf.example - fi - - dosym ..${portage_share_config}/make.globals /etc/make.globals - - insinto /etc/logrotate.d - doins "${S}"/cnf/logrotate.d/elog-save-summary - - dodir ${portage_base}/bin - exeinto ${portage_base}/bin - - # BSD and OSX need a sed wrapper so that find/xargs work properly - if use userland_GNU; then - rm "${S}"/bin/sed || die "Failed to remove sed wrapper" - fi - - cd "${S}"/bin - doexe * - dosym newins ${portage_base}/bin/donewins - - local symlinks - for mydir in $(find "${S}"/pym -type d | sed -e "s:^${S}/::") ; do - dodir ${portage_base}/${mydir} - insinto ${portage_base}/${mydir} - cd "${S}"/${mydir} - doins *.py - symlinks=$(find . -mindepth 1 -maxdepth 1 -type l) - [ -n "${symlinks}" ] && cp -P ${symlinks} "${D}${portage_base}/${mydir}" - done - - # Symlinks to directories cause up/downgrade issues and the use of these - # modules outside of portage is probably negligible. - for x in "${D}${portage_base}/pym/"{cache,elog_modules} ; do - [ ! -L "${x}" ] && continue - die "symlink to directory will cause upgrade/downgrade issues: '${x}'" - done - - exeinto ${portage_base}/pym/portage/tests - doexe "${S}"/pym/portage/tests/runTests - - doman "${S}"/man/*.[0-9] - if use linguas_pl; then - doman -i18n=pl "${S_PL}"/man/pl/*.[0-9] - doman -i18n=pl_PL.UTF-8 "${S_PL}"/man/pl_PL.UTF-8/*.[0-9] - fi - - dodoc "${S}"/{ChangeLog,NEWS,RELEASE-NOTES} - use doc && dohtml -r "${S}"/doc/* - use epydoc && dohtml -r "${WORKDIR}"/api - - dodir /usr/bin - for x in ebuild emerge portageq repoman xpak; do - dosym ../${libdir}/portage/bin/${x} /usr/bin/${x} - done - - dodir /usr/sbin - local my_syms="archive-conf - dispatch-conf - emaint - emerge-webrsync - env-update - etc-update - fixpackages - quickpkg - regenworld" - local x - for x in ${my_syms}; do - dosym ../${libdir}/portage/bin/${x} /usr/sbin/${x} - done - dosym env-update /usr/sbin/update-env - dosym etc-update /usr/sbin/update-etc - - dodir /etc/portage - keepdir /etc/portage -} - -pkg_preinst() { - if ! use build && ! has_version dev-python/pycrypto && \ - has_version '>=dev-lang/python-2.5' ; then - if ! built_with_use '>=dev-lang/python-2.5' ssl ; then - ewarn "If you are an ebuild developer and you plan to commit ebuilds" - ewarn "with this system then please install dev-python/pycrypto or" - ewarn "enable the ssl USE flag for >=dev-lang/python-2.5 in order" - ewarn "to enable RMD160 hash support." - ewarn "See bug #198398 for more information." - fi - fi - if [ -f "${ROOT}/etc/make.globals" ]; then - rm "${ROOT}/etc/make.globals" - fi - has_version ">=${CATEGORY}/${PN}-2.2_pre" - DOWNGRADE_FROM_2_2=$? -} - -pkg_postinst() { - # Compile all source files recursively. Any orphans - # will be identified and removed in postrm. - python_mod_optimize /usr/$(get_libdir)/portage/pym - - elog - elog "For help with using portage please consult the Gentoo Handbook" - elog "at http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3" - elog - - if [ $DOWNGRADE_FROM_2_2 = 0 ] ; then - ewarn - echo "Since you have downgraded from portage-2.2, do not forget to" \ - "use revdep-rebuild when appropriate, since the @preserved-rebuild" \ - "package set is only supported with portage-2.2." | fmt -w 70 | \ - while read ; do ewarn "$REPLY" ; done - ewarn - fi -} - -pkg_postrm() { - python_mod_cleanup /usr/$(get_libdir)/portage/pym -} diff --git a/sys-apps/portage/portage-2.2_rc16.ebuild b/sys-apps/portage/portage-2.2_rc16.ebuild deleted file mode 100644 index 04acbd3d75f1..000000000000 --- a/sys-apps/portage/portage-2.2_rc16.ebuild +++ /dev/null @@ -1,305 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-2.2_rc16.ebuild,v 1.2 2008/11/24 20:47:40 zmedico Exp $ - -inherit eutils multilib python - -DESCRIPTION="Portage is the package management and distribution system for Gentoo" -HOMEPAGE="http://www.gentoo.org/proj/en/portage/index.xml" -LICENSE="GPL-2" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd" -PROVIDE="virtual/portage" -SLOT="0" -IUSE="build doc epydoc selinux linguas_pl" - -python_dep=">=dev-lang/python-2.4" - -DEPEND="${python_dep} - !build? ( >=sys-apps/sed-4.0.5 ) - doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 ) - epydoc? ( >=dev-python/epydoc-2.0 )" -RDEPEND="${python_dep} - !build? ( >=sys-apps/sed-4.0.5 - >=app-shells/bash-3.2_p17 - >=app-admin/eselect-news-20071201 ) - elibc_FreeBSD? ( sys-freebsd/freebsd-bin ) - elibc_glibc? ( >=sys-apps/sandbox-1.2.17 !mips? ( >=sys-apps/sandbox-1.2.18.1-r2 ) ) - elibc_uclibc? ( >=sys-apps/sandbox-1.2.17 !mips? ( >=sys-apps/sandbox-1.2.18.1-r2 ) ) - >=app-misc/pax-utils-0.1.17 - selinux? ( >=dev-python/python-selinux-2.16 )" -PDEPEND=" - !build? ( - >=net-misc/rsync-2.6.4 - userland_GNU? ( >=sys-apps/coreutils-6.4 ) - || ( >=dev-lang/python-2.5 >=dev-python/pycrypto-2.0.1-r6 ) - )" -# coreutils-6.4 rdep is for date format in emerge-webrsync #164532 -# rsync-2.6.4 rdep is for the --filter option #167668 - -SRC_ARCHIVES="http://dev.gentoo.org/~zmedico/portage/archives" - -prefix_src_archives() { - local x y - for x in ${@}; do - for y in ${SRC_ARCHIVES}; do - echo ${y}/${x} - done - done -} - -PV_PL="2.1.2" -PATCHVER_PL="" -TARBALL_PV="2.2_rc15" -SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2 - $(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2) - linguas_pl? ( mirror://gentoo/${PN}-man-pl-${PV_PL}.tar.bz2 - $(prefix_src_archives ${PN}-man-pl-${PV_PL}.tar.bz2) )" - -PATCHVER=$PV -if [ -n "${PATCHVER}" ]; then - SRC_URI="${SRC_URI} mirror://gentoo/${PN}-${PATCHVER}.patch.bz2 - $(prefix_src_archives ${PN}-${PATCHVER}.patch.bz2)" -fi - -S="${WORKDIR}"/${PN}-${TARBALL_PV} -S_PL="${WORKDIR}"/${PN}-${PV_PL} - -src_unpack() { - unpack ${A} - cd "${S}" - if [ -n "${PATCHVER}" ]; then - cd "${S}" - epatch "${WORKDIR}/${PN}-${PATCHVER}.patch" - fi - einfo "Setting portage.VERSION to ${PVR} ..." - sed -i "s/^VERSION=.*/VERSION=\"${PVR}\"/" pym/portage/__init__.py || \ - die "Failed to patch portage.VERSION" -} - -src_compile() { - - if use doc; then - cd "${S}"/doc - touch fragment/date - make xhtml xhtml-nochunks || die "failed to make docs" - fi - - if use epydoc; then - einfo "Generating api docs" - mkdir "${WORKDIR}"/api - local my_modules epydoc_opts="" - # A name collision between the portage.dbapi class and the - # module with the same name triggers an epydoc crash unless - # portage.dbapi is excluded from introspection. - ROOT=/ has_version '>=dev-python/epydoc-3_pre0' && \ - epydoc_opts='--exclude-introspect portage\.dbapi' - my_modules="$(find "${S}/pym" -name "*.py" \ - | sed -e 's:/__init__.py$::' -e 's:\.py$::' -e "s:^${S}/pym/::" \ - -e 's:/:.:g' | sort)" || die "error listing modules" - PYTHONPATH="${S}/pym:${PYTHONPATH}" epydoc -o "${WORKDIR}"/api \ - -qqqqq --no-frames --show-imports $epydoc_opts \ - --name "${PN}" --url "${HOMEPAGE}" \ - ${my_modules} || die "epydoc failed" - fi -} - -src_test() { - ./pym/portage/tests/runTests || \ - die "test(s) failed" -} - -src_install() { - local libdir=$(get_libdir) - local portage_base="/usr/${libdir}/portage" - local portage_share_config=/usr/share/portage/config - - cd "${S}"/cnf - insinto /etc - doins etc-update.conf dispatch-conf.conf - - dodir "${portage_share_config}" - insinto "${portage_share_config}" - doins "${S}/cnf/"{sets.conf,make.globals} - if [ -f "make.conf.${ARCH}".diff ]; then - patch make.conf "make.conf.${ARCH}".diff || \ - die "Failed to patch make.conf.example" - newins make.conf make.conf.example - else - eerror "" - eerror "Portage does not have an arch-specific configuration for this arch." - eerror "Please notify the arch maintainer about this issue. Using generic." - eerror "" - newins make.conf make.conf.example - fi - - dosym ..${portage_share_config}/make.globals /etc/make.globals - - insinto /etc/logrotate.d - doins "${S}"/cnf/logrotate.d/elog-save-summary - - dodir ${portage_base}/bin - exeinto ${portage_base}/bin - - # BSD and OSX need a sed wrapper so that find/xargs work properly - if use userland_GNU; then - rm "${S}"/bin/sed || die "Failed to remove sed wrapper" - fi - - cd "${S}"/bin - doexe * - dosym newins ${portage_base}/bin/donewins - - local symlinks - for mydir in $(find "${S}"/pym -type d | sed -e "s:^${S}/::") ; do - dodir ${portage_base}/${mydir} - insinto ${portage_base}/${mydir} - cd "${S}"/${mydir} - doins *.py - symlinks=$(find . -mindepth 1 -maxdepth 1 -type l) - [ -n "${symlinks}" ] && cp -P ${symlinks} "${D}${portage_base}/${mydir}" - done - - # Symlinks to directories cause up/downgrade issues and the use of these - # modules outside of portage is probably negligible. - for x in "${D}${portage_base}/pym/"{cache,elog_modules} ; do - [ ! -L "${x}" ] && continue - die "symlink to directory will cause upgrade/downgrade issues: '${x}'" - done - - exeinto ${portage_base}/pym/portage/tests - doexe "${S}"/pym/portage/tests/runTests - - doman "${S}"/man/*.[0-9] - if use linguas_pl; then - doman -i18n=pl "${S_PL}"/man/pl/*.[0-9] - doman -i18n=pl_PL.UTF-8 "${S_PL}"/man/pl_PL.UTF-8/*.[0-9] - fi - - dodoc "${S}"/{ChangeLog,NEWS,RELEASE-NOTES} - use doc && dohtml -r "${S}"/doc/* - use epydoc && dohtml -r "${WORKDIR}"/api - - dodir /usr/bin - for x in ebuild emerge portageq repoman xpak; do - dosym ../${libdir}/portage/bin/${x} /usr/bin/${x} - done - - dodir /usr/sbin - local my_syms="archive-conf - dispatch-conf - emaint - emerge-webrsync - env-update - etc-update - fixpackages - quickpkg - regenworld" - local x - for x in ${my_syms}; do - dosym ../${libdir}/portage/bin/${x} /usr/sbin/${x} - done - dosym env-update /usr/sbin/update-env - dosym etc-update /usr/sbin/update-etc - - dodir /etc/portage - keepdir /etc/portage -} - -pkg_preinst() { - if ! use build && ! has_version dev-python/pycrypto && \ - has_version '>=dev-lang/python-2.5' ; then - if ! built_with_use '>=dev-lang/python-2.5' ssl ; then - ewarn "If you are an ebuild developer and you plan to commit ebuilds" - ewarn "with this system then please install dev-python/pycrypto or" - ewarn "enable the ssl USE flag for >=dev-lang/python-2.5 in order" - ewarn "to enable RMD160 hash support." - ewarn "See bug #198398 for more information." - fi - fi - if [ -f "${ROOT}/etc/make.globals" ]; then - rm "${ROOT}/etc/make.globals" - fi - - has_version ">=${CATEGORY}/${PN}-2.2_alpha" - MINOR_UPGRADE=$? - - has_version "<=${CATEGORY}/${PN}-2.2_pre5" - WORLD_MIGRATION_UPGRADE=$? - - # If portage-2.1.6 is installed and the preserved_libs_registry exists, - # assume that the NEEDED.ELF.2 files have already been generated. - has_version "<=${CATEGORY}/${PN}-2.2_pre7" && \ - ! ( [ -e "$ROOT"var/lib/portage/preserved_libs_registry ] && \ - has_version ">=${CATEGORY}/${PN}-2.1.6_rc" ) - NEEDED_REBUILD_UPGRADE=$? - - has_version "<${CATEGORY}/${PN}-2.2_alpha" - ADD_SYSTEM_TO_WORLD=$? - - if [ $ADD_SYSTEM_TO_WORLD != 0 -a "$ROOT" != / ] && \ - ! has_version "${CATEGORY}/${PN}" ; then - # building stage 1 - ADD_SYSTEM_TO_WORLD=0 - fi -} - -pkg_postinst() { - # Compile all source files recursively. Any orphans - # will be identified and removed in postrm. - python_mod_optimize /usr/$(get_libdir)/portage/pym - - if [ $ADD_SYSTEM_TO_WORLD = 0 ] && \ - [ ! -e "$ROOT"var/lib/portage/world_sets ] ; then - einfo "adding @system to world_sets for backward compatibility" - echo @system > "$ROOT"var/lib/portage/world_sets - fi - - if [ $WORLD_MIGRATION_UPGRADE = 0 ] ; then - einfo "moving set references from the worldfile into world_sets" - cd "${ROOT}/var/lib/portage/" - grep "^@" world >> world_sets - sed -i -e '/^@/d' world - fi - - if [ $NEEDED_REBUILD_UPGRADE = 0 ] ; then - einfo "rebuilding NEEDED.ELF.2 files" - for cpv in "${ROOT}/var/db/pkg"/*/*; do - if [ -f "${cpv}/NEEDED" ]; then - rm -f "${cpv}/NEEDED.ELF.2" - while read line; do - filename=${line% *} - needed=${line#* } - needed=${needed//+/++} - needed=${needed//#/##} - needed=${needed//%/%%} - newline=$(scanelf -BF "%a;%F;%S;%r;${needed}" $filename) - newline=${newline// - } - echo "${newline:3}" >> "${cpv}/NEEDED.ELF.2" - done < "${cpv}/NEEDED" - fi - done - fi - - elog - elog "For help with using portage please consult the Gentoo Handbook" - elog "at http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3" - elog - - if [ $MINOR_UPGRADE = 0 ] ; then - elog "If you're upgrading from a pre-2.2 version of portage you might" - elog "want to remerge world (emerge -e world) to take full advantage" - elog "of some of the new features in 2.2." - elog "This is not required however for portage to function properly." - elog - fi - - if [ -z "${PV/*_pre*}" ]; then - elog "If you always want to use the latest development version of portage" - elog "please read http://www.gentoo.org/proj/en/portage/doc/testing.xml" - elog - fi -} - -pkg_postrm() { - python_mod_cleanup /usr/$(get_libdir)/portage/pym -} |