1 |
On Fri, Mar 23, 2018 at 03:25:12PM +0100, Arve Barsnes wrote: |
2 |
> On 23 March 2018 at 14:27, Rich Freeman <rich0@g.o> wrote: |
3 |
> > It sounds to me that one of the intended behaviors is to tell portage |
4 |
> > that for a particular package we want to ignore a particular |
5 |
> > repository entirely. Suppose for example an overlay contains |
6 |
> > misc/foo-3, and the main repo introduces misc/foo-4. Perhaps we want |
7 |
> > portage to stick with foo-3 from the overlay. However, if the overlay |
8 |
> > adds foo-4, or foo-4.1 we want this installed. A version mask would |
9 |
> > not really cover this use case. |
10 |
> > |
11 |
> > IMO this sounds like a useful feature. Having it in profiles could |
12 |
> > probably also be useful in some testing scenarios, such as when making |
13 |
> > changes to a large number of packages that are already in the main |
14 |
> > tree (think something analogous to a feature branch in git, where the |
15 |
> > master branch continues to advance). |
16 |
> |
17 |
> Unless I'm misunderstanding, this is possible already in package.mask? |
18 |
> If the mask is not permanent (for testing, as you mention), would |
19 |
> there be any benefit in having it in profile instead? |
20 |
> |
21 |
> Putting misc/foo::gentoo in package.mask works fine either way. |
22 |
> Probably <misc/foo-4::gentoo works as well, for your scenario above. |
23 |
> |
24 |
> I use this for the opposite scenario, I have */*::overlay in |
25 |
> package.mask, and unmask only a particular package in package.unmask, |
26 |
> to avoid bringing in a lot of overlay packages without having a |
27 |
> particular need. |
28 |
> |
29 |
> Arve |
30 |
|
31 |
This wouldn't help the maintainers of overlays, though, and puts |
32 |
the burden on the user. One scenario where masks maintained in |
33 |
overlays would be useful is the musl overlay, which carries |
34 |
patches to various packages to have them compile with musl libc. |
35 |
Obviously, I always want to use packages provided by the musl |
36 |
overlay in case the same package from the Gentoo tree has build |
37 |
failures. Even if the Gentoo-provided package gets updated, I'll |
38 |
still want to use the older version from the musl tree, as the |
39 |
build errors are likely to still exist. |
40 |
|
41 |
If overlays were able to ignore packages from other repositories, |
42 |
the musl overlay could simply mask out packages from the Gentoo |
43 |
repository which are known to not compile on musl-based systems. |
44 |
Like this, the user does not have to maintain these masks |
45 |
manually, but they are already managed at a central place and |
46 |
updated with the musl repository. |
47 |
|
48 |
Patrick |