commit: 07e60cd2a4f67f0b4207fb8150f9d7a1689cb295
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 22 07:27:11 2024 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Thu Feb 22 07:27:11 2024 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=07e60cd2
Merge remote-tracking branch 'origin/master' into prefix
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
.git-blame-ignore-revs | 2 +
.github/workflows/ci.yml | 47 +-
.github/workflows/lint.yml | 2 +-
.pre-commit-config.yaml | 8 +-
NEWS | 173 +++++
bin/dispatch-conf | 2 +-
bin/ebuild-helpers/dohtml | 2 +-
bin/ebuild-helpers/fowners | 2 +-
bin/ebuild-helpers/fperms | 2 +-
bin/ebuild.sh | 8 +-
bin/estrip | 35 +-
bin/fixpackages | 71 +-
bin/install-qa-check.d/05prefix | 10 +-
bin/install-qa-check.d/60bash-completion | 4 +-
bin/install-qa-check.d/90bad-bin-group-write | 2 +-
bin/install-qa-check.d/90bad-bin-owner | 2 +-
bin/install-qa-check.d/90cmake-warnings | 2 +-
bin/install-qa-check.d/90world-writable | 2 +-
bin/install-qa-check.d/95empty-dirs | 2 +-
bin/phase-functions.sh | 3 +-
bin/phase-helpers.sh | 10 +-
bin/quickpkg | 13 +-
cnf/make.conf.example.arc.diff | 46 ++
cnf/make.globals | 10 +-
lib/_emerge/AbstractDepPriority.py | 3 +-
lib/_emerge/AsynchronousTask.py | 6 +-
lib/_emerge/Binpkg.py | 34 +-
lib/_emerge/BinpkgFetcher.py | 120 ++--
lib/_emerge/BinpkgPrefetcher.py | 36 +-
lib/_emerge/BinpkgVerifier.py | 22 +-
lib/_emerge/DepPriority.py | 4 +-
lib/_emerge/DepPriorityNormalRange.py | 4 +-
lib/_emerge/DepPrioritySatisfiedRange.py | 1 +
lib/_emerge/EbuildBinpkg.py | 37 +-
lib/_emerge/EbuildBuild.py | 39 +-
lib/_emerge/EbuildFetchonly.py | 10 +-
lib/_emerge/EbuildMetadataPhase.py | 52 +-
lib/_emerge/EbuildPhase.py | 29 +-
lib/_emerge/MergeListItem.py | 1 -
lib/_emerge/MetadataRegen.py | 16 +-
lib/_emerge/PipeReader.py | 1 -
lib/_emerge/Scheduler.py | 65 +-
lib/_emerge/SpawnProcess.py | 50 +-
lib/_emerge/SubProcess.py | 28 +-
lib/_emerge/UnmergeDepPriority.py | 38 +-
lib/_emerge/actions.py | 51 +-
lib/_emerge/depgraph.py | 238 +++++--
lib/_emerge/resolver/circular_dependency.py | 21 +-
lib/_emerge/resolver/slot_collision.py | 12 +-
.../{binpkg_compression.py => binpkg_format.py} | 16 +-
lib/portage/_compat_upgrade/meson.build | 1 +
lib/portage/_emirrordist/DeletionIterator.py | 8 +-
lib/portage/_emirrordist/FetchIterator.py | 18 +-
lib/portage/_global_updates.py | 15 +-
lib/portage/_selinux.py | 17 +-
lib/portage/_sets/dbapi.py | 2 +-
lib/portage/_sets/libs.py | 1 -
lib/portage/binpkg.py | 2 +-
lib/portage/cache/anydbm.py | 17 +-
lib/portage/const.py | 4 +-
lib/portage/dbapi/__init__.py | 14 +-
lib/portage/dbapi/bintree.py | 187 +++--
lib/portage/dbapi/porttree.py | 130 ++--
lib/portage/dbapi/vartree.py | 51 +-
lib/portage/dep/__init__.py | 24 +-
lib/portage/dep/_slot_operator.py | 1 +
lib/portage/dep/dep_check.py | 17 +-
lib/portage/dep/libc.py | 83 +++
lib/portage/dep/meson.build | 1 +
lib/portage/dep/soname/multilib_category.py | 10 +
lib/portage/emaint/main.py | 2 +-
lib/portage/emaint/modules/merges/merges.py | 4 +-
lib/portage/exception.py | 10 +-
lib/portage/gpg.py | 14 +-
lib/portage/gpkg.py | 34 +-
lib/portage/output.py | 15 +-
lib/portage/package/ebuild/config.py | 67 +-
lib/portage/package/ebuild/doebuild.py | 214 +++---
lib/portage/package/ebuild/fetch.py | 1 +
lib/portage/process.py | 766 +++++++++++++++------
lib/portage/proxy/objectproxy.py | 1 -
lib/portage/sync/modules/git/git.py | 32 +-
lib/portage/sync/modules/rsync/rsync.py | 40 +-
lib/portage/tests/__init__.py | 12 +-
lib/portage/tests/bin/setup_env.py | 7 +-
lib/portage/tests/dbapi/test_auxdb.py | 71 +-
lib/portage/tests/dbapi/test_portdb_cache.py | 6 +-
lib/portage/tests/dep/meson.build | 1 +
lib/portage/tests/dep/test_libc.py | 81 +++
lib/portage/tests/dep/test_overlap_dnf.py | 49 +-
lib/portage/tests/ebuild/test_fetch.py | 24 +-
lib/portage/tests/emerge/conftest.py | 21 +-
lib/portage/tests/emerge/meson.build | 2 +
lib/portage/tests/emerge/test_actions.py | 23 +-
lib/portage/tests/emerge/test_baseline.py | 2 +-
...cker_file_collision.py => test_binpkg_fetch.py} | 185 ++---
lib/portage/tests/emerge/test_config_protect.py | 2 +-
.../emerge/test_emerge_blocker_file_collision.py | 2 +-
lib/portage/tests/emerge/test_emerge_slot_abi.py | 2 +-
lib/portage/tests/emerge/test_libc_dep_inject.py | 552 +++++++++++++++
.../tests/env/config/test_PortageModulesFile.py | 3 +-
lib/portage/tests/glsa/test_security_set.py | 4 +-
lib/portage/tests/gpkg/test_gpkg_gpg.py | 23 +-
.../tests/gpkg/test_gpkg_metadata_update.py | 2 +-
lib/portage/tests/gpkg/test_gpkg_metadata_url.py | 45 +-
lib/portage/tests/gpkg/test_gpkg_path.py | 3 +-
lib/portage/tests/locks/test_lock_nonblock.py | 55 +-
lib/portage/tests/news/test_NewsItem.py | 3 +-
lib/portage/tests/process/meson.build | 1 +
lib/portage/tests/process/test_AsyncFunction.py | 27 +-
lib/portage/tests/process/test_spawn_fail_e2big.py | 7 +-
lib/portage/tests/process/test_spawn_returnproc.py | 39 ++
lib/portage/tests/resolver/ResolverPlayground.py | 96 ++-
lib/portage/tests/resolver/meson.build | 2 +
.../tests/resolver/soname/test_skip_update.py | 17 +-
lib/portage/tests/resolver/test_broken_deps.py | 76 ++
.../tests/resolver/test_cross_dep_priority.py | 164 +++++
lib/portage/tests/resolver/test_depclean_order.py | 117 +++-
lib/portage/tests/resolver/test_eapi.py | 4 +-
lib/portage/tests/sets/base/test_variable_set.py | 8 +
.../tests/sets/files/test_config_file_set.py | 3 +-
.../tests/sets/files/test_static_file_set.py | 3 +-
lib/portage/tests/sets/shell/test_shell.py | 4 +-
lib/portage/tests/sync/test_sync_local.py | 2 +-
lib/portage/tests/update/test_move_ent.py | 205 +++++-
lib/portage/tests/update/test_move_slot_ent.py | 157 ++++-
lib/portage/tests/update/test_update_dbentry.py | 217 +++++-
lib/portage/tests/util/dyn_libs/meson.build | 1 +
.../tests/util/dyn_libs/test_installed_dynlibs.py | 65 ++
lib/portage/tests/util/futures/asyncio/meson.build | 1 -
.../util/futures/asyncio/test_child_watcher.py | 50 --
lib/portage/tests/util/futures/test_retry.py | 43 +-
lib/portage/tests/util/test_manifest.py | 7 +-
lib/portage/util/_async/AsyncTaskFuture.py | 8 +-
lib/portage/util/_async/BuildLogger.py | 39 +-
lib/portage/util/_async/ForkProcess.py | 191 ++---
lib/portage/util/_async/PipeLogger.py | 1 -
lib/portage/util/_async/PopenProcess.py | 5 +-
lib/portage/util/_async/TaskScheduler.py | 1 -
lib/portage/util/_dyn_libs/LinkageMapELF.py | 3 -
lib/portage/util/_dyn_libs/dyn_libs.py | 43 +-
lib/portage/util/elf/constants.py | 5 +
lib/portage/util/file_copy/__init__.py | 7 +-
lib/portage/util/futures/_asyncio/__init__.py | 32 +-
lib/portage/util/futures/_sync_decorator.py | 8 +-
lib/portage/util/futures/executor/fork.py | 6 +-
lib/portage/util/locale.py | 73 +-
lib/portage/util/socks5.py | 36 +-
man/ebuild.5 | 8 +
man/emerge.1 | 5 +-
man/make.conf.5 | 30 +-
meson.build | 2 +-
misc/emerge-delta-webrsync | 1 +
tox.ini | 3 +-
154 files changed, 4862 insertions(+), 1338 deletions(-)
diff --cc lib/portage/const.py
index 8769ab2707,2154213b7b..1909199ef3
--- a/lib/portage/const.py
+++ b/lib/portage/const.py
@@@ -1,14 -1,7 +1,14 @@@
# portage: Constants
- # Copyright 1998-2023 Gentoo Authors
+ # Copyright 1998-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
+# BEGIN PREFIX LOCAL
+# ===========================================================================
+# autotool supplied constants.
+# ===========================================================================
+from portage.const_autotool import *
+# END PREFIX LOCAL
+
import os
from portage import installation
diff --cc lib/portage/package/ebuild/doebuild.py
index c627077a27,bc51fdff2d..7994394bdd
--- a/lib/portage/package/ebuild/doebuild.py
+++ b/lib/portage/package/ebuild/doebuild.py
@@@ -19,10 -19,9 +19,11 @@@ import sy
import tempfile
from textwrap import wrap
import time
+ from typing import Union
import warnings
import zlib
+# PREFIX LOCAL
+import platform
import portage