From: "Michał Górny" <mgorny@gentoo.org>
To: Duncan <1i5t5.duncan@cox.net>
Cc: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] Re: Repoman check and QA policy for slot deps/operator
Date: Thu, 7 Aug 2014 18:03:18 +0200 [thread overview]
Message-ID: <20140807180318.3702fc63@pomiot.lan> (raw)
In-Reply-To: <pan$c4fbf$c5c16f0f$18c01d80$61ff88ee@cox.net>
[-- Attachment #1: Type: text/plain, Size: 3362 bytes --]
Dnia 2014-08-07, o godz. 15:37:07
Duncan <1i5t5.duncan@cox.net> napisał(a):
> Michał Górny posted on Thu, 07 Aug 2014 11:24:43 +0200 as excerpted:
>
> > With the new policy, the simple form of dependencies:
> >
> > dev-libs/foo
> >
> > would be only allowed if dev-libs/foo has only one slot.
> >
> > If the atom matches more than one slot of a package, one of the
> > following forms would need to be used:
> >
> > 1. dev-libs/bar:* -- if any version of bar is acceptable,
> > and you can replace bar:1 with bar:2 without rebuilding,
> >
> > 2. dev-libs/bar:= -- if any version of bar is acceptable,
> > and you need to rebuild bar when changing slots (and subslots),
> >
> > 3. dev-libs/bar:slot -- if a single slot of bar is acceptable, and you
> > can change subslots without rebuilding,
> >
> > 4. dev-libs/bar:slot= -- if a single slot of bar is acceptable,
> > and you need subslot rebuilds,
> >
> > 5. dev-libs/bar:slot/subslot -- if a single subslot of bar is
> > acceptable, useful mostly for binary packages and pass-through virtuals.
>
> I'm admittedly operating a bit out of my league here so feel free to
> ignore this if it's simply noise, but in the interest of a clearer policy
> I'll take the risk of being stupid...
>
> Perhaps this can't happen in practice, but there's an obviously missing
> permutation that for completeness (and to avoid questions like this),
> probably should have been covered with a notation such as <can't happen>,
> or perhaps <can happen but not covered, use the stricter #2 form>:
>
> 6. dev-libs/bar<what?> -- if any version of bar is acceptable, and you
> need to rebuild bar only when changing slots (but not subslots).
>
> Can it happen? Covered if so?
Long story short, PMS doesn't provide a way do this. I can't think of
any use case for that, and I think that is one of the reasons no syntax
for that was provided.
Please note that slot operators := and :* were initially designed to
deal with slots alone. You could consider that a coincidence that there
were added in the same EAPI as subslots which were invented much later
and have a different origin.
The slot operators were supposed to help dealing with 'completely'
slotted packages, in which slots corresponded to library ABI versions.
However, that required some effort to make different versions parallel-
-installable.
Therefore, subslots were added to allow getting some of the benefits of
slotting without all the requirements (like parallel-installability).
Subslots are rarely used on their own -- they are usually appended to
the slot. Then, the := and :* slot operators simply interpreter 'SLOT'
as 'slot/subslot'.
> Tho you did switch from dev-libs/foo in the initial statement to
> dev-libs/bar in the list of permutations. Normally, I take that to imply
> some relationship between foo and bar, thus the need for two labels
> instead of reusing the first, but if there is such a relationship here I
> don't see it. I am certainly confused but is it because there such a
> relationship that I'm simply not seeing (that possibly eliminates my
> sixth permutation), or did you "switch horses in mid-stream", as the
> saying goes?
dev-libs/foo has a single slot. dev-libs/bar has multiple slots.
--
Best regards,
Michał Górny
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 949 bytes --]
next prev parent reply other threads:[~2014-08-07 16:02 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-07 9:24 [gentoo-dev] Repoman check and QA policy for slot deps/operator Michał Górny
2014-08-07 9:41 ` [gentoo-dev] " Ulrich Mueller
2014-08-07 10:55 ` Michał Górny
2014-08-07 15:37 ` Duncan
2014-08-07 16:03 ` Michał Górny [this message]
2014-08-07 17:30 ` Duncan
2014-08-08 10:11 ` Peter Stuge
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140807180318.3702fc63@pomiot.lan \
--to=mgorny@gentoo.org \
--cc=1i5t5.duncan@cox.net \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox