* [gentoo-commits] proj/portage:master commit in: lib/portage/repository/, man/, lib/portage/tests/resolver/binpkg_multi_instance/
@ 2021-03-28 9:12 Zac Medico
0 siblings, 0 replies; only message in thread
From: Zac Medico @ 2021-03-28 9:12 UTC (permalink / raw
To: gentoo-commits
commit: 378e6f32f15ce3ce0c22fd31a90c79efa01c3def
Author: Felix Bier <felix.bier <AT> rohde-schwarz <DOT> com>
AuthorDate: Wed Mar 17 22:51:05 2021 +0000
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Sun Mar 28 09:02:40 2021 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=378e6f32
Add profile format extension for repo atoms
This commit adds a profile format extension that
allows to use repo atoms in profile files.
Bug: https://bugs.gentoo.org/651208
Closes: https://github.com/gentoo/portage/pull/687
Signed-off-by: Felix Bier <felix.bier <AT> rohde-schwarz.com>
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>
lib/portage/repository/config.py | 5 ++++-
.../binpkg_multi_instance/test_build_id_profile_format.py | 13 ++++++++++---
man/portage.5 | 6 ++++--
3 files changed, 18 insertions(+), 6 deletions(-)
diff --git a/lib/portage/repository/config.py b/lib/portage/repository/config.py
index c401d10b4..d81559e3a 100644
--- a/lib/portage/repository/config.py
+++ b/lib/portage/repository/config.py
@@ -48,7 +48,7 @@ _invalid_path_char_re = re.compile(r'[^a-zA-Z0-9._\-+/]')
_valid_profile_formats = frozenset(
['pms', 'portage-1', 'portage-2', 'profile-bashrcs', 'profile-set',
- 'profile-default-eapi', 'build-id'])
+ 'profile-default-eapi', 'build-id', 'profile-repo-deps'])
_portage1_profiles_allow_directories = frozenset(
["portage-1-compat", "portage-1", 'portage-2'])
@@ -1119,6 +1119,9 @@ def allow_profile_repo_deps(
if eapi_has_repo_deps(repo.eapi):
return True
+ if 'profile-repo-deps' in repo.profile_formats:
+ return True
+
return False
def load_repository_config(settings, extra_files=None):
diff --git a/lib/portage/tests/resolver/binpkg_multi_instance/test_build_id_profile_format.py b/lib/portage/tests/resolver/binpkg_multi_instance/test_build_id_profile_format.py
index 0397509f8..97a54bd24 100644
--- a/lib/portage/tests/resolver/binpkg_multi_instance/test_build_id_profile_format.py
+++ b/lib/portage/tests/resolver/binpkg_multi_instance/test_build_id_profile_format.py
@@ -1,4 +1,4 @@
-# Copyright 2015 Gentoo Foundation
+# Copyright 2015-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
from portage.tests import TestCase
@@ -10,14 +10,21 @@ class BuildIdProfileFormatTestCase(TestCase):
def testBuildIdProfileFormat(self):
profile = {
- "packages": ("=app-misc/A-1-2",),
+ "packages": ("=app-misc/A-1-2::test_repo",),
+ "package.mask": ("<app-misc/A-1::test_repo",),
+ "package.keywords": ("app-misc/A-1::test_repo x86",),
+ "package.use": ("app-misc/A-1::test_repo foo",),
+ "package.use.mask": ("app-misc/A-1::test_repo -foo",),
+ "package.use.stable.mask": ("app-misc/A-1::test_repo -foo",),
+ "package.use.force": ("app-misc/A-1::test_repo foo",),
+ "package.use.stable.force": ("app-misc/A-1::test_repo foo",),
"package.provided": ("sys-libs/zlib-1.2.8-r1",),
}
repo_configs = {
"test_repo": {
"layout.conf": (
- "profile-formats = build-id profile-set",
+ "profile-formats = build-id profile-repo-deps profile-set",
),
}
}
diff --git a/man/portage.5 b/man/portage.5
index f6ec1b0fa..247ec5ab0 100644
--- a/man/portage.5
+++ b/man/portage.5
@@ -1,4 +1,4 @@
-.TH "PORTAGE" "5" "Sep 2020" "Portage VERSION" "Portage"
+.TH "PORTAGE" "5" "Mar 2021" "Portage VERSION" "Portage"
.SH NAME
portage \- the heart of Gentoo
.SH "DESCRIPTION"
@@ -1466,7 +1466,7 @@ The EAPI to use for profiles when unspecified. This attribute is
supported only if profile-default-eapi is included in profile-formats.
.TP
.BR profile\-formats " = [pms] [portage-1] [portage-2] [profile-bashrcs] \
-[profile-set] [profile-default-eapi] [build-id]"
+[profile-set] [profile-default-eapi] [build-id] [profile-repo-deps]"
Control functionality available to profiles in this repo such as which files
may be dirs, or the syntax available in parent files. Use "portage-2" if you're
unsure. The default is "portage-1-compat" mode which is meant to be compatible
@@ -1481,6 +1481,8 @@ dependency atoms in the profile to refer to specific builds (see the
binpkg\-multi\-instance FEATURES setting in \fBmake.conf\fR(5)). A
build\-id atom is identical to a version-specific atom, except that the
version is followed by a hyphen and an integer build\-id.
+Setting profile\-repo\-deps allows dependency atoms in the profile to
+refer to specific repositories.
.RE
.RE
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2021-03-28 9:12 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-03-28 9:12 [gentoo-commits] proj/portage:master commit in: lib/portage/repository/, man/, lib/portage/tests/resolver/binpkg_multi_instance/ Zac Medico
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox