From: "Michał Górny" <mgorny@gentoo.org>
To: <gentoo-dev@lists.gentoo.org>, <qa@gentoo.org>
Subject: [gentoo-dev] Repoman check and QA policy for slot deps/operator
Date: Thu, 7 Aug 2014 11:24:43 +0200 [thread overview]
Message-ID: <20140807112443.2ed19939@pomiot.lan> (raw)
[-- Attachment #1: Type: text/plain, Size: 2005 bytes --]
Hello, all.
Since the tree is still full of too broad dependencies and other
mistakes, I would like to add a repoman check and a matching QA policy
regarding how slots should be used in dependencies.
The check would apply to EAPI 5 and newer ebuilds only. Considering
the past uproar against having slotted dependencies against
single-slot packages, it would apply only to dependencies that match
more than one slot of a package.
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.
...which means that the only 'new' requirement would be that ':*'
operator becomes mandatory in favor of plain deps that have semi-
-undefined behavior.
It should be noted that the check uses complete dependency atom to
count the number of slots. That is, a dependency alike:
>=x11-libs/gtk+-3.4
would match only one slot and cause no repoman warnings. This is mostly
intended to keep the check simple and avoid false positives.
If anyone wishes to test the current code, the last version of patch
can be found at [1]. It will likely hit portage in -9999 as soon
as dol-sen approves it.
[1]:http://article.gmane.org/gmane.linux.gentoo.portage.devel/4369
--
Best regards,
Michał Górny
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 949 bytes --]
next reply other threads:[~2014-08-07 9:32 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-07 9:24 Michał Górny [this message]
2014-08-07 9:41 ` [gentoo-dev] Re: Repoman check and QA policy for slot deps/operator Ulrich Mueller
2014-08-07 10:55 ` Michał Górny
2014-08-07 15:37 ` Duncan
2014-08-07 16:03 ` Michał Górny
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=20140807112443.2ed19939@pomiot.lan \
--to=mgorny@gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
--cc=qa@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