Don't require assignment of empty variables in ebuilds?
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.
For example, many live ebuilds already don't define SRC_URI. I'm not
aware of any problems caused by this.
Don't require assignment of empty variables in ebuilds?
On Wed, Jul 18, 2012 at 07:53:37PM +0200, Ulrich Mueller 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.
>
> For example, many live ebuilds already don't define SRC_URI. I'm not
> aware of any problems caused by this.
+1 from me.
--
Robin Hugh Johnson
Gentoo Linux: Developer, Trustee & Infrastructure Lead
E-Mail : robbat2@gentoo.org
GnuPG FP : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85
07-18-2012, 06:11 PM
Davide Pesavento
Don't require assignment of empty variables in ebuilds?
On Wed, Jul 18, 2012 at 11:02 AM, Robin H. Johnson <robbat2@gentoo.org> wrote:
> On Wed, Jul 18, 2012 at 07:53:37PM +0200, Ulrich Mueller 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.
>>
>> For example, many live ebuilds already don't define SRC_URI. I'm not
>> aware of any problems caused by this.
> +1 from me.
>
++
Thanks,
Pesa
07-25-2012, 04:00 PM
Mike Frysinger
Don't require assignment of empty variables in ebuilds?
On Wednesday 18 July 2012 13:53:37 Ulrich Mueller 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...).
-mike
07-25-2012, 04:38 PM
Ulrich Mueller
Don't require assignment of empty variables in ebuilds?
>>>>> 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
07-25-2012, 04:56 PM
Pacho Ramos
Don't require assignment of empty variables in ebuilds?
El mié, 25-07-2012 a las 18:38 +0200, Ulrich Mueller escribió:
[...]
> 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.
+1
07-25-2012, 05:05 PM
"Rick "Zero_Chaos" Farina"
Don't require assignment of empty variables in ebuilds?
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 07/25/2012 12:56 PM, Pacho Ramos wrote:
> El mié, 25-07-2012 a las 18:38 +0200, Ulrich Mueller escribió:
> [...]
>> 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.
>
> +1
So many pointless lines of code removed...
+1
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
> >>>>> 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.
PMS should be able to handle empty DESCRIPTION (i.e. for hand-written
dirty test ebuilds). And an empty SLOT has its meaning.
--
Best regards,
Michał Górny
07-25-2012, 06:32 PM
Mike Frysinger
Don't require assignment of empty variables in ebuilds?
On Wednesday 25 July 2012 12:38:05 Ulrich Mueller wrote:
> >>>>> 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.
who said anything about PMS ? this thread was all about tree policy.
> 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.
SLOT is about the only variable i could see possibly being required by PMS to
be set somewhere (whether eclass or ebuild doesn't matter). all the others we
could (and should) do away with from PMS requirement list considering our PMs
handle it fine.
-mike
08-09-2012, 02:04 AM
Zac Medico
Don't require assignment of empty variables in ebuilds?
On 07/25/2012 09:38 AM, Ulrich Mueller wrote:
> 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.