ulm at gentoo
Jul 25, 2012, 9:38 AM
Post #5 of 10
>>>>> On Wed, 25 Jul 2012, Mike Frysinger wrote:
Re: Don't require assignment of empty variables in ebuilds?
[In reply to]
>> Our current policy  requires that ebuilds must assign the seven
>> variables DESCRIPTION, HOMEPAGE, SRC_URI, LICENSE, SLOT, KEYWORDS,
>> and IUSE, even if their value is empty.
>> Could we drop this requirement? Repoman already enforces that
>> DESCRIPTION, HOMEPAGE, LICENSE, SLOT, and KEYWORDS are non-empty
>> (with some exceptions for virtuals). I don't see why we need to
>> distinguish the "empty value" and "not assigned" cases.
> i think we should clarify and say that when an eclass provides
> these, the ebuild need not. completely missing DESCRIPTION/HOMEPAGE
> should be a warning (and maybe KEYWORDS), and LICENSE should be an
> error. there are plenty of examples of SRC_URI not being set and
> that's fine (live ebuilds, ebuilds that only install out of
> $FILESDIR, virtuals, etc...).
I think we have to distinguish between PMS and tree policy here.
The package manager should be able to handle any empty or missing
variables (except for DESCRIPTION and SLOT). Otherwise we'd have to
complicate the spec with additional case distinctions, e.g. for
On the other hand, tree policy (as enforced by repoman) wouldn't
really change. In the cases you've mentioned above, it already
displays errors or warnings. Repoman also doesn't distinguish between
empty and unset variables. The single exception to this is IUSE, which
is required to be present in an ebuild even if it's empty. Maybe we
should drop this requirement, too.