[gentoo-user] Re: Blacklisting all packages from overlay except a specific group and version
Nikos Chantziaraswrote: > It didn't look like it to me at all. From the man page: > >Examples: > ># match anything with a version containing , which can be used in ># package.mask to prevent emerge --autounmask from selecting live ># ebuilds >=*/*-** This has always been a horribly misleading example, because it does not follow the PMS rules of wildcard version matching: =foo/bar-* must mach foo/bar-p1 but not foo/bar-999 Maybe portage finally dumped this bad case, which was already reported https://bugs.gentoo.org/show_bug.cgi?id=572178 OTOH, it would appear reasonable that portage could accept =dev-qt/*-5.6* although there is of course the ambiguity that it is not clear that the -5.6* is the version specification. Perhaps one could open a portage bug/feature request about it. eix-0.31.7 accepts both (=dev-qt/*-5.6* with PMS rules as well as the non-PMS =dev-qt/*-*5.6* [with string instead of PMS matching rules]).
[gentoo-user] Re: Blacklisting all packages from overlay except a specific group and version
On 31/03/16 09:11, Alan McKinnon wrote: On 31/03/2016 00:13, Nikos Chantziaras wrote: "Invalid atom in /etc/portage/package.unmask/qt: =dev-qt/*-5.6*::qt" (Doesn't work with or without the "::qt".) It's the leading "*" that's wrong there, because it's not a glob or a regex; it's more a placeholder metacharacter with it's own rules. Look at the relevant section in man 5 ebuild. It's not explicit but it does strongly hint that "*" goes at the end of a string It didn't look like it to me at all. From the man page: Examples: # match anything with a version containing , which can be used in # package.mask to prevent emerge --autounmask from selecting live # ebuilds =*/*-** So if that works, one would assume that "=dev-qt/*-*5.6*" should work just as well :-/
Re: [gentoo-user] Re: Blacklisting all packages from overlay except a specific group and version
On 31/03/2016 00:13, Nikos Chantziaras wrote: > On 30/03/16 05:48, Bryan Gardiner wrote: >> On 30 March 2016 05:01:16 GMT+09:00, Nikos Chantziaras >>wrote: >>> So, I want to install packages from an overlay, but only from a >>> specific group. In this case, the dev-qt/ group. The overlay name >>> is "qt". >>> >>> It doesn't work: >>> >>> package.mask: */*::qt >>> package.unmask: dev-qt/*-5.6*::qt >>> >>> With this, 5.6 versions are still masked. >> >> The syntax for "5.6*"-like versions has an equals at the start, for >> example =dev-qt/qtbase-5.6* > > That works. > > >> so if it's allowed, =dev-qt/*-5.6*::qt >> would be the correct package.unmask syntax. Does that work? > > Nope: > > "Invalid atom in /etc/portage/package.unmask/qt: =dev-qt/*-5.6*::qt" > > (Doesn't work with or without the "::qt".) > > It's the leading "*" that's wrong there, because it's not a glob or a regex; it's more a placeholder metacharacter with it's own rules. Look at the relevant section in man 5 ebuild. It's not explicit but it does strongly hint that "*" goes at the end of a string -- Alan McKinnon alan.mckin...@gmail.com
[gentoo-user] Re: Blacklisting all packages from overlay except a specific group and version
On 30/03/16 05:48, Bryan Gardiner wrote: On 30 March 2016 05:01:16 GMT+09:00, Nikos Chantziaraswrote: So, I want to install packages from an overlay, but only from a specific group. In this case, the dev-qt/ group. The overlay name is "qt". It doesn't work: package.mask: */*::qt package.unmask: dev-qt/*-5.6*::qt With this, 5.6 versions are still masked. The syntax for "5.6*"-like versions has an equals at the start, for example =dev-qt/qtbase-5.6* That works. so if it's allowed, =dev-qt/*-5.6*::qt would be the correct package.unmask syntax. Does that work? Nope: "Invalid atom in /etc/portage/package.unmask/qt: =dev-qt/*-5.6*::qt" (Doesn't work with or without the "::qt".)
[gentoo-user] Re: Blacklisting all packages from overlay except a specific group and version
Because that is already covered by: */*::qt in package.mask. This masks everything from the qt overlay, including versions of Qt higher or equal to 5.7. I only masked >=5.7, then the other packages from the qt overlay would not be masked. What I need is mask ALL packages in the qt overlay EXCEPT dev-qt/*-5.6.*. On 30/03/16 00:14, Ian Bloss wrote: Why don't you mask versions higher than 5.7 instead? On Tue, Mar 29, 2016, 17:00 Nikos Chantziaras> wrote: On 29/03/16 23:01, Nikos Chantziaras wrote: > So, I want to install packages from an overlay, but only from a specific > group. In this case, the dev-qt/ group. The overlay name is "qt". > > It doesn't work: > >package.mask: */*::qt >package.unmask: dev-qt/*-5.6*::qt > > With this, 5.6 versions are still masked. > > How do I do this? Well, I brute-forced it. I've use this mask: */*::qt and this unmask:
Re: [gentoo-user] Re: Blacklisting all packages from overlay except a specific group and version
Why don't you mask versions higher than 5.7 instead? On Tue, Mar 29, 2016, 17:00 Nikos Chantziaraswrote: > On 29/03/16 23:01, Nikos Chantziaras wrote: > > So, I want to install packages from an overlay, but only from a specific > > group. In this case, the dev-qt/ group. The overlay name is "qt". > > > > It doesn't work: > > > >package.mask: */*::qt > >package.unmask: dev-qt/*-5.6*::qt > > > > With this, 5.6 versions are still masked. > > > > How do I do this? > > Well, I brute-forced it. I've use this mask: > >*/*::qt > > and this unmask: > > > It works, but I would have expected that computers are good with > wildcards :-/ The above should be equivalent to this: > > > but portage refuses to recognize it. > > Ah, well. > > >
[gentoo-user] Re: Blacklisting all packages from overlay except a specific group and version
On 29/03/16 23:01, Nikos Chantziaras wrote: So, I want to install packages from an overlay, but only from a specific group. In this case, the dev-qt/ group. The overlay name is "qt". It doesn't work: package.mask: */*::qt package.unmask: dev-qt/*-5.6*::qt With this, 5.6 versions are still masked. How do I do this? Well, I brute-forced it. I've use this mask: */*::qt and this unmask: It works, but I would have expected that computers are good with wildcards :-/ The above should be equivalent to this:
[gentoo-user] Re: Blacklisting all packages from overlay except a specific group and version
On 29/03/16 23:21, R0b0t1 wrote: Not entirely sure what you wish. Maybe package sets? Not sure what *you* mean :-) How would package sets help me in masking all packages from an overlay and then whilelist only specific ones?