Re: [gentoo-dev] Doubts about need for ewarn when strip-linguas is used

2012-03-09 Thread Pacho Ramos
El mar, 06-03-2012 a las 11:46 +0100, Pacho Ramos escribió:
 I usually read messages in /var/log/portage/elog/summary.log to simply
 warn me about es es_ES LINGUAS not being supported by that package.
 That comes from eutils.eclass inside strip-linguas:
 ewarn Sorry, but ${PN} does not support the LINGUAS: ${nols}
 
 Is this warning really required, personally I know a lot of packages
 that don't support spanish translations and I get no warning from them
 (as they don't use strip-linguas). When I set LINGUAS variable in my
 make.conf I assume a lot of packages won't support spanish translations,
 and I see no point on being informed about that for some packages using
 strip-linguas.
 
 What do you think?

OK with dropping message completely or use einfo instead of ewarn?


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


Re: [gentoo-dev] media-optical, net-zope, sgml, text-markup herds are empty

2012-03-09 Thread Pacho Ramos
El dom, 04-03-2012 a las 13:56 +0100, Pacho Ramos escribió:
 El dom, 04-03-2012 a las 13:51 +0100, Pacho Ramos escribió:
  El dom, 04-03-2012 a las 13:47 +0100, Pacho Ramos escribió:
   Even if they have some people in their mail aliases, looks like herds
   are empty. If nobody volunteers to join to them, I think we should drop
   that herds and move their packages to maintainer-needed in a week or so.
   
   What do you think? 
   
  
  The same applies to sgml now that cryos is retiring :(
 
 and text-markup, I think it's the last empty herd now

Maybe we could do the same as did in the past for openoffice herd:
- Change metadatas and bugs to assign them to maintainer-needed (and
reflect reality)
- Keep herd in metadatas and CCed them to bug reports

The other option would be to simply drop that herds, assign packages to
maintainer-needed and wait developers to grab whatever they want

What do you prefer?
 


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


Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Marc Schiffbauer
* Zac Medico schrieb am 08.03.12 um 17:30 Uhr:
 On 03/08/2012 01:42 AM, Marc Schiffbauer wrote:
  * Ulrich Mueller schrieb am 08.03.12 um 08:27 Uhr:
  Such constructs also cannot be used with any of the other proposed
  solutions. And in fact, nobody is using such things in practice.
  _All_ ebuilds in the Portage tree can be successfully parsed with the
  regexp proposed.
 
  Ebuilds are bash scripts. I think introducing exceptions or
  constraints here is not straightforward.
 
 Given that ebuilds already have to conform to a vast number of 
 constraints that ordinary bash scripts do not. I think that it's 
 perfectly reasonable for ebuilds to have a constrained syntax for EAPI 
 assignments.

There are constraints in ebuilds, right. But its an *ebuild* in the
end, not an ordinary shell script. Thats true.

So if EAPI is very special, and I am now convinced it is, then well, 
this might be the most important contraint in an ebuild at all.

If that is true I would vote to keep this as simple as possible:

* EAPI *must* *be* the first non-Argument / shell code in an ebuild
* The value of EAPI in the assignment *MUST* *NOT* contain any
  other variables or other shell substitutions.

Period. Done.

* That would be the least invasive change.
* Could easily be checked by repoman
* Is easy parsable by other programs (python code)

-Marc
-- 
8AAC 5F46 83B4 DB70 8317  3723 296C 6CCA 35A6 4134


pgpFVfsBDxzOc.pgp
Description: PGP signature


Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Michael Orlitzky
On 03/09/12 00:51, Zac Medico wrote:
 On 03/08/2012 09:35 PM, Michael Orlitzky wrote:
 The function can do any crazy thing you want.
 
 We don't need a function. We need to know the EAPI before we source the
 ebuild, and a function doesn't give us that.

Surely we can source one or two lines of the ebuild safely, like the
example shows?



Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Zac Medico
On 03/09/2012 06:42 AM, Michael Orlitzky wrote:
 On 03/09/12 00:51, Zac Medico wrote:
 On 03/08/2012 09:35 PM, Michael Orlitzky wrote:
 The function can do any crazy thing you want.

 We don't need a function. We need to know the EAPI before we source the
 ebuild, and a function doesn't give us that.
 
 Surely we can source one or two lines of the ebuild safely, like the
 example shows?

Why would we though, when sourcing is a relatively costly operation, and
there are much more efficient ways to get the EAPI?

Also, you've got a chicken and egg problem, since you're assuming that
your eapi() function is going to be available in the global environment
when the ebuild is sourced. The whole point of knowing the EAPI in
advance is so that we will be able to make changes to the global
environment, such as add, remove, or change the behavior of _any_ function.
-- 
Thanks,
Zac



Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Michael Orlitzky
On 03/09/12 10:05, Zac Medico wrote:

 Surely we can source one or two lines of the ebuild safely, like the
 example shows?
 
 Why would we though, when sourcing is a relatively costly operation, and
 there are much more efficient ways to get the EAPI?

There do not seem to be any that people agree on =)

I mean, it's /easy/ to get the EAPI. There's a list of ways on the GLEP,
but all of them have trade-offs.

The header comment seems to be the preference in this thread. The
advantage that the eapi function has over a comment is that it's not
magic -- it's just normal bash syntax. So we've addressed that issue at
a small performance cost (we're really only sourcing the ebuild up to
'exit').

Whether or not that trade-off is worth it, who knows. I would prefer to
make it work before we make it fast; but new ideas can't hurt
considering nobody has agreed on an old one.


 Also, you've got a chicken and egg problem, since you're assuming that
 your eapi() function is going to be available in the global environment
 when the ebuild is sourced. The whole point of knowing the EAPI in
 advance is so that we will be able to make changes to the global
 environment, such as add, remove, or change the behavior of _any_ function.

Nah, at the top of the ebuild, you would have,

 EAPI=5
 eapi 5

until package managers catch up, just like we would have to do with the
comment. Once they've caught up, we can drop the EAPI= assignment, and
begin using new features after the call to 'eapi'.



Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Zac Medico
On 03/09/2012 07:21 AM, Michael Orlitzky wrote:
 The advantage that the eapi function has over a comment is that it's not
 magic -- it's just normal bash syntax. So we've addressed that issue at
 a small performance cost (we're really only sourcing the ebuild up to
 'exit').

Also consider the case where a user syncs after not having updated for a
couple of months, and the tree contains some ebuilds with EAPIs that are
not supported by the currently installed package manager.

In this case, when resolving dependencies and filtering ebuilds based on
whether or not their EAPI is supported, spawning bash once per ebuild is
much more costly than the alternatives.
-- 
Thanks,
Zac



[gentoo-dev] Lastrite: app-pda/syncevolution

2012-03-09 Thread Samuli Suominen

# /home/ssuominen/gentoo-x86/profiles/package.mask:
# Samuli Suominen ssuomi...@gentoo.org (09 Mar 2012)
# Fails to build with GCC-4.6 wrt #380767. A lot has changed
# in new version wrt #388543. Other bugs #354323, #354863,
# and #407183.
# Unless fixed, removal in 30 days.
app-pda/syncevolution



Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Alexis Ballier
On Fri, 09 Mar 2012 07:41:09 -0800
Zac Medico zmed...@gentoo.org wrote:

 On 03/09/2012 07:21 AM, Michael Orlitzky wrote:
  The advantage that the eapi function has over a comment is that
  it's not magic -- it's just normal bash syntax. So we've addressed
  that issue at a small performance cost (we're really only sourcing
  the ebuild up to 'exit').
 
 Also consider the case where a user syncs after not having updated
 for a couple of months, and the tree contains some ebuilds with EAPIs
 that are not supported by the currently installed package manager.
 
 In this case, when resolving dependencies and filtering ebuilds based
 on whether or not their EAPI is supported, spawning bash once per
 ebuild is much more costly than the alternatives.

isnt the whole point of the proposal to get eapi without sourcing ?

so that we can use new bash features at local or global scope without
risking that people with an old bash get syntax errors trying to get
the eapi



Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Ian Stakenvicius
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 09/03/12 10:41 AM, Zac Medico wrote:
 On 03/09/2012 07:21 AM, Michael Orlitzky wrote:
 The advantage that the eapi function has over a comment is that
 it's not magic -- it's just normal bash syntax. So we've
 addressed that issue at a small performance cost (we're really
 only sourcing the ebuild up to 'exit').
 
 Also consider the case where a user syncs after not having updated
 for a couple of months, and the tree contains some ebuilds with
 EAPIs that are not supported by the currently installed package
 manager.


IIRC we get this already, when the EAPI isn't supported by the version
of portage installed -- upgrading really old systems won't allow an
emerge of python-2.7 due to a too-new EAPI, and python-2.7 is needed
to upgrade to the newer portage.

I don't see how the EAPI check itself failing and thereby excluding an
ebuild is much different than the specified EAPI excluding it..?
Either way, the end user is going to have issues if they don't keep
their portage up to date.



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

iF4EAREIAAYFAk9aJ0QACgkQAJxUfCtlWe2tTAEA7iUgDOCaGoQhz1dXukQ/a3lY
rsdqewd2DYZWtsv+3XoA/iRVe+qf4HXdkWTchFRHlolaTJechz6AZCzKY/sNdu4w
=1e/8
-END PGP SIGNATURE-



Re: [gentoo-dev] media-optical, net-zope, sgml, text-markup herds are empty

2012-03-09 Thread Michał Górny
On Fri, 09 Mar 2012 09:02:23 +0100
Pacho Ramos pa...@gentoo.org wrote:

 El dom, 04-03-2012 a las 13:56 +0100, Pacho Ramos escribió:
  El dom, 04-03-2012 a las 13:51 +0100, Pacho Ramos escribió:
   El dom, 04-03-2012 a las 13:47 +0100, Pacho Ramos escribió:
Even if they have some people in their mail aliases, looks like
herds are empty. If nobody volunteers to join to them, I think
we should drop that herds and move their packages to
maintainer-needed in a week or so.

What do you think? 

   
   The same applies to sgml now that cryos is retiring :(
  
  and text-markup, I think it's the last empty herd now
 
 Maybe we could do the same as did in the past for openoffice herd:
 - Change metadatas and bugs to assign them to maintainer-needed (and
 reflect reality)
 - Keep herd in metadatas and CCed them to bug reports
 
 The other option would be to simply drop that herds, assign packages
 to maintainer-needed and wait developers to grab whatever they want

For net-zope, I'd prefer dropping it. We decided to get rid of Zope,
removed almost all relevant packages, so there's no point in keeping
the herd.

-- 
Best regards,
Michał Górny


signature.asc
Description: PGP signature


Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Zac Medico
On 03/09/2012 07:51 AM, Alexis Ballier wrote:
 On Fri, 09 Mar 2012 07:41:09 -0800
 Zac Medico zmed...@gentoo.org wrote:
 
 On 03/09/2012 07:21 AM, Michael Orlitzky wrote:
 The advantage that the eapi function has over a comment is that
 it's not magic -- it's just normal bash syntax. So we've addressed
 that issue at a small performance cost (we're really only sourcing
 the ebuild up to 'exit').

 Also consider the case where a user syncs after not having updated
 for a couple of months, and the tree contains some ebuilds with EAPIs
 that are not supported by the currently installed package manager.

 In this case, when resolving dependencies and filtering ebuilds based
 on whether or not their EAPI is supported, spawning bash once per
 ebuild is much more costly than the alternatives.
 
 isnt the whole point of the proposal to get eapi without sourcing ?
 
 so that we can use new bash features at local or global scope without
 risking that people with an old bash get syntax errors trying to get
 the eapi

Right. Michael has lost sight of the goal and is moving off on a tangent.
-- 
Thanks,
Zac



Re: [gentoo-dev] media-optical, net-zope, sgml, text-markup herds are empty

2012-03-09 Thread Dirkjan Ochtman
On Fri, Mar 9, 2012 at 16:57, Michał Górny mgo...@gentoo.org wrote:
 For net-zope, I'd prefer dropping it. We decided to get rid of Zope,
 removed almost all relevant packages, so there's no point in keeping
 the herd.

+1.

Cheers,

Dirkjan



Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Zac Medico
On 03/09/2012 07:52 AM, Ian Stakenvicius wrote:
 On 09/03/12 10:41 AM, Zac Medico wrote:
 On 03/09/2012 07:21 AM, Michael Orlitzky wrote:
 The advantage that the eapi function has over a comment is that
 it's not magic -- it's just normal bash syntax. So we've
 addressed that issue at a small performance cost (we're really
 only sourcing the ebuild up to 'exit').
 
 Also consider the case where a user syncs after not having updated
 for a couple of months, and the tree contains some ebuilds with
 EAPIs that are not supported by the currently installed package
 manager.
 
 
 IIRC we get this already, when the EAPI isn't supported by the version
 of portage installed -- upgrading really old systems won't allow an
 emerge of python-2.7 due to a too-new EAPI, and python-2.7 is needed
 to upgrade to the newer portage.

You're talking about a very specific (unfortunate) upgrade path
breakage. We should keep the discussion focused on more generic cases
that apply to future upgrade scenarios, rather than focusing on past
breakages (though it's obvious that we should also try to avoid such
upgrade path breakages in the future).

Assuming that there is still a viable upgrade path, the package manager
needs resolve dependencies and filter ebuilds based on whether or not
their EAPI is supported. There are basically two ways to do the EAPI
filtering:

1) Access the EAPI from the metadata cache. This assumes that the
package manager is able to validate metadata cache entries for EAPIs
that it does not support, which is a somewhat fragile assumption given
the complexities of cache validation, which involves verification of
ebuilds and additional sources of metadata which may include eclasses
and possibly other files in the future.

2) Parse the ebuild from the ebuild using a pre-defined protocol (parse
EAPI assignment, parse comment, or parse file name as in GLEP 55...).

 I don't see how the EAPI check itself failing and thereby excluding an
 ebuild is much different than the specified EAPI excluding it..?
 Either way, the end user is going to have issues if they don't keep
 their portage up to date.

They may or may not have issues. Our goal is to minimize our
vulnerability to these kinds of issues as much as possible. Being able
to obtain the ebuild EAPI without the expense of sourcing it is one
small step toward this goal.
-- 
Thanks,
Zac



Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Michał Górny
On Fri, 09 Mar 2012 00:35:14 -0500
Michael Orlitzky mich...@orlitzky.com wrote:

 On 03/09/2012 12:04 AM, Michał Górny wrote:
 
  This is of course isomorphic to requiring a specific EAPI=4 format,
  but does allow you to do stupid things like x=`seq 4 4`; eapi $x;
  if you want.
 
  What advantage does it give us? We still can't change ebuild syntax
  in global scope because bash will barf.
 
 
 Not in EAPI=5, no, but once all PMs are using the eapi function we
 could.
 
 The function can do any crazy thing you want. Right now, we need to 
 source the entire ebuild to get at its environment. Before we source
 it for real, we just want to know the value of $EAPI. Since eapi()
 will be the first function called, it can be our interface to this
 variable.

What if bash starts to parse the script completely and barfs at 'syntax
error' before it starts executing stuff?

-- 
Best regards,
Michał Górny


signature.asc
Description: PGP signature


Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Eray Aslan
On Fri, Mar 09, 2012 at 08:15:11AM -0800, Zac Medico wrote:
 They may or may not have issues. Our goal is to minimize our
 vulnerability to these kinds of issues as much as possible. Being able
 to obtain the ebuild EAPI without the expense of sourcing it is one
 small step toward this goal.

EAPI is metadata and is best treated as such.  In other words, history
aside, it does not belong inside an ebuild.  Making EAPI info part of
the filename does look like a reasonable solution - similar to
seen/replied flags in the filenames in maildir directories.  Heck, even
version numbers in an ebuild filename is similar.

I don't understand why there is a strong objection to it.

But anyway, it is Friday night and I am out of here.  Have fun.

-- 
Eray Aslan e...@gentoo.org


pgpgziRXSe880.pgp
Description: PGP signature


Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Zac Medico
On 03/09/2012 08:33 AM, Eray Aslan wrote:
 On Fri, Mar 09, 2012 at 08:15:11AM -0800, Zac Medico wrote:
 They may or may not have issues. Our goal is to minimize our
 vulnerability to these kinds of issues as much as possible. Being able
 to obtain the ebuild EAPI without the expense of sourcing it is one
 small step toward this goal.
 
 EAPI is metadata and is best treated as such.  In other words, history
 aside, it does not belong inside an ebuild.  Making EAPI info part of
 the filename does look like a reasonable solution - similar to
 seen/replied flags in the filenames in maildir directories.  Heck, even
 version numbers in an ebuild filename is similar.
 
 I don't understand why there is a strong objection to it.

I have a mild preference for the parse EAPI assignment approach,
simply because it's the least invasive. That said, ultimately it doesn't
make much difference to me whether we parse it from inside the ebuild or
from its file name. From my perspective, arguing between these
approaches boils down to hair-splitting [1].

[1] http://en.wikipedia.org/wiki/Trivial_objections
-- 
Thanks,
Zac



Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Michael Orlitzky
On 03/09/12 10:58, Zac Medico wrote:
 On 03/09/2012 07:51 AM, Alexis Ballier wrote:
 On Fri, 09 Mar 2012 07:41:09 -0800
 Zac Medico zmed...@gentoo.org wrote:

 On 03/09/2012 07:21 AM, Michael Orlitzky wrote:
 The advantage that the eapi function has over a comment is that
 it's not magic -- it's just normal bash syntax. So we've addressed
 that issue at a small performance cost (we're really only sourcing
 the ebuild up to 'exit').

 Also consider the case where a user syncs after not having updated
 for a couple of months, and the tree contains some ebuilds with EAPIs
 that are not supported by the currently installed package manager.

 In this case, when resolving dependencies and filtering ebuilds based
 on whether or not their EAPI is supported, spawning bash once per
 ebuild is much more costly than the alternatives.

 isnt the whole point of the proposal to get eapi without sourcing ?

 so that we can use new bash features at local or global scope without
 risking that people with an old bash get syntax errors trying to get
 the eapi
 
 Right. Michael has lost sight of the goal and is moving off on a tangent.

The point was to be able to get the EAPI without crashing if the ebuild
uses newer features. If you can get the EAPI without sourcing, that
obviously accomplishes the goal. But there are other goals, too, like
not limiting the syntax of the EAPI assignment. I was just trying to
think up something that addresses them all.

In any case, yeah, it would crash and burn if someone synced his tree
with an ancient version of portage. But so would the comment solution.
If you want to fix that, we either have to rename everything (and hope
we get it right this time) or reconsider GLEP 55.



Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Michael Orlitzky
On 03/09/12 11:29, Michał Górny wrote:
 
 What if bash starts to parse the script completely and barfs at 'syntax
 error' before it starts executing stuff?
 

It doesn't parse the script completely, it executes line-by-line, so we
can bail out early.

This returns 1:

  exit 1

  QWE*$)@#$%IT@$KTRGV{PO#J$%$M@#$_)TVI!%K@B)$YJMV$%())@K#@)



Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Zac Medico
On 03/09/2012 08:49 AM, Michael Orlitzky wrote:
 The point was to be able to get the EAPI without crashing if the ebuild
 uses newer features. If you can get the EAPI without sourcing, that
 obviously accomplishes the goal. But there are other goals, too, like
 not limiting the syntax of the EAPI assignment. I was just trying to
 think up something that addresses them all.

Yeah, but you compromised on what can be considered our primary goal,
which is to obtain the EAPI without sourcing the ebuild.

 In any case, yeah, it would crash and burn if someone synced his tree
 with an ancient version of portage. But so would the comment solution.

Don't forget the possibility of bash syntax extensions triggering a
syntax error [1]. The comment and bash assignment solutions are immune
to that because bash is exceedingly unlikely to break backward
compatibility in the comment and bash assignment syntax.

[1]
http://archives.gentoo.org/gentoo-dev/msg_2c1fbbb32f5bc47756303ca18055bee4.xml
-- 
Thanks,
Zac



Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Ulrich Mueller
 On Fri, 09 Mar 2012, Michael Orlitzky wrote:

 What if bash starts to parse the script completely and barfs at
 'syntax error' before it starts executing stuff?

 It doesn't parse the script completely, it executes line-by-line, so
 we can bail out early.

How can you tell that this behaviour won't be changed in a future bash
version?

Ulrich



Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Michael Orlitzky
On 03/09/12 12:11, Ulrich Mueller wrote:
 On Fri, 09 Mar 2012, Michael Orlitzky wrote:
 
 What if bash starts to parse the script completely and barfs at
 'syntax error' before it starts executing stuff?
 
 It doesn't parse the script completely, it executes line-by-line, so
 we can bail out early.
 
 How can you tell that this behaviour won't be changed in a future bash
 version?
 

Who's to say that in the future my computer won't be made out of
delicious ice cream, eliminating the need for EAPIs entirely?

Chances are, this would break thousands of scripts, so we hope they
wouldn't do it. If it does happen, we either deal with it then, or don't
upgrade to that version of bash -- the same as we would do with any
other massive breaking change.

At any rate, I'm now convinced that we all want GLEP 55, but with a
different name.



Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Zac Medico
On 03/09/2012 09:31 AM, Michael Orlitzky wrote:
 On 03/09/12 12:11, Ulrich Mueller wrote:
 On Fri, 09 Mar 2012, Michael Orlitzky wrote:

 What if bash starts to parse the script completely and barfs at
 'syntax error' before it starts executing stuff?

 It doesn't parse the script completely, it executes line-by-line, so
 we can bail out early.

 How can you tell that this behaviour won't be changed in a future bash
 version?

 
 Who's to say that in the future my computer won't be made out of
 delicious ice cream, eliminating the need for EAPIs entirely?
 
 Chances are, this would break thousands of scripts, so we hope they
 wouldn't do it. If it does happen, we either deal with it then, or don't
 upgrade to that version of bash -- the same as we would do with any
 other massive breaking change.

Ulrich is talking about extensions which require a newer version of
bash. These kinds of extensions are quite common and don't cause
massive breaking because people simply have to upgrade bash in order
to use the new extensions, and their old scripts continue to run because
the new extensions don't interfere with backward compatibility.

Your eapi() function proposal is especially fragile in this context
because it assumes that the installed version of bash will be able to
execute a script that may target a newer version of bash. This is a
special case that is typically not a problem, although it is a major
problem under the specific conditions that your eapi() function approach
induces.

Anyway, lets focus on our main goal, which is to decide on a way to
obtain the EAPI _without_ sourcing the ebuild.
-- 
Thanks,
Zac



Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Michał Górny
On Fri, 09 Mar 2012 12:31:24 -0500
Michael Orlitzky mich...@orlitzky.com wrote:

 On 03/09/12 12:11, Ulrich Mueller wrote:
  On Fri, 09 Mar 2012, Michael Orlitzky wrote:
  
  What if bash starts to parse the script completely and barfs at
  'syntax error' before it starts executing stuff?
  
  It doesn't parse the script completely, it executes line-by-line,
  so we can bail out early.
  
  How can you tell that this behaviour won't be changed in a future
  bash version?
  
 
 Who's to say that in the future my computer won't be made out of
 delicious ice cream, eliminating the need for EAPIs entirely?
 
 Chances are, this would break thousands of scripts, so we hope they
 wouldn't do it. If it does happen, we either deal with it then, or
 don't upgrade to that version of bash -- the same as we would do with
 any other massive breaking change.

Thousands of scripts? So... you're saying that people actually use
thousands of scripts which have invalid syntax...

Well, one thing I can think of now is makeself and similar. Those are
indeed a quite good argument.

But the main point here is that at some point someone may want to use
a non-bash syntax for ebuilds. Or some kind of optional bash extension.

-- 
Best regards,
Michał Górny


signature.asc
Description: PGP signature


Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread James Broadhead
On 9 March 2012 17:31, Michael Orlitzky mich...@orlitzky.com wrote:
 At any rate, I'm now convinced that we all want GLEP 55, but with a
 different name.

I think that moving the data to the filename is probably a better
approach than semi- or repeat parsing, but I prefer preserving the
.ebuild extension, and think that eapi should be specified similarly
to ebuild revision, as a suffix. for instance:

app-foo/bar-1.0.0-r1.ebuild # EAPI0 (or the highest EAPI prior to the
new schema)
app-foo/bar-1.0.0-r1-e1.ebuild
app-foo/bar-1.0.0-r1-e99.ebuild



Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Michael Orlitzky
On 03/09/12 12:47, Zac Medico wrote:
 
 Ulrich is talking about extensions which require a newer version of
 bash. These kinds of extensions are quite common and don't cause
 massive breaking because people simply have to upgrade bash in order
 to use the new extensions, and their old scripts continue to run because
 the new extensions don't interfere with backward compatibility.
 
 Your eapi() function proposal is especially fragile in this context
 because it assumes that the installed version of bash will be able to
 execute a script that may target a newer version of bash. This is a
 special case that is typically not a problem, although it is a major
 problem under the specific conditions that your eapi() function approach
 induces.

Well, you wouldn't need to execute the script targeting a newer version
of bash. You would need to source it, which involves maybe setting
EAPI=5, and then calling the 'eapi' function which will immediately exit.

The new features aren't a problem because you never get to them. (If you
try to use some new bash extension to compute your EAPI value, well, you
shouldn't have done that.)


 Anyway, lets focus on our main goal, which is to decide on a way to
 obtain the EAPI _without_ sourcing the ebuild.

Agreed. I'm forced to agree with Ciaran: can we just ignore the previous
council's decision, and reconsider the merits of GLEP 55?



Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Alexis Ballier
On Fri, 9 Mar 2012 18:02:51 +
James Broadhead jamesbroadh...@gmail.com wrote:

 On 9 March 2012 17:31, Michael Orlitzky mich...@orlitzky.com wrote:
  At any rate, I'm now convinced that we all want GLEP 55, but with a
  different name.
 
 I think that moving the data to the filename is probably a better
 approach than semi- or repeat parsing, but I prefer preserving the
 .ebuild extension, and think that eapi should be specified similarly
 to ebuild revision, as a suffix. for instance:
 
 app-foo/bar-1.0.0-r1.ebuild # EAPI0 (or the highest EAPI prior to the
 new schema)
 app-foo/bar-1.0.0-r1-e1.ebuild
 app-foo/bar-1.0.0-r1-e99.ebuild
 

if you want to keep .ebuild you need to keep current naming, afaik
package managers fail on invalid names



Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Zac Medico
On 03/09/2012 10:24 AM, Alexis Ballier wrote:
 On Fri, 9 Mar 2012 18:02:51 +
 James Broadhead jamesbroadh...@gmail.com wrote:
 
 On 9 March 2012 17:31, Michael Orlitzky mich...@orlitzky.com wrote:
 At any rate, I'm now convinced that we all want GLEP 55, but with a
 different name.

 I think that moving the data to the filename is probably a better
 approach than semi- or repeat parsing, but I prefer preserving the
 .ebuild extension, and think that eapi should be specified similarly
 to ebuild revision, as a suffix. for instance:

 app-foo/bar-1.0.0-r1.ebuild # EAPI0 (or the highest EAPI prior to the
 new schema)
 app-foo/bar-1.0.0-r1-e1.ebuild
 app-foo/bar-1.0.0-r1-e99.ebuild

 
 if you want to keep .ebuild you need to keep current naming, afaik
 package managers fail on invalid names

Invalid names like those should only trigger warnings.
-- 
Thanks,
Zac



Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Michael Orlitzky
On 03/09/12 13:02, James Broadhead wrote:
 On 9 March 2012 17:31, Michael Orlitzky mich...@orlitzky.com wrote:
 At any rate, I'm now convinced that we all want GLEP 55, but with a
 different name.
 
 I think that moving the data to the filename is probably a better
 approach than semi- or repeat parsing, but I prefer preserving the
 .ebuild extension, and think that eapi should be specified similarly
 to ebuild revision, as a suffix. for instance:
 
 app-foo/bar-1.0.0-r1.ebuild # EAPI0 (or the highest EAPI prior to the
 new schema)
 app-foo/bar-1.0.0-r1-e1.ebuild
 app-foo/bar-1.0.0-r1-e99.ebuild
 

One of the benefits of GLEP 55 naming is that old package managers won't
try to parse them. So, for example, if we put new features in,

  app-foo/bar-1.0.0.ebuild-5

portage from 2003 won't try to source it.



Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Zac Medico
On 03/09/2012 10:33 AM, Michael Orlitzky wrote:
 On 03/09/12 13:02, James Broadhead wrote:
 On 9 March 2012 17:31, Michael Orlitzky mich...@orlitzky.com wrote:
 At any rate, I'm now convinced that we all want GLEP 55, but with a
 different name.

 I think that moving the data to the filename is probably a better
 approach than semi- or repeat parsing, but I prefer preserving the
 .ebuild extension, and think that eapi should be specified similarly
 to ebuild revision, as a suffix. for instance:

 app-foo/bar-1.0.0-r1.ebuild # EAPI0 (or the highest EAPI prior to the
 new schema)
 app-foo/bar-1.0.0-r1-e1.ebuild
 app-foo/bar-1.0.0-r1-e99.ebuild

 
 One of the benefits of GLEP 55 naming is that old package managers won't
 try to parse them. So, for example, if we put new features in,
 
   app-foo/bar-1.0.0.ebuild-5
 
 portage from 2003 won't try to source it.

Every software product has an end of life. I think if a system hasn't
been updated in the last 2 years or so, then it's fair to assume that it
will never be updated. So, all relevant versions of portage should
simply show a warning message if the encounter an ebuild name such as
app-foo/bar-1.0.0-r1-e99.ebuild.
-- 
Thanks,
Zac



Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Rich Freeman
On Fri, Mar 9, 2012 at 12:47 PM, Zac Medico zmed...@gentoo.org wrote:
 Anyway, lets focus on our main goal, which is to decide on a way to
 obtain the EAPI _without_ sourcing the ebuild.

Agreed.  Plus, an approach that either uses the filename or something
like a comment line is also going to be much more flexible if bash
syntax changes substantially, or if we want to support
ebuilds-in-python or some other approach.

That is the main merit I see to the shebang approach - you could
define some kind of API that actually involves executing the ebuild.
Sticking the EAPI in the filename is a little less complicated and it
gives you the same flexibility - I'm not aware of any file format that
is fussy about the content of the filename.

Even approaches like putting EAPI=5 in the file (even inside a
comment) might break if the file is meant to be generally interpreted
by some program that has rigid syntax rules.Most scripting
languages could probably handle this somehow, but if you ever wanted
ELF ebuilds that wouldn't be so likely to fly unless you could embed
\nEAPI=ELF8\n in something near the start of the file.

Sure, I doubt we'll ever want ELF ebuilds (I'd consider
non-programatic ebuilds for more trivial packages more likely), but
the point is that we should prefer options that offer more flexibility
down the road over ones that solve the immediate need but just leave
us with the same debate two years from now.

Rich



Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Ciaran McCreesh
On Fri, 09 Mar 2012 11:49:44 -0500
Michael Orlitzky mich...@orlitzky.com wrote:
  isnt the whole point of the proposal to get eapi without sourcing ?
 
  so that we can use new bash features at local or global scope
  without risking that people with an old bash get syntax errors
  trying to get the eapi
  
  Right. Michael has lost sight of the goal and is moving off on a
  tangent.
 
 The point was to be able to get the EAPI without crashing if the
 ebuild uses newer features.

No, it's not. There's more to it than that.

Some EAPIs really require defining certain environment variables, shell
options, sandbox things etc *before* the sourcing starts. It's a massive
pain in the ass to try to handle setting that kind of thing on the fly
once the sourcing has already started. Knowing the EAPI before having
to spawn a bash process isn't just about performance, it's also about
making ebuilds much less difficult to deal with.

-- 
Ciaran McCreesh


signature.asc
Description: PGP signature


Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Ciaran McCreesh
On Fri, 09 Mar 2012 10:56:03 -0800
Zac Medico zmed...@gentoo.org wrote:
 Every software product has an end of life. I think if a system hasn't
 been updated in the last 2 years or so, then it's fair to assume that
 it will never be updated. So, all relevant versions of portage should
 simply show a warning message if the encounter an ebuild name such as
 app-foo/bar-1.0.0-r1-e99.ebuild.

It's worth noting that showing a warning message will result in
zillions of freaking out users, and that we want to be able to
introduce new EAPIs without having a stable Portage version that
handles it around.

-- 
Ciaran McCreesh


signature.asc
Description: PGP signature


Re: [gentoo-dev] media-optical, net-zope, sgml, text-markup herds are empty

2012-03-09 Thread Pacho Ramos
El vie, 09-03-2012 a las 16:57 +0100, Michał Górny escribió:
 On Fri, 09 Mar 2012 09:02:23 +0100
 Pacho Ramos pa...@gentoo.org wrote:
 
  El dom, 04-03-2012 a las 13:56 +0100, Pacho Ramos escribió:
   El dom, 04-03-2012 a las 13:51 +0100, Pacho Ramos escribió:
El dom, 04-03-2012 a las 13:47 +0100, Pacho Ramos escribió:
 Even if they have some people in their mail aliases, looks like
 herds are empty. If nobody volunteers to join to them, I think
 we should drop that herds and move their packages to
 maintainer-needed in a week or so.
 
 What do you think? 
 

The same applies to sgml now that cryos is retiring :(
   
   and text-markup, I think it's the last empty herd now
  
  Maybe we could do the same as did in the past for openoffice herd:
  - Change metadatas and bugs to assign them to maintainer-needed (and
  reflect reality)
  - Keep herd in metadatas and CCed them to bug reports
  
  The other option would be to simply drop that herds, assign packages
  to maintainer-needed and wait developers to grab whatever they want
 
 For net-zope, I'd prefer dropping it. We decided to get rid of Zope,
 removed almost all relevant packages, so there's no point in keeping
 the herd.
 

OK but, what about the rest? ;)


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


Re: [gentoo-dev] media-optical, net-zope, sgml, text-markup herds are empty

2012-03-09 Thread Samuli Suominen

On 03/09/2012 09:48 PM, Pacho Ramos wrote:

El vie, 09-03-2012 a las 16:57 +0100, Michał Górny escribió:

On Fri, 09 Mar 2012 09:02:23 +0100
Pacho Ramospa...@gentoo.org  wrote:


El dom, 04-03-2012 a las 13:56 +0100, Pacho Ramos escribió:

El dom, 04-03-2012 a las 13:51 +0100, Pacho Ramos escribió:

El dom, 04-03-2012 a las 13:47 +0100, Pacho Ramos escribió:

Even if they have some people in their mail aliases, looks like
herds are empty. If nobody volunteers to join to them, I think
we should drop that herds and move their packages to
maintainer-needed in a week or so.

What do you think?



The same applies to sgml now that cryos is retiring :(


and text-markup, I think it's the last empty herd now


Maybe we could do the same as did in the past for openoffice herd:
- Change metadatas and bugs to assign them to maintainer-needed (and
reflect reality)
- Keep herd in metadatas and CCed them to bug reports

The other option would be to simply drop that herds, assign packages
to maintainer-needed and wait developers to grab whatever they want


For net-zope, I'd prefer dropping it. We decided to get rid of Zope,
removed almost all relevant packages, so there's no point in keeping
the herd.



OK but, what about the rest? ;)


Please leave at least media-optical@ be as it is. Changing it doesn't 
make any sense.




Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Michael Orlitzky
On 03/09/12 13:56, Zac Medico wrote:
 On 03/09/2012 10:33 AM, Michael Orlitzky wrote:
 On 03/09/12 13:02, James Broadhead wrote:
 On 9 March 2012 17:31, Michael Orlitzky mich...@orlitzky.com wrote:
 At any rate, I'm now convinced that we all want GLEP 55, but with a
 different name.

 I think that moving the data to the filename is probably a better
 approach than semi- or repeat parsing, but I prefer preserving the
 .ebuild extension, and think that eapi should be specified similarly
 to ebuild revision, as a suffix. for instance:

 app-foo/bar-1.0.0-r1.ebuild # EAPI0 (or the highest EAPI prior to the
 new schema)
 app-foo/bar-1.0.0-r1-e1.ebuild
 app-foo/bar-1.0.0-r1-e99.ebuild


 One of the benefits of GLEP 55 naming is that old package managers won't
 try to parse them. So, for example, if we put new features in,

   app-foo/bar-1.0.0.ebuild-5

 portage from 2003 won't try to source it.
 
 Every software product has an end of life. I think if a system hasn't
 been updated in the last 2 years or so, then it's fair to assume that it
 will never be updated. So, all relevant versions of portage should
 simply show a warning message if the encounter an ebuild name such as
 app-foo/bar-1.0.0-r1-e99.ebuild.

I was just repeating your point against the eapi function =)

And there is a non-zero benefit to it, I've had to rescue systems that
haven't seen an update in years.

The best reason I can think of for using ebuild-EAPI is simply semantic.
The basename of the ebuild refers to the package, the extension decides
what interprets it. That is at least consistent with every other file
extension.



Re: [gentoo-dev] media-optical, net-zope, sgml, text-markup herds are empty

2012-03-09 Thread Pacho Ramos
El vie, 09-03-2012 a las 22:02 +0200, Samuli Suominen escribió:
 On 03/09/2012 09:48 PM, Pacho Ramos wrote:
  El vie, 09-03-2012 a las 16:57 +0100, Michał Górny escribió:
  On Fri, 09 Mar 2012 09:02:23 +0100
  Pacho Ramospa...@gentoo.org  wrote:
 
  El dom, 04-03-2012 a las 13:56 +0100, Pacho Ramos escribió:
  El dom, 04-03-2012 a las 13:51 +0100, Pacho Ramos escribió:
  El dom, 04-03-2012 a las 13:47 +0100, Pacho Ramos escribió:
  Even if they have some people in their mail aliases, looks like
  herds are empty. If nobody volunteers to join to them, I think
  we should drop that herds and move their packages to
  maintainer-needed in a week or so.
 
  What do you think?
 
 
  The same applies to sgml now that cryos is retiring :(
 
  and text-markup, I think it's the last empty herd now
 
  Maybe we could do the same as did in the past for openoffice herd:
  - Change metadatas and bugs to assign them to maintainer-needed (and
  reflect reality)
  - Keep herd in metadatas and CCed them to bug reports
 
  The other option would be to simply drop that herds, assign packages
  to maintainer-needed and wait developers to grab whatever they want
 
  For net-zope, I'd prefer dropping it. We decided to get rid of Zope,
  removed almost all relevant packages, so there's no point in keeping
  the herd.
 
 
  OK but, what about the rest? ;)
 
 Please leave at least media-optical@ be as it is. Changing it doesn't 
 make any sense.
 
 

Well, the idea would be to get their bugs assigned to maintainer-needed
and media-optical CCed if somebody wants to take that stuff someday, it
would reflect better reality as, currently, their bugs are being
assigned to an empty herd (yes, xarthisius (I think he was in alias but
not officially in herd last time I checked, anyway it's only one
example, nothing personal against him of course :)). What will occur
when he simply drops his mail from alias as he never wanted to be a
member of that herd? What would occur if he only wants to maintain some
packages but others are getting ignored?

The idea to get them moved to orphan is to reflect reality and, that
way, try to get developers (or users willing to proxy maintain them)
involved on exact apps they really want to keep maintained.


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


Re: [gentoo-dev] media-optical, net-zope, sgml, text-markup herds are empty

2012-03-09 Thread Pacho Ramos
El vie, 09-03-2012 a las 21:15 +0100, Pacho Ramos escribió:
 El vie, 09-03-2012 a las 22:02 +0200, Samuli Suominen escribió:
  On 03/09/2012 09:48 PM, Pacho Ramos wrote:
   El vie, 09-03-2012 a las 16:57 +0100, Michał Górny escribió:
   On Fri, 09 Mar 2012 09:02:23 +0100
   Pacho Ramospa...@gentoo.org  wrote:
  
   El dom, 04-03-2012 a las 13:56 +0100, Pacho Ramos escribió:
   El dom, 04-03-2012 a las 13:51 +0100, Pacho Ramos escribió:
   El dom, 04-03-2012 a las 13:47 +0100, Pacho Ramos escribió:
   Even if they have some people in their mail aliases, looks like
   herds are empty. If nobody volunteers to join to them, I think
   we should drop that herds and move their packages to
   maintainer-needed in a week or so.
  
   What do you think?
  
  
   The same applies to sgml now that cryos is retiring :(
  
   and text-markup, I think it's the last empty herd now
  
   Maybe we could do the same as did in the past for openoffice herd:
   - Change metadatas and bugs to assign them to maintainer-needed (and
   reflect reality)
   - Keep herd in metadatas and CCed them to bug reports
  
   The other option would be to simply drop that herds, assign packages
   to maintainer-needed and wait developers to grab whatever they want
  
   For net-zope, I'd prefer dropping it. We decided to get rid of Zope,
   removed almost all relevant packages, so there's no point in keeping
   the herd.
  
  
   OK but, what about the rest? ;)
  
  Please leave at least media-optical@ be as it is. Changing it doesn't 
  make any sense.
  
  
 
 Well, the idea would be to get their bugs assigned to maintainer-needed
 and media-optical CCed if somebody wants to take that stuff someday, it
 would reflect better reality as, currently, their bugs are being
 assigned to an empty herd (yes, xarthisius (I think he was in alias but
 not officially in herd last time I checked, anyway it's only one
 example, nothing personal against him of course :)). What will occur
 when he simply drops his mail from alias as he never wanted to be a
 member of that herd? What would occur if he only wants to maintain some
 packages but others are getting ignored?
 
 The idea to get them moved to orphan is to reflect reality and, that
 way, try to get developers (or users willing to proxy maintain them)
 involved on exact apps they really want to keep maintained.

As talked just now with Samuli, he added him to media-optical (both, to
alias and herds.xml) and then, this no longer applies to media-optical
obviously ;)



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


Re: [gentoo-dev] RFD: EAPI specification in ebuilds

2012-03-09 Thread Kent Fredric
On 9 March 2012 06:30, Jeroen Roovers j...@gentoo.org wrote:
 On Thu, 8 Mar 2012 17:14:58 +
 Ciaran McCreesh ciaran.mccre...@googlemail.com wrote:

 Having a different, special rule for something that looks exactly like
 lots of other things that do not have that different, special rule is
 hardly hair splitting. This rule would have to be documented and have
 special code to carefully enforce it. That's a big deal.

 Exactly like HOMEPAGE is a big deal?

 HOMEPAGE         Package's homepage. If you are unable to locate an
 official one, try to provide a link to freshmeat.net or a similar
 package tracking site. Never refer to a variable name in the string;
 include only raw text.

I'm not sure if that is a good example of things that are weird like EAPI

You can set HOMEPAGE in an eclass for instance, using anything you can
do with bash and build it out of substrings.

perl-module.eclass does just that.

[[ -z ${HOMEPAGE} ]]  \
HOMEPAGE=http://search.cpan.org/dist/${MY_PN:-${PN}}/;

Not really comparable in entirety to EAPI.

-- 
Kent

perl -e  print substr( \edrgmaM  SPA NOcomil.ic\\@tfrken\, \$_ * 3,
3 ) for ( 9,8,0,7,1,6,5,4,3,2 );