Re: [gentoo-dev] RFC: EAPI cheat sheet for your desktop

2009-04-01 Thread Michael Haubenwallner
On Tue, 2009-03-31 at 18:48 +, Ferris McCormick wrote:
 On Tue, 2009-03-31 at 19:21 +0200, Christian Faulhammer wrote:
  Hi everyone,
  
  with EAPI 3 confusion about what is in which EAPI may increase,
  although appendix E of the PMS is quite helpful here.  Anyway,
  something handy to put on your desk is my little EAPI leaflet which
  gives you all important (in my eyes) information in one leaf.  Have a
  look at URL:http://v-li.de/temp/eapi_cheatsheet.pdf, print it, fold
  it and tell me if you like or not (and especially what exactly).
  
  V-Li
 
 I like it.  It's useful to me, at least, and I like having this
 information available where I can find it in case I need it.

+1

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




[gentoo-dev] Re: Please review: prefix.eclass

2009-04-01 Thread Christian Faulhammer
Hi,

Donnie Berkholz dberkh...@gentoo.org:

 On 12:59 Fri 27 Mar , Fabian Groffen wrote:
  This eclass facilitates in some of the needs of the Gentoo Prefix 
  project.  For now it provides the 'eprefixify' function, which is 
  often used in Gentoo Prefix ebuilds to incorporate the used offset 
  prefix into files.
 
 It's great to see you moving toward folding this back into the main 
 tree! My only comment is that eprefixify could really use a better
 name because that one sounds really awkward. How about doprefix, or
 something else?

 To install a prefix file?  Like doman, dobin. :)

V-Li

-- 
Christian Faulhammer, Gentoo Lisp project
URL:http://www.gentoo.org/proj/en/lisp/, #gentoo-lisp on FreeNode

URL:http://gentoo.faulhammer.org/


signature.asc
Description: PGP signature


[gentoo-dev] Re: Small change: Global USE flag nsplugin

2009-04-01 Thread Christian Faulhammer
Hi,

Jan Kundrát j...@gentoo.org:

 Christian Faulhammer wrote:
   Ok.  What about: Build media plugin for browsers supporting the
   Netscape plugin architecture such as www-client/mozilla-firefox
 
 Build media plugin for browsers supporting the Netscape plugin 
 architecture (that is almost any modern browser)

 Thanks.  Very similar description used.

V-Li

-- 
Christian Faulhammer, Gentoo Lisp project
URL:http://www.gentoo.org/proj/en/lisp/, #gentoo-lisp on FreeNode

URL:http://gentoo.faulhammer.org/


signature.asc
Description: PGP signature


[gentoo-dev] Monthly Gentoo Council Reminder for April

2009-04-01 Thread Mike Frysinger
This is your monthly friendly reminder !  Same bat time (typically
the 2nd Thursday 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.

Keep in mind that every GLEP *re*submission to the council for review
must first be sent to the gentoo-dev mailing list 7 days (minimum)
before being submitted as an agenda item which itself occurs 7 days
before the meeting.  Simply put, the gentoo-dev mailing list must be
notified at least 14 days before the meeting itself.

For more info on the Gentoo Council, feel free to browse our homepage:
http://www.gentoo.org/proj/en/council/



Re: [gentoo-dev] Monthly Gentoo Council Reminder for April

2009-04-01 Thread David Leverton
2009/4/1 Mike Frysinger vap...@gentoo.org:
 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.

I would like the Council to discuss the matter of Portage repeatedly
changing behaviour in ebuild-visible ways without an EAPI bump or even
an announcement that anything changed.  Notable examples include .lzma
support in unpack (bug 207193), the change in pkg_* phase ordering
(bug 222721) and the preservation of timestamps during merge (bug
264130).  It is quite frustrating to spend considerable effort
determining Portage's behaviour and matching it in Paludis, only to
find a few months later that Portage changed and now users are getting
broken packages if not broken systems because ebuilds are starting to
rely on the new rules.

(The /really/ hilarious part is that certain people then accuse /us/
of being uncooperative and not caring about compatibility.)

This needs to be dealt with if Gentoo is ever going to take the idea
of PMS, or indeed EAPI itself, at all seriously.



Re: [gentoo-dev] Preserving mtimes for EAPI3

2009-04-01 Thread Ulrich Mueller
 On Tue, 31 Mar 2009, Michael Haubenwallner wrote:

 On Mon, 2009-03-30 at 19:14 +0200, Ulrich Mueller wrote:
 1. Record two timestamps:
 before calling pkg_setup, timestamp1;
 after src_install has completed, timestamp2.
 
 2. After src_install and before merging (the exact time would be
 implementation dependent), scan ${D} for files having
 mtime  timestamp1 or mtime  timestamp2.
 Update their mtimes to timestamp1 or timestamp2, respectively.
 
 3. Otherwise (i.e. for files with timestamp1 = mtime = timestamp2),
 preserve modification times when merging ${D} to ${ROOT}.

Or, even shorter: The basic idea is to preserve the mtimes from ${D}
when merging. Except for old mtimes which will be advanced to the
time when the build process began. (And mtimes from the future will
also be fixed, but this case should normally not occur.)

But from discussions in #-dev I conclude that several people would be
happier if just mtimes from ${D} were preserved. In fact, this is the
current Portage and Pkgcore behaviour.

One could think about making step 1 and 2 of above procedure optional
(which was what I had originally in mind, see [1]). Then there would
be no need to change anything in Portage and Pkgcore. Or Portage could
control it via FEATURES, giving the user the choice.

 Maybe this could be done somehow like this, with 'merge time'
 calculation for each file based on above steps 1.-3.:
   * When a to-be-merged file does not exist before, set mtime to
 'merge time'. 
   * When a to-be-merged file does exist already, and its content
 does not change, take the mtime from the already existing file. 
   * When a to-be-merged file does exist already, and its content
 does change, set mtime to 'merge time'.

Unfortunately, this will not work. Looking at Lisp again, it may lead
to a fasl file older than the corresponding lisp (imagine that there
could be only a comment change in the source, and the compiled file
would be identical). Also setting mtime to merge time will break
some packages (see bug 83877 [2] for an example).

 Maybe this should be done for header files only, or with some black- or
 whitelisting mechanisms, or for files which have mtime'build time'?

Too complicated, for my taste.

Ulrich

[1] https://bugs.gentoo.org/show_bug.cgi?id=264130#c12
[2] https://bugs.gentoo.org/show_bug.cgi?id=83877



Re: [gentoo-dev] Monthly Gentoo Council Reminder for April

2009-04-01 Thread Ulrich Mueller
 On , 01 Apr 2009, Mike Frysinger wrote:

 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.

Since EAPI 3 is on the agenda already, I would ask the council to
consider inclusion of mtime preservation (see bug 264130, and the
thread Preserving mtimes for EAPI3 in this ML).

The proposal comes in two variations (to be decided upon):
  a) mtimes fixup and preservation of mtimes when merging are both
 mandatory. (This would require changes in all package managers.)
  b) mtimes fixup is optional, preservation of mtimes is mandatory.
 (This wouldn't require any immediate changes in Portage and
 Pkgcore.)

Ulrich



Re: [gentoo-dev] RFC: EAPI cheat sheet for your desktop

2009-04-01 Thread Markos Chandras
On Wednesday 01 April 2009 11:37:58 Michael Haubenwallner wrote:
 On Tue, 2009-03-31 at 18:48 +, Ferris McCormick wrote:
  On Tue, 2009-03-31 at 19:21 +0200, Christian Faulhammer wrote:
   Hi everyone,
  
   with EAPI 3 confusion about what is in which EAPI may increase,
   although appendix E of the PMS is quite helpful here.  Anyway,
   something handy to put on your desk is my little EAPI leaflet which
   gives you all important (in my eyes) information in one leaf.  Have a
   look at URL:http://v-li.de/temp/eapi_cheatsheet.pdf, print it, fold
   it and tell me if you like or not (and especially what exactly).
  
   V-Li
 
  I like it.  It's useful to me, at least, and I like having this
  information available where I can find it in case I need it.

 +1

 /haubi/
+1 . Very handy :)
-- 
Markos Chandras (hwoarang)
Gentoo Linux Developer
Qt/KDE/Sunrise/Sound
Web: http://hwoarang.silverarrow.gr


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


Re: [gentoo-dev] RFC: EAPI cheat sheet for your desktop

2009-04-01 Thread Ulrich Mueller
 On Tue, 31 Mar 2009, Christian Faulhammer wrote:

 Have a look at URL:http://v-li.de/temp/eapi_cheatsheet.pdf,
 print it, fold it and tell me if you like or not (and especially
 what exactly).

The Gentoo store should have a coffee mug with this. ;-)

Ulrich



Re: [gentoo-portage-dev] Google SoC and cache sync

2009-04-01 Thread Emma Strubell
Zac Medico wrote:
 The way that I imagine the cache sync idea should be implemented
 is like paludis's unavailable repository which uses of tarball to
 distribute package metadata[1]. The tarball approach that they use
 seems pretty reasonable. However, it would probably also be nice to
 be able to use a protocol such as rsync to download the
 metadata/cache/ directory from the same URI which is used to fetch
 the ebuilds themselves (maybe paludis supports this already, I don't
 know).

You're offering two different ideas here, right? The unavailable
repository method, and the method using the metadata/cache/
directory?

If so, it makes sense to me to take the metadata/cache/ directory
route, since, as you said, multiple repositories aren't yet supported
in portage. At first I was thinking I could contact the guy who might
be working on multiple repository support this summer and work with
him to some extent... but the unavaliable repository solution would
basically be dependent on/building off of multiple repository support,
and it seems like building off of something that isn't fully built
would be a bad idea.

And to clarify: the goal of the project is to modify portage so that
instead of fetching all of the ebuilds in the portage tree (or in an
overlay) upon a sync, portage only fetches the metadata and cache info
(via the metadata/cache/ directory) of the tree, and the ebuilds of
packages that are already installed (packages found in the world
file?) And then, additional ebuilds would be fetched only when they
are needed? Or will only metadata/cache/ be fetched upon sync, and
then all ebuilds will be fetched only when they are needed? Am I
completely oversimplifying the project?

Thanks so much for your help,
Emma


On Tue, Mar 31, 2009 at 6:41 PM, Zac Medico zmed...@gentoo.org wrote:

 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 Emma Strubell wrote:
  Hi all.
 
  So, I'd love to do Google's Summer of Code with you guys. I was perusing
  the list of ideas on the Gentoo wiki, and the cache sync idea seems
  pretty interesting, especially since it concerns the overall speed of
  portage, including search, which of course I've already started some
  work on. However, there is no contact person associated with that
  project! I figured I'd come here before going to #gentoo-soc to see if
  anyone is interested in mentoring me on this project, since it seemed
  like a few of you might be interested.

 The way that I imagine the cache sync idea should be implemented
 is like paludis's unavailable repository which uses of tarball to
 distribute package metadata[1]. The tarball approach that they use
 seems pretty reasonable. However, it would probably also be nice to
 be able to use a protocol such as rsync to download the
 metadata/cache/ directory from the same URI which is used to fetch
 the ebuilds themselves (maybe paludis supports this already, I don't
 know).

 In order for the clients to be able to download the metadata/cache/
 directory, first that directory has to be populated (as is done on
 gentoo's master rsync server). I'm currently working on a tool
 called 'egencache' that overlay maintainers will be able to use in
 order to populate the metadata/cache/ directory [2]. It will be
 included in the next portage release.

 Before we implement something like unavailable repository for
 portage, first we'll have to add multiple repository support, and
 that's a decent sized project of it's own. Somebody has mentioned
 interest in multiple repository support on the gentoo-soc list
 [3], but they haven't submitted a proposal to
 http://socghop.appspot.com yet.

 [1] http://paludis.pioto.org/configuration/repositories/unavailable.html
 [2] http://bugs.gentoo.org/show_bug.cgi?id=261377
 [3]
 http://archives.gentoo.org/gentoo-soc/msg_e383863a6748e367e13fe53b092f3908.xml
 - --
 Thanks,
 Zac
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v2.0.11 (GNU/Linux)

 iEYEARECAAYFAknSnA4ACgkQ/ejvha5XGaO6tACgjzAsoXP0cJd0Vr1vJxU2CvLQ
 JtwAn2Sj+GxLyyRpOIdbejPirCljmF2c
 =k5u1
 -END PGP SIGNATURE-




Re: [gentoo-portage-dev] Google SoC and cache sync

2009-04-01 Thread Zac Medico
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Zac Medico wrote:
 Emma Strubell wrote:
 And to clarify: the goal of the project is to modify portage so that
 instead of fetching all of the ebuilds in the portage tree (or in an
 overlay) upon a sync, portage only fetches the metadata and cache info
 (via the metadata/cache/ directory) of the tree, and the ebuilds of
 packages that are already installed (packages found in the world
 file?) And then, additional ebuilds would be fetched only when they
 are needed?
 
 The problem with fetching the ebuilds separately is that the remote
 repository might have changed. So, it's not a very reliable approach
 unless there is some kind of guarantee that the remote repository
 will provide a window of time during which older ebuilds that have
 already been removed from the main tree can still be downloaded. In
 order to accomplish this, you'd essentially have to devise a new
 source package format which can be downloaded as a single file
 (something like a source rpm file that an rpm based distro would
 provide).

Expanding on this a bit... if you were going to pack an ebuild into
a single file, you would need to include the eclasses which it
inherits and also any patches that are included with it in cvs. If
the eclasses are included in this way, each source package will
contain a redundant copy of the inherited eclasses. Despite this
redundancy, you might still have a net decrease in bandwidth usage
since you'd only have to download the source packages that you
actually want to build.

If you are going to implement something like this, I imagine that
you'd create a tool which would pack an ebuild into a source package
and optionally sign it with a digital signature. Source packages
would be uploaded to a server which would serve them along with a
metadata cache file that clients would download for use in
dependency calculations (similar to how $PKGDIR/Packages is
currently used for binary packages).
- --
Thanks,
Zac
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.11 (GNU/Linux)

iEYEARECAAYFAknUT0oACgkQ/ejvha5XGaPmugCfVs0I4a15trwTgLnPwBac2xOj
wI0AoInp1Jf6yaYV5rNvU2EXHbZ30AkS
=tNrz
-END PGP SIGNATURE-