sys-apps/portage: Bump, final release

Includes bug fixes for: 576888, 579626, 579292, 578204, 577862, 582388, 576788
583560, 577720, 583164, 584530, 572494, 582802, 583754, 574626, 586410.

Package-Manager: portage-2.3.0
This commit is contained in:
Brian Dolbec
2016-06-23 10:39:59 -07:00
parent 1d95ac432c
commit 20dab4b8fe
3 changed files with 5 additions and 375 deletions

View File

@@ -1,7 +1,6 @@
DIST portage-2.2.20.1.tar.bz2 950298 SHA256 84dd3ed1d9fd0a3336e956d057590c75834a906ae62a450411232fe5a842475c SHA512 5f7373da20d448059e8fdc8a3593eaca780be3184f0494bac66f5eea7c33d00dd61b9e74cbe9a52413f08cef29d426ed8751e20e16be09178468c18d77a6ae2e WHIRLPOOL 99643ce0ab74c5df64fb5239948c6102bc39847ff88eaf210c069c0c9587c1e8bdd1a032a7e61c1225b6113645387861d439e9c4f103df4d0f042b73e1afc328
DIST portage-2.2.24.tar.bz2 972610 SHA256 c2dbd53dd474c6fe455ffa5920514a6afe467abf02959c33ddb7a7e363939550 SHA512 9dc00410de604db66843bdf62cf0ee7e93ff2c4d562390172c4f0c55ab98b2712078b0eb02c9f35d52633b0fff0b024736e25a1c66cf40ad61a6bf99a7cee4a6 WHIRLPOOL 3227c61662acf69abd843344d0fb1b7cc2cfa91c1bae48b08e1da8fdf42cda15834994852d42dfc089f189e318c657e12fd6b1c19885279e0bb5cfd2349235f8
DIST portage-2.2.26.tar.bz2 977277 SHA256 7f57aa704c58ea47f031f177203dc7b335e01e7ec1e809437ea9e46e3f9263e5 SHA512 fd1a5e5d028d52ba82bbeb7f87bf331d0c1d8c7f5a3bd450c668dd742e99185b6d2b21944f5d7788fe941c99736744b08157ca30145f0964ea60a7c2c435d601 WHIRLPOOL 0469f4c5609146c57eae4baeb8488b95c04f336a5511460ee44d15746339fd43a7c2d61b58528845d77a6a0b21e46c2afad19a9f05e94ac8dc6180032d71f298
DIST portage-2.2.27.tar.bz2 977125 SHA256 3126b59456d2f0a1c9b2c03df15154b2fb29e462abbbe1b8898fa7bc291421af SHA512 8f16a7c9ce33bd34d60f0b06d3e4e0bd4e2c27e6bdc0756e6d3b59108b5438e92f5ca9e981bbfe4ebe9b64f1afe9442d72c52c02fe456e0d36daffae6f77d694 WHIRLPOOL e467c6d9e4e1c177667389a4ce134fabc8676ff5baf9403d73de241086c7d5bab4d11bfe84be749cf9f9781cadc1dd8d173e03e9fba4c926e24131c261a28d1e
DIST portage-2.2.28.tar.bz2 969138 SHA256 da8148a1a9275c87f535679e41b1bb3a1380ba0f903b80510017517e4c5229d0 SHA512 d21bf7e7dcc0a779a13df6a959e5d4291492fce2a5525b67e9a4705888021f9c08b8d78cd32b2eb930ac5428c40383e4e46da5a7b1ed5c9c9c42314c0f1c6a0b WHIRLPOOL 1b9584b0243b46c70d0778aad57df2d3ea99e19f243280e542c29e6fed0634b72de6b203a3c296c2977d1a6e5e5250b910574176c692d2c7c27c0938528bb43d
DIST portage-2.2.8.tar.bz2 874672 SHA256 c1074e01173df5384e003598dbc5f64f09e92f83fd26faab2f88f9f0bc64aa7e SHA512 acc47d94ff8c08e5a7bf2d4c4e600863430dd1e7d0bb8b4254d6477a498933cae663db84debf9487d2243c2cba689629ef8e8b6cf108e10d40e89e8e8d7e1257 WHIRLPOOL d54290ede8d3d85e5211cda7e86ed740178121ef2f47cf0858c27941d8679d29c11445befff962986d40a47ded50d0d4654de19e7d4aef3fdf2546655a0d6fe2
DIST portage-2.3.0.tar.bz2 907500 SHA256 1fbed03f78587c80f5afd36b57d7ac085ed5e5b2cc19fea63fc8a43a477e4067 SHA512 85d15a234e446677dc3458de8dacaa0d91164b190c59f8002ff98dc27a9ad699cba6c4f871ac785ba6116ed53f1f3530ec3ed662ce7f4b3e8c49380b4b206074 WHIRLPOOL 979a7fc61a65dca790a077d4839fbbb22fc8ef31ccbe534b12b87c699a25a1930586dd6ddfb9013d57a71c03ed8d976612ea15e9dc3541aff0b67e3d604a5be2
DIST portage-2.3.0_rc1.tar.bz2 910204 SHA256 52cf0837975c4b2a8e1d3d18e3334a735b14e4ebdbdca8992548b86c1d5bebd1 SHA512 d7a5ce8800668606a2e3549621686bb8bb30bd2f5d7a57b106efc1c58d34b95cef4605f5067824db0beb6f870c9e81cb3fdb5c074e9e64bef40a9df6f524ad13 WHIRLPOOL c4c86fe20606e93ecf4d125f436077ec4d15cb453c98e83894a8383f1654a9b294107c9c04bb3019f66a643ff42c333060319d59dda47c323e9711723c3b9cfe

View File

@@ -1,364 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=(
pypy
python3_3 python3_4
python2_7
)
PYTHON_REQ_USE='bzip2(+)'
inherit distutils-r1 multilib
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 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
SLOT="0"
IUSE="build doc epydoc +ipc linguas_ru 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).
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
)
elibc_FreeBSD? ( sys-freebsd/freebsd-bin )
elibc_glibc? ( >=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/~dolsen/releases/portage"
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)"
python_prepare_all() {
distutils-r1_python_prepare_all
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 [[ -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|^\(main-repo = \).*|\\1gentoo_prefix|" \
-e "s|^\\[gentoo\\]|[gentoo_prefix]|" \
-e "s|^\(location = \)\(/usr/portage\)|\\1${EPREFIX}\\2|" \
-e "s|^\(sync-uri = \).*|\\1rsync://rsync.prefix.bitzolder.nl/gentoo-portage-prefix|" \
-i cnf/repos.conf || die "sed failed"
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 )
use epydoc && targets+=( install_epydoc )
# install docs
if [[ ${targets[@]} ]]; then
esetup.py "${targets[@]}"
fi
# 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.1.13" || \
{
has_version ">=${CATEGORY}/${PN}-2.2_rc0" && \
has_version "<${CATEGORY}/${PN}-2.2.0_alpha189"
} ; then
USERPRIV_UPGRADE=true
USERSYNC_UPGRADE=true
REPOS_CONF_UPGRADE=true
REPOS_CONF_SYNC=
type -P portageq >/dev/null 2>&1 && \
REPOS_CONF_SYNC=$("$(type -P portageq)" envvar SYNC)
else
USERPRIV_UPGRADE=false
USERSYNC_UPGRADE=false
REPOS_CONF_UPGRADE=false
fi
}
get_ownership() {
case ${USERLAND} in
BSD)
stat -f '%Su:%Sg' "${1}"
;;
*)
stat -c '%U:%G' "${1}"
;;
esac
}
new_config_protect() {
# Generate a ._cfg file even if the target file
# does not exist, ensuring that the user will
# notice the config change.
local basename=${1##*/}
local dirname=${1%/*}
local i=0
while true ; do
local filename=$(
echo -n "${dirname}/._cfg"
printf "%04d" ${i}
echo -n "_${basename}"
)
[[ -e ${filename} ]] || break
(( i++ ))
done
echo "${filename}"
}
pkg_postinst() {
if ${REPOS_CONF_UPGRADE} ; then
einfo "Generating repos.conf"
local repo_name=
[[ -f ${PORTDIR}/profiles/repo_name ]] && \
repo_name=$(< "${PORTDIR}/profiles/repo_name")
if [[ -z ${REPOS_CONF_SYNC} ]] ; then
REPOS_CONF_SYNC=$(grep "^sync-uri =" "${EROOT:-${ROOT}}usr/share/portage/config/repos.conf")
REPOS_CONF_SYNC=${REPOS_CONF_SYNC##* }
fi
local sync_type=
[[ ${REPOS_CONF_SYNC} == git://* ]] && sync_type=git
if [[ ${REPOS_CONF_SYNC} == cvs://* ]]; then
sync_type=cvs
REPOS_CONF_SYNC=${REPOS_CONF_SYNC#cvs://}
fi
cat <<-EOF > "${T}/repos.conf"
[DEFAULT]
main-repo = ${repo_name:-gentoo}
[${repo_name:-gentoo}]
location = ${PORTDIR:-${EPREFIX}/usr/portage}
sync-type = ${sync_type:-rsync}
sync-uri = ${REPOS_CONF_SYNC}
EOF
[[ ${sync_type} == cvs ]] && echo "sync-cvs-repo = $(<"${PORTDIR}/CVS/Repository")" >> "${T}/repos.conf"
local dest=${EROOT:-${ROOT}}etc/portage/repos.conf
if [[ ! -f ${dest} ]] && mkdir -p "${dest}" 2>/dev/null ; then
dest=${EROOT:-${ROOT}}etc/portage/repos.conf/${repo_name:-gentoo}.conf
fi
# Don't install the config update if the desired repos.conf directory
# and config file exist, since users may accept it blindly and break
# their config (bug #478726).
[[ -e ${EROOT:-${ROOT}}etc/portage/repos.conf/${repo_name:-gentoo}.conf ]] || \
mv "${T}/repos.conf" "$(new_config_protect "${dest}")"
if [[ ${PORTDIR} == ${EPREFIX}/usr/portage ]] ; then
einfo "Generating make.conf PORTDIR setting for backward compatibility"
for dest in "${EROOT:-${ROOT}}etc/make.conf" "${EROOT:-${ROOT}}etc/portage/make.conf" ; do
[[ -e ${dest} ]] && break
done
[[ -d ${dest} ]] && dest=${dest}/portdir.conf
rm -rf "${T}/make.conf"
[[ -f ${dest} ]] && cat "${dest}" > "${T}/make.conf"
cat <<-EOF >> "${T}/make.conf"
# Set PORTDIR for backward compatibility with various tools:
# gentoo-bashcomp - bug #478444
# euse - bug #474574
# euses and ufed - bug #478318
PORTDIR="${EPREFIX}/usr/portage"
EOF
mkdir -p "${dest%/*}"
mv "${T}/make.conf" "$(new_config_protect "${dest}")"
fi
fi
local distdir=${PORTAGE_ACTUAL_DISTDIR-${DISTDIR}}
if ${USERSYNC_UPGRADE} && \
[[ -d ${PORTDIR} && -w ${PORTDIR} ]] ; then
local ownership=$(get_ownership "${PORTDIR}")
if [[ -n ${ownership} ]] ; then
einfo "Adjusting PORTDIR permissions for usersync"
find "${PORTDIR}" -path "${distdir%/}" -prune -o \
! \( -user "${ownership%:*}" -a -group "${ownership#*:}" \) \
-exec chown "${ownership}" {} +
fi
fi
# Do this last, since it could take a long time if there
# are lots of live sources, and the user may be tempted
# to kill emerge while it is running.
if ${USERPRIV_UPGRADE} && \
[[ -d ${distdir} && -w ${distdir} ]] ; then
local ownership=$(get_ownership "${distdir}")
if [[ ${ownership#*:} == portage ]] ; then
einfo "Adjusting DISTDIR permissions for userpriv"
find "${distdir}" -mindepth 1 -maxdepth 1 -type d -uid 0 \
-exec chown -R portage:portage {} +
fi
fi
einfo ""
einfo "The 'websync' module has now been properly renamed to 'webrsync'"
einfo "Please update your repos.conf/gentoo.conf file if needed."
einfo ""
einfo "This release of portage removed the new squashfs sync module "
einfo "introduced in portage-2.2.19."
einfo "Look for it to be released as an installable portage module soon."
einfo "This will allow it to develop at its own pace partially independent"
einfo "of portage."
einfo ""
}

View File

@@ -124,10 +124,7 @@ python_prepare_all() {
-i cnf/make.globals || die "sed failed"
einfo "Adjusting repos.conf ..."
sed -e "s|^\(main-repo = \).*|\\1gentoo_prefix|" \
-e "s|^\\[gentoo\\]|[gentoo_prefix]|" \
-e "s|^\(location = \)\(/usr/portage\)|\\1${EPREFIX}\\2|" \
-e "s|^\(sync-uri = \).*|\\1rsync://rsync.prefix.bitzolder.nl/gentoo-portage-prefix|" \
sed -e "s|^\(location = \)\(/usr/portage\)|\\1${EPREFIX}\\2|" \
-i cnf/repos.conf || die "sed failed"
einfo "Adding FEATURES=force-prefix to make.globals ..."
@@ -356,11 +353,9 @@ pkg_postinst() {
fi
einfo ""
einfo "This release of portage contains the new repoman code base"
einfo "This code base is still being developed. So its API's are"
einfo "not to be considered stable and are subject to change."
einfo "The code released has been tested and considered ready for use."
einfo "This however does not guarantee it to be completely bug free."
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 ""
}