* [gentoo-pms] Blockers in any-of groups
@ 2014-02-19 7:49 Ulrich Mueller
2014-02-19 18:05 ` Ciaran McCreesh
0 siblings, 1 reply; 4+ messages in thread
From: Ulrich Mueller @ 2014-02-19 7:49 UTC (permalink / raw
To: gentoo-pms
[-- Attachment #1: Type: text/plain, Size: 689 bytes --]
Hi all,
PMS says in [1]: "A blocker is considered to be matched if its
associated package dependency specification is not matched."
So if I want to block against a version range, I would expect the
following to work:
RDEPEND="|| ( !>=app-misc/foo-3 !<=app-misc/foo-5 )"
For foo-2, the first version specification is not matched, so the ||
group should be matched. Similar for foo-6 and the second one. Whereas
foo-4 matches both specifications and should be blocked.
However, Portage doesn't seem to work that way and reports a blocker
against foo-6.
Do I interpret the spec incorrectly, or is it a bug in Portage?
Ulrich
[1] http://dev.gentoo.org/~ulm/pms/5/pms.html#x1-790008.2.3
[-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [gentoo-pms] Blockers in any-of groups
2014-02-19 7:49 [gentoo-pms] Blockers in any-of groups Ulrich Mueller
@ 2014-02-19 18:05 ` Ciaran McCreesh
2014-02-20 11:03 ` Ulrich Mueller
0 siblings, 1 reply; 4+ messages in thread
From: Ciaran McCreesh @ 2014-02-19 18:05 UTC (permalink / raw
To: gentoo-pms
[-- Attachment #1: Type: text/plain, Size: 982 bytes --]
On Wed, 19 Feb 2014 08:49:18 +0100
Ulrich Mueller <ulm@gentoo.org> wrote:
> Hi all,
> PMS says in [1]: "A blocker is considered to be matched if its
> associated package dependency specification is not matched."
>
> So if I want to block against a version range, I would expect the
> following to work:
>
> RDEPEND="|| ( !>=app-misc/foo-3 !<=app-misc/foo-5 )"
>
> For foo-2, the first version specification is not matched, so the ||
> group should be matched. Similar for foo-6 and the second one. Whereas
> foo-4 matches both specifications and should be blocked.
>
> However, Portage doesn't seem to work that way and reports a blocker
> against foo-6.
>
> Do I interpret the spec incorrectly, or is it a bug in Portage?
I seem to recall not implementing this at all in Paludis, and just
having an error message which suggests that someone has done something
awful and that we should deal with it if the issue ever comes up...
--
Ciaran McCreesh
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [gentoo-pms] Blockers in any-of groups
2014-02-19 18:05 ` Ciaran McCreesh
@ 2014-02-20 11:03 ` Ulrich Mueller
2014-02-20 15:27 ` Ciaran McCreesh
0 siblings, 1 reply; 4+ messages in thread
From: Ulrich Mueller @ 2014-02-20 11:03 UTC (permalink / raw
To: gentoo-pms
[-- Attachment #1: Type: text/plain, Size: 1068 bytes --]
>>>>> On Wed, 19 Feb 2014, Ciaran McCreesh wrote:
> On Wed, 19 Feb 2014 08:49:18 +0100 Ulrich Mueller <ulm@gentoo.org>
> wrote:
>> Hi all, PMS says in [1]: "A blocker is considered to be matched if
>> its associated package dependency specification is not matched."
> I seem to recall not implementing this at all in Paludis, and just
> having an error message which suggests that someone has done
> something awful and that we should deal with it if the issue ever
> comes up...
Hm, the above seems to be your own wording [1]. ;-) Should we change
it to something like "blockers are not allowed in an any-of group"?
I find one case in the tree where something similar is used.
virtual/perl-Exporter-5.680.0 has this in its RDEPEND:
|| (
(
>=dev-lang/perl-5.17.11
<=dev-lang/perl-5.19.2
!perl-core/Exporter
)
~perl-core/Exporter-${PV}
)
Do we consider this legitimate usage? And does it actually work in
package managers?
Ulrich
[1] http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commitdiff;h=c4ce8d683faa16fe8b22e50873a1229f84e518ba
[-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [gentoo-pms] Blockers in any-of groups
2014-02-20 11:03 ` Ulrich Mueller
@ 2014-02-20 15:27 ` Ciaran McCreesh
0 siblings, 0 replies; 4+ messages in thread
From: Ciaran McCreesh @ 2014-02-20 15:27 UTC (permalink / raw
To: gentoo-pms
[-- Attachment #1: Type: text/plain, Size: 1434 bytes --]
On Thu, 20 Feb 2014 12:03:42 +0100
Ulrich Mueller <ulm@gentoo.org> wrote:
> >>>>> On Wed, 19 Feb 2014, Ciaran McCreesh wrote:
> > On Wed, 19 Feb 2014 08:49:18 +0100 Ulrich Mueller <ulm@gentoo.org>
> > wrote:
> >> Hi all, PMS says in [1]: "A blocker is considered to be matched if
> >> its associated package dependency specification is not matched."
>
> > I seem to recall not implementing this at all in Paludis, and just
> > having an error message which suggests that someone has done
> > something awful and that we should deal with it if the issue ever
> > comes up...
>
> Hm, the above seems to be your own wording [1]. ;-) Should we change
> it to something like "blockers are not allowed in an any-of group"?
Sounds good.
(Actually, I think we do support "|| ( !a b )". What we don't handle is
nested things like "|| ( a || ( !b c ) )".)
> I find one case in the tree where something similar is used.
> virtual/perl-Exporter-5.680.0 has this in its RDEPEND:
>
> || (
> (
> >=dev-lang/perl-5.17.11
> <=dev-lang/perl-5.19.2
> !perl-core/Exporter
> )
> ~perl-core/Exporter-${PV}
> )
>
> Do we consider this legitimate usage? And does it actually work in
> package managers?
That looks highly dodgy, and not just because of the || ( ) dependency.
Developers need to be reminded that ( >=a-2 <a-3 ) does not mean "a,
version between 2 and 3".
--
Ciaran McCreesh
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-02-20 15:27 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-19 7:49 [gentoo-pms] Blockers in any-of groups Ulrich Mueller
2014-02-19 18:05 ` Ciaran McCreesh
2014-02-20 11:03 ` Ulrich Mueller
2014-02-20 15:27 ` Ciaran McCreesh
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox