Re: [gentoo-dev] GNU userland and binary package (WAS: RFC: sh versionator.eclass)

2007-10-11 Thread Roy Marples
On Wed, 2007-10-10 at 20:03 -0700, Alec Warner wrote:
  B. don't use GNU extensions in pkg_functions and have some way to export
  them (extract pkg_* functions from environment.bz2). Those can then be
  used by pre/post script in binary package manager.
 
 This is your best bet, but again mandates are ineffective.  As you've
 no doubt noticed with quoting, people will do whatever works and the
 people who aim for odd targets like no GNU crap or sh compatability
 are going to have to do the code reviews and encourage that sort of
 thing.  Just saying 'pre/post functions must be POSIX compatable' will
 get you nowhere.  The point here is to sell your idea to other
 developers; if you can't sell it you may need to take it elsewhere.

This is what I'm preaching, but for the whole ebuild not just the
pre/post functions.

It's a tough crowd as everyone's a zealot with their own favourite must
have tools + the territorial crap which rears it's ugly head from time
to time.

Thanks

Roy

-- 
[EMAIL PROTECTED] mailing list



Re: [gentoo-dev] GNU userland and binary package (WAS: RFC: sh versionator.eclass)

2007-10-10 Thread Alec Warner
On 10/8/07, Natanael Copa [EMAIL PROTECTED] wrote:
 On Mon, 2007-10-08 at 06:52 -0700, Alec Warner wrote:
  On 10/8/07, Natanael Copa [EMAIL PROTECTED] wrote:
   On Sun, 2007-10-07 at 21:26 -0600, Joe Peterson wrote:
Mike Frysinger wrote:
 Fabian has summed it up nicely, thanks.  i could care less what your 
 userland
 is outside of the ebuild environment since it doesnt matter to ebuild
 writers.  you want a deficient runtime environment, more power to 
 you, but
 forcing that environment onto ebuild developers is not acceptable.  
 off the
 top of my head, i'd like to see GNU find/xargs added to the ebuild
 environment.
 -mike
   
Mike, exactly as I said.  That's option #2, and I think it could be a
great solution.  As for deficient, well, that's in the eye of the
beholder.  ;)
   
  -Joe
  
   Question, if you go for #2. Does that mean you will need all the
   required GNU userland to do binary only installs?
  
   It would be highly desireable to be able to do binary installs (write
   your own binary only package manager) without depending on all the GNU
   stuff needed to compile the packages.
 
  Your own binary only package manager would still need to provide
  Option #2; ie you need to have GNU tools installed to process the
  binary packages.  pkg_* functions could still have GNU stuff in them
  and those still get run during a binary package install.

 If we would like to be able to do binary installs without the GNU tools,
 what alternatives do we have?

 Those pops up to my mind:

 A. move the pkg_* functions out of the ebuild to a separate file. Those
 have a subset of the EAPI and needs to be posix compliant.

This is just rife with complications, IMHO.  Two files per ebuild
revision?  Shared pre/post functions?  Extra manifests, stats,
sourcing, bigger tree, inode requirements.  Probably not an easy sell
here.


 B. don't use GNU extensions in pkg_functions and have some way to export
 them (extract pkg_* functions from environment.bz2). Those can then be
 used by pre/post script in binary package manager.

This is your best bet, but again mandates are ineffective.  As you've
no doubt noticed with quoting, people will do whatever works and the
people who aim for odd targets like no GNU crap or sh compatability
are going to have to do the code reviews and encourage that sort of
thing.  Just saying 'pre/post functions must be POSIX compatable' will
get you nowhere.  The point here is to sell your idea to other
developers; if you can't sell it you may need to take it elsewhere.


 C. Binary package managers will need to write their own pre/post
 scripts

Good luck with this route; you may be able to write replacements for
most utilities but I bet the conversion would still fail on weird
constructs.

D.  Keep your own ebuilds.  Particularly for embedded you probably
aren't using a ton of them anyway and given a sufficient pool of
developers interested in POSIX compatible ebuilds you could probably
hammer out a posix-compliant embedded tree in short order.  I know
everyone hates option D; but I'm also kind of irritated by everyone
trying to push weird requirements on everyone else.  If you can't
convince the majority of developers to do thing X, you may end up
having to do it yourself; welcome to open source software ;)

-Alec
-- 
[EMAIL PROTECTED] mailing list



[gentoo-dev] GNU userland and binary package (WAS: RFC: sh versionator.eclass)

2007-10-08 Thread Natanael Copa
On Sun, 2007-10-07 at 21:26 -0600, Joe Peterson wrote:
 Mike Frysinger wrote:
  Fabian has summed it up nicely, thanks.  i could care less what your 
  userland 
  is outside of the ebuild environment since it doesnt matter to ebuild 
  writers.  you want a deficient runtime environment, more power to you, but 
  forcing that environment onto ebuild developers is not acceptable.  off the 
  top of my head, i'd like to see GNU find/xargs added to the ebuild 
  environment.
  -mike
 
 Mike, exactly as I said.  That's option #2, and I think it could be a
 great solution.  As for deficient, well, that's in the eye of the
 beholder.  ;)
 
   -Joe

Question, if you go for #2. Does that mean you will need all the
required GNU userland to do binary only installs?

It would be highly desireable to be able to do binary installs (write
your own binary only package manager) without depending on all the GNU
stuff needed to compile the packages.

-nc

-- 
[EMAIL PROTECTED] mailing list



Re: [gentoo-dev] GNU userland and binary package (WAS: RFC: sh versionator.eclass)

2007-10-08 Thread Alec Warner
On 10/8/07, Natanael Copa [EMAIL PROTECTED] wrote:
 On Sun, 2007-10-07 at 21:26 -0600, Joe Peterson wrote:
  Mike Frysinger wrote:
   Fabian has summed it up nicely, thanks.  i could care less what your 
   userland
   is outside of the ebuild environment since it doesnt matter to ebuild
   writers.  you want a deficient runtime environment, more power to you, but
   forcing that environment onto ebuild developers is not acceptable.  off 
   the
   top of my head, i'd like to see GNU find/xargs added to the ebuild
   environment.
   -mike
 
  Mike, exactly as I said.  That's option #2, and I think it could be a
  great solution.  As for deficient, well, that's in the eye of the
  beholder.  ;)
 
-Joe

 Question, if you go for #2. Does that mean you will need all the
 required GNU userland to do binary only installs?

 It would be highly desireable to be able to do binary installs (write
 your own binary only package manager) without depending on all the GNU
 stuff needed to compile the packages.

Your own binary only package manager would still need to provide
Option #2; ie you need to have GNU tools installed to process the
binary packages.  pkg_* functions could still have GNU stuff in them
and those still get run during a binary package install.

-Alec
-- 
[EMAIL PROTECTED] mailing list



Re: [gentoo-dev] GNU userland and binary package (WAS: RFC: sh versionator.eclass)

2007-10-08 Thread Natanael Copa
On Mon, 2007-10-08 at 06:52 -0700, Alec Warner wrote:
 On 10/8/07, Natanael Copa [EMAIL PROTECTED] wrote:
  On Sun, 2007-10-07 at 21:26 -0600, Joe Peterson wrote:
   Mike Frysinger wrote:
Fabian has summed it up nicely, thanks.  i could care less what your 
userland
is outside of the ebuild environment since it doesnt matter to ebuild
writers.  you want a deficient runtime environment, more power to you, 
but
forcing that environment onto ebuild developers is not acceptable.  off 
the
top of my head, i'd like to see GNU find/xargs added to the ebuild
environment.
-mike
  
   Mike, exactly as I said.  That's option #2, and I think it could be a
   great solution.  As for deficient, well, that's in the eye of the
   beholder.  ;)
  
 -Joe
 
  Question, if you go for #2. Does that mean you will need all the
  required GNU userland to do binary only installs?
 
  It would be highly desireable to be able to do binary installs (write
  your own binary only package manager) without depending on all the GNU
  stuff needed to compile the packages.
 
 Your own binary only package manager would still need to provide
 Option #2; ie you need to have GNU tools installed to process the
 binary packages.  pkg_* functions could still have GNU stuff in them
 and those still get run during a binary package install.

If we would like to be able to do binary installs without the GNU tools,
what alternatives do we have?

Those pops up to my mind:

A. move the pkg_* functions out of the ebuild to a separate file. Those
have a subset of the EAPI and needs to be posix compliant.

B. don't use GNU extensions in pkg_functions and have some way to export
them (extract pkg_* functions from environment.bz2). Those can then be
used by pre/post script in binary package manager.

C. Binary package managers will need to write their own pre/post
scripts.


Any other alternatives?

Comments?


Alternative C is what I do today.

-nc

 
 -Alec

-- 
[EMAIL PROTECTED] mailing list