diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-07-23 07:52:03 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-07-23 07:52:03 +0000 |
commit | 10e5a5e18f7b2d9699611b3863065633f5cddda9 (patch) | |
tree | 14b350d82e36d6d114305403147b9eb4897e8275 /sys-apps | |
parent | Stable for HPPA (bug #230848). (diff) | |
download | gentoo-2-10e5a5e18f7b2d9699611b3863065633f5cddda9.tar.gz gentoo-2-10e5a5e18f7b2d9699611b3863065633f5cddda9.tar.bz2 gentoo-2-10e5a5e18f7b2d9699611b3863065633f5cddda9.zip |
2.2_rc2 bump. This fixes bugs #12768 (--keep-going), #147516 (--jobs),
displayed twice), #228977 (tight loop when merging glibc), #230053
(depclean lib awareness), #230245 (repoman does svn list in wrong dir),
distlocks with --fetchonly), #230579 (exception triggered by empty
preserved libs registry), #231358 (exception triggered by conditional
in LICENSE), #231382 (mysterious exception raised from getconfig), and
since 2.1.5.x.
Remove old 2.1.5.5 ebuild.
(Portage version: 2.2_rc2/cvs/Linux 2.6.25-0619-x86-64 i686)
Diffstat (limited to 'sys-apps')
-rw-r--r-- | sys-apps/portage/ChangeLog | 18 | ||||
-rw-r--r-- | sys-apps/portage/portage-2.2_rc2.ebuild (renamed from sys-apps/portage/portage-2.1.5.5.ebuild) | 209 |
2 files changed, 126 insertions, 101 deletions
diff --git a/sys-apps/portage/ChangeLog b/sys-apps/portage/ChangeLog index be9962234d93..391afebd6622 100644 --- a/sys-apps/portage/ChangeLog +++ b/sys-apps/portage/ChangeLog @@ -1,6 +1,22 @@ # 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.531 2008/06/28 18:01:55 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/ChangeLog,v 1.532 2008/07/23 07:52:03 zmedico Exp $ + +*portage-2.2_rc2 (23 Jul 2008) + + 23 Jul 2008; Zac Medico <zmedico@gentoo.org> +portage-2.2_rc2.ebuild: + 2.2_rc2 bump. This fixes bugs #12768 (--keep-going), #147516 (--jobs), + #226307 (problem unmerging slots that don't belong to a package set), + #228489 (restore repoman ci), #228595 (bogus repo_name warning), + #228935 (build log check for 'command not found'), #228939 (merge list + displayed twice), #228977 (tight loop when merging glibc), #230053 + (depclean lib awareness), #230245 (repoman does svn list in wrong dir), + #230249 (poor repoman performance in svn repos), #230469 (non-blocking + distlocks with --fetchonly), #230579 (exception triggered by empty + preserved libs registry), #231358 (exception triggered by conditional + in LICENSE), #231382 (mysterious exception raised from getconfig), and + #231464 (dropped elog messages). Bug #210077 tracks all bugs fixed + since 2.1.5.x. 28 Jun 2008; Mike Frysinger <vapier@gentoo.org> portage-2.2_rc1.ebuild: Force newer pax-utils #229213 by Andrey Kislyuk. diff --git a/sys-apps/portage/portage-2.1.5.5.ebuild b/sys-apps/portage/portage-2.2_rc2.ebuild index d8bde0722123..7aa9bb1dd6c9 100644 --- a/sys-apps/portage/portage-2.1.5.5.ebuild +++ b/sys-apps/portage/portage-2.2_rc2.ebuild @@ -1,8 +1,8 @@ # 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.5.5.ebuild,v 1.2 2008/06/16 08:51:53 zmedico Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-2.2_rc2.ebuild,v 1.1 2008/07/23 07:52:03 zmedico Exp $ -inherit eutils multilib +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" @@ -12,22 +12,20 @@ PROVIDE="virtual/portage" SLOT="0" IUSE="build doc epydoc selinux linguas_pl" -# Need >=python-2.5 for float mtime support. This dep -# can revert to python-2.4 when bug #223417 is fixed. -#python_dep=">=dev-lang/python-2.4" -python_dep=">=dev-lang/python-2.5" +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 )" + epydoc? ( =dev-python/epydoc-2* )" RDEPEND="${python_dep} !build? ( >=sys-apps/sed-4.0.5 - >=app-shells/bash-3.2_p17 ) + >=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.13 + >=app-misc/pax-utils-0.1.17 selinux? ( >=dev-python/python-selinux-2.16 )" PDEPEND=" !build? ( @@ -37,35 +35,39 @@ PDEPEND=" )" # 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.5" +TARBALL_PV="2.2_rc1" SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2 - ${SRC_ARCHIVES}/${PN}-${TARBALL_PV}.tar.bz2 + $(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2) linguas_pl? ( mirror://gentoo/${PN}-man-pl-${PV_PL}.tar.bz2 - ${SRC_ARCHIVES}/${PN}-man-pl-${PV_PL}.tar.bz2 )" + $(prefix_src_archives ${PN}-man-pl-${PV_PL}.tar.bz2) )" -PATCHVER="${PV}" +PATCHVER="2.2_rc2" if [ -n "${PATCHVER}" ]; then SRC_URI="${SRC_URI} mirror://gentoo/${PN}-${PATCHVER}.patch.bz2 - ${SRC_ARCHIVES}/${PN}-${PATCHVER}.patch.bz2" -fi - -if [ -n "${PATCHVER_PL}" ]; then - SRC_URI="${SRC_URI} linguas_pl? ( mirror://gentoo/${PN}-man-pl-${PV_PL}${PATCHVER_PL}.patch.bz2 - ${SRC_ARCHIVES}/${PN}-man-pl-${PV_PL}${PATCHVER_PL}.patch.bz2 )" + $(prefix_src_archives ${PN}-${PATCHVER}.patch.bz2)" fi S="${WORKDIR}"/${PN}-${TARBALL_PV} S_PL="${WORKDIR}"/${PN}-${PV_PL} -portage_docs() { - 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 "" +pkg_setup() { + MINOR_UPGRADE=$(has_version '>=sys-apps/portage-2.2_alpha' && echo true) + WORLD_MIGRATION_UPGRADE=$(has_version '<=sys-apps/portage-2.2_pre5' && echo true) + NEEDED_REBUILD_UPGRADE=$(has_version '<=sys-apps/portage-2.2_pre7' && echo true) } src_unpack() { @@ -76,22 +78,15 @@ src_unpack() { epatch "${WORKDIR}/${PN}-${PATCHVER}.patch" fi einfo "Setting portage.VERSION to ${PVR} ..." - sed -i "s/^VERSION=.*/VERSION=\"${PVR}\"/" pym/portage.py || \ + sed -i "s/^VERSION=.*/VERSION=\"${PVR}\"/" pym/portage/__init__.py || \ die "Failed to patch portage.VERSION" - eend 0 - if [ -n "${PATCHVER_PL}" ]; then - use linguas_pl && \ - epatch "${WORKDIR}/${PN}-man-pl-${PV_PL}${PATCHVER_PL}.patch" - fi } src_compile() { - cd "${S}"/src if use doc; then cd "${S}"/doc touch fragment/date - sed -i "s/svn-trunk/${PVR}/" fragment/version make xhtml xhtml-nochunks || die "failed to make docs" fi @@ -101,7 +96,7 @@ src_compile() { local my_modules my_modules="$(find "${S}/pym" -name "*.py" \ | sed -e 's:/__init__.py$::' -e 's:\.py$::' -e "s:^${S}/pym/::" \ - -e 's:/:.:g')" || die "error listing modules" + -e 's:/:.:g' | sort)" || die "error listing modules" PYTHONPATH="${S}/pym:${PYTHONPATH}" epydoc -o "${WORKDIR}"/api \ -qqqqq --no-frames --show-imports \ --name "${PN}" --url "${HOMEPAGE}" \ @@ -110,16 +105,22 @@ src_compile() { } src_test() { - ./tests/runTests || \ + ./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 make.globals + 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" @@ -132,40 +133,54 @@ src_install() { 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 mydir - for mydir in pym pym/cache pym/elog_modules; do + 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 - dodoc "${S}"/NEWS - dodoc "${S}"/RELEASE-NOTES - use doc && dohtml "${S}"/doc/*.html + + dodoc "${S}"/{ChangeLog,NEWS,RELEASE-NOTES} + use doc && dohtml -r "${S}"/doc/* use epydoc && dohtml -r "${WORKDIR}"/api dodir /usr/bin - local x for x in ebuild emerge portageq repoman xpak; do dosym ../${libdir}/portage/bin/${x} /usr/bin/${x} done @@ -189,81 +204,75 @@ src_install() { dodir /etc/portage keepdir /etc/portage - - echo PYTHONPATH=\"${portage_base}/pym\" > "${WORKDIR}"/05portage.envd - doenvd "${WORKDIR}"/05portage.envd } 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 - echo "If you are a Gentoo developer and you plan to" \ - "commit ebuilds with this system then please install" \ - "pycrypto or enable python's ssl USE flag in order" \ - "to enable RMD160 hash support. See bug #198398 for" \ - "more information." | \ - fmt -w 70 | while read line ; do ewarn "${line}" ; done + 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 - local portage_base="/usr/$(get_libdir)/portage" - if has livecvsportage ${FEATURES} && [ "${ROOT}" = "/" ]; then - rm -rf "${D}"/${portage_base}/pym/* - rm -rf "${D}"/${portage_base}/bin/* + if [ -f "${ROOT}/etc/make.globals" ]; then + rm "${ROOT}/etc/make.globals" fi } pkg_postinst() { - local x + # Compile all source files recursively. Any orphans + # will be identified and removed in postrm. + python_mod_optimize /usr/$(get_libdir)/portage/pym - if [ ! -f "${ROOT}/var/lib/portage/world" ] && - [ -f "${ROOT}"/var/cache/edb/world ] && - [ ! -h "${ROOT}"/var/cache/edb/world ]; then - mv "${ROOT}"/var/cache/edb/world "${ROOT}"/var/lib/portage/world - ln -s ../../lib/portage/world /var/cache/edb/world + if [ -n "${WORLD_MIGRATION_UPGRADE}" ]; 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 - for x in "${ROOT}"/etc/._cfg????_make.globals; do - # Overwrite the globals file automatically. - [ -e "${x}" ] && mv -f "${x}" "${ROOT}etc/make.globals" - done - - # Compile all source files recursively. Any orphans - # will be identified and removed in postrm. - compile_all_python_bytecodes "${ROOT}usr/$(get_libdir)/portage/pym" - - echo "The metadata-transfer feature is now disabled" \ - "by default. This disables the \"Updating Portage cache\"" \ - "routine that used to run at the tail end of each" \ - "\`emerge --sync\` operation. If you use something" \ - "like the sqlite module and want to keep all metadata" \ - "in that format alone (useful for querying), enable" \ - "FEATURES=\"metadata-transfer\" in make.conf. You should" \ - "also enable FEATURES=\"metadata-transfer\" if you have" \ - "any eclasses from PORTDIR_OVERLAY that override eclasses" \ - "from PORTDIR (in this case, you may have disabled" \ - "a relevant warning message by setting" \ - "PORTAGE_ECLASS_WARNING_ENABLE=\"0\" in make.conf)." \ - | fmt -w 75 | while read x ; do elog "$x" ; done - - portage_docs -} + if [ -n "${NEEDED_REBUILD_UPGRADE}" ]; 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 -pkg_postrm() { - remove_orphan_python_bytecodes "${ROOT}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 [ -z "${MINOR_UPGRADE}" ]; 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 -compile_all_python_bytecodes() { - python -c "from compileall import compile_dir; compile_dir('${1}', quiet=True)" - python -O -c "from compileall import compile_dir; compile_dir('${1}', quiet=True)" + 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 } -remove_orphan_python_bytecodes() { - [[ -d ${1} ]] || return - find "${1}" -name '*.py[co]' -print0 | \ - while read -d $'\0' f ; do - src_py=${f%[co]} - [[ -f ${src_py} ]] && continue - rm -f "${src_py}"[co] - done +pkg_postrm() { + python_mod_cleanup /usr/$(get_libdir)/portage/pym } |