diff options
| author | BaldEagleOS Migration <dev@baldeagleos.com> | 2026-06-02 04:16:02 -0500 |
|---|---|---|
| committer | BaldEagleOS Migration <dev@baldeagleos.com> | 2026-06-02 04:16:02 -0500 |
| commit | 8e4635a2e09776ebdc002fe8d05f56e47ee3ac6d (patch) | |
| tree | 3571897c3923e21b62afb85bc3e04c0deec99fd4 /sys-apps/portage | |
| parent | 33688726a8da4889a96b2a2b60cf8693bb388f96 (diff) | |
| download | baldeagleos-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/Manifest | 1 | ||||
| -rw-r--r-- | sys-apps/portage/files/0001-Workaround-import-problem-after-Python-upgrade.patch | 47 | ||||
| -rw-r--r-- | sys-apps/portage/files/0001-estrip-silence-noise-from-objcopy-if-build-ID-sectio.patch | 66 | ||||
| -rw-r--r-- | sys-apps/portage/files/0002-Revert-depgraph-earlier-slot-operator-backtracking.patch | 259 | ||||
| -rw-r--r-- | sys-apps/portage/files/0003-estrip-Don-t-break-the-debuglink-CRC-with-the-salted.patch | 58 | ||||
| -rw-r--r-- | sys-apps/portage/files/README.RESCUE | 2 | ||||
| -rw-r--r-- | sys-apps/portage/files/portage-2.3.68-change-global-paths.patch | 18 | ||||
| -rw-r--r-- | sys-apps/portage/files/portage-3.0.78-remove-gentoo-repos-conf.patch | 12 | ||||
| -rw-r--r-- | sys-apps/portage/metadata.xml | 66 | ||||
| -rw-r--r-- | sys-apps/portage/portage-3.0.77-r4.ebuild | 241 | ||||
| -rw-r--r-- | sys-apps/portage/portage-3.0.78.ebuild | 35 | ||||
| -rw-r--r-- | sys-apps/portage/portage-3.0.79-r1.ebuild | 239 | ||||
| -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" |
