Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-06 Thread Marius Mauch
On Fri, 01 Aug 2008 19:02:48 -0700
Zac Medico [EMAIL PROTECTED] wrote:

 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 Hi everyone,
 
 It might good to add support for a new RESTRICT=live value in
 ebuilds. By specifying this value, an ebuild would be able to
 indicate that it uses src_unpack() to download sources from some
 type of live repository such as cvs, darcs, git, mercurial, or svn.

If we go with the RESTRICT solution, I'd rather use
RESTRICT=versioned to indicate that
a) ebuild version doesn't reflect upstream version (in most cases)
b) upstream changes don't result in a new version

Marius



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-03 Thread Vaeth
Sorry that this is slightly OT, but maybe one should think
about this point in this discussion:

 It seems like USE would be an unconventional location to store that
 information and I'm not sure that it really belongs in the ebuild.

USE=live could perfectly make sense, if it is equipped with
the obvious meaning:

I suggest that if it is set, then it is attempted before building
to download the newest source from cvs/svn/git/monotone/bzr/...,
otherwise only the previously downloaded source is recompiled.
Currently, this functionality, which is extremely useful for
systems without permanent internet connection, is only
implemented inconsistently by using environment variables,
differently for each vcs:
  cvs: CVS_OFFLINE or CVS_OFFLINE_package_name
  git: EGIT_OFFLINE or ESCM_OFFLINE
  svn: ESVN_OFFLINE or ESCM_OFFLINE
  ???: Perhaps not implemented at all?

Then it would also make sense that @live-ebuilds consists
only of those packages for which the live USE-flag is
actually set (because the user does not want to treat them
as live).



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-03 Thread Zac Medico
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Vaeth wrote:
 Sorry that this is slightly OT, but maybe one should think
 about this point in this discussion:
 
 It seems like USE would be an unconventional location to store that
 information and I'm not sure that it really belongs in the ebuild.
 
 USE=live could perfectly make sense, if it is equipped with
 the obvious meaning:
 
 I suggest that if it is set, then it is attempted before building
 to download the newest source from cvs/svn/git/monotone/bzr/...,
 otherwise only the previously downloaded source is recompiled.
 Currently, this functionality, which is extremely useful for
 systems without permanent internet connection, is only
 implemented inconsistently by using environment variables,
 differently for each vcs:
   cvs: CVS_OFFLINE or CVS_OFFLINE_package_name
   git: EGIT_OFFLINE or ESCM_OFFLINE
   svn: ESVN_OFFLINE or ESCM_OFFLINE
   ???: Perhaps not implemented at all?
 
 Then it would also make sense that @live-ebuilds consists
 only of those packages for which the live USE-flag is
 actually set (because the user does not want to treat them
 as live).

Well, it seems to me that you're trying to shoehorn a USE flag into
a role that's intended to be filled by package sets. The idea is
that instead of settings USE flags in package.use, you'd define a
package set containing the specific packages that you want rebuilt.
Trying to define your set inside package.use would be an abuse of
package.use and we've already got package sets designed for that
purpose.

Zac
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkiVumgACgkQ/ejvha5XGaMhRACeNiJD30ggs/plNGuhX78B63Yv
fX4An2faHig4ZreJD/3I1uGOEa/UTaDb
=p9G+
-END PGP SIGNATURE-



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-03 Thread Joe Peterson
Vaeth wrote:
 The main point in introducing the live USE flag should be IMHO to
 let the user decide whether the sources should be fetched. The fact
 that IUSE then marks live ebuilds in the way which you wanted is an
 additional side effect.

A tend to agree with Zac that USE flags should not dictate package
manager behavior (e.g. whether a package gets included in a specific
package set or defining a package as live), and the idea of the IUSE
side-effect seems a bit unclean (i.e., behaviors that the dev did not
intend might end up being a surprize; I think we need to be careful
about side-effects).

However, I do see the point about the RESTRICT variable.  Throwing
random flags into it does not seem ideal, and I think convenience should
take a back seat to correctness when designing, e.g., ebuild
syntax/rules.  But why would using a new variable require an EAPI change
any more than adding new flags to RESTRICT?  I.e., if people start using
OPTIONS= or FLAGS=, it would simply be ignored by older package
manager versions, just like new RESTRICT values would be ignored.  Or am
I missing something fundamental?

-Joe



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-03 Thread Santiago M. Mola
On Sun, Aug 3, 2008 at 12:25 AM, Zac Medico [EMAIL PROTECTED] wrote:
 Santiago M. Mola wrote:

 I don't think we're in a hurry for this feature, so I don't see the
 need of using suboptimal hacks in order to avoid an EAPI bump.
 Furthermore, EAPI 2 is supposed to be done in the near future, right?

 Regards,

 I don't view the RESTRICT=live idea as suboptimal or a hack in
 any way. I see it as a legitimate use of an existing ebuild variable
 that's already used for lots of other legitimate purposes.


Let me rephrase the point as that this method should not be favoured
over others just because it doesn't require an EAPI bump.

Regards,
-- 
Santiago M. Mola
Jabber ID: [EMAIL PROTECTED]



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-03 Thread Zac Medico
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Joe Peterson wrote:
 However, I do see the point about the RESTRICT variable.  Throwing
 random flags into it does not seem ideal, and I think convenience should
 take a back seat to correctness when designing, e.g., ebuild
 syntax/rules.  But why would using a new variable require an EAPI change
 any more than adding new flags to RESTRICT?  I.e., if people start using
 OPTIONS= or FLAGS=, it would simply be ignored by older package
 manager versions, just like new RESTRICT values would be ignored.  Or am
 I missing something fundamental?

What you're missing is that only a specific subset of variables is
cached in /usr/portage/metadata/cache. Now that you mention it, we
could introduce a new variable called EBUILD_FLAGS and start caching
it in new versions of portage. It wouldn't necessarily require an
EAPI bump as long as it can safely be ignored by older versions of
portage.

Zac
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkiWD04ACgkQ/ejvha5XGaO8JgCgv3dIDZtq/7qnmCadq7cpfUQs
CNUAn334taZBgjWwM9UAxW97mEO9WCE6
=vbtT
-END PGP SIGNATURE-



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-03 Thread Zac Medico
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Zac Medico wrote:
 Joe Peterson wrote:
 However, I do see the point about the RESTRICT variable.  Throwing
 random flags into it does not seem ideal, and I think convenience should
 take a back seat to correctness when designing, e.g., ebuild
 syntax/rules.  But why would using a new variable require an EAPI change
 any more than adding new flags to RESTRICT?  I.e., if people start using
 OPTIONS= or FLAGS=, it would simply be ignored by older package
 manager versions, just like new RESTRICT values would be ignored.  Or am
 I missing something fundamental?
 
 What you're missing is that only a specific subset of variables is
 cached in /usr/portage/metadata/cache. Now that you mention it, we
 could introduce a new variable called EBUILD_FLAGS and start caching
 it in new versions of portage. It wouldn't necessarily require an
 EAPI bump as long as it can safely be ignored by older versions of
 portage.
 
 Zac

Oh and by the way, I should mention that it might not be worth it to
add a whole new variable. I think RESTRICT=live-sources is a
perfectly fine, especially considering the the existing
RESTRICT=primaryuri value is similar in some ways, including
perceived polarity. If we do decide to add a new variable then
perhaps we should move primaryuri to the new variable as well, for
consistency.

Zac
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkiWGY0ACgkQ/ejvha5XGaPGlQCgiDvulaAgLqdHXyoFVPPXdF6t
22gAnAiUNyY4fbmCl2WeapH3n7g1Y/8A
=l90F
-END PGP SIGNATURE-



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-03 Thread Joe Peterson
Zac Medico wrote:
 What you're missing is that only a specific subset of variables is
 cached in /usr/portage/metadata/cache. Now that you mention it, we
 could introduce a new variable called EBUILD_FLAGS and start caching
 it in new versions of portage. It wouldn't necessarily require an
 EAPI bump as long as it can safely be ignored by older versions of
 portage.

Yes, that was my thinking.

 Oh and by the way, I should mention that it might not be worth it to
 add a whole new variable. I think RESTRICT=live-sources is a
 perfectly fine, especially considering the the existing
 RESTRICT=primaryuri value is similar in some ways, including
 perceived polarity. If we do decide to add a new variable then
 perhaps we should move primaryuri to the new variable as well, for
 consistency.

Yes, that's sort of what I am thinking.  Migrate options that really do
not belong in RESTRICT to another variable (and keep them in RESTRICT,
of course, for backward compat for now).  Then introduce new ones into
whichever variable makes sense.

I'm not sure the EBUILD_ in EBUILD_FLAGS would be necessary
(redundant?).  Maybe even OPTIONS or PROPERTIES makes more sense.
In fact, FLAGS might be a little too generic, even?  Worth a short
discussion.

-Joe



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-03 Thread Zac Medico
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Joe Peterson wrote:
 Yes, that's sort of what I am thinking.  Migrate options that really do
 not belong in RESTRICT to another variable (and keep them in RESTRICT,
 of course, for backward compat for now).  Then introduce new ones into
 whichever variable makes sense.

Personally I think people are far too concerned about the name of
the variable. I only see a what I consider to be a trivial or
negligible benefit in separating these things into two different
variables. However, it it makes more people happy then I guess I'm
for it.

Zac
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkiWKJMACgkQ/ejvha5XGaOtxwCdHWWJ9sFaVsSiQF36j1WDmJOY
Vf8AmgP9MlJGdQC5jzgGkjdUqmv+Y+F8
=WWt3
-END PGP SIGNATURE-



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-03 Thread Joe Peterson
Zac Medico wrote:
 Personally I think people are far too concerned about the name of
 the variable. I only see a what I consider to be a trivial or
 negligible benefit in separating these things into two different
 variables. However, it it makes more people happy then I guess I'm
 for it.

Different people have differing sensitivity to things like this
(aesthetics, consistency, etc.).  IMHO, this particular one is not a
*huge* deal (picking my battles, I personally would not choose to be too
vehement on this one), but it's always nice to pick the most
elegant/logical way to do things, especially for things that are exposed
to the dev/ebuild interface and are hard to change later.

-Joe




Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-03 Thread Zac Medico
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Joe Peterson wrote:
 I'm not sure the EBUILD_ in EBUILD_FLAGS would be necessary
 (redundant?).  Maybe even OPTIONS or PROPERTIES makes more sense.
 In fact, FLAGS might be a little too generic, even?  Worth a short
 discussion.

One potential issue with using a short generic name is the potential
for variable name collisions. It's mainly an issue if we want to
mark the variable readonly during normal ebuild phases. If the
variable is marked readonly then bash will not allow that variable
name to be used as either a global or a _local_ variable. Maybe it
doesn't really matter though.

Zac
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkiWKuYACgkQ/ejvha5XGaPdgQCfXyDdAPN22+Jn/szjD0zG99eH
xqgAn28jCCmEOLoKfKSspbJbGskUwjtI
=rDmY
-END PGP SIGNATURE-



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-03 Thread Zac Medico
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Joe Peterson wrote:
 I'm not sure the EBUILD_ in EBUILD_FLAGS would be necessary
 (redundant?).  Maybe even OPTIONS or PROPERTIES makes more sense.
 In fact, FLAGS might be a little too generic, even?  Worth a short
 discussion.

I think something like PROPERTIES or ATTRIBUTES would be nice.

Zac
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkiWNvgACgkQ/ejvha5XGaML/QCgj7Aof1UEVGrtBNcloDjFMhDJ
izEAn2FTGTnnDa23XEF3ZENc9UaQU0P4
=JrMC
-END PGP SIGNATURE-



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-02 Thread Mike Auty

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

It seems,
Slightly like an abuse of the RESTRICT variable.  I had thought that
RESTRICT was generally for when a normal ebuild needed a feature turning
off (such as mirroring, strict checking and hopefully one day ccache).
5:)  Overloading it with the live value doesn't seem to fit into that
scheme...
If there's need for a new class of ebuild information (such as a new
way of categorizing ebuilds by feature), perhaps we should add an ebuild
features variable specifically for the purpose?
Are there many ebuilds where differentiating by inheritance is
inaccurate?  If so, I'd definitely suggest a new variable, if not then
perhaps it's not worth the effort for the accuracy (there are eclasses
for almost every type of live ebuild).  If adding a new variable would
require an EAPI bump (rather than simply being ignored by older versions
of portage) then I'd still suggest against overloading a variable from
its normal usage, especially if something better's already in the works.
If we start adding bits and pieces against the naming convention for
ease now, it has the potential to end up being ugly (and a problem that
needs fixing) later down the line...
Mike  5:)
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkiUJIUACgkQu7rWomwgFXobdwCeJyvzTtdPLAC0AoqFM8O69ajl
wwQAoLiFutlJw/LjHltw2uEAkCdPHNGU
=gUMq
-END PGP SIGNATURE-



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-02 Thread Arfrever Frehtes Taifersar Arahesis
2008-08-02 04:02:48 Zac Medico napisał(a):
 Hi everyone,
 
 It might good to add support for a new RESTRICT=live value in
 ebuilds. By specifying this value, an ebuild would be able to
 indicate that it uses src_unpack() to download sources from some
 type of live repository such as cvs, darcs, git, mercurial, or svn.
 
 This new RESTRICT=live value would be useful in at least a couple of
 ways. One is that it could be used to implement a @live-rebuild
 package set that's based on RESTRICT instead of INHERITED [1]. It
 could also be used to implement a more accurate LIVEVCS.stable check
 in repoman, again based on RESTRICT instead of INHERITED [2].
 
 We already have plans for more advanced live ebuild support,
 including live update detection, that will involve an EAPI bump [3].
 However, the RESTRICT=live value is a simple enhancement that we can
 add now, without the need for an EAPI bump. Thoughts?

The names of other RESTRICT values are related to features which are
restricted. The new proposed value is intended for live ebuilds so its
name should be negation of this feature. I think that something like
RESTRICT=constant-sources would be better.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-02 Thread Zac Medico
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Arfrever Frehtes Taifersar Arahesis wrote:
 2008-08-02 04:02:48 Zac Medico napisał(a):
 The names of other RESTRICT values are related to features which are
 restricted. The new proposed value is intended for live ebuilds so its
 name should be negation of this feature. I think that something like
 RESTRICT=constant-sources would be better.

Honestly I don't care about whatever the convention is but if people
prefer some other name then that fine with me because the name
really makes no difference to me.

Zac
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkiUMwEACgkQ/ejvha5XGaPMJQCfR9L0OWipq1Mi3n8SrcOG5SdI
ZekAoLV/JMLaA7Om2RbxfhTIgdX0nqmi
=I0P1
-END PGP SIGNATURE-



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-02 Thread Zac Medico
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Mike Auty wrote:
 It seems,
 Slightly like an abuse of the RESTRICT variable.  I had thought that
 RESTRICT was generally for when a normal ebuild needed a feature turning
 off (such as mirroring, strict checking and hopefully one day ccache).
 5:)  Overloading it with the live value doesn't seem to fit into that
 scheme...

Honestly I don't care what the existing scheme is. I just see the
RESTRICT list as a set of boolean flags that give me more
information about the ebuild than I'd have without it. Here's what
we've got now:

binchecks - Disable all QA checks for binaries.

bindist - Distribution of binary packages is restricted.

fetch - Files will not be fetched via SRC_URI.

installsources - Disable FEATURES=installsources.

mirror - Disable mirroring.

primaryuri - Fetch from URLs in SRC_URI before GENTOO_MIRRORS.

strip - Final binaries/libraries will not be stripped.

test - Do not run src_test even if user has FEATURES=test.

userpriv - Disables FEATURES=userpriv.

Looking at the above list I say it's fair game to put just about any
boolean flag in RESTRICT.

 If there's need for a new class of ebuild information (such as a new
 way of categorizing ebuilds by feature), perhaps we should add an ebuild
 features variable specifically for the purpose?

That requires an EAPI bump, which also means that it can't be used
in ebuilds with EAPI 0 or 1. The RESTRICT solution is simpler and we
can use it right now in any ebuild.

Zac
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkiUNkEACgkQ/ejvha5XGaM9zACeIOK+J84QpqtFLU3jkjFUM5qv
KzcAnihwK3ugnnVAmLMcnDwG/9gld14U
=Eqiy
-END PGP SIGNATURE-



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-02 Thread Mike Auty

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Zac Medico wrote:
| Honestly I don't care what the existing scheme is.

Fair enough, I don't maintain the code or have to deal with the
complaints.  It seems a waste to abandon an existing scheme though.

Particularly since RESTRICT is an odd name for random boolean flags.
Something like OPTIONS would be better, but it that can't be
added/changed quickly.  Is there an urgent pressing need for this?

| primaryuri - Fetch from URLs in SRC_URI before GENTOO_MIRRORS.

| Looking at the above list I say it's fair game to put just about any
| boolean flag in RESTRICT.

To me, almost every item in that list has not, disable, restrict
or some other negative in it, which lets it fit into a restriction.
Primaryuri is the only one that looks out of place.

You did sound up for a name change though, and if nothing else please do
change it.  Our new users/developers that don't know RESTRICT is seen as
a general purpose options flag will not find it intuitive and will
definitely wonder what RESTRICT=live means.  Not everybody knows the
ebuild format intimately, and allowing people to easily pick up what's
going on is important...

| That requires an EAPI bump, which also means that it can't be used
| in ebuilds with EAPI 0 or 1. The RESTRICT solution is simpler and we
| can use it right now in any ebuild.

It is simpler, and as I say if there's an urgent need then go for it,
but to me it feels like it's bolting on functionality into any space
it'll go.  Given that some time was spent changing all the noblah
flags to blah to fit the RESTRICT name, it's a little disappointing to
consider shoving extra flags in it now it all makes sense.

This is a relatively minor point.  In the long run, if people don't like
it, it'll get QA bugged/ironed out, if they do it'll stay, you just
asked for thoughts...  5:)

Mike  5:)
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkiUT5cACgkQu7rWomwgFXqqdACfadwat4gS8/O4mX1zwcI+0VeU
XawAnjbJa2LXHiK1VMN7ZBf9ICNK+dtl
=572l
-END PGP SIGNATURE-



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-02 Thread Santiago M. Mola
On Sat, Aug 2, 2008 at 12:26 PM, Zac Medico [EMAIL PROTECTED] wrote:
 Mike Auty wrote:

 If there's need for a new class of ebuild information (such as a new
 way of categorizing ebuilds by feature), perhaps we should add an ebuild
 features variable specifically for the purpose?

 That requires an EAPI bump, which also means that it can't be used
 in ebuilds with EAPI 0 or 1. The RESTRICT solution is simpler and we
 can use it right now in any ebuild.


I don't think we're in a hurry for this feature, so I don't see the
need of using suboptimal hacks in order to avoid an EAPI bump.
Furthermore, EAPI 2 is supposed to be done in the near future, right?

Regards,
-- 
Santiago M. Mola
Jabber ID: [EMAIL PROTECTED]



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-02 Thread Zac Medico
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Santiago M. Mola wrote:
 On Sat, Aug 2, 2008 at 12:26 PM, Zac Medico [EMAIL PROTECTED] wrote:
 Mike Auty wrote:

 If there's need for a new class of ebuild information (such as a new
 way of categorizing ebuilds by feature), perhaps we should add an ebuild
 features variable specifically for the purpose?
 That requires an EAPI bump, which also means that it can't be used
 in ebuilds with EAPI 0 or 1. The RESTRICT solution is simpler and we
 can use it right now in any ebuild.

 
 I don't think we're in a hurry for this feature, so I don't see the
 need of using suboptimal hacks in order to avoid an EAPI bump.
 Furthermore, EAPI 2 is supposed to be done in the near future, right?
 
 Regards,

I don't view the RESTRICT=live idea as suboptimal or a hack in
any way. I see it as a legitimate use of an existing ebuild variable
that's already used for lots of other legitimate purposes.

Zac
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkiU3toACgkQ/ejvha5XGaOqJQCgp0VTgcLgsyqvTMOl4yAEv+M9
Al8AoJlwWW3y3CIy4nlTfvY+QnouVFuQ
=XMyh
-END PGP SIGNATURE-



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-02 Thread Zac Medico
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Mike Auty wrote:
 Zac Medico wrote:
 | Honestly I don't care what the existing scheme is.
 
 Fair enough, I don't maintain the code or have to deal with the
 complaints.  It seems a waste to abandon an existing scheme though.

The scheme is pretty worthless in my eyes. The RESTRICT variable
is quite useful for general purpose boolean flags so I see no reason
not to use it as such.

 Particularly since RESTRICT is an odd name for random boolean flags.
 Something like OPTIONS would be better, but it that can't be
 added/changed quickly.  Is there an urgent pressing need for this?
 
 | primaryuri - Fetch from URLs in SRC_URI before GENTOO_MIRRORS.
 
 | Looking at the above list I say it's fair game to put just about any
 | boolean flag in RESTRICT.
 
 To me, almost every item in that list has not, disable, restrict
 or some other negative in it, which lets it fit into a restriction.
 Primaryuri is the only one that looks out of place.

Again, such schemes are pretty worthless to me. But then, to have
a RESTRICT=live setting for ebuilds would be quite useful.

 You did sound up for a name change though, and if nothing else please do
 change it.  Our new users/developers that don't know RESTRICT is seen as
 a general purpose options flag will not find it intuitive and will
 definitely wonder what RESTRICT=live means.  Not everybody knows the
 ebuild format intimately, and allowing people to easily pick up what's
 going on is important...

I chose live because I think it's easy for people to associate it
with live ebuilds, which I believe is a common term used to refer
to ebuild that download live sources in src_unpack. What's in a name
though? I'll gladly use whatever name satisfies the most people.

 | That requires an EAPI bump, which also means that it can't be used
 | in ebuilds with EAPI 0 or 1. The RESTRICT solution is simpler and we
 | can use it right now in any ebuild.
 
 It is simpler, and as I say if there's an urgent need then go for it,
 but to me it feels like it's bolting on functionality into any space
 it'll go.  Given that some time was spent changing all the noblah
 flags to blah to fit the RESTRICT name, it's a little disappointing to
 consider shoving extra flags in it now it all makes sense.

Well, RESTRICT=live makes perfect sense to me and I see it as a
legitimate use of an existing ebuild variable that's already used
for lots of other legitimate purposes.

 This is a relatively minor point.  In the long run, if people don't like
 it, it'll get QA bugged/ironed out, if they do it'll stay, you just
 asked for thoughts...  5:)
 
 Mike  5:)

Thanks for you input. It just seems to me that you're putting some
artificial limitations on the RESTRICT variable while I see it as a
more generically useful tool to accomplish a variety of useful purposes.

Zac
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkiU4QEACgkQ/ejvha5XGaOwygCfSVU2FPS9Y83JD4X/nTu5BTW+
6RIAoLsEUDuEQKNkC7B2aPKCokMyETHv
=bxM5
-END PGP SIGNATURE-



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-02 Thread Zac Medico
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Arfrever Frehtes Taifersar Arahesis wrote:
 2008-08-02 04:02:48 Zac Medico napisał(a):
 The names of other RESTRICT values are related to features which are
 restricted. The new proposed value is intended for live ebuilds so its
 name should be negation of this feature. I think that something like
 RESTRICT=constant-sources would be better.

Like I've said before, that particular convention is pretty
worthless in my eyes. I'd much prefer RESTRICT=live-sources if we
want to use a longer name.

Zac
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkiU6I8ACgkQ/ejvha5XGaOGLgCfcSDPfcoxmOdgZZlG4j1ag10O
LxoAoKlrcrCVMYPaGQCTKF0Qf5GcljBP
=9nNG
-END PGP SIGNATURE-



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-02 Thread René 'Necoro' Neumann
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Zac Medico schrieb:
 I chose live because I think it's easy for people to associate it
 with live ebuilds, which I believe is a common term used to refer
 to ebuild that download live sources in src_unpack. What's in a name
 though? I'll gladly use whatever name satisfies the most people.

Why not rename live to something which makes more sense in the
RESTRICT environment? Like the constant-source suggestion by Arfrever?
Because for me 'RESTRICT=live' reads like: Live(-builds) are not
possible with this ebuild.

Pushing random boolean flags in a variable, just because it already
happens to be there, seems (for me) to be the wrongest possible
approach. This would be quite similar to: We want to store the ebuild's
author in the ebuild... Hmm - we would need an additional string
variable for this ... Come - let's use the IUSE variable - there are
already strings in there (perhaps add an '@' before the author so we can
parse it).

Just my 2ct,
René
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkiU6LkACgkQ4UOg/zhYFuBrVgCfRs/69DxNBy3TN0fsLr20gURW
BxMAnie5SoBzbKN6n2oMhOJvMywV1ydf
=aOCm
-END PGP SIGNATURE-



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-02 Thread Zac Medico
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

René 'Necoro' Neumann wrote:
 Zac Medico schrieb:
 I chose live because I think it's easy for people to associate it
 with live ebuilds, which I believe is a common term used to refer
 to ebuild that download live sources in src_unpack. What's in a name
 though? I'll gladly use whatever name satisfies the most people.
 
 Why not rename live to something which makes more sense in the
 RESTRICT environment? Like the constant-source suggestion by Arfrever?
 Because for me 'RESTRICT=live' reads like: Live(-builds) are not
 possible with this ebuild.

I'm pretty flexible on the name but like I said before I think the
convention you're referring to is pretty worthless.

 Pushing random boolean flags in a variable, just because it already
 happens to be there, seems (for me) to be the wrongest possible
 approach. This would be quite similar to: We want to store the ebuild's
 author in the ebuild... Hmm - we would need an additional string
 variable for this ... Come - let's use the IUSE variable - there are
 already strings in there (perhaps add an '@' before the author so we can
 parse it).
 
 Just my 2ct,
 René

Well, RESTRICT has long since evolved into a rather generic set of
boolean flags and it's quite useful as such. I don't see any need
for artificial limitations on what types of flags go there.

Zac
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkiU7l8ACgkQ/ejvha5XGaP0MwCfR/zaBv0afq019vOOjuaEzdAJ
FhcAnRsedFGVQY9gyxJbadCqWEBLbfrZ
=2gKy
-END PGP SIGNATURE-



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-02 Thread René 'Necoro' Neumann
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Zac Medico schrieb:
 Well, RESTRICT has long since evolved into a rather generic set of
 boolean flags and it's quite useful as such. I don't see any need
 for artificial limitations on what types of flags go there.

For you it is just one variable amongst others - and you really don't
care about the relation between its name and its content. But perhaps
just for the sake of easier understanding of ebuilds, this relation
should be kept. Otherwise you'll read in future documentation: The name
is just for historical reasons and does not reflect the content. -- And
this is nearly always a stumbling block for the non-experienced.

Perhaps in a later EAPI RESTRICT might be renamed to something like
FLAGS - and then can really be used as a pool of flags.
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkiU8p8ACgkQ4UOg/zhYFuBeSQCfaPCuNXk99lde0lvriV1GFDMu
6FgAnRetvxI1uHWnZH2lizEiTIB+7IOC
=wStZ
-END PGP SIGNATURE-



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-02 Thread Luca Barbato

Zac Medico wrote:

Arfrever Frehtes Taifersar Arahesis wrote:

2008-08-02 04:02:48 Zac Medico napisaB(a):
The names of other RESTRICT values are related to features which are
restricted. The new proposed value is intended for live ebuilds so its
name should be negation of this feature. I think that something like
RESTRICT=constant-sources would be better.


Like I've said before, that particular convention is pretty
worthless in my eyes. I'd much prefer RESTRICT=live-sources if we
want to use a longer name.


Looks fine to me.

--

Luca Barbato
Gentoo Council Member
Gentoo/linux Gentoo/PPC
http://dev.gentoo.org/~lu_zero




Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-02 Thread Nirbheek Chauhan
On Sun, Aug 3, 2008 at 4:36 AM, Zac Medico [EMAIL PROTECTED] wrote:
 Arfrever Frehtes Taifersar Arahesis wrote:
 2008-08-02 04:02:48 Zac Medico napisał(a):
 The names of other RESTRICT values are related to features which are
 restricted. The new proposed value is intended for live ebuilds so its
 name should be negation of this feature. I think that something like
 RESTRICT=constant-sources would be better.

 Like I've said before, that particular convention is pretty
 worthless in my eyes. I'd much prefer RESTRICT=live-sources if we
 want to use a longer name.

How about we just skip the reversed-boolean-usage/it's-a-long-name
confusion/argument and just call it RESTRICT=tarballs ?

I know not all distfiles are tarballs, but it gets the message across
far better than constant-sources IMO :o)

-- 
~Nirbheek Chauhan


Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-02 Thread Avuton Olrich
On Fri, Aug 1, 2008 at 7:02 PM, Zac Medico [EMAIL PROTECTED] wrote:
 This new RESTRICT=live value would be useful in at least a couple of
 ways. One is that it could be used to implement a @live-rebuild
 package set that's based on RESTRICT instead of INHERITED [1]. It
 could also be used to implement a more accurate LIVEVCS.stable check
 in repoman, again based on RESTRICT instead of INHERITED [2].

 We already have plans for more advanced live ebuild support,
 including live update detection, that will involve an EAPI bump [3].
 However, the RESTRICT=live value is a simple enhancement that we can
 add now, without the need for an EAPI bump. Thoughts?

For some of us in the peanut gallery it'd also be nice to document the
pitfalls of grepping inherited to determine if it's a live ebuild
(update-live-ebuilds has done it for years, fairly successfully..).
Granted it's not clean, and yes, as a secondary check you may need to
check for SVN_REPO_URI or else. This is also acting like people are
going to follow this convention, which even in a perfect world means
people will tend to forget this or not even know they're supposed to
put it.
-- 
avuton
--
 I've got a fever. And the only prescription is more cowbell. --
Christopher Walken



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-02 Thread Thomas de Grenier de Latour
On 2008/08/01, Zac Medico [EMAIL PROTECTED] wrote:

 It might good to add support for a new RESTRICT=live value in
 ebuilds.

Since some people have a problem with this flag being put there, what
about IUSE=live-rebuild as an alternative?   It's use.desc would be
something like add this package to the @live-rebuild set (only for
Portage 2.2_rc6 and above). And the set implementation would be
modified to only include packages for which this flag is enabled. 

-- 
TGL.



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-02 Thread Luis Francisco Araujo

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

René 'Necoro' Neumann wrote:
| Zac Medico schrieb:
| Well, RESTRICT has long since evolved into a rather generic set of
| boolean flags and it's quite useful as such. I don't see any need
| for artificial limitations on what types of flags go there.
|
| For you it is just one variable amongst others - and you really don't
| care about the relation between its name and its content. But perhaps
| just for the sake of easier understanding of ebuilds, this relation
| should be kept. Otherwise you'll read in future documentation: The name
| is just for historical reasons and does not reflect the content. -- And
| this is nearly always a stumbling block for the non-experienced.
|
| Perhaps in a later EAPI RESTRICT might be renamed to something like
| FLAGS - and then can really be used as a pool of flags.

Can the RESTRICT=live value be interpreted as , 'restrict this ebuild
to live repositories' or , if you want, 'this package will only build
from live repos'?

In either case, I don't see the fuss regarding this naming thing,
considering RESTRICT is already being used for similar functionality.

Regards,

- --

Luis F. Araujo araujo at gentoo.org
Gentoo Linux

-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkiU9e8ACgkQNir3WYj9aLpH0wCfS0t7t9md+kPmVZsppiekybe4
TNUAoIsGXS+wnGTpqZRNLpRTLwSGG7vk
=xLIG
-END PGP SIGNATURE-



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-02 Thread Zac Medico
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Thomas de Grenier de Latour wrote:
 On 2008/08/01, Zac Medico [EMAIL PROTECTED] wrote:
 
 It might good to add support for a new RESTRICT=live value in
 ebuilds.
 
 Since some people have a problem with this flag being put there, what
 about IUSE=live-rebuild as an alternative?   It's use.desc would be
 something like add this package to the @live-rebuild set (only for
 Portage 2.2_rc6 and above). And the set implementation would be
 modified to only include packages for which this flag is enabled. 
 

That's an interesting idea, however I think RESTRICT is a better fit
for the attribute that we're trying to model. USE flags are
something that can be enable or disabled but the user but the
behavior of the src_unpack() method downloading live sources is not
something that's generally controlled by a USE flag afaik. Are there
any existing ebuilds that allow src_unpack to be toggled in this way
via a USE flag? Is this something that would be desireable?

Zac
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkiVAtsACgkQ/ejvha5XGaNWLwCgvOkEutL+2IYGF5Nz0ncH1GL/
k/8An3lwrLOUKKFaTNMVaYBLd0OryI67
=6uSV
-END PGP SIGNATURE-



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-02 Thread Zac Medico
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Avuton Olrich wrote:
 On Fri, Aug 1, 2008 at 7:02 PM, Zac Medico [EMAIL PROTECTED] wrote:
 For some of us in the peanut gallery it'd also be nice to document the
 pitfalls of grepping inherited to determine if it's a live ebuild
 (update-live-ebuilds has done it for years, fairly successfully..).

I'm told that some ebuilds that are not really live ebuilds still
inherit the same eclasses that are used for live ebuilds. So,
there is no direct correspondence between inheriting one of these
eclasses and being a live ebuild.

 Granted it's not clean, and yes, as a secondary check you may need to
 check for SVN_REPO_URI or else.

The SVN_REPO_URI variable wouldn't be very useful because it only
applies to the svn eclass, and it's not among the special metadata
variables that you'll find cached in /usr/portgage/metadata/cache.

 This is also acting like people are
 going to follow this convention, which even in a perfect world means
 people will tend to forget this or not even know they're supposed to
 put it.

It's not that hard to do, and if it's initially overlooked by an
ebuild maintainer than its not really a difficult thing to spot and
fix. Much more elusive bugs do exist.

Zac
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkiVBVsACgkQ/ejvha5XGaOUeACeJrXwikBgoEOVmBG6iaPqetTY
4qAAoKZ/CqcUwLaM/GU/XfDV7dKTwV9s
=wM+N
-END PGP SIGNATURE-



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-02 Thread Thomas de Grenier de Latour
On 2008/08/02, Zac Medico [EMAIL PROTECTED] wrote:

 USE flags are something that can be enable or disabled

Here, what the flag would enable/disable is belonging of live packages
to the @live-rebuild set.  Compared to the RESTRICT solution, user
gains an easy per-package control of this set (sure, the flag would be
turned on in profiles, so that @live-rebuild is complete by default).

 but the behavior of the src_unpack() method downloading live sources
 is not something that's generally controlled by a USE flag afaik.

Right, this live-rebuild USE flag would not control anything in the
way the ebuild is executed, but only in the way the package is handled
by Portage.  It's not primary usage of USE flags, sure, but it's not 
completly unusual neither (for instance, take USE flags which are just 
there to trigger some convenience PDEPEND).


Anyway, to rephrase / summarize my idea:

 - IUSE=live-rebuild in the ebuild
  == triggers LIVEVCS.stable repoman check

 - IUSE=live-rebuild in the ebuild, and package is installed, 
and USE flag live-rebuild is enabled for this package
  == makes it belong to the @live-rebuild set

-- 
TGL.



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-02 Thread Zac Medico
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Thomas de Grenier de Latour wrote:
 On 2008/08/02, Zac Medico [EMAIL PROTECTED] wrote:
 
 USE flags are something that can be enable or disabled
 
 Here, what the flag would enable/disable is belonging of live packages
 to the @live-rebuild set.  Compared to the RESTRICT solution, user
 gains an easy per-package control of this set (sure, the flag would be
 turned on in profiles, so that @live-rebuild is complete by default).
 
 but the behavior of the src_unpack() method downloading live sources
 is not something that's generally controlled by a USE flag afaik.
 
 Right, this live-rebuild USE flag would not control anything in the
 way the ebuild is executed, but only in the way the package is handled
 by Portage.  It's not primary usage of USE flags, sure, but it's not 
 completly unusual neither (for instance, take USE flags which are just 
 there to trigger some convenience PDEPEND).
 
 
 Anyway, to rephrase / summarize my idea:
 
  - IUSE=live-rebuild in the ebuild
   == triggers LIVEVCS.stable repoman check
 
  - IUSE=live-rebuild in the ebuild, and package is installed, 
 and USE flag live-rebuild is enabled for this package
   == makes it belong to the @live-rebuild set
 

It seems like USE would be an unconventional location to store that
information and I'm not sure that it really belongs in the ebuild.
Shoehorning it into package.use might have some benefits but USE
flags are conventionally used to control ebuild behavior rather than
package manager behavior. Perhaps some separate user config file
would be more appropriate for that purpose.

Zac
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkiVHLoACgkQ/ejvha5XGaOq4QCeMZOJcHKn2d2LzhIeRmGrLjlu
2J8An1C1lpC5VsCPqnwz4kpPBVEFFRDE
=M6Pf
-END PGP SIGNATURE-



[gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-01 Thread Zac Medico
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi everyone,

It might good to add support for a new RESTRICT=live value in
ebuilds. By specifying this value, an ebuild would be able to
indicate that it uses src_unpack() to download sources from some
type of live repository such as cvs, darcs, git, mercurial, or svn.

This new RESTRICT=live value would be useful in at least a couple of
ways. One is that it could be used to implement a @live-rebuild
package set that's based on RESTRICT instead of INHERITED [1]. It
could also be used to implement a more accurate LIVEVCS.stable check
in repoman, again based on RESTRICT instead of INHERITED [2].

We already have plans for more advanced live ebuild support,
including live update detection, that will involve an EAPI bump [3].
However, the RESTRICT=live value is a simple enhancement that we can
add now, without the need for an EAPI bump. Thoughts?

Zac

[1]
http://planet.gentoo.org/developers/zmedico/2008/07/31/live_rebuild_package_set
[2] http://sources.gentoo.org/viewcvs.py/portage?view=revrev=3457
[3] http://bugs.gentoo.org/show_bug.cgi?id=182028
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkiTwEYACgkQ/ejvha5XGaO1yACbBdLxCzvVxMdW/IjeodgbktNJ
/GYAniFIweB8+Gj/7XSlT2pEFD6/Ric9
=a+ak
-END PGP SIGNATURE-



Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?

2008-08-01 Thread Luis Francisco Araujo

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Zac Medico wrote:
| Hi everyone,
|
| It might good to add support for a new RESTRICT=live value in
| ebuilds. By specifying this value, an ebuild would be able to
| indicate that it uses src_unpack() to download sources from some
| type of live repository such as cvs, darcs, git, mercurial, or svn.
|
| This new RESTRICT=live value would be useful in at least a couple of
| ways. One is that it could be used to implement a @live-rebuild
| package set that's based on RESTRICT instead of INHERITED [1]. It
| could also be used to implement a more accurate LIVEVCS.stable check
| in repoman, again based on RESTRICT instead of INHERITED [2].
|
| We already have plans for more advanced live ebuild support,
| including live update detection, that will involve an EAPI bump [3].
| However, the RESTRICT=live value is a simple enhancement that we can
| add now, without the need for an EAPI bump. Thoughts?
|
| Zac
|
| [1]
|
http://planet.gentoo.org/developers/zmedico/2008/07/31/live_rebuild_package_set
| [2] http://sources.gentoo.org/viewcvs.py/portage?view=revrev=3457
| [3] http://bugs.gentoo.org/show_bug.cgi?id=182028

+1

- --

Luis F. Araujo araujo at gentoo.org
Gentoo Linux

-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.9 (GNU/Linux)

iEYEARECAAYFAkiT6XwACgkQNir3WYj9aLrhlwCfdmyhqPLSSSgH68UvE7KopAkD
siYAnjEANXpkbuTA83yRIsIztp9kDVL7
=dJiJ
-END PGP SIGNATURE-