sys-apps/portage: version bump to 2.3.31

#653508 - AssertionError: idle callback recursion
  #640318 - emerge --usepkgonly: propagate implicit IUSE and USE_EXPAND

Closes: https://bugs.gentoo.org/653508
Package-Manager: Portage-2.3.31, Repoman-2.3.9
This commit is contained in:
Zac Medico
2018-04-18 15:29:08 -07:00
parent 4476e80689
commit 78997b43cf
3 changed files with 1 additions and 286 deletions

View File

@@ -5,6 +5,5 @@ DIST portage-2.3.24.tar.bz2 959266 BLAKE2B bc15f10599c694ad29f5a55264e929d0a04a9
DIST portage-2.3.26.tar.bz2 970245 BLAKE2B b854bef894327b9e4beabca55d70368d326548d96efdc5b63e47f77971da195d041c8e8412bbb308ef6922be02964727c99f9dcc92a2a4b0a7372e0a1c774ffe SHA512 5acb8a00fdbc72a8c3e79f8b1c2ba17c9b469205edf1e56592db9ccfeb54b4dc83a98548ff0e01c408456a1c962262377967f6d70510c8d1b0e7ab15eab51079
DIST portage-2.3.27.tar.bz2 970480 BLAKE2B dc46362773544102d9a07e686759d454a37177e9ac6e88d664c1aeb1676b9fb4e12662500f1de63644ad5eaf69d58bf85f38339c18d695cdc42930746dedb731 SHA512 791c87ffe958e883fe16562e69e606dd7ff860c13b2262b3eaa665f78acacdcb547c5e124b69d2c0faa36147fdc7c1d60669dee43b7401ea4f89784a619f81fe
DIST portage-2.3.28.tar.bz2 975684 BLAKE2B 70f944700bba66e369877ffdb76c829d6521d429c65ded482482058639478c1c6e27366cb509252e59a4c3d2d295211f4efc2cecd84f7790674429a42a399a72 SHA512 208237faeee844bca829adc42b0407c246e09e91d5c5850c27696eb201f1009a87dce0b28cbbca4a27f2c9d58c0c102387a41483c976642acade83679a980777
DIST portage-2.3.29.tar.bz2 985401 BLAKE2B b0811fa0506fce7e6c8e7ddba8383e54990113da9300d6ecd65ceff1cfd7cc5dc916e6f2e29885ca2d526dd009be7844076bb152c4c9a437b47b746b400c9d59 SHA512 47acbcdacb01253bc30758d523eee0b90ac0cc2061464870bf5a3a72b80776fe686ae73875f1f46f1ed51d4f30677f3f1ec6d75d9d79a24bf60ba9d8e5e950cc
DIST portage-2.3.30.tar.bz2 985686 BLAKE2B aa2ee3af697d1011cca3af97c5c8ad64ea57c5f2afdff7558e33ddeb6ffb54414a13fa5a0b9c8ce401b02dbfeff3c052c97a47347494ff2e65f61c909b8f8c77 SHA512 eccb6fa441c52d92e01bd0407bbd39212c6085b0cc6082058452481659b4199fb15ec61234496c20af30e8dafde9c69c13bfd77382acfdd61b320ee6b053b2d1
DIST portage-2.3.31.tar.bz2 986684 BLAKE2B dc2a6e7da211da98320b872b26af46138791e2600d261fbff21823576804ea04dc77bc69c5f64d94a9bc3d0ec9cba0630b9093c12c426ae0561471092c837080 SHA512 7cca6aa6e8e6ce7ee3902686b437ea09c398630f46926d568a35f94b95be3c6ecc53a4ab6ee99d52c04755d5144900cc3aa84be24a49533518f8c50a9301ffb8
DIST portage-2.3.8.tar.bz2 938062 BLAKE2B 3f7bedf6268131a3b3539d53c8a7bb069b533b3a78e5eec521b6201439c8ee5e66996e798fe295561d0a94bfcd32adf414d4f8b5e7a93035cea09749406e64a3 SHA512 4b4b2de20323799b9b0f7a8812f939aa9a96d2744a0f65ad5287ba49744c491b55169cdb21f2885317a6a7c960d2070775ffd798f247b44eebc677c33c271eb8

View File

@@ -1,284 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
PYTHON_COMPAT=(
pypy
python3_4 python3_5 python3_6
python2_7
)
PYTHON_REQ_USE='bzip2(+),threads(+)'
inherit distutils-r1 systemd
DESCRIPTION="Portage is the package management and distribution system for Gentoo"
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage"
LICENSE="GPL-2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd"
SLOT="0"
IUSE="build doc epydoc gentoo-dev +ipc +native-extensions +rsync-verify selinux xattr"
DEPEND="!build? ( $(python_gen_impl_dep 'ssl(+)') )
>=app-arch/tar-1.27
dev-lang/python-exec:2
>=sys-apps/sed-4.0.5 sys-devel/patch
doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 )
epydoc? ( >=dev-python/epydoc-2.0[$(python_gen_usedep 'python2*')] )"
# Require sandbox-2.2 for bug #288863.
# For xattr, we can spawn getfattr and setfattr from sys-apps/attr, but that's
# quite slow, so it's not considered in the dependencies as an alternative to
# to python-3.3 / pyxattr. Also, xattr support is only tested with Linux, so
# for now, don't pull in xattr deps for other kernels.
# For whirlpool hash, require python[ssl] (bug #425046).
# For compgen, require bash[readline] (bug #445576).
# app-portage/gemato goes without PYTHON_USEDEP since we're calling
# the executable.
RDEPEND="
>=app-arch/tar-1.27
dev-lang/python-exec:2
!build? (
>=sys-apps/sed-4.0.5
app-shells/bash:0[readline]
>=app-admin/eselect-1.2
$(python_gen_cond_dep 'dev-python/pyblake2[${PYTHON_USEDEP}]' \
python{2_7,3_4,3_5} pypy)
rsync-verify? (
>=app-portage/gemato-12.1
app-crypt/gentoo-keys
>=app-crypt/gnupg-2.2.4-r2[ssl(-)]
)
)
elibc_FreeBSD? ( sys-freebsd/freebsd-bin )
elibc_glibc? ( >=sys-apps/sandbox-2.2 )
elibc_musl? ( >=sys-apps/sandbox-2.2 )
elibc_uclibc? ( >=sys-apps/sandbox-2.2 )
>=app-misc/pax-utils-0.1.17
selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] )
xattr? ( kernel_linux? (
>=sys-apps/install-xattr-0.3
$(python_gen_cond_dep 'dev-python/pyxattr[${PYTHON_USEDEP}]' \
python2_7 pypy)
) )
!<app-admin/logrotate-3.8.0"
PDEPEND="
!build? (
>=net-misc/rsync-2.6.4
userland_GNU? ( >=sys-apps/coreutils-6.4 )
)"
# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
# NOTE: FEATURES=installsources requires debugedit and rsync
REQUIRED_USE="epydoc? ( $(python_gen_useflags 'python2*') )"
SRC_ARCHIVES="https://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
}
TARBALL_PV=${PV}
SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
$(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)"
pkg_setup() {
use epydoc && DISTUTILS_ALL_SUBPHASE_IMPLS=( python2.7 )
}
python_prepare_all() {
distutils-r1_python_prepare_all
if use gentoo-dev; then
einfo "Disabling --dynamic-deps by default for gentoo-dev..."
sed -e 's:\("--dynamic-deps", \)\("y"\):\1"n":' \
-i pym/_emerge/create_depgraph_params.py || \
die "failed to patch create_depgraph_params.py"
einfo "Enabling additional FEATURES for gentoo-dev..."
echo 'FEATURES="${FEATURES} ipc-sandbox network-sandbox strict-keepdir"' \
>> cnf/make.globals || die
fi
if use native-extensions; then
printf "[build_ext]\nportage-ext-modules=true\n" >> \
setup.cfg || die
fi
if ! use ipc ; then
einfo "Disabling ipc..."
sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \
-i pym/_emerge/AbstractEbuildProcess.py || \
die "failed to patch AbstractEbuildProcess.py"
fi
if use xattr && use kernel_linux ; then
einfo "Adding FEATURES=xattr to make.globals ..."
echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \
|| die "failed to append to make.globals"
fi
if use build || ! use rsync-verify; then
sed -e '/^sync-rsync-verify-metamanifest/s|yes|no|' \
-i cnf/repos.conf || die "sed failed"
fi
if [[ -n ${EPREFIX} ]] ; then
einfo "Setting portage.const.EPREFIX ..."
sed -e "s|^\(SANDBOX_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/sandbox\"\)|\\1${EPREFIX}\\2|" \
-e "s|^\(FAKEROOT_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/fakeroot\"\)|\\1${EPREFIX}\\2|" \
-e "s|^\(BASH_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/bash\"\)|\\1${EPREFIX}\\2|" \
-e "s|^\(MOVE_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/mv\"\)|\\1${EPREFIX}\\2|" \
-e "s|^\(PRELINK_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/sbin/prelink\"\)|\\1${EPREFIX}\\2|" \
-e "s|^\(EPREFIX[[:space:]]*=[[:space:]]*\"\).*|\\1${EPREFIX}\"|" \
-i pym/portage/const.py || \
die "Failed to patch portage.const.EPREFIX"
einfo "Prefixing shebangs ..."
while read -r -d $'\0' ; do
local shebang=$(head -n1 "$REPLY")
if [[ ${shebang} == "#!"* && ! ${shebang} == "#!${EPREFIX}/"* ]] ; then
sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" "$REPLY" || \
die "sed failed"
fi
done < <(find . -type f -print0)
einfo "Adjusting make.globals ..."
sed -e "s|\(/usr/portage\)|${EPREFIX}\\1|" \
-e "s|^\(PORTAGE_TMPDIR=\"\)\(/var/tmp\"\)|\\1${EPREFIX}\\2|" \
-i cnf/make.globals || die "sed failed"
einfo "Adjusting repos.conf ..."
sed -e "s|^\(location = \)\(/usr/portage\)|\\1${EPREFIX}\\2|" \
-e "s|^\(sync-openpgp-key-path = \)\(.*\)|\\1${EPREFIX}\\2|" \
-i cnf/repos.conf || die "sed failed"
if use prefix-guest ; then
sed -e "s|^\(main-repo = \).*|\\1gentoo_prefix|" \
-e "s|^\\[gentoo\\]|[gentoo_prefix]|" \
-e "s|^\(sync-uri = \).*|\\1rsync://rsync.prefix.bitzolder.nl/gentoo-portage-prefix|" \
-i cnf/repos.conf || die "sed failed"
fi
einfo "Adding FEATURES=force-prefix to make.globals ..."
echo -e '\nFEATURES="${FEATURES} force-prefix"' >> cnf/make.globals \
|| die "failed to append to make.globals"
fi
cd "${S}/cnf" || die
if [ -f "make.conf.example.${ARCH}".diff ]; then
patch make.conf.example "make.conf.example.${ARCH}".diff || \
die "Failed to patch 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 ""
fi
}
python_compile_all() {
local targets=()
use doc && targets+=( docbook )
use epydoc && targets+=( epydoc )
if [[ ${targets[@]} ]]; then
esetup.py "${targets[@]}"
fi
}
python_test() {
esetup.py test
}
python_install() {
# Install sbin scripts to bindir for python-exec linking
# they will be relocated in pkg_preinst()
distutils-r1_python_install \
--system-prefix="${EPREFIX}/usr" \
--bindir="$(python_get_scriptdir)" \
--docdir="${EPREFIX}/usr/share/doc/${PF}" \
--htmldir="${EPREFIX}/usr/share/doc/${PF}/html" \
--portage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}" \
--sbindir="$(python_get_scriptdir)" \
--sysconfdir="${EPREFIX}/etc" \
"${@}"
}
python_install_all() {
distutils-r1_python_install_all
local targets=()
use doc && targets+=(
install_docbook
--htmldir="${EPREFIX}/usr/share/doc/${PF}/html"
)
use epydoc && targets+=(
install_epydoc
--htmldir="${EPREFIX}/usr/share/doc/${PF}/html"
)
# install docs
if [[ ${targets[@]} ]]; then
esetup.py "${targets[@]}"
fi
systemd_dotmpfilesd "${FILESDIR}"/portage-ccache.conf
# Due to distutils/python-exec limitations
# these must be installed to /usr/bin.
local sbin_relocations='archive-conf dispatch-conf emaint env-update etc-update fixpackages regenworld'
einfo "Moving admin scripts to the correct directory"
dodir /usr/sbin
for target in ${sbin_relocations}; do
einfo "Moving /usr/bin/${target} to /usr/sbin/${target}"
mv "${ED}usr/bin/${target}" "${ED}usr/sbin/${target}" || die "sbin scripts move failed!"
done
}
pkg_preinst() {
# comment out sanity test until it is fixed to work
# with the new PORTAGE_PYM_PATH
#if [[ $ROOT == / ]] ; then
## Run some minimal tests as a sanity check.
#local test_runner=$(find "${ED}" -name runTests)
#if [[ -n $test_runner && -x $test_runner ]] ; then
#einfo "Running preinst sanity tests..."
#"$test_runner" || die "preinst sanity tests failed"
#fi
#fi
# elog dir must exist to avoid logrotate error for bug #415911.
# This code runs in preinst in order to bypass the mapping of
# portage:portage to root:root which happens after src_install.
keepdir /var/log/portage/elog
# This is allowed to fail if the user/group are invalid for prefix users.
if chown portage:portage "${ED}"var/log/portage{,/elog} 2>/dev/null ; then
chmod g+s,ug+rwx "${ED}"var/log/portage{,/elog}
fi
if has_version ">=${CATEGORY}/${PN}-2.3.1" && \
has_version "<${CATEGORY}/${PN}-2.3.3"; then
SYNC_DEPTH_UPGRADE=true
else
SYNC_DEPTH_UPGRADE=false
fi
}
pkg_postinst() {
if ${SYNC_DEPTH_UPGRADE}; then
ewarn "Please note that this release no longer respects sync-depth for"
ewarn "git repositories. There have been too many problems and"
ewarn "performance issues. See bugs 552814, 559008"
fi
einfo ""
einfo "This release of portage NO LONGER contains the repoman code base."
einfo "Repoman has its own ebuild and release package."
einfo "For repoman functionality please emerge app-portage/repoman"
einfo "Please report any bugs you may encounter."
einfo ""
}