Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?
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?
-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?
-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?
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?
-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?
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?
-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?
-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?
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?
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?
> > USE=live could perfectly make sense, if it is equipped with > > the obvious meaning: > > 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. Maybe there is a misunderstanding: I am mainly suggesting the "live" USE flag to allow the user to decide in a uniform manner (and on a per-package basis) whether new sources shell be fetched regularly before the rebuild (that's why I said that my suggestion is slightly OT). There is no way to do this by package sets. But *if* a "live" USE flag would be uniformly used for that purpose, it would have also the "side effect" that you can read from IUSE whether it is a live package, i.e. there is no need to put this information additionally into the RESTRICT variable. > 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. I guess this is part of the misunderstanding: I do not care so much whether @emerge-ebuild would select all packages with "live" in its IUSE or only those for which the "live" flag is actually set (from your reply I understand that you would consider the latter as an inappropriate use; I do not protest. Anyway, even the *possibility* to do this even if it is not implemented - might be considered as an additional feature of USE over RESTRICT). However to repeat: 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. Regards Martin
Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?
-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?
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?
-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-
Re: [gentoo-dev] [RFC] New RESTRICT=live value for identification of live ebuilds?
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?
-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?
-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?
-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?
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?
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?
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?
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?
-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?
-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?
-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?
-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?
-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?
-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?
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?
-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?
-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?
-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 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?
-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?
-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=rev&rev=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-