sys-apps/portage: Drop old

This commit is contained in:
Krzesimir Nowak 2020-10-27 19:57:03 +01:00
parent 5f8287bb47
commit 52cf405dd7
7 changed files with 0 additions and 457 deletions

View File

@ -1,3 +0,0 @@
DIST portage-2.3.40-bug-656942-bug-657436-937d0156aa06.patch 15214 BLAKE2B 0351f82cd46aa1523eb0f70109551009a422546f2fbde1beee7a18dad4ecbfc6465b3b3052a25720196950f7da81adeb66d87940f2b477fbeca27afba56fa18e SHA512 b0482b8dac8af97b841ded426001872c1c708f649dc7774bd3c7003179888fd4d126ece33d001d127b643d88b8a70b9af75bbeb36beeaca7b8ad308f92ff72e7
DIST portage-2.3.40-bug-657436-937d0156aa06-1fc628eead43.patch 4131 BLAKE2B 1b051097ef4fb073d22b9ef3472077b4845190ec3839886f462cacbee0996dc4c036549c4beab09025e1bb42f421e5032144e90197e3aa5de08dd7d8d1c50fbb SHA512 5910469816b69afb7a0078dd3b35a5304e2c806ac03ff3949603cf4162900fd9dd1df15661b91a2181528e8406679e525308822a0f6ddf4799c79fa9652c27a9
DIST portage-2.3.40.tar.bz2 995122 BLAKE2B 3bfadee6cf57dace32bb4a365850650e13664202f3b16bf75821ff6226e85da823785ac87875fa82bd5cf1b953d638773819495f73f471c06ffd6926518df1ac SHA512 ded128c1941664fab6bc95f05115ec08900fddaedd1b6f12afa48da024531ee8939134d49759e09995c76a95e41beafdbf5528a5b62d3bf21c826ab1ac0cd1c5

View File

@ -1,36 +0,0 @@
From f1ca1359c9cc2bd9e867305e1b07506d3d6722cc Mon Sep 17 00:00:00 2001
From: Michael Marineau <mike@marineau.org>
Date: Sun, 20 Jul 2014 20:27:43 -0700
Subject: [PATCH 2/4] environment: Filter EROOT for all EAPIs
This variable is often defined in older EAPIs with "${EROOT:=$ROOT}"
but it should never be preserved since ROOT may change. Bug #490014
---
bin/phase-functions.sh | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/bin/phase-functions.sh b/bin/phase-functions.sh
index def2080..f4b5a8d 100644
--- a/bin/phase-functions.sh
+++ b/bin/phase-functions.sh
@@ -106,10 +106,14 @@ __filter_readonly_variables() {
if ___eapi_has_SYSROOT; then
filtered_vars+=" SYSROOT"
fi
- # Don't filter/interfere with prefix variables unless they are
- # supported by the current EAPI.
+
+ # Always filter EROOT to ensure it is redefined based on ROOT
+ filtered_vars+=" EROOT"
+
+ # Don't filter/interfere with the other prefix variables unless
+ # they are supported by the current EAPI.
if ___eapi_has_prefix_variables; then
- filtered_vars+=" ED EPREFIX EROOT"
+ filtered_vars+=" ED EPREFIX"
if ___eapi_has_SYSROOT; then
filtered_vars+=" ESYSROOT"
fi
--
2.0.5

View File

@ -1,35 +0,0 @@
From a4329f54504afedc0840d42faf5f15a158fdaada Mon Sep 17 00:00:00 2001
From: Michael Marineau <mike@marineau.org>
Date: Mon, 27 Apr 2015 18:33:11 -0700
Subject: [PATCH 3/4] depgraph: ensure slot rebuilds happen in the correct root
https://bugs.gentoo.org/show_bug.cgi?id=520112
---
pym/_emerge/depgraph.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 37292a6..e3ce8d2 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -3950,13 +3950,13 @@ class depgraph(object):
a favorite list."""
debug = "--debug" in self._frozen_config.myopts
onlydeps = "--onlydeps" in self._frozen_config.myopts
- myroot = self._frozen_config.target_root
- pkgsettings = self._frozen_config.pkgsettings[myroot]
- pprovideddict = pkgsettings.pprovideddict
- virtuals = pkgsettings.getvirtuals()
args = self._dynamic_config._initial_arg_list[:]
for arg in self._expand_set_args(args, add_to_digraph=True):
+ myroot = arg.root_config.root
+ pkgsettings = self._frozen_config.pkgsettings[myroot]
+ pprovideddict = pkgsettings.pprovideddict
+ virtuals = pkgsettings.getvirtuals()
for atom in arg.pset.getAtoms():
self._spinner_update()
dep = Dependency(atom=atom, onlydeps=onlydeps,
--
2.0.5

View File

@ -1,47 +0,0 @@
From 1b8ccc0e487a523aa6d974b3ebe26548ad6502b6 Mon Sep 17 00:00:00 2001
From: Alex Crawford <alex.crawford@coreos.com>
Date: Mon, 14 Apr 2014 12:43:56 -0700
Subject: [PATCH 1/4] portage/repository/config.py: add disabled attribute to
repos.conf
This flag allows a repos.conf file to disable a previously-defined repository.
Updated 03-Nov-17 for portage 2.3.8
---
diff --git a/pym/portage/repository/config.py b/pym/portage/repository/config.py
index b65ed97ce..f3e2f112b 100644
--- a/pym/portage/repository/config.py
+++ b/pym/portage/repository/config.py
@@ -76,7 +76,7 @@ class RepoConfig(object):
__slots__ = ('aliases', 'allow_missing_manifest', 'allow_provide_virtual',
'auto_sync', 'cache_formats', 'clone_depth',
- 'create_manifest', 'disable_manifest',
+ 'create_manifest', 'disable_manifest', 'disabled',
'eapi', 'eclass_db', 'eclass_locations', 'eclass_overrides',
'find_invalid_path_char', 'force', 'format', 'local_config', 'location',
'main_repo', 'manifest_hashes', 'masters', 'missing_repo_name',
@@ -198,6 +198,11 @@ class RepoConfig(object):
location = None
self.location = location
+ disabled = repo_opts.get('disabled')
+ if disabled is not None:
+ disabled = disabled.strip().lower() == 'true'
+ self.disabled = disabled or False
+
missing = True
self.name = name
if self.location is not None:
@@ -651,7 +656,10 @@ class RepoConfigLoader(object):
# Do this before expanding aliases, so that location_map and
# treemap consistently map unaliased names whenever available.
for repo_name, repo in list(prepos.items()):
- if repo.location is None:
+ if repo.disabled:
+ del prepos[repo_name]
+ continue
+ elif repo.location is None:
if repo_name != 'DEFAULT':
# Skip this warning for repoman (bug #474578).
if settings.local_config and paths:

View File

@ -1,2 +0,0 @@
# Prevent ccache files from being cleaned
x /var/tmp/ccache

View File

@ -1,32 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<upstream>
<bugs-to>mailto:dev-portage@gentoo.org</bugs-to>
<changelog>https://gitweb.gentoo.org/proj/portage.git/plain/RELEASE-NOTES</changelog>
<doc>https://wiki.gentoo.org/wiki/Handbook:AMD64/Working/Portage</doc>
</upstream>
<maintainer type="project">
<email>dev-portage@gentoo.org</email>
</maintainer>
<use>
<flag name="epydoc">Build html API documentation with epydoc.</flag>
<flag name="gentoo-dev">Enable features required for Gentoo ebuild development.</flag>
<flag name="ipc">Use inter-process communication between portage and
running ebuilds.
</flag>
<flag name="native-extensions">
Compiles native "C" extensions (speedups, instead of using python
backup code). Currently includes libc-locales.
This should only be temporarily disabled for some bootstrapping
operations. Cross-compilation is not supported.
</flag>
<flag name="rsync-verify">
Enable full-tree cryptographic verification of Gentoo repository
rsync checkouts using <pkg>app-portage/gemato</pkg>.
</flag>
<flag name="xattr">Preserve extended attributes (filesystem-stored metadata)
when installing files. Usually only required for hardened systems.
</flag>
</use>
</pkgmetadata>

View File

@ -1,302 +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 eutils 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 s390 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[${PYTHON_USEDEP}]
app-crypt/openpgp-keys-gentoo-release
>=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)
https://github.com/gentoo/portage/compare/b7f94fccf4163364ab7b4c4f0dcd42b8847f03e0...937d0156aa060bdba9095313dedbb62e0a993aea.patch -> ${P}-bug-656942-bug-657436-937d0156aa06.patch
https://github.com/gentoo/portage/compare/937d0156aa060bdba9095313dedbb62e0a993aea...1fc628eead43fa5da4b142479aa004ded8acceab.patch -> ${P}-bug-657436-937d0156aa06-1fc628eead43.patch"
pkg_setup() {
use epydoc && DISTUTILS_ALL_SUBPHASE_IMPLS=( python2.7 )
}
python_prepare_all() {
distutils-r1_python_prepare_all
# CoreOS does not use the gentoo repo, silence oodles of errors about it:
echo "# no defaults, configuration is in /etc" > cnf/repos.conf
# upstream bug: https://bugs.gentoo.org/507284
epatch "${FILESDIR}/${PN}-2.3.8-0001-portage-repository-config.py-add-disabled-attribute-.patch"
# upstream bug: https://bugs.gentoo.org/490014
epatch "${FILESDIR}/${PN}-2.2.18-0002-environment-Filter-EROOT-for-all-EAPIs.patch"
# upstream bug:
epatch "${FILESDIR}/${PN}-2.2.18-0003-depgraph-ensure-slot-rebuilds-happen-in-the-correct-.patch"
epatch "${DISTDIR}/${P}-bug-656942-bug-657436-937d0156aa06.patch" \
"${DISTDIR}/${P}-bug-657436-937d0156aa06-1fc628eead43.patch"
# apply 4fb5ef2ce2cb
sed -i "s:\\((self._poll_obj, 'close'\\)):\\1, None):" \
pym/portage/util/_eventloop/EventLoop.py || die
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 ""
}