Re: [gentoo-dev] Collecting opinions about GLEP 55 and alternatives

2009-02-25 Thread Alexis Ballier
I have no strong opinion about this.

 2) EAPI in file extension
   - Allows changing global scope and the internal format of the ebuild
   a) .ebuild-eapi
 - ignored by current Portage

simple, straightforward but ugly

   b) .eapi.ebuild
 - current Portage does not work with this

this only has disadvantages in front of a)

   c) .eapi.new extension
 - ignored by current Portage

same as a) but maybe less ugly

 3) EAPI in locked down place in the ebuild
   - Allows changing global scope
   - EAPI can't be changed in an existing ebuild so the PM can trust
 the value in the cache

This doesn't need a locked down place, just some strict way of setting
it, like at most one EAPI=constant_string_without_space so that grep
 friends can catch it.

   - Does not allow changing versioning rules unless version becomes a
 normal metadata variable

I'm not entirely sure about this and would need some real
example/argument in order to be convinced

 * Needs more accesses to cache as now you don't have to load older
   versions if the latest is not masked

true but this more would need to be measured and opposed to the
number of metadata loads in a dep resolution procedure.

   a) new extension

doesn't have the one year wait drawback and doesn't mess with pm
implementation details (eapi) with package names that shall represent
upstream ones.

   b) new subdirectory like ebuilds/
   - we could drop extension all together so don't have to argue about
 it any more
   - more directory reads to get the list of ebuilds in a repository

I see no advantage there vs 3.a)

   c) .ebuild in current directory
   - needs one year wait

That could have been done one year ago and would be done now; I think
it's still fine now because I don't expect major behavior changes in
the ebuild format within one year.

To summarize, I would retain 3.a as best solution, having the usable
right now advantage of current glep55 and keeping the ebuild's file
names (more or less) consistent with upstream ones.

Alexis.


signature.asc
Description: PGP signature


Re: [gentoo-dev] Issues regarding glep-55 (Was: [gentoo-council] Re: Preliminary Meeting-Topics for 12 February 2009)

2009-02-25 Thread Alexis Ballier
On Tue, 24 Feb 2009 19:37:11 +
Ciaran McCreesh ciaran.mccre...@googlemail.com wrote:

 On Tue, 24 Feb 2009 20:28:43 +0100
 Alexis Ballier aball...@gentoo.org wrote:
  On Tue, 24 Feb 2009 18:24:16 +
  Ciaran McCreesh ciaran.mccre...@googlemail.com wrote:
   On Tue, 24 Feb 2009 18:16:54 +0100
   Luca Barbato lu_z...@gentoo.org wrote:
 You're doubling the number of files that have to be read for
 an operation that's almost purely i/o bound. On top of that,
 you're introducing a whole bunch of disk seeks in what's
 otherwise a nice linear operation.

I see words, not numbers.
   
   Number: double. That's a '2 times'.
  
  That only means you're increasing the constant factor in the
  complexity of the thing... which may very well be completely
  negligible unless someone provides real benchmarks.
 
 In the most common case where metadata is valid, around half of the
 time it takes Paludis to work out a resolution set is spent grabbing
 metadata for ebuilds.

That sounds like an implementation detail that you could solve by using
something else than a flat file database for metadata if open()/read()
calls are the slow part.

  I would be very surprised if that 2 times factor happens to be
  true, because finding a string in a file is an order of magnitude
  simpler than sourcing said file with bash. Moreover this doesn't
  take into account disk and os cache.
 
 No no no. *Opening* the file is the slow part, not searching. The file
 wouldn't otherwise be opened at all.

Thus the only drawback is when you open a file, see there that you can't
handle the eapi, then close it and open an older one. So you're doing
useless things only in that case which in practice will have a ratio
far lower than 2. Moreover Luca's benchs show that searching for file
names is a negligible factor faster than grepping them while you're
just stating that it isn't.

Alexis.


signature.asc
Description: PGP signature


Re: [gentoo-dev] Collecting opinions about GLEP 55 and alternatives

2009-02-25 Thread Tobias Klausmann
Hi! 

My preference, most wanted to least wanted:

- inside the ebuild
  If it's not too much pain. Yes, that is a very subjective
  metric and it's what a large amount of flames has been about.

- in the filename, but not as a tail
  eg: foo-2.3.4-r2+9.build 
  yes, alternate separators might be better. 
  I like .build very much, though. What does the e in ebuild
  stand for anyway?

- in the filename, as a tail 
  eg: foo-2.3.4.ebuild-9
  I don't like this much, but it's better than never having EAPI
  versioning.


Regards,
Tobias
-- 
printk(Cool stuff's happening!\n)
linux-2.4.3/fs/jffs/intrep.c



Re: [gentoo-dev] Collecting opinions about GLEP 55 and alternatives

2009-02-25 Thread Peter Alfredsen
On Wed, 25 Feb 2009 00:21:23 +0200
Petteri Räty betelge...@gentoo.org wrote:

 Let's try something new. I would like to get opinions from as many
 people as possible about GLEP 55 and alternatives listed here in order
 to get some idea what the general developer pool thinks.
[...]

I dislike GLEP 55 aesthetically, but I see no other way to move out of
this deadlock where we can't use new bash-features till years have
passed. So unless someone suggests a solution that allows us to have
EAPI as part of the ebuild without having to wait till hell freezes
over, I'm behind GLEP 55 as the least-bad solution.

/loki_val



Re: [gentoo-dev] Collecting opinions about GLEP 55 and alternatives

2009-02-25 Thread Michael Haubenwallner
On Wed, 2009-02-25 at 00:21 +0200, Petteri Räty wrote:
 get opinions [..] to get some idea what the general developer pool thinks.
 only allowed to post a single reply to this thread

Thank you for that, I usually don't follow long threads, so apologies if
things have been discussed already.

Basically, I'm all for having GLEP55 as good as possible in favour of
as soon as possible before implementation, even if it fits my
thoughts quite good already (see below).

 2) EAPI in file extension

IMO, this should define *how* to read the *final* EAPI from the ebuild.
The *how* does not necessarily mean to /source/ the ebuild, so the terms
pre-source EAPI and post-source EAPI IMHO are too strongly focussing
on (bash) source $EBUILD when used in a generic GLEP. Eventually, the
 pre-source EAPI could be called major EAPI, and the
post-source EAPI could be called major.minor EAPI (see below).

The EAPI in file extension also should define the filename-part of the
versioning rules.

   a) .ebuild-eapi
   c) .eapi.new extension
 - ignored by current Portage
   b) .eapi.ebuild
 - current Portage does not work with this

ignored by current portage is an important point for me to
*theorethically* guarantee for a possible upgrade path even over long
time.

 3) EAPI in locked down place in the ebuild

This lock down should be done by EAPI in file extension above.
lock down can mean any of: post-source (real bash-source),
self-parse (grep?), fixed-byte/line-offset, ...

My thoughts are to split EAPI into several levels (rename them however
you like):

entry-point:
Specifies how to read the filename-scope EAPI.

filename-scope EAPI:
Think as major EAPI.
Specifies the filename-part of versioning rules.
Specifies how to read the global-scope EAPI (can, but
eventually should not require bash-sourcing the ebuild).
May allow to not define minor, assuming $major.0.0 then.

global-scope EAPI:
Think as $major.minor EAPI.
May specify how to define additional versioning rules.
Specifies how to define metadata information.
Specifies which metadata information is
required/optional/cached/... Specifies how to utilize external
resources (eclasses).
Specifies which/how actions can/must be defined (pkg_*, src_*
functions).
Specifies how to read the local-scope EAPI.
May allow to not define micro, assuming $major.$minor.0
then.
May disallow a local-scope EAPI, specifies it instead.

local-scope EAPI:
Think as $major.$minor.micro EAPI.
Specifies which PM-functions are available for use in actions
(fex 'doman' inside src_install).
May be specified as part of minor EAPI.

Thanks!
/haubi/
-- 
Michael Haubenwallner
Gentoo on a different level




Re: [gentoo-dev] Gentoo Council Reminder for February 26

2009-02-25 Thread Petteri Räty
Donnie Berkholz wrote:
 On 23:26 Sun 22 Feb , Donnie Berkholz wrote:
 This is your friendly reminder! Same bat time (typically the 2nd  4th 
 Thursdays at 2000 UTC / 1600 EST), same bat channel (#gentoo-council @ 
 irc.freenode.net) !

 If you have something you'd wish for us to chat about, maybe even vote 
 on, let us know! Simply reply to this e-mail for the whole Gentoo dev 
 list to see.
 
 Here's the preliminary agenda. I'm running a bit behind on -dev, so it's 
 a little out of date re GLEPs 54/55. People including lu_zero, cardoe, 
 dev-zero, and tanderson should fill us in on things below that they've 
 taken responsibility for. Anyone else can chime in anywhere!
 
 
 Open council spot
 -
 
 leio is next on the list. He's willing to join the council. A few of us 
 already voted to confirm him on-list, and we're waiting on the others.
 
 Goal: Vote to confirm him, if necessary.
 

There already were enough votes (4/6 I think) to confirm him.

Regards,
Petteri




signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Collecting opinions about GLEP 55 and alternatives

2009-02-25 Thread Mike Auty
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Petteri Räty wrote:
 3) EAPI in locked down place in the ebuild
   c) .ebuild in current directory
   - needs one year wait

I'm all for 1 or 3c, because we're not in any rush.

I don't see why there's such an immediate need to make as drastic
changes as are being suggested for GLEP-55, simply to allow for the
possibility of future unknown ebuild mechanisms (like ebuilds not being
bash scripts).  If ebuilds change significantly from their current form,
then and only then, would it be a good time to change the ebuild suffixes.

I don't want to get an attachment from bugzilla and find I have to try
four different file extensions because whilst the package and version
were obvious from the bug, the eapi number wasn't.

I also don't want to run into a situation where this package manager
supports kdebuilds, whilst that package manager supports gnomebuilds,
and a third one supports xfcebuilds.  That's just recreating the browser
wars, and will leave us with the likes of IE6.

I'd be relatively happy with a shebang that specifies the parser or
passes the ebuild version, as long as it was standardized, linear and
supported by all the PMs (ie, some rogue PM can't suddenly start
allowing a myeapi that only it can build)...

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

iEYEARECAAYFAkmlKQEACgkQu7rWomwgFXoRFACdHfDHuHhj7ojsQV5FvF+rRpRT
PgQAoKTq6iAmNLC50a97JHrQghRZK6O0
=ELuP
-END PGP SIGNATURE-



Re: [gentoo-dev] Collecting opinions about GLEP 55 and alternatives

2009-02-25 Thread Jim Ramsay
Petteri Räty betelge...@gentoo.org wrote:
 2) EAPI in file extension
   - Allows changing global scope and the internal format of the ebuild
   a) .ebuild-eapi
 - ignored by current Portage
   c) .eapi.new extension
 - ignored by current Portage

Any of the above are fine with me, there is a demonstrated need for
this to introduce changes that current portage could not handle.

 3) EAPI in locked down place in the ebuild
   - Allows changing global scope
   - EAPI can't be changed in an existing ebuild so the PM can trust
 the value in the cache
   - Does not allow changing versioning rules unless version becomes a
 normal metadata variable
 * Needs more accesses to cache as now you don't have to load older
   versions if the latest is not masked
   a) new extension

3.a is just like glep-55, except that the filename extension doesn't
change all the time.  I like that this will have the benefits of
glep-55 plus the benefits of making happy the people who don't want the
EAPI in the filename or the extension to change very often.

This will effectively change a single EAPI number into a major/minor
pair.  The major part (the extension name) would only ever change when
a major feature is introduced that breaks the current portage rules.
The internal EAPI, specified however we like in the major format
specification, could be in a fixed location or otherwise easily
parseable.  Then small changes would alter this minor/internal EAPI
value.

-- 
Jim Ramsay
Gentoo Developer (rox/fluxbox/gkrellm/vim)



[gentoo-dev] Open council spot

2009-02-25 Thread Torsten Veller
* Petteri Räty betelge...@gentoo.org:
 Donnie Berkholz wrote:
  Open council spot
  -
  
  leio is next on the list. He's willing to join the council. A few of us 
  already voted to confirm him on-list, and we're waiting on the others.
  
  Goal: Vote to confirm him, if necessary.
  
 
 There already were enough votes (4/6 I think) to confirm him.

GLEP 39 doesn't specify what happens when a member leaves. It does only
talk about slackers.

A former council decided to offer any open position to the next in line
and if they accept and the current Council unanimously accepts the new
person, they get the position.
http://www.gentoo.org/proj/en/council/meeting-logs/20070208-summary.txt

4/6 is not unanimously.

But...

This all was before _reopen_nominations was introduced. With
_reopen_nominations I don't see why the council needs to vote at all.


There might be a problem if another member leaves as the next two are
ranked equally.

Thanks



Re: [gentoo-dev] Gentoo Council Reminder for February 26

2009-02-25 Thread Gilles Dartiguelongue
Le mardi 24 février 2009 à 09:47 -0800, Brian Harring a écrit :
 On Sun, Feb 22, 2009 at 11:26:48PM -0800, Donnie Berkholz wrote:
  This is your friendly reminder! Same bat time (typically the 2nd  4th 
  Thursdays at 2000 UTC / 1600 EST), same bat channel (#gentoo-council @ 
  irc.freenode.net) !
 
 Informal request, but it would be useful to get an idea of the 
 councils views on portage overlay compatibility issues.
 
 Specifically, when it comes to gentoo repositories, there is one, and 
 only one definition of what that is- pms's repo spec.  The problem 
 here is that the only repository truly conformant to that spec is 
 gentoo-x86, for the rest of the repositories (overlays realistically) 
 whatever portage supports seems to be the eventual standard they grow 
 towards.
 
 Problem with this is that there is *zero* way to spot these non-pms 
 repositories as it stands.  Simplest example, under portage overlays 
 can unmask pkgs globally (gnome overlay reverting masks in 
 gentoo-x86),

I reply here as part of the gnome herd and partly responsible for the
mask reverting in the overlay. I didn't know something used in
gentoo-x86 couldn't be used in an overlay. Could you point me to the
PMS section that treat this ?

-- 
Gilles Dartiguelongue e...@gentoo.org
Gentoo




Re: [gentoo-dev] Collecting opinions about GLEP 55 and alternatives

2009-02-25 Thread Brian Harring
On Wed, Feb 25, 2009 at 12:21:23AM +0200, Petteri R??ty wrote:
 My notes so far:
 
 1) Status quo
   - does not allow changing inherit
   - bash version in global scope
   - global scope in general is quite locked down
 
 2) EAPI in file extension
   - Allows changing global scope and the internal format of the ebuild
   a) .ebuild-eapi
 - ignored by current Portage
   b) .eapi.ebuild
 - current Portage does not work with this
   c) .eapi.new extension
 - ignored by current Portage
 
 3) EAPI in locked down place in the ebuild
   - Allows changing global scope
   - EAPI can't be changed in an existing ebuild so the PM can trust
 the value in the cache
   - Does not allow changing versioning rules unless version becomes a
 normal metadata variable
 * Needs more accesses to cache as now you don't have to load older
   versions if the latest is not masked
   a) new extension
   b) new subdirectory like ebuilds/
   - we could drop extension all together so don't have to argue about
 it any more
   - more directory reads to get the list of ebuilds in a repository
   c) .ebuild in current directory
   - needs one year wait

4) eapi as a function; instead of EAPI=1, do eapi 1, required as 
 the first statement (simplest way).
 pros:
  - global scope changes can occur (inherit mechanism changes 
included).
  - expanding on the first, auto inherits (pkg level) are possible- 
effectively when eapi gets invoked the manager is in control and 
can do whatever is desired setting up the env wise.
  - bash version requirements can be leveled (bash parses as it goes, 
meaning that essentially it won't parse what follows 'eapi 2' till 
that command statement finishes)
  - fits w/ the existing semantics nicely enough.
 cons:
  - mangling the version rules for pkgs still isn't possible; no -scm.  
Arguable if -scm is even desired, but being explicit about it not 
covering this.
  - transition is slightly icky; basically one of the following is 
required-
   a) for EAPI=2, do 'eapi 3 || die upgrade your manager'.  Reason 
for this is that current managers obviously lack an eapi function, 
to make managers available *now* blow up the || die is required.  
This solution can be deployed now, no transition required although 
at some point stating eapi is required retroactively for all 
eapis would be wise to eliminate the need for the || die (cut 
support basically for old managers)
   b) bashrc trickery, defines an eapi if it's unset.  Said eapi 
function exports EAPI=$1, optionally triggering a die if the eapi 
isn't 0,1,2 (since any later eapi would require a manager upgrade 
which would also have the eapi function).

Personally, if g54 is ixnayed #4 I tend to think is the best option 
out there- if g54 is forced in, g55 (or at least something that 
adjusts the extension to make it invisible to current managers) is 
required.

Commentary?  Tend to think #4 is the most aesthetically pleasing to 
folk, but who knows...
~harring


pgpoX8H8NE7jK.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo Council Reminder for February 26

2009-02-25 Thread Brian Harring
On Wed, Feb 25, 2009 at 01:42:38PM +0100, Gilles Dartiguelongue wrote:
 Le mardi 24 février 2009 à 09:47 -0800, Brian Harring a écrit :
  On Sun, Feb 22, 2009 at 11:26:48PM -0800, Donnie Berkholz wrote:
   This is your friendly reminder! Same bat time (typically the 2nd  4th 
   Thursdays at 2000 UTC / 1600 EST), same bat channel (#gentoo-council @ 
   irc.freenode.net) !
  
  Informal request, but it would be useful to get an idea of the 
  councils views on portage overlay compatibility issues.
  
  Specifically, when it comes to gentoo repositories, there is one, and 
  only one definition of what that is- pms's repo spec.  The problem 
  here is that the only repository truly conformant to that spec is 
  gentoo-x86, for the rest of the repositories (overlays realistically) 
  whatever portage supports seems to be the eventual standard they grow 
  towards.
  
  Problem with this is that there is *zero* way to spot these non-pms 
  repositories as it stands.  Simplest example, under portage overlays 
  can unmask pkgs globally (gnome overlay reverting masks in 
  gentoo-x86),
 
 I reply here as part of the gnome herd and partly responsible for the
 mask reverting in the overlay. I didn't know something used in
 gentoo-x86 couldn't be used in an overlay.

Suspect I wasn't clear; you *can* use things from the parent (although 
that whole relationship is outside of PMS); the problem here is that 
y'all are reverting something in the *master*.

Literally, bug-buddy was masked in gentoo-x86; enabling your overlay 
reverts that masking in *gentoo-x86*.  Only reason this even works is 
due to portage internals being limited (everything is stacked 
together, no true standalones possible).

 Could you point me to the PMS section that treat this ?
Flip through the package.mask section (snagging from profiles.tex 
directly)-


Note that the \t{-spec} syntax can be used to remove a mask in a 
parent profile, but not necessarily a global mask (from 
\t{profiles/package.mask}, section~\ref{profiles-package.mask}).

\note Portage currently treats \t{profiles/package.mask} as being on 
the leftmost branch of the inherit tree when it comes to \t{-lines}. 
This behaviour may not be relied upon.


Note the 'parent profile'.  Why they're claiming repo level masking 
can't be reversed for that repo, not sure (reasonably sure several 
profiles rely on it).  Either way, your overlay is trying to revert 
entries it doesn't have in that stack.

Only reason it flies for portage is because it collapses it all into 
one stack; for managers designed to support multiple standalone repos 
that assumption no longer applies, thus that behaviour (outside of 
PMS) breaks.

~harring


pgpJ4c3mjvQ3R.pgp
Description: PGP signature


Re: [gentoo-dev] Gentoo Council Reminder for February 26

2009-02-25 Thread Nirbheek Chauhan
On Mon, Feb 23, 2009 at 12:56 PM, Donnie Berkholz dberkh...@gentoo.org wrote:
 This is your friendly reminder! Same bat time (typically the 2nd  4th
 Thursdays at 2000 UTC / 1600 EST), same bat channel (#gentoo-council @
 irc.freenode.net) !

 If you have something you'd wish for us to chat about, maybe even vote
 on, let us know! Simply reply to this e-mail for the whole Gentoo dev
 list to see.


This is an informal request for a peaceful compromise on a problem of
utmost importance which has the potential to turn into a massive
flame-war. Specifically, I'm referring to bug #256614. The latest
actions of a recently-recruited 'nirbheek' (belonging to the GNOME
herd) on the bug seem to leave the matter in a dicey situation.

Needless to say, this matter shadows all other topics on the council's
list, and must be resolved ASAP to dampen the inevitable clash of
titans. Perhaps the council meeting should be pre-poned to avert an
explosion of flaming posts the likes of which haven't been seen this
year... yet.

Humbly prostrating,

~Nirbheek_who_has_too_many_alter_egos Chauhan

--
Resident silly guy and troll



Re: [gentoo-dev] Collecting opinions about GLEP 55 and alternatives

2009-02-25 Thread Robert Buchholz
On Tuesday 24 February 2009, Petteri Räty wrote:
 Let's try something new. I would like to get opinions from as many
 people as possible about GLEP 55 and alternatives listed here in
 order to get some idea what the general developer pool thinks.

Thanks for opening a spot to voice our opinions within reasonable limits 
and without deadlocked discussions.

To make it brief, I'd very much prefer 3c[0] for the reasons provided by 
others before:
- From what I can see, it provides for all requirements set out by g55.
- There is a backwards-compatible way to implement it.
- It does not expose any more internal metadata than current ebuilds do.
- I see no rush to implement new EAPI features that require drastic
  changes enabled by 1*.
- It provides a constant face for Gentoo, aka we're the guys and gals 
  using the .ebuild format.


Robert

[0] Although not with a fixed line limit, but with a strict way to find
it, i.e. the first occurence of #?\s*EAPI=[']?([a-zA-Z0-9._]+)[']?   
or similar.


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


Re: [gentoo-dev] Issues regarding glep-55 (Was: [gentoo-council] Re: Preliminary Meeting-Topics for 12 February 2009)

2009-02-25 Thread Ciaran McCreesh
On Wed, 25 Feb 2009 07:34:41 +0100
Tiziano Müller dev-z...@gentoo.org wrote:
 Well, you could theoretical consider everything in the cache valid
 within the current scope, find the eapi within the cache or the ebuild
 and then reconsider things.

You can't even do that, because new EAPIs might change how cache
entries are validated. An ID might have been moved to a new EAPI using
some new EAPI thing (such as changing how inherit works) that doesn't
end up altering mtimes in a way that can be caught.

 Would it be possible to change the cache-format with with G55?
 Meaning: Have the current cache-format for the current *.ebuild and
 another for *.ebuild-N (where I mean by cache-format the contents of
 the cache-files)?

If you have GLEP 55 you don't need it.

-- 
Ciaran McCreesh


signature.asc
Description: PGP signature


Re: [gentoo-dev] Issues regarding glep-55 (Was: [gentoo-council] Re: Preliminary Meeting-Topics for 12 February 2009)

2009-02-25 Thread Ciaran McCreesh
On Wed, 25 Feb 2009 09:33:44 +0100
Alexis Ballier aball...@gentoo.org wrote:
 That sounds like an implementation detail that you could solve by
 using something else than a flat file database for metadata if
 open()/read() calls are the slow part.

Metadata's shipped with the tree. It's a PMS detail.

If we didn't care about package manager performance, we wouldn't be
shipping metadata with the tree at all...

   I would be very surprised if that 2 times factor happens to be
   true, because finding a string in a file is an order of magnitude
   simpler than sourcing said file with bash. Moreover this doesn't
   take into account disk and os cache.
  
  No no no. *Opening* the file is the slow part, not searching. The
  file wouldn't otherwise be opened at all.
 
 Thus the only drawback is when you open a file, see there that you
 can't handle the eapi, then close it and open an older one.

Uh. No. The drawback is that you're opening around ten thousand files
that would otherwise not be opened. That's a huge cost.

-- 
Ciaran McCreesh


signature.asc
Description: PGP signature


Re: [gentoo-dev] Issues regarding glep-55 (Was: [gentoo-council] Re: Preliminary Meeting-Topics for 12 February 2009)

2009-02-25 Thread Ciaran McCreesh
On Wed, 25 Feb 2009 04:04:46 +0100
Luca Barbato lu_z...@gentoo.org wrote:
 given that the simplest thing is hacking ebuild.sh and extract eapi
 with a simple C program (you can use pcre or ragel if you want)
 exactly before the ebuild source:

That you're bringing ebuild.sh into this shows you still haven't worked
out how the process works. There is no need to use ebuild.sh (which is
a very good thing, because launching bash is slow) when
there's valid metadata.

  So you have patches for Portage? Please show them.
 
 Up there what's enough to check the viability for the solution.

No, it's completely wrong. ebuild.sh has nothing to do with this.

  unknown isn't unsupported?
  
  Huh? Please explain what you mean.
 
 mv cat/pkg-version.ebuild cat/pkg-version_foo.ebuild
 
 emerge -vp pkg
 
 portage will warn about not knowing pkg-version_foo and will ignore
 it.

Yes, it will warn noisily. This is unacceptable, since stable users
will have months and months of noise when new rules come along.

-- 
Ciaran McCreesh


signature.asc
Description: PGP signature


Re: [gentoo-dev] Issues regarding glep-55 (Was: [gentoo-council] Re: Preliminary Meeting-Topics for 12 February 2009)

2009-02-25 Thread Luca Barbato

Ciaran McCreesh wrote:

On Wed, 25 Feb 2009 04:04:46 +0100
Luca Barbato lu_z...@gentoo.org wrote:

given that the simplest thing is hacking ebuild.sh and extract eapi
with a simple C program (you can use pcre or ragel if you want)
exactly before the ebuild source:


That you're bringing ebuild.sh into this shows you still haven't worked
out how the process works. There is no need to use ebuild.sh (which is
a very good thing, because launching bash is slow) when
there's valid metadata.


it there is a valid metadata you have everything there already and you 
don't have to parse the ebuild so...



So you have patches for Portage? Please show them.

Up there what's enough to check the viability for the solution.


No, it's completely wrong. ebuild.sh has nothing to do with this.


Is there another place in portage that extracts the EAPI value?


Yes, it will warn noisily. This is unacceptable, since stable users
will have months and months of noise when new rules come along.


unacceptable...

as in it's ugly to see...


lu

--

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




Re: [gentoo-dev] Issues regarding glep-55 (Was: [gentoo-council] Re: Preliminary Meeting-Topics for 12 February 2009)

2009-02-25 Thread Thomas Anderson
On Wed, Feb 25, 2009 at 04:56:04PM +0100, Luca Barbato wrote:
 Yes, it will warn noisily. This is unacceptable, since stable users
 will have months and months of noise when new rules come along.

 unacceptable...

 as in it's ugly to see...


No, it's unacceptable because stable users do not need that kind of
stuff thrown at them. Stable users use stable because they want a very
predictable workflow. Noisy errors that shouldn't affect them(they are
in the stable branch) *is* unacceptable, and not just because it's ugly,
though that's certainly part of it.

-- 
-
Thomas Anderson
Gentoo Developer
/
Areas of responsibility:
AMD64, Secretary to the Gentoo Council
-




Re: [gentoo-dev] Issues regarding glep-55 (Was: [gentoo-council] Re: Preliminary Meeting-Topics for 12 February 2009)

2009-02-25 Thread Ciaran McCreesh
On Wed, 25 Feb 2009 16:56:04 +0100
Luca Barbato lu_z...@gentoo.org wrote:
  That you're bringing ebuild.sh into this shows you still haven't
  worked out how the process works. There is no need to use ebuild.sh
  (which is a very good thing, because launching bash is
  slow) when there's valid metadata.
 
 it there is a valid metadata you have everything there already and
 you don't have to parse the ebuild so...

Except you can't tell whether the metadata is valid unless you already
know the EAPI. As you have already been told.

  So you have patches for Portage? Please show them.
  Up there what's enough to check the viability for the solution.
  
  No, it's completely wrong. ebuild.sh has nothing to do with this.
 
 Is there another place in portage that extracts the EAPI value?

Yup. The part where it reads the metadata cache.

  Yes, it will warn noisily. This is unacceptable, since stable users
  will have months and months of noise when new rules come along.
 
 unacceptable...
 
 as in it's ugly to see...

No, as in it'll result in zillions of users wondering what's going on
and why their screen is getting spammed, and zillions of bug reports and
forum posts.

-- 
Ciaran McCreesh


signature.asc
Description: PGP signature


[gentoo-dev] [RFC] QA bashism check on portage

2009-02-25 Thread Timothy Redaelli
Hi,
what do you think about checking for bashism on install_qa_check?
Obviously only for scripts with #!/bin/sh and #!/sbin/runscript as first line.

I think checkbashisms.pl [1] could be a good start point.

[1] http://svn.debian.org/viewsvn/devscripts/trunk/scripts/checkbashisms.pl

-- 
Timothy `Drizzt` Redaelli
FreeSBIE Developer, Gentoo Developer, GUFI Staff
There are two major products that come out of Berkeley: LSD and UNIX.
We don't believe this to be a coincidence.  -- Jeremy S. Anderson


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


Re: [gentoo-dev] Issues regarding glep-55 (Was: [gentoo-council] Re: Preliminary Meeting-Topics for 12 February 2009)

2009-02-25 Thread Luca Barbato

Ciaran McCreesh wrote:

On Wed, 25 Feb 2009 09:33:44 +0100
Alexis Ballier aball...@gentoo.org wrote:

That sounds like an implementation detail that you could solve by
using something else than a flat file database for metadata if
open()/read() calls are the slow part.


Metadata's shipped with the tree. It's a PMS detail.

If we didn't care about package manager performance, we wouldn't be
shipping metadata with the tree at all...


I would be very surprised if that 2 times factor happens to be
true, because finding a string in a file is an order of magnitude
simpler than sourcing said file with bash. Moreover this doesn't
take into account disk and os cache.

No no no. *Opening* the file is the slow part, not searching. The
file wouldn't otherwise be opened at all.

Thus the only drawback is when you open a file, see there that you
can't handle the eapi, then close it and open an older one.


Uh. No. The drawback is that you're opening around ten thousand files
that would otherwise not be opened. That's a huge cost.



Huge cost...

emerge -uDp world (cold os cache)

real1m10.353s
user0m17.077s
sys 0m0.440s

with eapitool getting the eapi before sourcing.

real1m10.636s
user0m16.941s
sys 0m0.368s

cold cache, no metadata available

real6m23.106s
user3m32.141s
sys 1m50.855s

with eapitool

real6m26.564s
user3m31.853s
sys 1m50.511s


I'd rather see more people backing their ideas with numbers...

lu

--

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




Re: [gentoo-dev] Issues regarding glep-55 (Was: [gentoo-council] Re: Preliminary Meeting-Topics for 12 February 2009)

2009-02-25 Thread Luca Barbato

Thomas Anderson wrote:

On Wed, Feb 25, 2009 at 04:56:04PM +0100, Luca Barbato wrote:

Yes, it will warn noisily. This is unacceptable, since stable users
will have months and months of noise when new rules come along.

unacceptable...

as in it's ugly to see...



No, it's unacceptable because stable users do not need that kind of
stuff thrown at them. Stable users use stable because they want a very
predictable workflow. Noisy errors that shouldn't affect them(they are
in the stable branch) *is* unacceptable, and not just because it's ugly,
though that's certainly part of it.


You have quite a good point here. It's purely cosmetical, but since it's 
an unexpected behavior and it's annoying and could alienate our users 
it's better to avoid it with all our strength.


lu

--

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




Re: [gentoo-dev] Issues regarding glep-55 (Was: [gentoo-council] Re: Preliminary Meeting-Topics for 12 February 2009)

2009-02-25 Thread Ciaran McCreesh
On Wed, 25 Feb 2009 17:17:29 +0100
Luca Barbato lu_z...@gentoo.org wrote:
 I'd rather see more people backing their ideas with numbers...

I already told you your numbers are nonsense.

Of course opening the file when you've already opened it isn't going to
make any difference.

-- 
Ciaran McCreesh


signature.asc
Description: PGP signature


Re: [gentoo-dev] Collecting opinions about GLEP 55 and alternatives

2009-02-25 Thread Thomas Anderson
On Wed, Feb 25, 2009 at 12:21:23AM +0200, Petteri R??ty wrote:
 1) Status quo
   - does not allow changing inherit
   - bash version in global scope
   - global scope in general is quite locked down

Yuck, I want per-package eclasses and all those other goodies.

 2) EAPI in file extension
   - Allows changing global scope and the internal format of the ebuild
   a) .ebuild-eapi
 - ignored by current Portage
   b) .eapi.ebuild
 - current Portage does not work with this
   c) .eapi.new extension
 - ignored by current Portage

2a please, though .ebuild.eapi would be fine as well. My reasons are
mostly contained in Antarus' glep revision, and the fact that there have
been no real valid(IMO) objections.

 3) EAPI in locked down place in the ebuild
   - Allows changing global scope
   - EAPI can't be changed in an existing ebuild so the PM can trust
 the value in the cache
   - Does not allow changing versioning rules unless version becomes a
 normal metadata variable
 * Needs more accesses to cache as now you don't have to load older
   versions if the latest is not masked
   a) new extension
   b) new subdirectory like ebuilds/
   - we could drop extension all together so don't have to argue about
 it any more
   - more directory reads to get the list of ebuilds in a repository
   c) .ebuild in current directory
   - needs one year wait

These are all ugly.(c is the worst).

Oh, And I certainly hope this is not Democracy(you know what they say,
democracy is two wolves and a sheep deciding who to have for dinner)

Looking forward to the council meeting, where there will *hopefully* be
a decision.

Thomas
-- 
-
Thomas Anderson
Gentoo Developer
/
Areas of responsibility:
AMD64, Secretary to the Gentoo Council
-


pgpFU0kxFHMxR.pgp
Description: PGP signature


Re: [gentoo-dev] Collecting opinions about GLEP 55 and alternatives

2009-02-25 Thread Joe Peterson
Ulrich Mueller wrote:
 On Wed, 25 Feb 2009, Petteri Räty wrote:
 
 Let's try something new. I would like to get opinions from as many
 people as possible about GLEP 55 and alternatives listed here in order
 to get some idea what the general developer pool thinks.
 
 I've already commented on this in December 2007 [1], and my opinion
 hasn't changed.
 
 1) Status quo
 2) EAPI in file extension
 3) EAPI in locked down place in the ebuild
   a) new extension
   b) new subdirectory like ebuilds/
   c) .ebuild in current directory
 
 Acceptable for me would be 1) and 3c).

I have also stated my opinion before.  But I agree with Ulrich.

-Joe



Re: [gentoo-dev] Collecting opinions about GLEP 55 and alternatives

2009-02-25 Thread Josh Saddler
Petteri Räty wrote:
 Let's try something new. I would like to get opinions from as many
 people as possible about GLEP 55 and alternatives listed here in order
 to get some idea what the general developer pool thinks. Everyone is
 only allowed to post a single reply to this thread in order to make it
 easy to read through. The existing thread should be used for actual
 discussion about the GLEP and the alternatives. This should be a useful
 experiment to see if we can control ourselves :)
 
 My notes so far:
 
 1) Status quo
   - does not allow changing inherit
   - bash version in global scope
   - global scope in general is quite locked down

 3) EAPI in locked down place in the ebuild
   - Allows changing global scope
   - EAPI can't be changed in an existing ebuild so the PM can trust
 the value in the cache
   - Does not allow changing versioning rules unless version becomes a
 normal metadata variable
 * Needs more accesses to cache as now you don't have to load older
   versions if the latest is not masked
   a) new extension
   b) new subdirectory like ebuilds/
   - we could drop extension all together so don't have to argue about
 it any more
   - more directory reads to get the list of ebuilds in a repository
   c) .ebuild in current directory
   - needs one year wait

Leave EAPI inside the ebuild. That's where I want to find it.

Oh, and as others have mentioned, CVS sucks for file renaming and
versions. Yet another reason to leave it inside the ebuild.



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Collecting opinions about GLEP 55 and alternatives

2009-02-25 Thread Andrew Gaffney
Brian Harring wrote:
 
 4) eapi as a function; instead of EAPI=1, do eapi 1, required as 
  the first statement (simplest way).
  pros:
   - global scope changes can occur (inherit mechanism changes 
 included).
   - expanding on the first, auto inherits (pkg level) are possible- 
 effectively when eapi gets invoked the manager is in control and 
 can do whatever is desired setting up the env wise.
   - bash version requirements can be leveled (bash parses as it goes, 
 meaning that essentially it won't parse what follows 'eapi 2' till 
 that command statement finishes)
   - fits w/ the existing semantics nicely enough.
  cons:
   - mangling the version rules for pkgs still isn't possible; no -scm.  
 Arguable if -scm is even desired, but being explicit about it not 
 covering this.
   - transition is slightly icky; basically one of the following is 
 required-
a) for EAPI=2, do 'eapi 3 || die upgrade your manager'.  Reason 
 for this is that current managers obviously lack an eapi function, 
 to make managers available *now* blow up the || die is required.  
 This solution can be deployed now, no transition required although 
 at some point stating eapi is required retroactively for all 
 eapis would be wise to eliminate the need for the || die (cut 
 support basically for old managers)
b) bashrc trickery, defines an eapi if it's unset.  Said eapi 
 function exports EAPI=$1, optionally triggering a die if the eapi 
 isn't 0,1,2 (since any later eapi would require a manager upgrade 
 which would also have the eapi function).
 
 Personally, if g54 is ixnayed #4 I tend to think is the best option 
 out there- if g54 is forced in, g55 (or at least something that 
 adjusts the extension to make it invisible to current managers) is 
 required.
 
 Commentary?  Tend to think #4 is the most aesthetically pleasing to 
 folk, but who knows...
 ~harring

I really like this idea, but nobody else seems to have commented on it.

-- 
Andrew Gaffney http://dev.gentoo.org/~agaffney/
Gentoo Linux DeveloperCatalyst/Genkernel + Release Engineering Lead



Re: [gentoo-dev] [RFC] QA bashism check on portage

2009-02-25 Thread Mike Frysinger
On Wednesday 25 February 2009 11:10:01 Timothy Redaelli wrote:
 what do you think about checking for bashism on install_qa_check?
 Obviously only for scripts with #!/bin/sh and #!/sbin/runscript as first
 line.

 I think checkbashisms.pl [1] could be a good start point.

 [1] http://svn.debian.org/viewsvn/devscripts/trunk/scripts/checkbashisms.pl

i recall it being incorrect in some cases (it checked for what dash supports, 
not what POSIX supports), but that was a while ago, so maybe my experience is 
dated at this point.  otherwise, integrating it sounds sane to me, and if we 
can push fixes back to debian, even better.

a repoman check on files in files/ would be useful as well i'd think
-mike



Re: [gentoo-dev] eapi function (Was: Collecting opinions about GLEP 55 and alternatives)

2009-02-25 Thread Ciaran McCreesh
On Wed, 25 Feb 2009 04:49:51 -0800
Brian Harring ferri...@gmail.com wrote:
 4) eapi as a function; instead of EAPI=1, do eapi 1, required as 
  the first statement (simplest way).

Doesn't solve anything over having it as a variable, and has a messy
upgrade path.

   - global scope changes can occur (inherit mechanism changes 
 included).

Global scope changes can no more occur than they can with it as a
variable. All it does is changes where the barfing occurs to slightly
earlier on.

   - transition is slightly icky; basically one of the following is 
 required-
a) for EAPI=2, do 'eapi 3 || die upgrade your manager'.  Reason 
 for this is that current managers obviously lack an eapi
 function, to make managers available *now* blow up the || die is
 required. This solution can be deployed now, no transition required
 although at some point stating eapi is required retroactively for
 all eapis would be wise to eliminate the need for the || die (cut 
 support basically for old managers)

Global scope die is very very messy. This leaks out to users in the
form of horrible messages that make the user think something's badly
broken.

b) bashrc trickery, defines an eapi if it's unset.  Said eapi 
 function exports EAPI=$1, optionally triggering a die if the eapi 
 isn't 0,1,2 (since any later eapi would require a manager upgrade 
 which would also have the eapi function).

Unportable, and still leaks out to users.

This whole thing only looks neat until you think about it...

-- 
Ciaran McCreesh


signature.asc
Description: PGP signature


Re: [gentoo-dev] eapi function (Was: Collecting opinions about GLEP 55 and alternatives)

2009-02-25 Thread Brian Harring
On Wed, Feb 25, 2009 at 11:03:07PM +, Ciaran McCreesh wrote:
 On Wed, 25 Feb 2009 04:49:51 -0800
 Brian Harring ferri...@gmail.com wrote:
  4) eapi as a function; instead of EAPI=1, do eapi 1, required as 
   the first statement (simplest way).
 
 Doesn't solve anything over having it as a variable, and has a messy
 upgrade path.
 
- global scope changes can occur (inherit mechanism changes 
  included).
 
 Global scope changes can no more occur than they can with it as a
 variable. All it does is changes where the barfing occurs to slightly
 earlier on.

Bullshit.  First invocation of the ebuild, that means it can do 
whatever it wants to the environment- literally swapping in the EAPI 
environment right then/there.  Auto inherits, changing the inherit 
mechanism, everything (this includes shopt adjustments).

Not even sure why you're arguing that one, but back it up w/ examples 
if you want to continue that line of FUD.


- transition is slightly icky; basically one of the following is 
  required-
 a) for EAPI=2, do 'eapi 3 || die upgrade your manager'.  Reason 
  for this is that current managers obviously lack an eapi
  function, to make managers available *now* blow up the || die is
  required. This solution can be deployed now, no transition required
  although at some point stating eapi is required retroactively for
  all eapis would be wise to eliminate the need for the || die (cut 
  support basically for old managers)
 
 Global scope die is very very messy. This leaks out to users in the
 form of horrible messages that make the user think something's badly
 broken.

One would think upgrade your manager would be... self explanatory.  
Regardless, spelling it out- the user visible barf is only visible on 
existant managers.

For any manager supporting eapi2 (thus having the function), the 
function can exist out cleanly (no stderr complaints) from sourcing at 
that point without issue.


 b) bashrc trickery, defines an eapi if it's unset.  Said eapi 
  function exports EAPI=$1, optionally triggering a die if the eapi 
  isn't 0,1,2 (since any later eapi would require a manager upgrade 
  which would also have the eapi function).
 
 Unportable, and still leaks out to users.

Two options were given there; one 'leaks out to users', the other is 
the old behaviour (eapi env setting)- again, this is only visible for 
the window of pre eapi 3 managers, meaning it's a one time hit (rather 
then continual as you're implying).


Every proposal has uglyness- g55 for example doesn't give the user any 
indication that they're not seeing ebuilds due to EAPI (in other words 
loss of functionality that exists now).

~brian


pgpFxhOALMjzu.pgp
Description: PGP signature


Re: [gentoo-dev] eapi function (Was: Collecting opinions about GLEP 55 and alternatives)

2009-02-25 Thread Ciaran McCreesh
On Wed, 25 Feb 2009 16:02:46 -0800
Brian Harring ferri...@gmail.com wrote:
 Bullshit.  First invocation of the ebuild, that means it can do 
 whatever it wants to the environment- literally swapping in the EAPI 
 environment right then/there.  Auto inherits, changing the inherit 
 mechanism, everything (this includes shopt adjustments).
 
 Not even sure why you're arguing that one, but back it up w/ examples 
 if you want to continue that line of FUD.

You can do that on a variable assignment too, with all the same
implications as having it as a function, and a slightly less horrible
upgrade path.

  Global scope die is very very messy. This leaks out to users in the
  form of horrible messages that make the user think something's badly
  broken.
 
 One would think upgrade your manager would be... self explanatory.  
 Regardless, spelling it out- the user visible barf is only visible on 
 existant managers.
 
 For any manager supporting eapi2 (thus having the function), the 
 function can exist out cleanly (no stderr complaints) from sourcing
 at that point without issue.

Which is a wait a year or more thing... If you do it with a variable
instead of a function, you can at least roll out EAPI 3 (without any
global scope changes, but with the stricter stop on setting an
unsupported EAPI requirement) without the wait.

 Every proposal has uglyness- g55 for example doesn't give the user
 any indication that they're not seeing ebuilds due to EAPI (in other
 words loss of functionality that exists now).

Given you're a proponent of not showing users things that're merely
masked...

-- 
Ciaran McCreesh


signature.asc
Description: PGP signature


Re: [gentoo-dev] eapi function (Was: Collecting opinions about GLEP 55 and alternatives)

2009-02-25 Thread Brian Harring
On Thu, Feb 26, 2009 at 12:11:04AM +, Ciaran McCreesh wrote:
 On Wed, 25 Feb 2009 16:02:46 -0800
 Brian Harring ferri...@gmail.com wrote:
  Bullshit.  First invocation of the ebuild, that means it can do 
  whatever it wants to the environment- literally swapping in the EAPI 
  environment right then/there.  Auto inherits, changing the inherit 
  mechanism, everything (this includes shopt adjustments).
  
  Not even sure why you're arguing that one, but back it up w/ examples 
  if you want to continue that line of FUD.
 
 You can do that on a variable assignment too, with all the same
 implications as having it as a function, and a slightly less horrible
 upgrade path.

You're contradicting your own statements.  Pkg level eclasses (if 
reusing inherit) would explode 'in a user visible manner' if using var 
only.

While the above wasn't FUD, definitely was misinfo.  Be consistant 
please.


   Global scope die is very very messy. This leaks out to users in the
   form of horrible messages that make the user think something's badly
   broken.
  
  One would think upgrade your manager would be... self explanatory.  
  Regardless, spelling it out- the user visible barf is only visible on 
  existant managers.
  
  For any manager supporting eapi2 (thus having the function), the 
  function can exist out cleanly (no stderr complaints) from sourcing
  at that point without issue.
 
 Which is a wait a year or more thing... If you do it with a variable
 instead of a function, you can at least roll out EAPI 3 (without any
 global scope changes, but with the stricter stop on setting an
 unsupported EAPI requirement) without the wait.

There is no reason to wait a year let alone wait for EAPI3 to be 
defined.  The eapi function could be added now in preparation (thus 
killing the user visible pukage), regardless of eapi 3's timeline.

The die exists strictly to be thorough about stragglers.


  Every proposal has uglyness- g55 for example doesn't give the user
  any indication that they're not seeing ebuilds due to EAPI (in other
  words loss of functionality that exists now).
 
 Given you're a proponent of not showing users things that're merely
 masked...

Say what you want; g55 still has the flaw.

~harring


pgpwhFk5mXa6f.pgp
Description: PGP signature


Re: [gentoo-dev] eapi function (Was: Collecting opinions about GLEP 55 and alternatives)

2009-02-25 Thread Ciaran McCreesh
On Wed, 25 Feb 2009 16:24:45 -0800
Brian Harring ferri...@gmail.com wrote:
  You can do that on a variable assignment too, with all the same
  implications as having it as a function, and a slightly less
  horrible upgrade path.
 
 You're contradicting your own statements.  Pkg level eclasses (if 
 reusing inherit) would explode 'in a user visible manner' if using
 var only.

No, if we're shoving retroactive changes into existing EAPIs (as would
be done for making eapi a function), we could instead say EAPI must be
assigned to only once. That has *exactly* the same implications as
having it as a function, except that the upgrade path is cleaner
because there's no need for the horrid global scope die to work around
existing package managers.

  Which is a wait a year or more thing... If you do it with a
  variable instead of a function, you can at least roll out EAPI 3
  (without any global scope changes, but with the stricter stop on
  setting an unsupported EAPI requirement) without the wait.
 
 There is no reason to wait a year let alone wait for EAPI3 to be 
 defined.  The eapi function could be added now in preparation (thus 
 killing the user visible pukage), regardless of eapi 3's timeline.
 
 The die exists strictly to be thorough about stragglers.

But there's no need for the die if you do it on a variable instead of a
function.

   Every proposal has uglyness- g55 for example doesn't give the user
   any indication that they're not seeing ebuilds due to EAPI (in
   other words loss of functionality that exists now).
  
  Given you're a proponent of not showing users things that're merely
  masked...
 
 Say what you want; g55 still has the flaw.

Any sane package manager can, immediately upon a new EAPI being
defined, do a stable release updated with minimal information about the
new EAPI to enable it to show up as being there but not supported, even
if full support needs a new major version and lots of ~arch testing
time.

-- 
Ciaran McCreesh


signature.asc
Description: PGP signature


Re: [gentoo-dev] eapi function (Was: Collecting opinions about GLEP 55 and alternatives)

2009-02-25 Thread Jorge Manuel B. S. Vicetto
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Ciaran McCreesh wrote:
 On Wed, 25 Feb 2009 16:02:46 -0800
 Brian Harring ferri...@gmail.com wrote:
 snip a few arguments

Ciaran and Brian,

please respect Pettery's request and move your discussion to the GLEP55
thread or to another thread, but leave it out of this one.

Ciaran,

please stop abusing other subscribers of the dev ml.
Ultimately everyone wants a resolution to this issue but have
potentially different ideas of the way to go about that. So different
ideas for a solution should be encouraged, not fought.
You're obviously free to argue your case and I'm not trying to silence
you, but by replying to every and single mail in quite a few cases in a
harsh tone, you're behaving like a bully. Please stop that.
For anyone else acting overly defensive, please remember that these are
technical discussions, so you should expect technical arguments and
having your ideas challenged. Also, everyone should be careful not to
let emotions affect their arguments.

For userrel,

- --
Regards,

Jorge Vicetto (jmbsvicetto) - jmbsvicetto at gentoo dot org
Gentoo- forums / Userrel / Devrel / SPARC / KDE
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkml5cAACgkQcAWygvVEyAKrmgCfZK4wpk0+PcZPCftsAyloEhDK
4DkAoJGspbLcPYb0f+FkZqVgb/kGWYhU
=SSGP
-END PGP SIGNATURE-



Re: [gentoo-dev] eapi function (Was: Collecting opinions about GLEP 55 and alternatives)

2009-02-25 Thread Ciaran McCreesh
On Wed, 25 Feb 2009 23:43:44 -0100
Jorge Manuel B. S. Vicetto jmbsvice...@gentoo.org wrote:
 Ciaran McCreesh wrote:
  On Wed, 25 Feb 2009 16:02:46 -0800
  Brian Harring ferri...@gmail.com wrote:
  snip a few arguments
 
 Ciaran and Brian,
 
 please respect Pettery's request and move your discussion to the
 GLEP55 thread or to another thread, but leave it out of this one.

This was moved to another thread, as a casual glance at the subject
would have told you.

 please stop abusing other subscribers of the dev ml.
 Ultimately everyone wants a resolution to this issue but have
 potentially different ideas of the way to go about that. So different
 ideas for a solution should be encouraged, not fought.
 You're obviously free to argue your case and I'm not trying to silence
 you, but by replying to every and single mail in quite a few cases in
 a harsh tone, you're behaving like a bully. Please stop that.

One of the nice things about technical discussions is that it is
entirely possible for one particular party to be entirely wrong. In
this case, Brian is entirely wrong, and calling him on it is the
correct thing to do.

If you would prefer to see fewer emails from me, perhaps you should
start telling people who post the same incorrect claims that have
already been demonstrated to be false over and over again to stop it.
One of the unfortunate tendencies the Council has shown in the past is
to treat any unreplied-to objection as being legitimate and cause for
an issue to be postponed, even if that issue has already been addressed
earlier on.

-- 
Ciaran McCreesh


signature.asc
Description: PGP signature


Re: [gentoo-dev] Collecting opinions about GLEP 55 and alternatives

2009-02-25 Thread Ravi Pinjala
Petteri Räty wrote:
 Let's try something new. I would like to get opinions from as many
 people as possible about GLEP 55 and alternatives listed here in order
 to get some idea what the general developer pool thinks. Everyone is
 only allowed to post a single reply to this thread in order to make it
 easy to read through. The existing thread should be used for actual
 discussion about the GLEP and the alternatives. This should be a useful
 experiment to see if we can control ourselves :)
 
 My notes so far:
 
 1) Status quo
   - does not allow changing inherit
   - bash version in global scope
   - global scope in general is quite locked down
 
 2) EAPI in file extension
   - Allows changing global scope and the internal format of the ebuild
   a) .ebuild-eapi
 - ignored by current Portage
   b) .eapi.ebuild
 - current Portage does not work with this
   c) .eapi.new extension
 - ignored by current Portage
 
 3) EAPI in locked down place in the ebuild
   - Allows changing global scope
   - EAPI can't be changed in an existing ebuild so the PM can trust
 the value in the cache
   - Does not allow changing versioning rules unless version becomes a
 normal metadata variable
 * Needs more accesses to cache as now you don't have to load older
   versions if the latest is not masked
   a) new extension
   b) new subdirectory like ebuilds/
   - we could drop extension all together so don't have to argue about
 it any more
   - more directory reads to get the list of ebuilds in a repository
   c) .ebuild in current directory
   - needs one year wait
 
 Regards,
 Petteri
 

Another option which I haven't seen mentioned here yet would be to just
specify that the method of finding the EAPI depends on the file
extension. Then, anything with a .ebuild extension can be sourced with
bash to find the EAPI, and ebuild formats incompatible with that could
use another file extension. This would work with current package
managers, while still providing a mechanism for incompatible format
changes in the future. It's also aesthetically nicer than current
proposals, since the file extension would indicate something about the
contents of the file.

Or, to put it another way, this would formalize the difference between
the ebuild format (which is currently bash throughout the tree), and the
EAPI. I don't think anybody would oppose a file extension change for a
format change, as opposed to an EAPI change.

--Ravi



Re: [gentoo-dev] Collecting opinions about GLEP 55 and alternatives

2009-02-25 Thread Kumba

Petteri Räty wrote:

Let's try something new. I would like to get opinions from as many
people as possible about GLEP 55 and alternatives listed here in order
to get some idea what the general developer pool thinks. Everyone is
only allowed to post a single reply to this thread in order to make it
easy to read through. The existing thread should be used for actual
discussion about the GLEP and the alternatives. This should be a useful
experiment to see if we can control ourselves :)


I was talking to Alec last night in -dev (yes, I'm still alive), and I tossed 
out the idea of using metadata.xml instead of mangling the ebuild filename or 
even sticking it as the first line in the ebuild (as a hashbang or something 
gentoo-specific, for example).


It's nothing fully fleshed out, and I know parsing XML is about as much fun as 
sticking your tongue into a cross-cut paper shredder, but I figured why not toss 
it out there?


Add a tag like this to metadata.xml

eapi pv=2.6.28.7 version=1 /

pv = Package Version (incl. revision if needed).
v = EAPI version.

Other variants:
eapi version=1mips-sources-2.6.28.7/eapi
eapi pv=2.6.28.71/eapi

and such.

This allows portage or whatever to associate the chosen/desired EAPI level with 
a given ebuild version in portage (so the above examples would match 
mips-sources-2.6.28.7.ebuild)


I think there's some other magic going on after metadata is updated in portage, 
like the whole use.local.desc auto-updating.  I figure something like this could 
also be implemented, maybe even in the same way whereby a backend script parses 
this out and create a /usr/portage/profiles/eapi.list file that links package 
revisions with the set eapi level.  Then let the various package managers do 
whatever it is that they do to make use of this information.


Call it random brainstorming.  No idea on the pros  cons -- I haven't even 
looked at g55 just yet.



--
Joshua Kinard
Gentoo/MIPS
ku...@gentoo.org

The past tempts us, the present confuses us, the future frightens us.  And our 
lives slip away, moment by moment, lost in that vast, terrible in-between.


--Emperor Turhan, Centauri Republic



Re: [gentoo-dev] Collecting opinions about GLEP 55 and alternatives

2009-02-25 Thread Zac Medico
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Petteri Räty wrote:
 Let's try something new. I would like to get opinions from as many
 people as possible about GLEP 55 and alternatives listed here in order
 to get some idea what the general developer pool thinks. Everyone is
 only allowed to post a single reply to this thread in order to make it
 easy to read through. The existing thread should be used for actual
 discussion about the GLEP and the alternatives. This should be a useful
 experiment to see if we can control ourselves :)
 
 My notes so far:
 
 1) Status quo
   - does not allow changing inherit
   - bash version in global scope
   - global scope in general is quite locked down

I don't want to stick with the status quo since being able to probe
the EAPI without sourcing the ebuild is quite useful. Among other
things, it allows the package manager to avoid the overhead of
sourcing the ebuild in case neither the EAPI nor the cache format is
understood, which solves a problem [1] discussed in the thread about
adding DIGESTS data to the cache.

 2) EAPI in file extension
   - Allows changing global scope and the internal format of the ebuild
   a) .ebuild-eapi
 - ignored by current Portage

I'd prefer not to introduce an infinite series of file extensions.
To me that just seems too unconventional.

   b) .eapi.ebuild
 - current Portage does not work with this
   c) .eapi.new extension
 - ignored by current Portage

Either of these is fine with me.

 3) EAPI in locked down place in the ebuild
   - Allows changing global scope
   - EAPI can't be changed in an existing ebuild so the PM can trust
 the value in the cache

I think it's alright to change the EAPI in an existing ebuild. Since
you can simply parse the EAPI instead of sourcing the ebuild, having
a valid cache isn't so important.

   - Does not allow changing versioning rules unless version becomes a
 normal metadata variable

As said by Richard [2], it's alright to change the version rules.
Since you can simply parse the EAPI, it's not appreciably less
accessible than if the EAPI is embedded in the file name.

 * Needs more accesses to cache as now you don't have to load older
   versions if the latest is not masked

Accessing the cache or parsing the EAPI is relatively inexpensive
compared to sourcing the ebuild, so it's not really a problem.
Again, once you can parse the EAPI, it's not appreciably less
accessible then if the EAPI is embedded in the file name.

   a) new extension

I think a new extension is preferable to a directory.

   b) new subdirectory like ebuilds/
   - we could drop extension all together so don't have to argue about
 it any more
   - more directory reads to get the list of ebuilds in a repository
   c) .ebuild in current directory
   - needs one year wait

You really only need to wait in order to avoid things like warning
messages about invalid name/version (if you want to do naming
convention changes). If the name/version appear valid, the existing
cache entries will prevent the ebuild from being sourced by existing
versions of portage (as long as the timestamp of the cache entry
matches the timestamp of the ebuild).

[1]
http://archives.gentoo.org/gentoo-dev/msg_d667a0dd748b2fefa5a5378000104974.xml
[2]
http://archives.gentoo.org/gentoo-dev/msg_bf3aa0199bb521b263b19b4997a0429c.xml
- --
Thanks,
Zac
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.10 (GNU/Linux)

iEYEARECAAYFAkmmKkoACgkQ/ejvha5XGaP+2gCfZvkKYypzKydZ+1+sShQkJKr3
ObAAoNr1r9E9eNRCAisahJyqcu6FDV3S
=kj8B
-END PGP SIGNATURE-



Re: [gentoo-dev] http://bugs.gentoo.org/show_bug.cgi?id=232084

2009-02-25 Thread Caleb Cushing
fyi my email client doesn't recognize urls in the subject line, don't
know about anyone elses... but it'd be nice to click the link to the
bug, and you know have some clue what this is about without reading
the bug (e.g. a useful subject line). /endrant sorry I can't be of
any further help here.

On Tue, Feb 24, 2009 at 12:57 AM, Andrew D Kirch trel...@trelane.net wrote:
 Thanks for the help.



-- 
Caleb Cushing

http://xenoterracide.blogspot.com