summaryrefslogtreecommitdiff
path: root/sys-apps/portage
diff options
context:
space:
mode:
authorBaldEagleOS Migration <dev@baldeagleos.com>2026-06-02 04:16:02 -0500
committerBaldEagleOS Migration <dev@baldeagleos.com>2026-06-02 04:16:02 -0500
commit8e4635a2e09776ebdc002fe8d05f56e47ee3ac6d (patch)
tree3571897c3923e21b62afb85bc3e04c0deec99fd4 /sys-apps/portage
parent33688726a8da4889a96b2a2b60cf8693bb388f96 (diff)
downloadbaldeagleos-repo-8e4635a2e09776ebdc002fe8d05f56e47ee3ac6d.tar.gz
baldeagleos-repo-8e4635a2e09776ebdc002fe8d05f56e47ee3ac6d.tar.xz
baldeagleos-repo-8e4635a2e09776ebdc002fe8d05f56e47ee3ac6d.zip
Adding metadata
Diffstat (limited to 'sys-apps/portage')
-rw-r--r--sys-apps/portage/Manifest1
-rw-r--r--sys-apps/portage/files/0001-Workaround-import-problem-after-Python-upgrade.patch47
-rw-r--r--sys-apps/portage/files/0001-estrip-silence-noise-from-objcopy-if-build-ID-sectio.patch66
-rw-r--r--sys-apps/portage/files/0002-Revert-depgraph-earlier-slot-operator-backtracking.patch259
-rw-r--r--sys-apps/portage/files/0003-estrip-Don-t-break-the-debuglink-CRC-with-the-salted.patch58
-rw-r--r--sys-apps/portage/files/README.RESCUE2
-rw-r--r--sys-apps/portage/files/portage-2.3.68-change-global-paths.patch18
-rw-r--r--sys-apps/portage/files/portage-3.0.78-remove-gentoo-repos-conf.patch12
-rw-r--r--sys-apps/portage/metadata.xml66
-rw-r--r--sys-apps/portage/portage-3.0.77-r4.ebuild241
-rw-r--r--sys-apps/portage/portage-3.0.78.ebuild35
-rw-r--r--sys-apps/portage/portage-3.0.79-r1.ebuild239
-rw-r--r--sys-apps/portage/portage-3.0.79.ebuild (renamed from sys-apps/portage/portage-9999.ebuild)35
13 files changed, 92 insertions, 987 deletions
diff --git a/sys-apps/portage/Manifest b/sys-apps/portage/Manifest
index c66feb0bcac5..80239a5261ae 100644
--- a/sys-apps/portage/Manifest
+++ b/sys-apps/portage/Manifest
@@ -1,3 +1,2 @@
-DIST portage-3.0.77.tar.bz2 1222765 BLAKE2B 062b99059582caf323001b14e74d5ad762aeb4ece9750dcd548b4eddacabea60044dbb8006911c458c2550b7f1f86a5e91c5f0f67b37a3c839a1d7bac751376c SHA512 bae4d30d53473402a90c21923c71e81463e0f1afc1300f194d67b1af109eca71bd52ca82a1c17881871b9c30a64d584eb0392daab81b38c622cb2384afd195b7
DIST portage-3.0.78.tar.bz2 1234503 BLAKE2B fecc7def9d2b3cbeb022a1807f9f3db643b4000b1c9674bf2306f6a7b13ef163f7243c9f62e035ef1c0ee5d49f2fdd25b63ff6ae100c9adf59fd3c9352e80410 SHA512 38243d05ad6d253275f19e7c90bc527fe63f6c26a82e7135c603f853612af42c1038ae3269637049ba7212e9caebfe80004d735c02c84882a35fdbc48d3777de
DIST portage-3.0.79.tar.bz2 1235108 BLAKE2B 279b874be40f3ba610d8dc439683a388dc926cabe236dc4426a64fcd1267484312e84b15fb44c80ecb0ddce50cace4c9fc3f29886b6911d4199ed611fbecf28d SHA512 63df73d0fb2fd5ff7e6f0cacd8999aca0c99b91fbe2a2be0204a597e8230ecc1e60dcad0f24d9200b5948dec2c7e1e417853805d19beaf748c1f16490e64036c
diff --git a/sys-apps/portage/files/0001-Workaround-import-problem-after-Python-upgrade.patch b/sys-apps/portage/files/0001-Workaround-import-problem-after-Python-upgrade.patch
deleted file mode 100644
index 0e0eef3f894d..000000000000
--- a/sys-apps/portage/files/0001-Workaround-import-problem-after-Python-upgrade.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From e7cf51fd6a504b2ab9d887c562c2ca3ace12d033 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sun, 31 May 2026 17:30:41 +0200
-Subject: [PATCH] Workaround import problem after Python upgrade
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-To: gentoo-portage-dev@lists.gentoo.org
-
-Make `SyncfsProcess` import non-lazy to ensure that it is imported
-before the old-Python version of Portage is removed, and therefore fix
-a crash when Portage is being rebuilt for a new Python version.
-
-Bug: https://bugs.gentoo.org/970375
-Closes: https://github.com/gentoo/portage/pull/1586
-Signed-off-by: Michał Górny <mgorny@gentoo.org>
-Signed-off-by: Mike Gilbert <floppym@gentoo.org>
----
- lib/portage/dbapi/vartree.py | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/lib/portage/dbapi/vartree.py b/lib/portage/dbapi/vartree.py
-index 87d4f3453238..7f392588ef9a 100644
---- a/lib/portage/dbapi/vartree.py
-+++ b/lib/portage/dbapi/vartree.py
-@@ -43,6 +43,10 @@ from portage import _unicode_encode
- from portage.util.futures.executor.fork import ForkExecutor
- from ._VdbMetadataDelta import VdbMetadataDelta
-
-+# Made global to fix importing on Python version upgrade:
-+# https://bugs.gentoo.org/970375
-+from ._SyncfsProcess import SyncfsProcess
-+
- from _emerge.EbuildBuildDir import EbuildBuildDir
- from _emerge.EbuildPhase import EbuildPhase
- from _emerge.emergelog import emergelog
-@@ -6128,7 +6132,6 @@ class dblink:
- does nothing if FEATURES=merge-sync is disabled.
- """
- import subprocess
-- from portage.dbapi._SyncfsProcess import SyncfsProcess
-
- if not self._device_path_map or "merge-sync" not in self.settings.features:
- return
---
-2.54.0
-
diff --git a/sys-apps/portage/files/0001-estrip-silence-noise-from-objcopy-if-build-ID-sectio.patch b/sys-apps/portage/files/0001-estrip-silence-noise-from-objcopy-if-build-ID-sectio.patch
deleted file mode 100644
index 5afac81af8f8..000000000000
--- a/sys-apps/portage/files/0001-estrip-silence-noise-from-objcopy-if-build-ID-sectio.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 71dd5e89eaa5868418e13da6605fe3873939c60b Mon Sep 17 00:00:00 2001
-Message-ID: <71dd5e89eaa5868418e13da6605fe3873939c60b.1771041192.git.sam@gentoo.org>
-From: Sam James <sam@gentoo.org>
-Date: Sat, 14 Feb 2026 03:44:08 +0000
-Subject: [PATCH] estrip: silence noise from objcopy if build ID section
- doesn't exist
-
-This is a tiny fix suitable for backporting into the ebuild until
-the refactoring for estrip lands.
-
-It avoids noise when there's no build ID section to update w/ a salted
-replacement.
-
-Bug: https://bugs.gentoo.org/968220
-Signed-off-by: Sam James <sam@gentoo.org>
----
- bin/estrip | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/bin/estrip b/bin/estrip
-index 6e2a5b623..54c5a6e33 100755
---- a/bin/estrip
-+++ b/bin/estrip
-@@ -171,7 +171,7 @@ save_elf_debug() {
-
- # We need to process the splitdebug file too
- # if we're doing it at this late juncture (bug #968220)
-- "${name_of[objcopy]}" --dump-section .note.gnu.build-id="${inode_link}_buildid" "${src}" \
-+ "${name_of[objcopy]}" --dump-section .note.gnu.build-id="${inode_link}_buildid" "${src}" 2>/dev/null \
- && "${name_of[objcopy]}" --update-section .note.gnu.build-id="${inode_link}_buildid" "${dst}"
- rm -f "${inode_link}_buildid"
- elif ! contains_word buildid "${warned_for[debugedit]}"; then
---
-2.53.0
-
-From e87494699b30eb9458cb0fb9e05479389904dcb3 Mon Sep 17 00:00:00 2001
-Message-ID: <e87494699b30eb9458cb0fb9e05479389904dcb3.1771352319.git.sam@gentoo.org>
-From: Sam James <sam@gentoo.org>
-Date: Sun, 15 Feb 2026 14:46:34 +0000
-Subject: [PATCH] estrip: silence (further) noise from objcopy if build ID
- section doesn't exist
-
-Followup to 71dd5e89eaa5868418e13da6605fe3873939c60b.
-
-Bug: https://bugs.gentoo.org/968220
-Signed-off-by: Sam James <sam@gentoo.org>
----
- bin/estrip | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/bin/estrip b/bin/estrip
-index 54c5a6e33..526a1f203 100755
---- a/bin/estrip
-+++ b/bin/estrip
-@@ -172,7 +172,7 @@ save_elf_debug() {
- # We need to process the splitdebug file too
- # if we're doing it at this late juncture (bug #968220)
- "${name_of[objcopy]}" --dump-section .note.gnu.build-id="${inode_link}_buildid" "${src}" 2>/dev/null \
-- && "${name_of[objcopy]}" --update-section .note.gnu.build-id="${inode_link}_buildid" "${dst}"
-+ && "${name_of[objcopy]}" --update-section .note.gnu.build-id="${inode_link}_buildid" "${dst}" 2>/dev/null
- rm -f "${inode_link}_buildid"
- elif ! contains_word buildid "${warned_for[debugedit]}"; then
- warned_for[debugedit]+=" buildid"
---
-2.53.0
-
diff --git a/sys-apps/portage/files/0002-Revert-depgraph-earlier-slot-operator-backtracking.patch b/sys-apps/portage/files/0002-Revert-depgraph-earlier-slot-operator-backtracking.patch
deleted file mode 100644
index 9e6a9fcfcfce..000000000000
--- a/sys-apps/portage/files/0002-Revert-depgraph-earlier-slot-operator-backtracking.patch
+++ /dev/null
@@ -1,259 +0,0 @@
-From e1322d74de41e989f709e0129ac41e5469b9cc4c Mon Sep 17 00:00:00 2001
-Message-ID: <e1322d74de41e989f709e0129ac41e5469b9cc4c.1775418696.git.sam@gentoo.org>
-From: Zac Medico <zmedico@gentoo.org>
-Date: Fri, 20 Feb 2026 19:05:12 -0800
-Subject: [PATCH] Revert "depgraph: earlier slot operator backtracking"
-
-This reverts commit 8ddd35e04bb4c50a85d7cc61edb85d91dd10ce4b.
-
-Bug: https://bugs.gentoo.org/969654
-Bug: https://bugs.gentoo.org/964705
-Bug: https://bugs.gentoo.org/968228
-Signed-off-by: Zac Medico <zmedico@gentoo.org>
----
- lib/_emerge/depgraph.py | 152 +++++++++---------
- .../test_binpackage_downgrades_slot_dep.py | 3 +
- .../tests/resolver/test_missed_update.py | 3 +
- 3 files changed, 86 insertions(+), 72 deletions(-)
-
-diff --git a/lib/_emerge/depgraph.py b/lib/_emerge/depgraph.py
-index 7ac07ad5e..5d9888229 100644
---- a/lib/_emerge/depgraph.py
-+++ b/lib/_emerge/depgraph.py
-@@ -1937,9 +1937,16 @@ class depgraph:
- # conflicts (or by blind luck).
- raise self._unknown_internal_error()
-
-+ # Both _process_slot_conflict and _slot_operator_trigger_reinstalls
-+ # can call _slot_operator_update_probe, which requires that
-+ # self._dynamic_config._blocked_pkgs has been initialized by a
-+ # call to the _validate_blockers method.
- for conflict in self._dynamic_config._package_tracker.slot_conflicts():
- self._process_slot_conflict(conflict)
-
-+ if self._dynamic_config._allow_backtracking:
-+ self._slot_operator_trigger_reinstalls()
-+
- def _process_slot_conflict(self, conflict):
- """
- Process slot conflict data to identify specific atoms which
-@@ -2895,50 +2902,50 @@ class depgraph:
-
- return None
-
-- def _slot_operator_trigger_backtracking(self, dep: Dependency) -> bool:
-+ def _slot_operator_trigger_reinstalls(self):
- """
-- Trigger backtracking for slot operator issues if needed.
-- Return True if this triggers backtracking, and False otherwise.
-+ Search for packages with slot-operator deps on older slots, and schedule
-+ rebuilds if they can link to a newer slot that's in the graph.
- """
-- if not self._dynamic_config._allow_backtracking:
-- return False
--
-- atom = dep.atom
--
-- if not (atom.soname or atom.slot_operator_built):
-- new_child_slot = self._slot_change_probe(dep)
-- if new_child_slot is not None:
-- self._slot_change_backtrack(dep, new_child_slot)
-- return True
--
-- if not (dep.parent and isinstance(dep.parent, Package) and dep.parent.built):
-- return False
-
- rebuild_if_new_slot = (
- self._dynamic_config.myparams.get("rebuild_if_new_slot", "y") == "y"
- )
-
-- # If the parent is not installed, check if it needs to be
-- # rebuilt against an installed instance, since otherwise
-- # it could trigger downgrade of an installed instance as
-- # in bug #652938.
-- want_update_probe = dep.want_update or not dep.parent.installed
--
-- # Check for slot update first, since we don't want to
-- # trigger reinstall of the child package when a newer
-- # slot will be used instead.
-- if rebuild_if_new_slot and want_update_probe:
-- new_dep = self._slot_operator_update_probe(dep, new_child_slot=True)
-- if new_dep is not None:
-- self._slot_operator_update_backtrack(dep, new_child_slot=new_dep.child)
-- return True
-+ for slot_key, slot_info in self._dynamic_config._slot_operator_deps.items():
-+ for dep in slot_info:
-+ atom = dep.atom
-
-- if want_update_probe:
-- if self._slot_operator_update_probe(dep):
-- self._slot_operator_update_backtrack(dep)
-- return True
-+ if not (atom.soname or atom.slot_operator_built):
-+ new_child_slot = self._slot_change_probe(dep)
-+ if new_child_slot is not None:
-+ self._slot_change_backtrack(dep, new_child_slot)
-+ continue
-
-- return False
-+ if not (
-+ dep.parent and isinstance(dep.parent, Package) and dep.parent.built
-+ ):
-+ continue
-+
-+ # If the parent is not installed, check if it needs to be
-+ # rebuilt against an installed instance, since otherwise
-+ # it could trigger downgrade of an installed instance as
-+ # in bug #652938.
-+ want_update_probe = dep.want_update or not dep.parent.installed
-+
-+ # Check for slot update first, since we don't want to
-+ # trigger reinstall of the child package when a newer
-+ # slot will be used instead.
-+ if rebuild_if_new_slot and want_update_probe:
-+ new_dep = self._slot_operator_update_probe(dep, new_child_slot=True)
-+ if new_dep is not None:
-+ self._slot_operator_update_backtrack(
-+ dep, new_child_slot=new_dep.child
-+ )
-+
-+ if want_update_probe:
-+ if self._slot_operator_update_probe(dep):
-+ self._slot_operator_update_backtrack(dep)
-
- def _reinstall_for_flags(
- self, pkg, forced_flags, orig_use, orig_iuse, cur_use, cur_iuse
-@@ -3429,6 +3436,44 @@ class depgraph:
- raise
- del e
-
-+ # NOTE: REQUIRED_USE checks are delayed until after
-+ # package selection, since we want to prompt the user
-+ # for USE adjustment rather than have REQUIRED_USE
-+ # affect package selection and || dep choices.
-+ if (
-+ not pkg.built
-+ and pkg._metadata.get("REQUIRED_USE")
-+ and eapi_has_required_use(pkg.eapi)
-+ ):
-+ required_use_is_sat = check_required_use(
-+ pkg._metadata["REQUIRED_USE"],
-+ self._pkg_use_enabled(pkg),
-+ pkg.iuse.is_valid_flag,
-+ eapi=pkg.eapi,
-+ )
-+ if not required_use_is_sat:
-+ if dep.atom is not None and dep.parent is not None:
-+ self._add_parent_atom(pkg, (dep.parent, dep.atom))
-+
-+ if arg_atoms:
-+ for parent_atom in arg_atoms:
-+ parent, atom = parent_atom
-+ self._add_parent_atom(pkg, parent_atom)
-+
-+ atom = dep.atom
-+ if atom is None:
-+ atom = Atom("=" + pkg.cpv)
-+ self._dynamic_config._unsatisfied_deps_for_display.append(
-+ ((pkg.root, atom), {"myparent": dep.parent, "show_req_use": pkg})
-+ )
-+ self._dynamic_config._required_use_unsatisfied = True
-+ self._dynamic_config._skip_restart = True
-+ # Add pkg to digraph in order to enable autounmask messages
-+ # for this package, which is useful when autounmask USE
-+ # changes have violated REQUIRED_USE.
-+ self._dynamic_config.digraph.add(pkg, dep.parent, priority=priority)
-+ return 0
-+
- if not pkg.onlydeps:
- existing_node, existing_node_matches = self._check_slot_conflict(
- pkg, dep.atom
-@@ -3587,43 +3632,6 @@ class depgraph:
- and (dep.atom.soname or dep.atom.slot_operator == "=")
- ):
- self._add_slot_operator_dep(dep)
-- if self._slot_operator_trigger_backtracking(dep):
-- # Drop slot operator deps that trigger backtracking, since
-- # they may be irrelevant and therefore we don't want to
-- # enforce the REQUIRED_USE check that comes below (bug 964705).
-- # Since backtracking has been triggered, the _need_restart flag
-- # is set and this depgraph is only useful for collecting
-- # backtracking parameters at this point, so it is acceptable to
-- # drop dependencies as needed. It would not be acceptable to
-- # abort depgraph creation here, since that would not scale well
-- # for large numbers of slot operator rebuilds.
-- return 1
--
-- # NOTE: REQUIRED_USE checks are delayed until after
-- # package selection, since we want to prompt the user
-- # for USE adjustment rather than have REQUIRED_USE
-- # affect package selection and || dep choices.
-- if (
-- not pkg.built
-- and pkg._metadata.get("REQUIRED_USE")
-- and eapi_has_required_use(pkg.eapi)
-- ):
-- required_use_is_sat = check_required_use(
-- pkg._metadata["REQUIRED_USE"],
-- self._pkg_use_enabled(pkg),
-- pkg.iuse.is_valid_flag,
-- eapi=pkg.eapi,
-- )
-- if not required_use_is_sat:
-- atom = dep.atom
-- if atom is None:
-- atom = Atom("=" + pkg.cpv)
-- self._dynamic_config._unsatisfied_deps_for_display.append(
-- ((pkg.root, atom), {"myparent": dep.parent, "show_req_use": pkg})
-- )
-- self._dynamic_config._required_use_unsatisfied = True
-- self._dynamic_config._skip_restart = True
-- return 0
-
- recurse = deep is True or not self._too_deep(self._depth_increment(depth, n=1))
- dep_stack = self._dynamic_config._dep_stack
-diff --git a/lib/portage/tests/resolver/test_binpackage_downgrades_slot_dep.py b/lib/portage/tests/resolver/test_binpackage_downgrades_slot_dep.py
-index b47f73dcb..699cd1c46 100644
---- a/lib/portage/tests/resolver/test_binpackage_downgrades_slot_dep.py
-+++ b/lib/portage/tests/resolver/test_binpackage_downgrades_slot_dep.py
-@@ -1,6 +1,8 @@
- # Copyright 2025 Gentoo Authors
- # Distributed under the terms of the GNU General Public License v2
-
-+import pytest
-+
- from portage.tests import TestCase
- from portage.tests.resolver.ResolverPlayground import (
- ResolverPlayground,
-@@ -9,6 +11,7 @@ from portage.tests.resolver.ResolverPlayground import (
-
-
- class BinpackageDowngradesSlotDepTestCase(TestCase):
-+ @pytest.mark.xfail()
- def testBinpackageDowngradesSlotDep(self):
- python_use = "python_targets_python3_12 +python_targets_python3_13"
- python_usedep = "python_targets_python3_12(-)?,python_targets_python3_13(-)?"
-diff --git a/lib/portage/tests/resolver/test_missed_update.py b/lib/portage/tests/resolver/test_missed_update.py
-index 6813a9172..2c15a16c8 100644
---- a/lib/portage/tests/resolver/test_missed_update.py
-+++ b/lib/portage/tests/resolver/test_missed_update.py
-@@ -1,6 +1,8 @@
- # Copyright 2026 Gentoo Authors
- # Distributed under the terms of the GNU General Public License v2
-
-+import pytest
-+
- from portage.tests import TestCase
- from portage.tests.resolver.ResolverPlayground import (
- ResolverPlayground,
-@@ -9,6 +11,7 @@ from portage.tests.resolver.ResolverPlayground import (
-
-
- class MissedQtUpdateTestCase(TestCase):
-+ @pytest.mark.xfail()
- def testMissedQtUpdate(self):
- """
- Testcase where Portage was unable to upgrade from
---
-2.53.0
-
diff --git a/sys-apps/portage/files/0003-estrip-Don-t-break-the-debuglink-CRC-with-the-salted.patch b/sys-apps/portage/files/0003-estrip-Don-t-break-the-debuglink-CRC-with-the-salted.patch
deleted file mode 100644
index 2ee28b9b49ed..000000000000
--- a/sys-apps/portage/files/0003-estrip-Don-t-break-the-debuglink-CRC-with-the-salted.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From c568ef909922c307dd99acfebc1214e6ea88e075 Mon Sep 17 00:00:00 2001
-Message-ID: <c568ef909922c307dd99acfebc1214e6ea88e075.1775418711.git.sam@gentoo.org>
-From: James Le Cuirot <chewi@gentoo.org>
-Date: Fri, 27 Mar 2026 18:34:43 +0000
-Subject: [PATCH] estrip: Don't break the debuglink CRC with the salted build
- ID
-
-Closes: https://bugs.gentoo.org/971641
-Signed-off-by: James Le Cuirot <chewi@gentoo.org>
-Part-of: https://github.com/gentoo/portage/pull/1568
-Closes: https://github.com/gentoo/portage/pull/1568
----
- NEWS | 2 ++
- bin/estrip | 8 ++++++--
- 2 files changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/NEWS b/NEWS
-index 923c99a74..94b2f8b98 100644
---- a/NEWS
-+++ b/NEWS
-@@ -70,6 +70,8 @@ Bug fixes:
-
- * estrip: Silence noise from objcopy when no build ID section exists (bug #968220).
-
-+* estrip: Don't break the debuglink CRC with the salted build ID (bug #971641).
-+
- portage-3.0.77 (2026-01-23)
- --------------
-
-diff --git a/bin/estrip b/bin/estrip
-index 526a1f203..166f68087 100755
---- a/bin/estrip
-+++ b/bin/estrip
-@@ -143,8 +143,7 @@ save_elf_debug() {
- if (( has_feature[compressdebug] )); then
- objcopy_flags+=( --compress-debug-sections )
- fi
-- "${name_of[objcopy]}" "${objcopy_flags[@]}" "${src}" "${dst}" \
-- && "${name_of[objcopy]}" --add-gnu-debuglink="${dst}" "${src}"
-+ "${name_of[objcopy]}" "${objcopy_flags[@]}" "${src}" "${dst}"
- fi
-
- # Only do the following if the debug file was
-@@ -199,6 +198,11 @@ save_elf_debug() {
- __try_symlink "${src_buildid_rel}" "${buildid_file}"
- fi
- fi
-+
-+ if [[ -z ${splitdebug} ]] ; then
-+ # Add debuglink last to avoid the salted build ID breaking the CRC.
-+ "${name_of[objcopy]}" --add-gnu-debuglink="${dst}" "${src}"
-+ fi
- fi
- }
-
---
-2.53.0
-
diff --git a/sys-apps/portage/files/README.RESCUE b/sys-apps/portage/files/README.RESCUE
index e8f3932ac214..70c494ebb81b 100644
--- a/sys-apps/portage/files/README.RESCUE
+++ b/sys-apps/portage/files/README.RESCUE
@@ -1,2 +1,2 @@
-Please see https://wiki.gentoo.org/wiki/Project:Portage/Fixing_broken_portage
+Please see http://www.gentoo.org/proj/en/portage/doc/manually-fixing-portage.xml
for a recovery guide for a broken portage installation.
diff --git a/sys-apps/portage/files/portage-2.3.68-change-global-paths.patch b/sys-apps/portage/files/portage-2.3.68-change-global-paths.patch
new file mode 100644
index 000000000000..5f862724b20d
--- /dev/null
+++ b/sys-apps/portage/files/portage-2.3.68-change-global-paths.patch
@@ -0,0 +1,18 @@
+diff -urN portage-2.3.68/cnf/make.globals portage-2.3.68-fixed/cnf/make.globals
+--- portage-2.3.68/cnf/make.globals 2019-07-08 22:38:58.177027829 -0600
++++ portage-2.3.68-fixed/cnf/make.globals 2019-07-08 22:41:33.090556025 -0600
+@@ -27,10 +27,10 @@
+ ACCEPT_RESTRICT="*"
+
+ # Miscellaneous paths
+-DISTDIR="/var/cache/distfiles"
+-PKGDIR="/var/cache/binpkgs"
+-RPMDIR="/var/cache/rpm"
+-
++DISTDIR="/var/cache/portage/distfiles"
++PKGDIR="/var/cache/portage/packages"
++RPMDIR="/var/cache/portage/rpm"
++
+ # Temporary build directory
+ PORTAGE_TMPDIR="/var/tmp"
+
diff --git a/sys-apps/portage/files/portage-3.0.78-remove-gentoo-repos-conf.patch b/sys-apps/portage/files/portage-3.0.78-remove-gentoo-repos-conf.patch
new file mode 100644
index 000000000000..c6bc96acfeb5
--- /dev/null
+++ b/sys-apps/portage/files/portage-3.0.78-remove-gentoo-repos-conf.patch
@@ -0,0 +1,12 @@
+diff -urN portage-3.0.50.orig/cnf/meson.build portage-3.0.50/cnf/meson.build
+--- portage-3.0.50.orig/cnf/meson.build 2023-08-09 19:05:11.901514207 +0200
++++ portage-3.0.50/cnf/meson.build 2023-08-09 19:05:29.987515509 +0200
+@@ -113,8 +113,7 @@
+ [
+ make_conf_example,
+ make_globals,
+- repos_conf,
+ binrepos_conf,
+ ],
+ install_dir : portage_datadir / 'config'
+ )
diff --git a/sys-apps/portage/metadata.xml b/sys-apps/portage/metadata.xml
index a568cd381330..85bbfb0f33f6 100644
--- a/sys-apps/portage/metadata.xml
+++ b/sys-apps/portage/metadata.xml
@@ -1,35 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>dev-portage@gentoo.org</email>
- </maintainer>
- <use>
- <flag name="apidoc">Build html API documentation with sphinx-apidoc.</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
- git or 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>
- <upstream>
- <bugs-to>mailto:dev-portage@gentoo.org</bugs-to>
- <changelog>https://gitweb.gentoo.org/proj/portage.git/plain/NEWS</changelog>
- <doc>https://wiki.gentoo.org/wiki/Handbook:AMD64/Working/Portage</doc>
- <remote-id type="cpe">cpe:/a:gentoo:portage</remote-id>
- <remote-id type="gentoo">proj/portage</remote-id>
- <remote-id type="github">gentoo/portage</remote-id>
- <remote-id type="pypi">portage</remote-id>
- </upstream>
-</pkgmetadata>
+ <maintainer type="project">
+ <email>dev@liguros.net</email>
+ <name>Development</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:gentoo:portage</remote-id>
+ <changelog>https://gitweb.gentoo.org/proj/portage.git/plain/RELEASE-NOTES</changelog>
+ <bugs-to>mailto:dev-portage@gentoo.org</bugs-to>
+ <doc>https://wiki.gentoo.org/wiki/Handbook:AMD64/Working/Portage</doc>
+ </upstream>
+ <use>
+ <flag name="apidoc">Build html API documentation with sphinx-apidoc.</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>
+ <origin>ports</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/sys-apps/portage/portage-3.0.77-r4.ebuild b/sys-apps/portage/portage-3.0.77-r4.ebuild
deleted file mode 100644
index 0526c5d364ff..000000000000
--- a/sys-apps/portage/portage-3.0.77-r4.ebuild
+++ /dev/null
@@ -1,241 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{12..14} )
-PYTHON_REQ_USE='bzip2(+),threads(+)'
-TMPFILES_OPTIONAL=1
-
-inherit meson linux-info python-r1 tmpfiles
-
-DESCRIPTION="The package management and distribution system for Gentoo"
-HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage"
-
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="
- https://anongit.gentoo.org/git/proj/portage.git
- https://github.com/gentoo/portage.git
- "
- inherit git-r3
-else
- SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="apidoc build doc gentoo-dev +ipc +native-extensions +rsync-verify selinux test xattr"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- ${PYTHON_DEPS}
- >=app-arch/tar-1.27
- >=dev-build/meson-1.3.0-r1
- >=sys-apps/sed-4.0.5
- sys-devel/patch
- !build? ( $(python_gen_impl_dep 'ssl(+)') )
- apidoc? (
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/sphinx-epytext[${PYTHON_USEDEP}]
- )
- doc? (
- ~app-text/docbook-xml-dtd-4.4
- app-text/xmlto
- )
- test? (
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-vcs/git
- )
-"
-# Require sandbox-2.2 for bug #288863.
-# For whirlpool hash, require python[ssl] (bug #425046).
-RDEPEND="
- ${PYTHON_DEPS}
- app-admin/aerie
- >=acct-user/portage-0-r4
- >=app-arch/tar-1.27
- app-arch/zstd
- >=app-misc/pax-utils-0.1.17
- dev-lang/python-exec:2
- >=sys-apps/baselayout-2.9
- >=sys-apps/findutils-4.9
- !build? (
- >=app-admin/eselect-1.2
- app-portage/getuto
- >=app-shells/bash-5.3:0
- dev-util/debugedit
- >=sec-keys/openpgp-keys-gentoo-release-20240703
- >=sys-apps/sed-4.0.5
- rsync-verify? (
- app-alternatives/gpg[ssl(-)]
- >=app-portage/gemato-14.5[${PYTHON_USEDEP}]
- )
- )
- kernel_linux? (
- sys-apps/util-linux
- elibc_glibc? ( >=sys-apps/sandbox-2.2 )
- elibc_musl? ( >=sys-apps/sandbox-2.2 )
- )
- selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] )
- xattr? ( kernel_linux? (
- >=sys-apps/install-xattr-0.3
- ) )
-"
-# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
-# NOTE: FEATURES=installsources requires debugedit and rsync
-PDEPEND="
- !build? (
- >=net-misc/rsync-2.6.4
- >=sys-apps/coreutils-6.4
- >=sys-apps/file-5.44-r3
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/0001-estrip-silence-noise-from-objcopy-if-build-ID-sectio.patch
- "${FILESDIR}"/0002-Revert-depgraph-earlier-slot-operator-backtracking.patch
- "${FILESDIR}"/0003-estrip-Don-t-break-the-debuglink-CRC-with-the-salted.patch
-)
-
-pkg_pretend() {
- local CONFIG_CHECK="~IPC_NS ~PID_NS ~NET_NS ~UTS_NS"
-
- check_extra_config
-}
-
-src_prepare() {
- default
-
- 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
-}
-
-src_configure() {
- local code_only=false
- python_foreach_impl my_src_configure
-}
-
-my_src_configure() {
- local emesonargs=(
- -Dcode-only=${code_only}
- -Deprefix="${EPREFIX}"
- -Dportage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}"
- -Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
- $(meson_use doc)
- $(meson_use apidoc)
- $(meson_use gentoo-dev)
- $(meson_use ipc)
- $(meson_use xattr)
- )
-
- if use native-extensions && [[ "${EPYTHON}" != pypy3* ]] ; then
- emesonargs+=( -Dnative-extensions=true )
- else
- emesonargs+=( -Dnative-extensions=false )
- fi
-
- if use build; then
- emesonargs+=( -Drsync-verify=false )
- else
- emesonargs+=( $(meson_use rsync-verify) )
- fi
-
- meson_src_configure
- code_only=true
-}
-
-src_compile() {
- python_foreach_impl meson_src_compile
-}
-
-src_test() {
- local EPYTEST_XDIST=1
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- python_foreach_impl epytest
-}
-
-src_install() {
- python_foreach_impl my_src_install
- dotmpfiles "${FILESDIR}"/portage-{ccache,tmpdir}.conf
-
- local scripts
- mapfile -t scripts < <(awk '/^#!.*python/ {print FILENAME} {nextfile}' "${ED}"/usr/{bin,sbin}/* || die)
- python_replicate_script "${scripts[@]}"
-}
-
-my_src_install() {
- local pydirs=(
- "${D}$(python_get_sitedir)"
- "${ED}/usr/lib/portage/${EPYTHON}"
- )
-
- meson_src_install
- python_fix_shebang "${pydirs[@]}"
- python_optimize "${pydirs[@]}"
-}
-
-pkg_preinst() {
- if ! use build && [[ -z ${ROOT} ]]; then
- python_setup
- local sitedir=$(python_get_sitedir)
- [[ -d ${D}${sitedir} ]] || die "${D}${sitedir}: No such directory"
- env -u DISTDIR \
- -u PORTAGE_OVERRIDE_EPREFIX \
- -u PORTAGE_REPOSITORIES \
- -u PORTDIR \
- -u PORTDIR_OVERLAY \
- PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \
- ED="${ED}" \
- "${PYTHON}" -m portage._compat_upgrade.default_locations || die
-
- env -u BINPKG_COMPRESS -u PORTAGE_REPOSITORIES \
- PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \
- ED="${ED}" \
- "${PYTHON}" -m portage._compat_upgrade.binpkg_compression || die
-
- env -u FEATURES -u PORTAGE_REPOSITORIES \
- PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \
- ED="${ED}" \
- "${PYTHON}" -m portage._compat_upgrade.binpkg_multi_instance || die
-
- env -u BINPKG_FORMAT \
- PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \
- ED="${ED}" \
- "${PYTHON}" -m portage._compat_upgrade.binpkg_format || die
- 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.77"; then
- elog "The emerge --autounmask option is now disabled by default, except for"
- elog "portions of behavior which are controlled by the --autounmask-use and"
- elog "--autounmask-license options. For backward compatibility, previous"
- elog "behavior of --autounmask=y and --autounmask=n is entirely preserved."
- elog "Users can get the old behavior simply by adding --autounmask to the"
- elog "make.conf EMERGE_DEFAULT_OPTS variable. For the rationale for this"
- elog "change, see https://bugs.gentoo.org/658648."
- fi
-}
-
-pkg_postinst() {
- # Warn about obsolete "enotice" script, bug #867010
- local bashrc=${EROOT}/etc/portage/profile/profile.bashrc
- if [[ -e ${bashrc} ]] && grep -q enotice "${bashrc}"; then
- eerror "Obsolete 'enotice' script detected!"
- eerror "Please remove this from ${bashrc} to avoid problems."
- eerror "See bug 867010 for more details."
- fi
-}
diff --git a/sys-apps/portage/portage-3.0.78.ebuild b/sys-apps/portage/portage-3.0.78.ebuild
index b129d6d7cddb..5080618a8680 100644
--- a/sys-apps/portage/portage-3.0.78.ebuild
+++ b/sys-apps/portage/portage-3.0.78.ebuild
@@ -1,9 +1,8 @@
-# Copyright 1999-2026 Gentoo Authors
+# Copyright 2020-2026 Liguros Authors
# Distributed under the terms of the GNU General Public License v2
-
EAPI=8
-PYTHON_COMPAT=( python3_{12..14} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
PYTHON_REQ_USE='bzip2(+),threads(+)'
TMPFILES_OPTIONAL=1
@@ -11,17 +10,8 @@ inherit meson linux-info python-r1 tmpfiles
DESCRIPTION="The package management and distribution system for Gentoo"
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage"
-
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="
- https://anongit.gentoo.org/git/proj/portage.git
- https://github.com/gentoo/portage.git
- "
- inherit git-r3
-else
- SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-fi
+SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
LICENSE="GPL-2"
SLOT="0"
@@ -31,6 +21,7 @@ RESTRICT="!test? ( test )"
BDEPEND="
${PYTHON_DEPS}
+ app-admin/ego
>=app-arch/tar-1.27
>=dev-build/meson-1.3.0-r1
>=sys-apps/sed-4.0.5
@@ -54,7 +45,7 @@ BDEPEND="
RDEPEND="
${PYTHON_DEPS}
app-admin/aerie
- >=acct-user/portage-0-r4
+ acct-user/portage
>=app-arch/tar-1.27
app-arch/zstd
>=app-misc/pax-utils-0.1.17
@@ -65,7 +56,6 @@ RDEPEND="
>=app-admin/eselect-1.2
app-portage/getuto
>=app-shells/bash-5.3:0
- dev-util/debugedit
>=sec-keys/openpgp-keys-gentoo-release-20240703
>=sys-apps/sed-4.0.5
rsync-verify? (
@@ -73,11 +63,9 @@ RDEPEND="
>=app-portage/gemato-14.5[${PYTHON_USEDEP}]
)
)
- kernel_linux? (
- sys-apps/util-linux
- elibc_glibc? ( >=sys-apps/sandbox-2.2 )
- elibc_musl? ( >=sys-apps/sandbox-2.2 )
- )
+ elibc_glibc? ( >=sys-apps/sandbox-2.2 )
+ elibc_musl? ( >=sys-apps/sandbox-2.2 )
+ kernel_linux? ( sys-apps/util-linux )
selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] )
xattr? ( kernel_linux? (
>=sys-apps/install-xattr-0.3
@@ -93,6 +81,11 @@ PDEPEND="
)
"
+PATCHES=(
+ "${FILESDIR}/${PN}-2.3.68-change-global-paths.patch"
+ "${FILESDIR}/portage-3.0.78-remove-gentoo-repos-conf.patch"
+)
+
pkg_pretend() {
local CONFIG_CHECK="~IPC_NS ~PID_NS ~NET_NS ~UTS_NS"
diff --git a/sys-apps/portage/portage-3.0.79-r1.ebuild b/sys-apps/portage/portage-3.0.79-r1.ebuild
deleted file mode 100644
index 466ca9069823..000000000000
--- a/sys-apps/portage/portage-3.0.79-r1.ebuild
+++ /dev/null
@@ -1,239 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{12..14} )
-PYTHON_REQ_USE='bzip2(+),threads(+)'
-TMPFILES_OPTIONAL=1
-
-inherit meson linux-info python-r1 tmpfiles
-
-DESCRIPTION="The package management and distribution system for Gentoo"
-HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage"
-
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="
- https://anongit.gentoo.org/git/proj/portage.git
- https://github.com/gentoo/portage.git
- "
- inherit git-r3
-else
- SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="apidoc build doc gentoo-dev +ipc +native-extensions +rsync-verify selinux test xattr"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- ${PYTHON_DEPS}
- >=app-arch/tar-1.27
- >=dev-build/meson-1.3.0-r1
- >=sys-apps/sed-4.0.5
- sys-devel/patch
- !build? ( $(python_gen_impl_dep 'ssl(+)') )
- apidoc? (
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/sphinx-epytext[${PYTHON_USEDEP}]
- )
- doc? (
- ~app-text/docbook-xml-dtd-4.4
- app-text/xmlto
- )
- test? (
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-vcs/git
- )
-"
-# Require sandbox-2.2 for bug #288863.
-# For whirlpool hash, require python[ssl] (bug #425046).
-RDEPEND="
- ${PYTHON_DEPS}
- app-admin/aerie
- >=acct-user/portage-0-r4
- >=app-arch/tar-1.27
- app-arch/zstd
- >=app-misc/pax-utils-0.1.17
- dev-lang/python-exec:2
- >=sys-apps/baselayout-2.9
- >=sys-apps/findutils-4.9
- !build? (
- >=app-admin/eselect-1.2
- app-portage/getuto
- >=app-shells/bash-5.3:0
- dev-util/debugedit
- >=sec-keys/openpgp-keys-gentoo-release-20240703
- >=sys-apps/sed-4.0.5
- rsync-verify? (
- app-alternatives/gpg[ssl(-)]
- >=app-portage/gemato-14.5[${PYTHON_USEDEP}]
- )
- )
- kernel_linux? (
- sys-apps/util-linux
- elibc_glibc? ( >=sys-apps/sandbox-2.2 )
- elibc_musl? ( >=sys-apps/sandbox-2.2 )
- )
- selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] )
- xattr? ( kernel_linux? (
- >=sys-apps/install-xattr-0.3
- ) )
-"
-# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
-# NOTE: FEATURES=installsources requires debugedit and rsync
-PDEPEND="
- !build? (
- >=net-misc/rsync-2.6.4
- >=sys-apps/coreutils-6.4
- >=sys-apps/file-5.44-r3
- )
-"
-
-PATCHES=(
- "${FILESDIR}/0001-Workaround-import-problem-after-Python-upgrade.patch"
-)
-
-pkg_pretend() {
- local CONFIG_CHECK="~IPC_NS ~PID_NS ~NET_NS ~UTS_NS"
-
- check_extra_config
-}
-
-src_prepare() {
- default
-
- 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
-}
-
-src_configure() {
- local code_only=false
- python_foreach_impl my_src_configure
-}
-
-my_src_configure() {
- local emesonargs=(
- -Dcode-only=${code_only}
- -Deprefix="${EPREFIX}"
- -Dportage-bindir="${EPREFIX}/usr/lib/portage/${EPYTHON}"
- -Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
- $(meson_use doc)
- $(meson_use apidoc)
- $(meson_use gentoo-dev)
- $(meson_use ipc)
- $(meson_use xattr)
- )
-
- if use native-extensions && [[ "${EPYTHON}" != pypy3* ]] ; then
- emesonargs+=( -Dnative-extensions=true )
- else
- emesonargs+=( -Dnative-extensions=false )
- fi
-
- if use build; then
- emesonargs+=( -Drsync-verify=false )
- else
- emesonargs+=( $(meson_use rsync-verify) )
- fi
-
- meson_src_configure
- code_only=true
-}
-
-src_compile() {
- python_foreach_impl meson_src_compile
-}
-
-src_test() {
- local EPYTEST_XDIST=1
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- python_foreach_impl epytest
-}
-
-src_install() {
- python_foreach_impl my_src_install
- dotmpfiles "${FILESDIR}"/portage-{ccache,tmpdir}.conf
-
- local scripts
- mapfile -t scripts < <(awk '/^#!.*python/ {print FILENAME} {nextfile}' "${ED}"/usr/{bin,sbin}/* || die)
- python_replicate_script "${scripts[@]}"
-}
-
-my_src_install() {
- local pydirs=(
- "${D}$(python_get_sitedir)"
- "${ED}/usr/lib/portage/${EPYTHON}"
- )
-
- meson_src_install
- python_fix_shebang "${pydirs[@]}"
- python_optimize "${pydirs[@]}"
-}
-
-pkg_preinst() {
- if ! use build && [[ -z ${ROOT} ]]; then
- python_setup
- local sitedir=$(python_get_sitedir)
- [[ -d ${D}${sitedir} ]] || die "${D}${sitedir}: No such directory"
- env -u DISTDIR \
- -u PORTAGE_OVERRIDE_EPREFIX \
- -u PORTAGE_REPOSITORIES \
- -u PORTDIR \
- -u PORTDIR_OVERLAY \
- PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \
- ED="${ED}" \
- "${PYTHON}" -m portage._compat_upgrade.default_locations || die
-
- env -u BINPKG_COMPRESS -u PORTAGE_REPOSITORIES \
- PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \
- ED="${ED}" \
- "${PYTHON}" -m portage._compat_upgrade.binpkg_compression || die
-
- env -u FEATURES -u PORTAGE_REPOSITORIES \
- PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \
- ED="${ED}" \
- "${PYTHON}" -m portage._compat_upgrade.binpkg_multi_instance || die
-
- env -u BINPKG_FORMAT \
- PYTHONPATH="${D}${sitedir}${PYTHONPATH:+:${PYTHONPATH}}" \
- ED="${ED}" \
- "${PYTHON}" -m portage._compat_upgrade.binpkg_format || die
- 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.77"; then
- elog "The emerge --autounmask option is now disabled by default, except for"
- elog "portions of behavior which are controlled by the --autounmask-use and"
- elog "--autounmask-license options. For backward compatibility, previous"
- elog "behavior of --autounmask=y and --autounmask=n is entirely preserved."
- elog "Users can get the old behavior simply by adding --autounmask to the"
- elog "make.conf EMERGE_DEFAULT_OPTS variable. For the rationale for this"
- elog "change, see https://bugs.gentoo.org/658648."
- fi
-}
-
-pkg_postinst() {
- # Warn about obsolete "enotice" script, bug #867010
- local bashrc=${EROOT}/etc/portage/profile/profile.bashrc
- if [[ -e ${bashrc} ]] && grep -q enotice "${bashrc}"; then
- eerror "Obsolete 'enotice' script detected!"
- eerror "Please remove this from ${bashrc} to avoid problems."
- eerror "See bug 867010 for more details."
- fi
-}
diff --git a/sys-apps/portage/portage-9999.ebuild b/sys-apps/portage/portage-3.0.79.ebuild
index b129d6d7cddb..5080618a8680 100644
--- a/sys-apps/portage/portage-9999.ebuild
+++ b/sys-apps/portage/portage-3.0.79.ebuild
@@ -1,9 +1,8 @@
-# Copyright 1999-2026 Gentoo Authors
+# Copyright 2020-2026 Liguros Authors
# Distributed under the terms of the GNU General Public License v2
-
EAPI=8
-PYTHON_COMPAT=( python3_{12..14} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
PYTHON_REQ_USE='bzip2(+),threads(+)'
TMPFILES_OPTIONAL=1
@@ -11,17 +10,8 @@ inherit meson linux-info python-r1 tmpfiles
DESCRIPTION="The package management and distribution system for Gentoo"
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage"
-
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="
- https://anongit.gentoo.org/git/proj/portage.git
- https://github.com/gentoo/portage.git
- "
- inherit git-r3
-else
- SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-fi
+SRC_URI="https://gitweb.gentoo.org/proj/portage.git/snapshot/${P}.tar.bz2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
LICENSE="GPL-2"
SLOT="0"
@@ -31,6 +21,7 @@ RESTRICT="!test? ( test )"
BDEPEND="
${PYTHON_DEPS}
+ app-admin/ego
>=app-arch/tar-1.27
>=dev-build/meson-1.3.0-r1
>=sys-apps/sed-4.0.5
@@ -54,7 +45,7 @@ BDEPEND="
RDEPEND="
${PYTHON_DEPS}
app-admin/aerie
- >=acct-user/portage-0-r4
+ acct-user/portage
>=app-arch/tar-1.27
app-arch/zstd
>=app-misc/pax-utils-0.1.17
@@ -65,7 +56,6 @@ RDEPEND="
>=app-admin/eselect-1.2
app-portage/getuto
>=app-shells/bash-5.3:0
- dev-util/debugedit
>=sec-keys/openpgp-keys-gentoo-release-20240703
>=sys-apps/sed-4.0.5
rsync-verify? (
@@ -73,11 +63,9 @@ RDEPEND="
>=app-portage/gemato-14.5[${PYTHON_USEDEP}]
)
)
- kernel_linux? (
- sys-apps/util-linux
- elibc_glibc? ( >=sys-apps/sandbox-2.2 )
- elibc_musl? ( >=sys-apps/sandbox-2.2 )
- )
+ elibc_glibc? ( >=sys-apps/sandbox-2.2 )
+ elibc_musl? ( >=sys-apps/sandbox-2.2 )
+ kernel_linux? ( sys-apps/util-linux )
selinux? ( >=sys-libs/libselinux-2.0.94[python,${PYTHON_USEDEP}] )
xattr? ( kernel_linux? (
>=sys-apps/install-xattr-0.3
@@ -93,6 +81,11 @@ PDEPEND="
)
"
+PATCHES=(
+ "${FILESDIR}/${PN}-2.3.68-change-global-paths.patch"
+ "${FILESDIR}/portage-3.0.78-remove-gentoo-repos-conf.patch"
+)
+
pkg_pretend() {
local CONFIG_CHECK="~IPC_NS ~PID_NS ~NET_NS ~UTS_NS"