>>>>> On Wed, 25 Jul 2012, Mike Frysinger wrote: >> Our current policy [1] 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 virtuals. 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. Ulrich