1 |
On Tue, 17 Feb 2015 00:37:13 -0800 |
2 |
Zac Medico <zmedico@g.o> wrote: |
3 |
|
4 |
> When "profile-formats = build-id" is enabled in layout.conf of the |
5 |
> containing repository, a dependency atom in the profile can refer |
6 |
> to a specific build, using the build-id that is assigned when |
7 |
> FEATURES=binpkg-multi-instance is enabled. A build-id atom is |
8 |
> identical to a version-specific atom, except that the version is |
9 |
> followed by a hyphen and an integer build-id. |
10 |
> |
11 |
> With the build-id profile format, it is possible to assemble a system |
12 |
> using specific builds of binary packages, as users of "binary" |
13 |
> distros might be accustomed to. For example, an atom in the "packages" |
14 |
> file can pull a specific build of a package into the @system set, and |
15 |
> an atom in the "package.keywords" file can be used to modify the |
16 |
> effective KEYWORDS of a specific build of a package. |
17 |
> |
18 |
> Refering to specific builds can be useful for a number of reasons. For |
19 |
> example, if a particular build needs to undergo a large amount of |
20 |
> testing in a complex environment in order to verify reliability, then |
21 |
> it can be useful to lock a profile to a specific build that has been |
22 |
> thoroughly tested. |
23 |
> |
24 |
> X-Gentoo-Bug: 150031 |
25 |
> X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=150031 |
26 |
> --- |
27 |
> man/portage.5 | 8 +- |
28 |
> pym/_emerge/is_valid_package_atom.py | 5 +- |
29 |
> pym/portage/_sets/ProfilePackageSet.py | 3 +- |
30 |
> pym/portage/_sets/profiles.py | 3 +- |
31 |
> pym/portage/dep/__init__.py | 35 +++++- |
32 |
> .../package/ebuild/_config/KeywordsManager.py | 3 +- |
33 |
> .../package/ebuild/_config/LocationsManager.py | 8 +- |
34 |
> pym/portage/package/ebuild/_config/MaskManager.py | 21 +++- |
35 |
> pym/portage/package/ebuild/_config/UseManager.py | 14 ++- |
36 |
> pym/portage/package/ebuild/config.py | 15 ++- |
37 |
> pym/portage/repository/config.py | 2 +- |
38 |
> pym/portage/tests/dep/test_isvalidatom.py | 8 +- |
39 |
> .../test_build_id_profile_format.py | 134 |
40 |
> +++++++++++++++++++++ |
41 |
> pym/portage/util/__init__.py | 13 +- 14 files |
42 |
> changed, 234 insertions(+), 38 deletions(-) create mode 100644 |
43 |
> pym/portage/tests/resolver/binpkg_multi_instance/test_build_id_profile_format.py |
44 |
> |
45 |
|
46 |
|
47 |
class Atom() |
48 |
|
49 |
if allow_repo is None: |
50 |
allow_repo = True |
51 |
+ if allow_build_id is None: |
52 |
+ allow_build_id = True |
53 |
|
54 |
|
55 |
these can be written as |
56 |
allow_repo = allow_repo or True |
57 |
allow_build_id = allow_build_id or True |
58 |
|
59 |
|
60 |
Otherwise looks decent. |
61 |
|
62 |
-- |
63 |
Brian Dolbec <dolsen> |