commit: 52c673fed5fb9c56ba0c609ebc41665ec3727ed8
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 16 18:06:50 2025 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Tue Dec 16 18:06:50 2025 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=52c673fe
Merge remote-tracking branch 'origin/master' into prefix
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
NEWS | 52 ++++
bin/eapi.sh | 2 +-
bin/ebuild | 10 +-
bin/ebuild.sh | 4 +-
bin/emerge | 10 +-
bin/etc-update | 43 ++-
bin/install-qa-check.d/60pkgconfig | 3 +-
bin/isolated-functions.sh | 11 +-
bin/misc-functions.sh | 5 +-
bin/phase-functions.sh | 7 +-
bin/phase-helpers.sh | 11 +
bin/portageq | 34 +--
bin/save-ebuild-env.sh | 6 +
lib/_emerge/AbstractEbuildProcess.py | 7 +-
lib/_emerge/EbuildMetadataPhase.py | 14 +-
lib/_emerge/EbuildPhase.py | 37 ++-
lib/_emerge/EbuildProcess.py | 9 +-
lib/_emerge/MiscFunctionsProcess.py | 6 +-
lib/_emerge/actions.py | 28 +-
lib/_emerge/main.py | 26 +-
lib/_emerge/resolver/output.py | 3 +-
lib/_emerge/resolver/package_tracker.py | 18 +-
lib/portage/cache/fs_template.py | 14 +-
lib/portage/data.py | 19 +-
lib/portage/dbapi/__init__.py | 38 ++-
lib/portage/dbapi/bintree.py | 120 ++++++--
lib/portage/dbapi/porttree.py | 57 ++--
lib/portage/dbapi/vartree.py | 229 ++++++++++----
lib/portage/dep/__init__.py | 18 +-
lib/portage/elog/__init__.py | 26 +-
lib/portage/elog/messages.py | 12 +-
lib/portage/emaint/__init__.py | 3 +-
lib/portage/emaint/modules/__init__.py | 3 +-
lib/portage/emaint/modules/binhost/binhost.py | 51 +++-
lib/portage/emaint/modules/sync/sync.py | 20 +-
lib/portage/env/loaders.py | 9 +-
lib/portage/locks.py | 2 +-
lib/portage/mail.py | 11 +-
lib/portage/manifest.py | 36 ++-
lib/portage/output.py | 22 +-
.../package/ebuild/_config/special_env_vars.py | 2 +
lib/portage/package/ebuild/config.py | 19 +-
lib/portage/package/ebuild/digestgen.py | 7 +-
lib/portage/package/ebuild/doebuild.py | 85 ++++--
lib/portage/package/ebuild/fetch.py | 27 +-
lib/portage/process.py | 39 ++-
lib/portage/proxy/lazyimport.py | 26 +-
lib/portage/sync/controller.py | 7 +-
lib/portage/tests/__init__.py | 15 +
lib/portage/tests/conftest.py | 5 +-
lib/portage/tests/dbapi/meson.build | 1 +
lib/portage/tests/dbapi/test_bintree.py | 25 +-
lib/portage/tests/dbapi/test_bintree_build_id.py | 23 ++
lib/portage/tests/dbapi/test_portdb_cache.py | 337 +++++++++++++--------
.../{_emirrordist => tests/emaint}/__init__.py | 2 +-
lib/portage/tests/{bin => emaint}/__test__.py | 0
lib/portage/tests/{env => emaint}/meson.build | 5 +-
lib/portage/tests/emaint/test_emaint_binhost.py | 192 ++++++++++++
lib/portage/tests/emerge/test_binpkg_fetch.py | 150 ++++-----
lib/portage/tests/emerge/test_config_protect.py | 1 +
.../emerge/test_emerge_blocker_file_collision.py | 129 +++++---
lib/portage/tests/emerge/test_emerge_slot_abi.py | 100 +++---
lib/portage/tests/emerge/test_libc_dep_inject.py | 312 +++++++++++--------
lib/portage/tests/lazyimport/meson.build | 1 -
.../lazyimport/test_preload_portage_submodules.py | 16 -
lib/portage/tests/resolver/test_onlydeps_ideps.py | 4 +-
lib/portage/tests/util/test_socks5.py | 21 +-
lib/portage/update.py | 25 +-
lib/portage/util/__init__.py | 18 +-
lib/portage/util/_xattr.py | 2 +-
lib/portage/util/futures/_asyncio/__init__.py | 14 +-
lib/portage/util/futures/_asyncio/streams.py | 16 +-
lib/portage/util/futures/_sync_decorator.py | 15 +-
lib/portage/versions.py | 13 +-
lib/portage/xml/metadata.py | 46 +--
man/etc-update.1 | 6 +
man/make.conf.5 | 3 +
meson.build | 2 +-
78 files changed, 1767 insertions(+), 980 deletions(-)
diff --cc bin/misc-functions.sh
index 44332bcfb2,22531d98b1..c71b4756f2
--- a/bin/misc-functions.sh
+++ b/bin/misc-functions.sh
@@@ -713,13 -540,12 +713,14 @@@ __dyn_package()
gtar ${tar_options} -cf - ${PORTAGE_BINPKG_TAR_OPTS} -C "${D}"
. | \
${PORTAGE_COMPRESSION_COMMAND} >
"${PORTAGE_BINPKG_TMPFILE}"
- assert "failed to pack binary package:
'${PORTAGE_BINPKG_TMPFILE}'"
+ __pipestatus \
+ || die "failed to pack binary package:
'${PORTAGE_BINPKG_TMPFILE}'"
+ # BEGIN PREFIX LOCAL: use PREFIX_PORTAGE_PYTHON fallback
PYTHONPATH=${PORTAGE_PYTHONPATH:-${PORTAGE_PYM_PATH}} \
- "${PORTAGE_PYTHON:-/usr/bin/python}"
"${PORTAGE_BIN_PATH}"/xpak-helper.py recompose \
+ "${PORTAGE_PYTHON:-@PREFIX_PORTAGE_PYTHON@}"
"${PORTAGE_BIN_PATH}"/xpak-helper.py recompose \
"${PORTAGE_BINPKG_TMPFILE}"
"${PORTAGE_BUILDDIR}/build-info"
+ # END PREFIX LOCAL
if [[ $? -ne 0 ]]; then
rm -f "${PORTAGE_BINPKG_TMPFILE}"
die "Failed to append metadata to the tbz2 file"
diff --cc bin/save-ebuild-env.sh
index ace7e41f9c,7e6bd6120e..7e6bd6120e
mode 100755,100644..100755
--- a/bin/save-ebuild-env.sh
+++ b/bin/save-ebuild-env.sh
diff --cc lib/portage/data.py
index 25096d317f,1d1e538e1f..0c39e44ec9
--- a/lib/portage/data.py
+++ b/lib/portage/data.py
@@@ -10,18 -10,9 +10,10 @@@ import pw
import portage
from portage.localization import _
- portage.proxy.lazyimport.lazyimport(
- globals(),
- "portage.output:colorize",
- "portage.util:writemsg",
- "portage.util.path:first_existing",
- "subprocess",
- )
-
ostype = platform.system()
userland = "GNU"
-if ostype == "DragonFly" or ostype.endswith("BSD"):
+# PREFIX LOCAL: Prefix always has USERLAND=GNU
+if portage.const.EPREFIX == "" and (ostype == "DragonFly" or
ostype.endswith("BSD")):
userland = "BSD"
lchown = getattr(os, "lchown", None)
diff --cc lib/portage/dbapi/vartree.py
index 1e5c3f8d93,abf7710acb..698d08e714
--- a/lib/portage/dbapi/vartree.py
+++ b/lib/portage/dbapi/vartree.py
@@@ -152,6 -104,8 +106,9 @@@ class vardbapi(dbapi)
now has a categories property that is generated from the
available packages.
"""
+ from portage.util._dyn_libs.PreservedLibsRegistry import
PreservedLibsRegistry
+ from portage.util._dyn_libs.LinkageMapELF import LinkageMapELF as
LinkageMap
++ from portage.util._dyn_libs.LinkageMapMachO import LinkageMapMachO as
LinkageMapMachO
# Used by emerge to check whether any packages
# have been added or removed.
diff --cc lib/portage/process.py
index 04b8d7fadb,933bab9241..22a55733fd
--- a/lib/portage/process.py
+++ b/lib/portage/process.py
@@@ -29,17 -29,7 +29,9 @@@ from portage import _encoding
from portage import _unicode_encode
import portage
- portage.proxy.lazyimport.lazyimport(
- globals(),
- "portage.util._async.ForkProcess:ForkProcess",
- "portage.util._eventloop.global_event_loop:global_event_loop",
- "portage.util.futures:asyncio",
- "portage.util:dump_traceback,writemsg,writemsg_level",
- )
-
from portage.const import BASH_BINARY, SANDBOX_BINARY, FAKEROOT_BINARY
+# PREFIX LOCAL
+from portage.const import MACOSSANDBOX_BINARY
from portage.exception import CommandNotFound
from portage.proxy.objectproxy import ObjectProxy
from portage.util._ctypes import load_libc, LoadLibrary, ctypes
diff --cc lib/portage/util/__init__.py
index 9e7f0a8fa2,2eeedf2972..6238f7d985
--- a/lib/portage/util/__init__.py
+++ b/lib/portage/util/__init__.py
@@@ -76,17 -76,7 +76,9 @@@ import glo
from typing import Optional, TextIO
import portage
+# PREFIX LOCAL
+from portage.const import EPREFIX
- portage.proxy.lazyimport.lazyimport(
- globals(),
- "pickle",
- "portage.dep:Atom",
- "subprocess",
- )
-
-
noiselimit = 0