Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-24 Thread Michael Haubenwallner
Ok, no separate glep for home installation:

So i need some clues how to install plugins into home - attached is some
ebuild patch sample (actually not a diff output) how i would try to start
with vim-plugins.eclass, as a discussion base.

Variables to be set by portage:
PREFIX=/home/haubi
AFFIX=home/haubi/ (not used here)
INSTALL_TARGET_TYPE=home (value is found in the SUPPORTS
metadata-variable)
This is a new variable which needs a better name, or even a portage-function
for querying the install target type, which comes from the
'emerge --target home' bit by Brian Harring.

Is it confusing when PREFIX contains home-dirs - should another variable
name be used for home-dir, or should PREFIX/AFFIX be renamed - suggestions ?

Where should additional documents (seen in current vim-plugin_src_install)
go to ?
Can `id -un`:`id -gn` (maybe wrapped by some portage function, using glep 27
for non-home-target) be used to set the owner of the files ?

~haubi


begin 666 vim-plugins-home.patch
M(!V:6TMQU9VEN7W-R8U]I;G-T86QL*D@PHM( @(!L;V-A;!FBL@
M( @(QO8V%L([EMAIL PROTECTED]B!GF]U!D97-T8F%S92!D97-T9ERBL@BL@
M( @(EF(%L@(B1[24Y35$%,3%]405)'151?5%E017TB(#T@(FAO;64B(%T*
M*R @( @=AE;@HK( @( @( @(R!T:ES(ES(YO=!G;5P(#(WBL@
M( @( @(!UV5R/6!I9 M=6Y@BL@( @( @(!GF]U#U@:[EMAIL PROTECTED]
M8 HK( @( @( @95S=)AV4](B1[4%)%1DE8?2(@( C(%!2149)6#TO
M:]M92\\=7-ECX**R @( @( @(1EW1D:7(](BYV:6TBBL@( @(5L
MV4**R @( @( @(,@9VQE R-R!A'!L:65S(AEF4@/PHK( @( @
M( @=7-ECUR;V]TBL@( @( @(!GF]U#UR;V]TBL@( @( @(!D
M97-T8F%S93TB)'M04D525A]+W-H87)E+W9I;2(**R @( @( @(1EW1D
M:7(](G9I;69I;5S(@HK( @(!F:0H*( @( @96)E9VEN():7AI;F@
M9FEL92!P97)M:7-S:6]NR(*( @( @(R!-86ME('-UF4@5R;7,@87)E
M(=O;V0*( @( @8VAM;[EMAIL PROTECTED](@82MR6 DU-]('Q\(1I92 B8VAM;V0@
M9F%I;5D(@HM( @(!F:6YD([EMAIL PROTECTED](@(=P;W)T86=E)R M97AE
M8R!C:]W;B!R;V]T(=[?2@[EMAIL PROTECTED]'[EMAIL 
PROTECTED]EE()C:]W;B!F86EL960BBT@
M( @(9I;F0@)'M3?2 M9W)O=7 @)W!OG1A9V4G(UE5C(-H9W)P(')O
M;W0@)WM])R!.R!\?!D:64@(F-H9W)P(9A:6QE9(**R @( @9FEN9 D
MU-](UUV5R( G]R=%G92@+65X96,@8VAO=VX@(B1[=7-EGTB(=[
M?2@[EMAIL PROTECTED]'[EMAIL PROTECTED]EE()C:]W;B!F86EL960BBL@( 
@(9I;F0@)'M3?2 M
M9W)O=7 @)W!OG1A9V4G(UE5C(-H9W)P((DV=R;W5P?2(@)WM])R!
M.R!\?!D:64@(F-H9W)P(9A:6QE9(*( @( @965N9 D/PH**'-N:7!P
[EMAIL PROTECTED]AE(1O8W5M96YT871I;VXI@HM( @(!D;V1IB O=7-R+W-H87)E
M+W9I;0HM( @(!M=B DU-](1[1'TO=7-R+W-H87)E+W9I;2]V:6UF:6QE
MPHK( @(!D;V1IB B)'MD97-T8F%S97TBBL@( @(UV(1[4WT@(B1[
?1'TDV1EW1B87-E?2\DV1EW1D:7)](@H@('T*@``
`
end

-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-24 Thread Ciaran McCreesh
On Tue, 24 May 2005 11:53:30 +0200 Michael Haubenwallner
[EMAIL PROTECTED] wrote:
| Variables to be set by portage:
| PREFIX=/home/haubi
| AFFIX=home/haubi/ (not used here)

Hrm. So what do we use for finding out where our non-home deps are
installed then?

| Where should additional documents (seen in current
| vim-plugin_src_install) go to ?

I'd suggest that you try something like gkrellm plugins -- there're some
nice subtleties with vim plugins to do with docs tag generation that
will require patching vim itself for things to work properly.

-- 
Ciaran McCreesh : Gentoo Developer (Vim, Shell tools, Fluxbox, Cron)
Mail: ciaranm at gentoo.org
Web : http://dev.gentoo.org/~ciaranm



pgp97sHPV1oVS.pgp
Description: PGP signature


Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-24 Thread Brian Harring
On Tue, May 24, 2005 at 11:07:54AM +0100, Ciaran McCreesh wrote:
 On Tue, 24 May 2005 11:53:30 +0200 Michael Haubenwallner
 [EMAIL PROTECTED] wrote:
 | Variables to be set by portage:
 | PREFIX=/home/haubi
 | AFFIX=home/haubi/ (not used here)
 
 Hrm. So what do we use for finding out where our non-home deps are
 installed then?
add a bash func that abuses the ebd pipes to query 
portage directly.  
get_installed_prefix ${atom} might fly, although naming/ironing out 
semantics is required.
~brian


pgp3BQNKv9m2m.pgp
Description: PGP signature


Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-23 Thread Michael Haubenwallner


Jason Stubbs wrote:
 On Friday 20 May 2005 21:30, Michael Haubenwallner wrote:
snip
But - aren't there many settings left over to the packages to decide,
at least to choose the package-defaults ?
 
 
 Any package that does this is broken. There are a couple of cases where 
 there's no other choice because portage doesn't allow for anything else but 
 that will change.

Hmm - are there ideas/plans already around how that will change -
did i miss something ?

~haubi
-- 
Michael HaubenwallnerSALOMON Automation GmbH
Forschung  Entwicklung  A-8114 Friesach bei Graz
mailto:[EMAIL PROTECTED]  http://www.salomon.at
No HTML/MIME please, see http://expita.com/nomime.html
-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-20 Thread Michael Haubenwallner


Jason Stubbs wrote:
snip
 I intend that the package to be installed should not assume anything about 
 where its dependencies are and should query portage for them all.

Oh no, now many things get much clearer to me :(

But - aren't there many settings left over to the packages to decide,
at least to choose the package-defaults ?

 Requiring ebuilds to have special handling for when their dependencies
 are in the same ${PREFIX} and when in a different ${PREFIX} just seems
 crazy to me.

Agreed.
You intend to use some portage-API in ebuilds which knows where and how
to look for dependencies, did i get this right ?
But having portage to behave differently seems crazy to me though.

 If portage doesn't tell the packages what to build against, they'll go their 
 own merry way which would definitely make the binary packages mentioned below 
 impossible.

Disagreed - binary packages right now can only be shared between highly
identical machines...

It seems that there are two philosophies of how packages find their
dependencies:

1) The Gentoo-Linux one:
   All the depency information comes from the package manager and is
   passed to packages by commandline, skipping the whole
   autoconf-intelligence.

pro:
+ The patching required for packages is less complex, most of the
time the autoconf-intelligence has to be disabled if there's a
commandline parameter missing for a particular feature.

contra:
- To get this work on different platforms, an autoconf alike
intelligence has to be re-implemented to portage and the ebuilds,
including access to provided/injected packages or to the
primary pkg mgr's database.

- External packages installed by hand into the primary prefix will not
be stored in the primary pkg mgr's database and therefore cannot
be seen by portage as the secondary mgr once portage could read it.

- There's always a rest of decicions left to the package's
autoconf-intelligence.

- This works for the primary package mgr, but would become
unmaintainable for secondary installations - which is your
legitimate fear.

- Different behaviour seems to be required within the ebuilds or
(through an API) portage if installed to / or prefix or ~.

2) The one necessary for secondary installation:
   Let the packages decide from environment (PATH,PKG_CONFIG_PATH,...)
   and filesystem where to find their dependencies, and the package
   manager just has to prepare the environment variables and the
   filesystem to let the autoconf intelligence work.

pro:
+ Many of the packages already do compile and run on several platforms,
by checking the environment and filesystem, and are shipped with the
autoconf-intelligence required for that.
This intelligence is used and therefore not needed in portage and
ebuilds.

+ This is what autoconf/libtool are created for.

+ If there are external packages installed by hand into the primary
prefix, they are normally recognized, because they appear on the
filesystem and in the environment.

+ When installing within a primary portage, this continues to work.

+ The pkg mgr does nearly the same commands as an administrator likes to
do by hand if she has no pkg mgr at hand:
   ./configure [--prefix=/my/prefix]
   make
   make install [DESTDIR=/tmp/inst]
without any more arguments ideally.

+ Seems to be much less need for ebuild/portage to behave differently if
installed to / or prefix or ~

contra:
- If the autoconf-intelligence does not work, there's more effort needed
to create the patches to get it work.

- There's always a rest of issues needed to be dealt with in some
ebuilds.


Portage itself does not predetermine which philosophy to use - it is to
the ebuild-dev to choose one - but maybe portage's full-support for the
former doesn't exist and isn't going to exist for a very long time, if
ever (to say it with ciaranm's words).

To me now, my real problem seems to be the philosophy established
in the ebuild-devs right now, could that be the case ?

 Until portage supports other package formats, an equivalent of 
 package.provided would be used for this. However, this has nothing to do with 
 how ebuilds would find out where their dependencies are.

Agreed, but just to ensure unterstanding:
One thing is the dependency tree for the pkg mgr to install all the
prerequisites, the other is how packages then find those prerequisites,
right ?

7  Portage needs to be able to configured with one-way dependency
allowance between installed package databases. For example, ~ installed
packages are allowed to depend on / installed packages.

When installing a package into ~, a dependency install to / or prefix
becomes triggered or sth. like that, do you mean this ?

 This is just silly, in my opinion. Home-support may have issues beyond 
 prefix-support, but most of them are the same. Why would you only want to 
 consider prefix-support and implement it if considering home-support might 
 

Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-20 Thread Jason Stubbs
On Friday 20 May 2005 21:30, Michael Haubenwallner wrote:
 Jason Stubbs wrote:
 snip

  I intend that the package to be installed should not assume anything
  about where its dependencies are and should query portage for them all.

 Oh no, now many things get much clearer to me :(

 But - aren't there many settings left over to the packages to decide,
 at least to choose the package-defaults ?

Any package that does this is broken. There are a couple of cases where 
there's no other choice because portage doesn't allow for anything else but 
that will change.

  Requiring ebuilds to have special handling for when their dependencies
  are in the same ${PREFIX} and when in a different ${PREFIX} just seems
  crazy to me.

 Agreed.
 You intend to use some portage-API in ebuilds which knows where and how
 to look for dependencies, did i get this right ?
 But having portage to behave differently seems crazy to me though.

I would fiercely disagree with implementing ${PREFIX} support without doing 
major changes in portage to support it. There's enough hacks in portage 
already.

  If portage doesn't tell the packages what to build against, they'll go
  their own merry way which would definitely make the binary packages
  mentioned below impossible.

 Disagreed - binary packages right now can only be shared between highly
 identical machines...

In general, I do not be the case.

 It seems that there are two philosophies of how packages find their
 dependencies:

 1) The Gentoo-Linux one:
All the depency information comes from the package manager and is
passed to packages by commandline, skipping the whole
autoconf-intelligence.

 pro:
 + The patching required for packages is less complex, most of the
 time the autoconf-intelligence has to be disabled if there's a
 commandline parameter missing for a particular feature.

+ Portage is able to know what a package requires and can ensure system
  consistency.

+ Binary packages are possible.

 contra:
 - To get this work on different platforms, an autoconf alike
 intelligence has to be re-implemented to portage and the ebuilds,
 including access to provided/injected packages or to the
 primary pkg mgr's database.

Wrong. What do you think *DEPEND is if it's not autoconf alike intelligence?

 - External packages installed by hand into the primary prefix will not
 be stored in the primary pkg mgr's database and therefore cannot
 be seen by portage as the secondary mgr once portage could read it.

No different to the current system. This is what package.provided is for.

 - There's always a rest of decicions left to the package's
 autoconf-intelligence.

Such as? I don't know if this is a pro or a con or what.

 - This works for the primary package mgr, but would become
 unmaintainable for secondary installations - which is your
 legitimate fear.

Without it, there is no guarantee of system consistency and hence no reason 
for adding support for it into portage at all. If you don't want portage to
maintain system consistency for you, why not just do ./configure; make; make 
install ?

 - Different behaviour seems to be required within the ebuilds or
 (through an API) portage if installed to / or prefix or ~.

Different behaviour between prefix or ~ only. / is just another prefix. This 
is definitely not a con of philosophy 1. It is a requirement regardless.

 2) The one necessary for secondary installation:
Let the packages decide from environment (PATH,PKG_CONFIG_PATH,...)
and filesystem where to find their dependencies, and the package
manager just has to prepare the environment variables and the
filesystem to let the autoconf intelligence work.

necessary? I think not.

 pro:
 + Many of the packages already do compile and run on several platforms,
 by checking the environment and filesystem, and are shipped with the
 autoconf-intelligence required for that.
 This intelligence is used and therefore not needed in portage and
 ebuilds.

Works the same for /, no? Tell me again what the point of portage is?

 + This is what autoconf/libtool are created for.

Do you use a new point to reiterate your last point just to make it look like 
your way is better?

 + If there are external packages installed by hand into the primary
 prefix, they are normally recognized, because they appear on the
 filesystem and in the environment.

Woops. Exactly the same point again.

 + When installing within a primary portage, this continues to work.

And again. Except that here you're saying that system consistency should be 
thrown out the window altogether. It seems to me like your concept of portage 
is:

emerge() {
PKG=$1
tar zxf ${PKG}
cd ${PKG/.tar.gz/}
./configure
make  make install
}

 + The pkg mgr does nearly the same commands as an administrator likes to
 do by hand if she has no pkg mgr at hand:
./configure [--prefix=/my/prefix]

Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-19 Thread Ciaran McCreesh
On Thu, 19 May 2005 10:18:03 +0200 Michael Haubenwallner
[EMAIL PROTECTED] wrote:
|  So unless it is shown otherwise, home install support requires:
| 
| But imo the home-support _really_ requires another glep, as there
| are lots of more issuses than for the prefix-support.

Naah. Not really. The hard part is figuring out how to correctly change
all shell scripts that start with #!/bin/sh to use the portage-provided
sh instead, all perl scripts that start with #!/usr/bin/perl or
#!/usr/bin/env perl to use the portage-provided perl instead, how to fix
all autotools checks which look in /usr/lib first and so on. From an
ebuild perspective, which is where most of the work will be, asking
portage just where it *should* look is really just a sidenote that needs
to be documented somewhere.

-- 
Ciaran McCreesh : Gentoo Developer (Vim, Shell tools, Fluxbox, Cron)
Mail: ciaranm at gentoo.org
Web : http://dev.gentoo.org/~ciaranm



pgpPRjnQJOTKt.pgp
Description: PGP signature


Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-19 Thread Michael Haubenwallner


Ciaran McCreesh wrote:
 On Thu, 19 May 2005 10:18:03 +0200 Michael Haubenwallner
 | But imo the home-support _really_ requires another glep, as there
 | are lots of more issuses than for the prefix-support.
 
 Naah. Not really. The hard part is figuring out how to correctly change
 all shell scripts that start with #!/bin/sh to use the portage-provided
 sh instead, all perl scripts that start with #!/usr/bin/perl or
 #!/usr/bin/env perl to use the portage-provided perl instead, how to fix
 all autotools checks which look in /usr/lib first and so on. From an
 ebuild perspective, which is where most of the work will be, asking
 portage just where it *should* look is really just a sidenote that needs
 to be documented somewhere.
 

Here some things imo not needed to mention in the glep:

Most of the packages (not ebuilds) wont work on systems without
/bin/sh (Bourne-Shell, not bash) and /usr/bin/env, so there's no need to
have a Bourne-Shell installed in /my/prefix/bin/sh instead of /bin/sh.

When a user wants to use things (including portage) from /my/prefix,
he/she has to source /my/prefix/etc/profile (this could be in the glep).

Once this is done, this line will find the portage-installed
interpreters:
#! /usr/bin/env {bash,perl,python,whatever}

When portage starts the ebuild-daemon, i've seen that portage removes
PATH from environment and lets bash use its default-PATH.

So i've added one more patch to bash.ebuild to change the default-PATH
to /my/prefix/bin:/usr/bin:/bin if prefix!=/usr instead of
/usr/local/bin:/usr/bin:/bin, which is done in bash.ebuild right now.

autoconf-checks: i configure gcc '--with-local-prefix=/my/prefix' in
case of prefix!=/usr, so gcc searches in /my/prefix/lib:/usr/lib:/lib
for libraries by default, and the checks should rely on the compiler to
find the right libraries when configuring.

Another one is ld.so.conf:
All of the shlib-loaders know some kind of LD_LIBRARY_PATH in environ,
and instead of writing /my/prefix/etc/ld.so.conf, portage puts the
LDPATH-bits from env.d/ into this variable, so finding the right
shared-libs does work.

So at least bash is required to be installed into same prefix as
portage, and its easier to have gcc here too instead of setting
CPATH and LIBRARY_PATH to /my/prefix/{include,lib} and providing gcc.

And it is necessary to have different baselayouts and profiles necessary
for different systems (solaris,aix,hpux,...) to keep the differences
outside of portage.

And for a package (not the ebuild) which cannot install to prefix, it is
unlikely that it makes sense to install it besides the primary prefix.

~haubi
-- 
Michael HaubenwallnerSALOMON Automation GmbH
Forschung  Entwicklung  A-8114 Friesach bei Graz
mailto:[EMAIL PROTECTED]  http://www.salomon.at
No HTML/MIME please, see http://expita.com/nomime.html
-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-19 Thread Ciaran McCreesh
On Thu, 19 May 2005 13:05:20 +0200 Michael Haubenwallner
[EMAIL PROTECTED] wrote:
| Most of the packages (not ebuilds) wont work on systems without
| /bin/sh (Bourne-Shell, not bash) and /usr/bin/env, so there's no need
| to have a Bourne-Shell installed in /my/prefix/bin/sh instead of
| /bin/sh.

So what if /bin/sh is a nastily h0rked non-POSIX implementation? Or what
if we have packages with a dep upon a specific sh version? The portage
provided version must be used in all cases.

| Once this is done, this line will find the portage-installed
| interpreters:
| #! /usr/bin/env {bash,perl,python,whatever}

No good, because we won't be using the portage-provided env binary. And
that only works for things that actually use env (which is considered
discouraged).

| autoconf-checks: i configure gcc '--with-local-prefix=/my/prefix' in
| case of prefix!=/usr, so gcc searches in
| /my/prefix/lib:/usr/lib:/lib for libraries by default, and the
| checks should rely on the compiler to find the right libraries when
| configuring.

I could dig out a rather large list of annoying counterexamples, all of
which would need manual fixing...

-- 
Ciaran McCreesh : Gentoo Developer (Vim, Shell tools, Fluxbox, Cron)
Mail: ciaranm at gentoo.org
Web : http://dev.gentoo.org/~ciaranm



pgpMnzJOB3wRE.pgp
Description: PGP signature


Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-19 Thread Michael Haubenwallner
One general Question:
How can open source packages work on Unices which are non-Gentoo-Linux
if there are that many unresolved issues you try to point out ?

This is what autoconf and libtool are for, and if a package lacks using
them, autoconf/libtool-like trickery has to be done in ebuilds.

There are always 'what if' situations, where the secondary package
manager cannot be responsible for. Portage and ebuilds have to avoid
_all_ those situations _only_ if portage is the _primary_ pkg mgr.

As secondary pkg mgr, _some_ basic working things must be presumeable.

Ciaran McCreesh wrote:
 On Thu, 19 May 2005 13:05:20 +0200 Michael Haubenwallner
 [EMAIL PROTECTED] wrote:
 | Most of the packages (not ebuilds) wont work on systems without
 | /bin/sh (Bourne-Shell, not bash) and /usr/bin/env, so there's no need
 | to have a Bourne-Shell installed in /my/prefix/bin/sh instead of
 | /bin/sh.
 
 So what if /bin/sh is a nastily h0rked non-POSIX implementation? Or what
 if we have packages with a dep upon a specific sh version? The portage
 provided version must be used in all cases.

If /bin/sh is a bad shell, many packages wouldn't work,
independend if installed by hand or by portage/ebuilds.

And if a package depends on specific version, it is able to find such a
version itself or at least to specify the location of the right version.

 | Once this is done, this line will find the portage-installed
 | interpreters:
 | #! /usr/bin/env {bash,perl,python,whatever}
 
 No good, because we won't be using the portage-provided env binary. And
 that only works for things that actually use env (which is considered
 discouraged).

Same here, if a package cannot operate with /usr/bin/env on
non-Gentoo-Linuxes, and is dedicated to run on such Unices,
it should be able to find the right one or get it specified.

No somewhat correct package, which says to run on Unix, should have
hardcoded '#! /usr/bin/perl' but find it in PATH.

 | autoconf-checks: i configure gcc '--with-local-prefix=/my/prefix' in
 | case of prefix!=/usr, so gcc searches in
 | /my/prefix/lib:/usr/lib:/lib for libraries by default, and the
 | checks should rely on the compiler to find the right libraries when
 | configuring.
 
 I could dig out a rather large list of annoying counterexamples, all of
 which would need manual fixing...
 

Sure, but what's the problem with manual fixing ?
The one who needs it will look for how to fix it.

And why not let portage support features not required for Gentoo-Linux ?

Portage is just another open source package, which is able to be ported
to other Unices, with the power to become _the_ secondary pkg mgr.

~haubi
-- 
Michael HaubenwallnerSALOMON Automation GmbH
Forschung  Entwicklung  A-8114 Friesach bei Graz
mailto:[EMAIL PROTECTED]  http://www.salomon.at
No HTML/MIME please, see http://expita.com/nomime.html
-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-19 Thread Ciaran McCreesh
On Thu, 19 May 2005 14:46:34 +0200 Michael Haubenwallner
[EMAIL PROTECTED] wrote:
| How can open source packages work on Unices which are non-Gentoo-Linux
| if there are that many unresolved issues you try to point out ?

The issues I'm pointing out are things which are issues with the way
ebuilds are set up and the way builds are done in general. They're some
of the same issues that you'll encounter when doing ports to nasty unix
clones.

-- 
Ciaran McCreesh : Gentoo Developer (Vim, Shell tools, Fluxbox, Cron)
Mail: ciaranm at gentoo.org
Web : http://dev.gentoo.org/~ciaranm



pgpjxNeUbEi4q.pgp
Description: PGP signature


Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-12 Thread Michael Haubenwallner

- Original Message -
From: Marius Mauch [EMAIL PROTECTED]
 Ciaran McCreesh wrote:
snip
 As for the new metadata variable, I think it should be a complement to
 RESTRICT (not limited to prefix). As the name for this var I suggest
 SUPPORTS, so for an ebuild that can install into /usr, $PREFIX and $HOME
 it would look like:
 SUPPORTS=prefix prefix-home (as /usr is implicit)

For the values of the SUPPORTS-Variable (i like the name) i'd prefer some
words pointing to the package-manager used (primary/secondary/home), fex
secondarypm homepm or 2ndpm homepm or the like (more ideas welcome),
because /usr is a 'prefix' too.

But here's just one point to think of how to avoid redundant information in
ebuilds:

The SUPPORTS-Variable _will_ be necessary for home-installation, sure. But
when an ebuild has KEYWORDS='sparc' and SUPPORTS='2ndpm', this does not
automatically imply that it compiles on a 'sparc-solaris' - this keyword has
to be added explicitly.

But how likely is it that on 'sparc-solaris' portage would be the primary
pkg mgr installing into /usr ?

So when an ebuild has 'sparc-solaris' in keywords, imo one can assume that
it _does_ support secondarypm (also look at
http://www.gentoo.org/proj/en/glep/glep-0022.html#reasonable-defaults).

Or is this assumption too much implicit ?

Well, right, this will break the bsd keyworded ebuilds when used with a
secondary pm unless they support it, so this would not be a reasonable way
to go, just a point to think of (imo installing into primary prefix with a
secondary pkg mgr is sth. weird...)

~haubi

PS: sorry for beeing offline most of the time, i'm on holiday until May 17,
just sporadically reading mail, and completely offline from May 13


-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-12 Thread Marius Mauch
Michael Haubenwallner wrote:
- Original Message -
From: Marius Mauch [EMAIL PROTECTED]
Ciaran McCreesh wrote:
snip
As for the new metadata variable, I think it should be a complement to
RESTRICT (not limited to prefix). As the name for this var I suggest
SUPPORTS, so for an ebuild that can install into /usr, $PREFIX and $HOME
it would look like:
SUPPORTS=prefix prefix-home (as /usr is implicit)

For the values of the SUPPORTS-Variable (i like the name) i'd prefer some
words pointing to the package-manager used (primary/secondary/home), fex
secondarypm homepm or 2ndpm homepm or the like (more ideas welcome),
because /usr is a 'prefix' too.
That looks horribly confusing. Doesn't really matter if /usr is a prefix 
or not.

But here's just one point to think of how to avoid redundant information in
ebuilds:
The SUPPORTS-Variable _will_ be necessary for home-installation, sure. But
when an ebuild has KEYWORDS='sparc' and SUPPORTS='2ndpm', this does not
automatically imply that it compiles on a 'sparc-solaris' - this keyword has
to be added explicitly.
But how likely is it that on 'sparc-solaris' portage would be the primary
pkg mgr installing into /usr ?
Depends if there will be a Gentoo/OpenSolaris ...
So when an ebuild has 'sparc-solaris' in keywords, imo one can assume that
it _does_ support secondarypm (also look at
http://www.gentoo.org/proj/en/glep/glep-0022.html#reasonable-defaults).
Or is this assumption too much implicit ?
It would be confusing IMO.
Marius
--
gentoo-dev@gentoo.org mailing list


Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-09 Thread Brian Harring
On Mon, May 09, 2005 at 03:46:57AM +0300, Marius Mauch wrote:
 Brian Harring wrote:
 Clarify please :)
 Offhand, I don't see why a bin repo for a home target isn't viable, 
 along with a vdb repo in the same location.  It's a bit trickier, but 
 I suspect it might be a bit more flexible in the long run.
 
 I don't think that's possible without a lot of hacking for many packages 
 as $HOME will be expanded at build time and might be included in the 
 resulting binaries. Or in other words: If it works, we don't need 
 $PREFIX support at all as packages could be relocated at merge time.
Was referencing per home binrepo's; basically (if desired by the 
admin/user), binpkg backups of per user home targets.

End result is per user FEATURES=buildpkg support, with the binpkgs 
safely tucked away within $HOME of the user.  If we're already doing 
the dep calculation of what nodes are needed, and where (home prefix, 
or global, etc), don't see why that info can't be tucked away and used 
as a restriction for the binpkg generated for that particular user...
~brian
-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] new glep draft: Portage as a secondary package manager OT

2005-05-08 Thread Brian Harring
On Sat, May 07, 2005 at 04:51:36PM +0100, Ciaran McCreesh wrote:
 | If a dev doesn't have adequate knowledge for a particular package he 
 | shouldn't be fscking with it in the first place. So there said package
 | can sit, having only the ability to install to / just like it always 
 | has until someone with interest/need/knowledge comes along and takes 
 | care of it.
 
 You and I know that. Brian seems to be assuming that the people that do
 the work will know how to handle every single package in the tree.

You're agreeing to the point kito made (my point spelled out for you) 
and you take a parting shot at me?

Was that really needed?


 Eh? No. It's about getting a major change done cleanly and without
 causing another disaster of OSX-sized proportions.

Fud.

OSX was a disaster _because_ it was implemented and dumped on everyone else, 
without involving anyone else.  This discussion/glep is to hash out the 
idea and issues, _rather_ then making it official and dumping the 
issues on others to address.


 |  No, they're a demonstration of why the GLEP in its current form is
 |  inadequate. I'll carry on pulling up further examples until you
 |  realise that it's not just a minor issue, it's a huge problem that
 |  needs a big change to the GLEP.
 | 
 | How about suggesting what that big change would be?
 
 I've done that already several times in this thread.

You've suggested ICANINSTALLTO, which has become SUPPORTS.  Beyond 
that you've either insulted those involved (the initial IRC 
discussion), or resorted to heckling the proposal via the same angle 
repeatedly.  Funny part is above you agree on the response I've 
stated to you repeatedly, only after it's written by someone else.


Intermixing another lovely bit of your slander/attacks.
 The reason that this thing was written up as a GLEP was because the   
 
 author was trying to bypass the discussion and get around having to 
 fix various flaws that had been pointed out previously.

I suggested haubi write it up as a glep, and bring it to this ml for 
the purpose of discussion of it, issues and all.

The funny thing is, if we just slipped the changes into portage and 
released it, we would be sidestepping the issues.  It would be the OSX 
disaster.

Write the sucker up as a glep, issues and all for discussion, and you 
attack those involved as trying to bypass the discussion.

So pretty much it's screwed if you do, screwed if you don't.  That's 
definitely one way to block progress on it; even bringing up the idea
equals you flaming/attacking those involved with it.

The entertaining aspect of this whole exchange is that you agree to 
jason's rephrasing of it (plus binpkg issues), which is the same damn 
thing you've been arguing against.

Basically, you've been an ass for the sake of being an ass thus far 
for anyone involved in the proposal.
It's not needed, and just wasted a chunk of my time, and yours for no 
valid reason.
~brian
-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-08 Thread Brian Harring
On Sun, May 08, 2005 at 12:47:05AM +0900, Jason Stubbs wrote:
 6  Portage must disallow the creation of binary packages where all
dependencies are not in the same PREFIX.
First level, second level... ?
I'd rather see the deps/prefix data slapped into the binpkg, and 
tracked alongside, and verified prior to installation.
Reason being- say a package links against libssl, and 
is built to be installed into a user's directory (irssi for example).  
A restriction of the sort you're specifying would block irssi from 
ever being binpkg'd for home installation.

 I was planning to summarize home install support here,
Clarify please :)
Offhand, I don't see why a bin repo for a home target isn't viable, 
along with a vdb repo in the same location.  It's a bit trickier, but 
I suspect it might be a bit more flexible in the long run.
~brian
-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] new glep draft: Portage as a secondary package manager OT

2005-05-08 Thread Ciaran McCreesh
On Sun, 8 May 2005 02:58:32 -0500 Brian Harring [EMAIL PROTECTED]
wrote:
| Write the sucker up as a glep, issues and all for discussion, and you 
| attack those involved as trying to bypass the discussion.

Bah. It should have been written up as a GLEP with the initial feedback
already incorporated.

| The entertaining aspect of this whole exchange is that you agree to 
| jason's rephrasing of it (plus binpkg issues), which is the same damn 
| thing you've been arguing against.

I'm not arguing against the general concept. I'm arguing against some of
the implementation issues which you and Michael are trying to gloss
over. You know this, stop trying to spin it any other way.

-- 
Ciaran McCreesh : Gentoo Developer (Vim, Shell tools, Fluxbox, Cron)
Mail: ciaranm at gentoo.org
Web : http://dev.gentoo.org/~ciaranm



pgpZqwrz5UchI.pgp
Description: PGP signature


Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-08 Thread Marius Mauch
Brian Harring wrote:
Clarify please :)
Offhand, I don't see why a bin repo for a home target isn't viable, 
along with a vdb repo in the same location.  It's a bit trickier, but 
I suspect it might be a bit more flexible in the long run.
I don't think that's possible without a lot of hacking for many packages 
as $HOME will be expanded at build time and might be included in the 
resulting binaries. Or in other words: If it works, we don't need 
$PREFIX support at all as packages could be relocated at merge time.

Marius
--
gentoo-dev@gentoo.org mailing list


Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-07 Thread Brian Harring
On Sat, May 07, 2005 at 02:39:20AM +0100, Ciaran McCreesh wrote:
 'tweak' is too mild a term... As far as I can tell I'm the only person
 who's bothered to actually even try to look at this from an ebuild
 perspective

Surprisingly, not quite true (was fun stating it I'm sure though).


 -- not pretty... For every package in the tree that has a
 sed -e 's,/usr/local,/usr,g' there's another that would need a sed
 turning /usr into whatever prefix ends up as

Dodging the valid sed criticism, no, a secondary sed would be 
something of a hack.  Substitue the prefix var instead.

Re: changes, yes, things will need changes, and again, as stated 
thrice, those who want the changes are the ones who are stuck doing 
said changes.  In other words, the actual work required to 
cleanse/correct the tree isn't getting dumped on ebuild devs as a whole.  

The change in conventions for writing ebuilds _is_ falling on 
ebuild dev's heads.  

Remember that in the grand scheme of things, the required changes to how 
ebuilds are written is a helluva lot more important then basically 
retrofitting existing ebuilds.

In other words, you would be wise to snipe the suggested changes to 
writing an ebuild, rather then dragging out example after example of 
possible required changes to the tree.  The examples you're dragging 
out basically come down to making sure the ebuild is 'correct' for the 
package.  I can just as quickly drag out example after example of 
potential mistakes ebuild devs can make _now_.

Basically, if the only thing you can point out as a con against this 
glep is changes -the interested parties would have to make to the 
existing tree-, please summarize rather then dragging this out over a 
week.  If you're after arguing that the potential complexity involved 
in mapping an ebuild into a nonstandard prefix is too large, summarize 
and state that, etc.

Getting a bit tired of repeatedly stating (whether irc or ml) yes, 
the existing tree would require modification, and yes, you don't have 
to do the heavy lifting, those interested do.

If this portion of the discussion is to continue, please split 
it off into a seperate thread, thus far it's hijacked the discussion 
and is more centered on crappy ebuilds/packages, rather then potential 
changes.  Not saying it's not a valid point, just saying yeah, you 
got your point across, now can we move on to the other portions that 
need discussion?.  Remember that gleps go through several rounds of 
discussion, I'd like to see this round keep moving rather then get 
stuck in the mud.


 | Meanwhile, iirc from the last irc conversation on this, either you or 
 | dsd brought up the point of needing to be able to query if (using vim 
 | as an example) vim-core was $home, rather then usr|$PREFIX.  Care to 
 | elaborate a bit?  Mainly wondering if to encompass your requests, it 
 | might require extra metadata from the depend standpoint.
 
 Ok, say we use ICANINSTALLTO (name!). Then if we have prefix as the
 destination, there's no problem, because we know that all our deps are
 installed in ${PREFIX} as well. However, if we're installing to home,
 we need to know where our deps are -- for home installs I'm presuming
 we don't force a full dep tree in home (unlike for prefix). This
 *could* still be done with ${PREFIX} I guess? Or to avoid confusing
 things, ${DEPS_PREFIX}? Not really sure...

Could you break it down to if I'm going into home, I need xyz at the 
home level rather then global/usr ?
as in something along the lines of 
if dep_installation_target some-vim-dep home; then
# do the home equiv
else
# do the global equiv
fi;

?
~brian
-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-07 Thread Marius Mauch
Ciaran McCreesh wrote:
Ok, say we use ICANINSTALLTO (name!). Then if we have prefix as the
destination, there's no problem, because we know that all our deps are
installed in ${PREFIX} as well. However, if we're installing to home,
we need to know where our deps are -- for home installs I'm presuming
we don't force a full dep tree in home (unlike for prefix). This
*could* still be done with ${PREFIX} I guess? Or to avoid confusing
things, ${DEPS_PREFIX}? Not really sure...
As for the new metadata variable, I think it should be a complement to 
RESTRICT (not limited to prefix). As the name for this var I suggest 
SUPPORTS, so for an ebuild that can install into /usr, $PREFIX and $HOME 
it would look like:
SUPPORTS=prefix prefix-home (as /usr is implicit)

Marius
--
gentoo-dev@gentoo.org mailing list


Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-07 Thread Ciaran McCreesh
On Sat, 7 May 2005 02:08:17 -0500 Brian Harring [EMAIL PROTECTED]
wrote:
| Re: changes, yes, things will need changes, and again, as stated 
| thrice, those who want the changes are the ones who are stuck doing 
| said changes.  In other words, the actual work required to 
| cleanse/correct the tree isn't getting dumped on ebuild devs as a
| whole.  

Isn't going to work. A lot of these changes need package-specific
knowledge that most people just don't have.

| In other words, you would be wise to snipe the suggested changes to 
| writing an ebuild, rather then dragging out example after example of 
| possible required changes to the tree.  The examples you're dragging 
| out basically come down to making sure the ebuild is 'correct' for the
| package.  I can just as quickly drag out example after example of 
| potential mistakes ebuild devs can make _now_.

No, they're a demonstration of why the GLEP in its current form is
inadequate. I'll carry on pulling up further examples until you realise
that it's not just a minor issue, it's a huge problem that needs a big
change to the GLEP.

| Remember that gleps go through several rounds of 
| discussion, I'd like to see this round keep moving rather then get 
| stuck in the mud.

The reason that this thing was written up as a GLEP was because the
author was trying to bypass the discussion and get around having to fix
various flaws that had been pointed out previously.

| Could you break it down to if I'm going into home, I need xyz at the 
| home level rather then global/usr ?

Hrm. Being able to say I need xyz installed globally, and abc installed
either globally or at home level would work if and only if there was a
way of finding out where abc and xyz had been installed.

-- 
Ciaran McCreesh : Gentoo Developer (Vim, Shell tools, Fluxbox, Cron)
Mail: ciaranm at gentoo.org
Web : http://dev.gentoo.org/~ciaranm



pgpu1p1IofnsX.pgp
Description: PGP signature


Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-07 Thread Kito
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On May 7, 2005, at 9:49 AM, Ciaran McCreesh wrote:
On Sat, 7 May 2005 02:08:17 -0500 Brian Harring [EMAIL PROTECTED]
wrote:
| Re: changes, yes, things will need changes, and again, as stated
| thrice, those who want the changes are the ones who are stuck doing
| said changes.  In other words, the actual work required to
| cleanse/correct the tree isn't getting dumped on ebuild devs as a
| whole.
Isn't going to work. A lot of these changes need package-specific
knowledge that most people just don't have.
If a dev doesn't have adequate knowledge for a particular package he 
shouldn't be fscking with it in the first place. So there said package 
can sit, having only the ability to install to / just like it always 
has until someone with interest/need/knowledge comes along and takes 
care of it.

All the points you are making sound like the result of too much crisis 
management, progress shouldn't be impeded by fear of work or change.

| In other words, you would be wise to snipe the suggested changes to
| writing an ebuild, rather then dragging out example after example of
| possible required changes to the tree.  The examples you're dragging
| out basically come down to making sure the ebuild is 'correct' for 
the
| package.  I can just as quickly drag out example after example of
| potential mistakes ebuild devs can make _now_.

No, they're a demonstration of why the GLEP in its current form is
inadequate. I'll carry on pulling up further examples until you realise
that it's not just a minor issue, it's a huge problem that needs a big
change to the GLEP.
How about suggesting what that big change would be?
| Remember that gleps go through several rounds of
| discussion, I'd like to see this round keep moving rather then get
| stuck in the mud.
The reason that this thing was written up as a GLEP was because the
author was trying to bypass the discussion and get around having to fix
various flaws that had been pointed out previously.
| Could you break it down to if I'm going into home, I need xyz at the
| home level rather then global/usr ?
Hrm. Being able to say I need xyz installed globally, and abc 
installed
either globally or at home level would work if and only if there was a
way of finding out where abc and xyz had been installed.
Hmmm, what about a possible extension to the world file or a create a 
new file to store metadata such as the package installation prefix.

Kito
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.0 (Darwin)
iD8DBQFCfN9mJ0rMK/3OwgsRAkQ4AJsFdsnck7jScHUDjarT3zO/+f0aCgCdGxyR
O8+F1FVJNGQSAO5peV9/qhk=
=4kQf
-END PGP SIGNATURE-
--
gentoo-dev@gentoo.org mailing list


Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-07 Thread Jason Stubbs
On Saturday 07 May 2005 23:49, Ciaran McCreesh wrote:
 Hrm. Being able to say I need xyz installed globally, and abc installed
 either globally or at home level would work if and only if there was a
 way of finding out where abc and xyz had been installed.

The being able to say is the harder part. ;)

Having a package find out where it's dependencies are is quite simple. 
Enhancing portageq to support it will be one of the smaller tasks in all of 
this. Wrapping that with a dev-friendly bash function will be even easier.

So to summarise prefixed install support thus far:

1  Portage needs to be enhanced with a new SUPPORTS so that packages can
   specify that they can install into a non-standard location.
2  Portage needs to be enhanced with new ebuild support functions for
   detecting the location of a dependency.
3  Portage needs to supply PREFIX and AFFIX variables to those ebuilds that
   support non-standard location installs, which specify executable and
   configuration/data locations respectively.
4  Portage needs a base PREFIX and AFFIX to install to by default.
5  Packages need to be updated for support of these feature.
   - Packages that have a standard location of / rather than /usr install into
 AFFIX rather than PREFIX.

And to add my own little pieces of wisdom:

6  Portage must disallow the creation of binary packages where all
   dependencies are not in the same PREFIX.
7  Portage needs to be able to configured with one-way dependency allowance
   between installed package databases. For example, ~ installed packages are
   allowed to depend on / installed packages.

I was planning to summarize home install support here, but your statement 
above has confused me a little. Is there any case where a package *must* have 
a dependency installed globally? If so, I can't see it.

So unless it is shown otherwise, home install support requires:

8  SUPPORTS needs to be enhanced with another indicator for packages to 
   specify that they can do home installs.
9  Emerge needs to be enhanced to allow the user to specify if they want a
   home install or a prefixed install of a package.
10 Portage needs to tell the ebuild whether it should perform a home install 
   or a prefixed install.

Does that about cover it?

Regards,
Jason Stubbs


pgpuFHrpmsrf0.pgp
Description: PGP signature


Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-07 Thread Ciaran McCreesh
On Sat, 7 May 2005 10:31:49 -0500 Kito [EMAIL PROTECTED] wrote:
|  Isn't going to work. A lot of these changes need package-specific
|  knowledge that most people just don't have.
| 
| If a dev doesn't have adequate knowledge for a particular package he 
| shouldn't be fscking with it in the first place. So there said package
| can sit, having only the ability to install to / just like it always 
| has until someone with interest/need/knowledge comes along and takes 
| care of it.

You and I know that. Brian seems to be assuming that the people that do
the work will know how to handle every single package in the tree.

| All the points you are making sound like the result of too much crisis
| management, progress shouldn't be impeded by fear of work or change.

Eh? No. It's about getting a major change done cleanly and without
causing another disaster of OSX-sized proportions.

|  No, they're a demonstration of why the GLEP in its current form is
|  inadequate. I'll carry on pulling up further examples until you
|  realise that it's not just a minor issue, it's a huge problem that
|  needs a big change to the GLEP.
| 
| How about suggesting what that big change would be?

I've done that already several times in this thread.

|  The reason that this thing was written up as a GLEP was because the
|  author was trying to bypass the discussion and get around having to
|  fix various flaws that had been pointed out previously.
| 
|  | Could you break it down to if I'm going into home, I need xyz at
|  | the home level rather then global/usr ?
| 
|  Hrm. Being able to say I need xyz installed globally, and abc 
|  installed
|  either globally or at home level would work if and only if there
|  was a way of finding out where abc and xyz had been installed.
| 
| Hmmm, what about a possible extension to the world file or a create a 
| new file to store metadata such as the package installation prefix.

Needs to be easily accessible from the ebuild. Parsing things in bash is
a nuisance.

-- 
Ciaran McCreesh : Gentoo Developer (Vim, Shell tools, Fluxbox, Cron)
Mail: ciaranm at gentoo.org
Web : http://dev.gentoo.org/~ciaranm



pgp0FgWH7iSIZ.pgp
Description: PGP signature


Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-07 Thread Ciaran McCreesh
On Sun, 8 May 2005 00:47:05 +0900 Jason Stubbs [EMAIL PROTECTED]
wrote:
| I was planning to summarize home install support here, but your
| statement  above has confused me a little. Is there any case where a
| package *must* have  a dependency installed globally? If so, I can't
| see it.

I'm kinda inclined to say that there will be situations in which
packages must have a dependency installed in either / or prefix, *not*
homedir. But then, I can't think of a situation where all of the
following would be true:

* A package requires a (/ or prefix) install of a dep
* The dep in question is capable of being installed into homedir

So I think your list is good.

-- 
Ciaran McCreesh : Gentoo Developer (Vim, Shell tools, Fluxbox, Cron)
Mail: ciaranm at gentoo.org
Web : http://dev.gentoo.org/~ciaranm



pgpU0ZOv3Ju2l.pgp
Description: PGP signature


Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-06 Thread Brian Harring
On Fri, May 06, 2005 at 02:28:49PM +0100, Ciaran McCreesh wrote:
 The problem isn't the packages. The problem is the ebuilds.
Agreed, although seemed to take a bit of dancing to get done to the 
fact that yes, changing the prefix has a good chance of working.

From there, we're back to the old two step econf/eclasses _do_ address 
a sizable portion of ebuilds in the tree ;)

 |  Eh? No, see, we have KEYWORDS, which indicate whether you can use a
 |  package on a given arch.
 | 
 | Dodging my point.  You stated, if we introduce it, people will expect
 | it to actually work.  It's defeatist logic; won't try because people 
 | might bitch if they wade into experimental territory and get bit.
 | 
 | That's the point I was getting at, which you seemed to ignore/not 
 | understand.
 | 
 | Pointing out that people might try an experimental feature and hit 
 | issues and bitch as a reason for _not_ doing something is just plain 
 | daft.
 
 Except we have an easy way of marking which ebuilds will actually work
 with this thing. Why not use it? It's a hell of a lot cleaner, it gives
 us better feedback and it makes it easier for the users.
Not much for a keyword route personally, since (imo) it's a slight 
perversion of the focus of keywords.  If the keywording route was 
taken, would need to either duplicate existing keywords (have 
x86/~x86, and x86-weirdo-prefix ~x86-weirdo-prefix), or require two 
specific keywords being set (x86 and weirdo-prefix from the example 
above).  

I'd suspect your metadata addition (which needs a better name then 
ICANINSTALLTO) is the best route.

 Per-ebuild whitelisting, kind of like KEYWORDS. This has the added
 advantage of making it easy for additional kinds of install target to be
 added at some point.
See above (agreed).

 | So, fink demonstration of --prefix hackery?
 
 If you want a better example, try either SGI or Sun's GNU tools ports.
 But they don't use ebuilds either.
Well, main point was that the underlying packages _can_ swing this 
type of hackery for the most part, what is needed is a tweak to our 
ebuild conventions to allow for it.

Meanwhile, iirc from the last irc conversation on this, either you or 
dsd brought up the point of needing to be able to query if (using vim 
as an example) vim-core was $home, rather then usr|$PREFIX.  Care to 
elaborate a bit?  Mainly wondering if to encompass your requests, it 
might require extra metadata from the depend standpoint.
~brian
-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-06 Thread Ciaran McCreesh
On Fri, 6 May 2005 20:05:18 -0500 Brian Harring [EMAIL PROTECTED]
wrote:
| On Fri, May 06, 2005 at 02:28:49PM +0100, Ciaran McCreesh wrote:
|  The problem isn't the packages. The problem is the ebuilds.
| Agreed, although seemed to take a bit of dancing to get done to the 
| fact that yes, changing the prefix has a good chance of working.
| 
| From there, we're back to the old two step econf/eclasses _do_ address
| a sizable portion of ebuilds in the tree ;)

More to the point, they *don't* address a sizable portion of the ebuilds
in the tree.

| Not much for a keyword route personally, since (imo) it's a slight 
| perversion of the focus of keywords.  If the keywording route was 
| taken, would need to either duplicate existing keywords (have 
| x86/~x86, and x86-weirdo-prefix ~x86-weirdo-prefix), or require two 
| specific keywords being set (x86 and weirdo-prefix from the example 
| above).  
| 
| I'd suspect your metadata addition (which needs a better name then 
| ICANINSTALLTO) is the best route.

That was what I was proposing. Not KEYWORDS, a new variable. Which needs
a better name than ICANINSTALLTO.

|  | So, fink demonstration of --prefix hackery?
|  
|  If you want a better example, try either SGI or Sun's GNU tools
|  ports. But they don't use ebuilds either.
| Well, main point was that the underlying packages _can_ swing this 
| type of hackery for the most part, what is needed is a tweak to our 
| ebuild conventions to allow for it.

'tweak' is too mild a term... As far as I can tell I'm the only person
who's bothered to actually even try to look at this from an ebuild
perspective -- not pretty... For every package in the tree that has a
sed -e 's,/usr/local,/usr,g' there's another that would need a sed
turning /usr into whatever prefix ends up as, and it's not at all
obvious what they are. It gets even worse when you consider all the
stuff with #!/usr/bin/blah hardcoded that will need changed to use our
interpreter prefix -- these are very tricky to spot if you have a
braindead vendor-supplied interpreter in /usr/bin too.

Sure, it can be done, but not all at once, hence me screaming whitelist.

| Meanwhile, iirc from the last irc conversation on this, either you or 
| dsd brought up the point of needing to be able to query if (using vim 
| as an example) vim-core was $home, rather then usr|$PREFIX.  Care to 
| elaborate a bit?  Mainly wondering if to encompass your requests, it 
| might require extra metadata from the depend standpoint.

Ok, say we use ICANINSTALLTO (name!). Then if we have prefix as the
destination, there's no problem, because we know that all our deps are
installed in ${PREFIX} as well. However, if we're installing to home,
we need to know where our deps are -- for home installs I'm presuming
we don't force a full dep tree in home (unlike for prefix). This
*could* still be done with ${PREFIX} I guess? Or to avoid confusing
things, ${DEPS_PREFIX}? Not really sure...

-- 
Ciaran McCreesh : Gentoo Developer (Vim, Shell tools, Fluxbox, Cron)
Mail: ciaranm at gentoo.org
Web : http://dev.gentoo.org/~ciaranm



pgpoZsJn4holG.pgp
Description: PGP signature


Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-05 Thread Brian Harring
On Thu, May 05, 2005 at 03:48:49AM -0500, Brian Harring wrote:
 default being use or use/local or whatever the hell
Wow.
no more posting at 3:50 am...

meant usr for above, pardon.
~brian
-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-05 Thread Ciaran McCreesh
On Thu, 5 May 2005 03:48:49 -0500 Brian Harring [EMAIL PROTECTED]
wrote:
|  Ok, here's the main issue. Simply changing prefix isn't enough to
|  automatically make every package in the tree work. A heck of a lot
|  of them will need manual modification, and there's no easy way to
|  figure out which these are. So...
| 
| Err.  ROOT!=/ exists already, and directly screws with prefixes.  So
| this doesn't seem particularly valid in light of that fact.

No, root doesn't screw with prefixes.

|  Thing is, if we introduce the PREFIX feature, people will expect it
|  to actually work. It won't, at least not straight away, because
|  there are so many ebuilds that use more than econf to get the prefix
|  figured out. By whitelisting we can at least display a nice you
|  can't install this package in a prefix message.
| 
| Not a valid arguement to exempt even trying.
| 
| Consider if people used that arg for avoiding porting linux to new 
| arches-  Linux would still be strictly x86.

Eh? No, see, we have KEYWORDS, which indicate whether you can use a
package on a given arch.

|  Yet another issue... As it stands, all deps must be installed into
|  the given PREFIX. This is messy. Is there a way around this?  This
|  would be less of a problem with ICANINSTALLTO=home -- presumably
|  for these portage could pass a var to the ebuild telling it in which
|  prefix to look for its deps.
| 
| injections, mainly.

Nasty hack.

-- 
Ciaran McCreesh : Gentoo Developer (Vim, Shell tools, Fluxbox, Cron)
Mail: ciaranm at gentoo.org
Web : http://dev.gentoo.org/~ciaranm



pgpKZzkoe7eB9.pgp
Description: PGP signature


Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-03 Thread Marius Mauch
On Mon, 2 May 2005 21:48:10 -0500
Brian Harring [EMAIL PROTECTED] wrote:

 Clarify why portage, which _does_ function as a secondary pkg manager 
 (collision-protect wouldn't exist otherwise) wouldn't suffice if 
 someone gave enough of a damn to do the work?

Off-topic, but collision-protect wasn't written for that purpose but to
detect broken/conflicting packages. The macos project just uses it.

Marius

-- 
Public Key at http://www.genone.de/info/gpg-key.pub

In the beginning, there was nothing. And God said, 'Let there be
Light.' And there was still nothing, but you could see a bit better.


pgpZhoagFR3fl.pgp
Description: PGP signature


Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-03 Thread Michael Haubenwallner

Ciaran McCreesh wrote:

 Oh, and by the way, we don't follow FHS.

This makes things easier, so what's better - to omit this completely,
or just say (without a reference to FHS):
This document prefers a filesystem hierarchy under this prefix as close
as possible to the current filesystem hierarchy used in Gentoo Linux.

~haubi
-- 
Michael HaubenwallnerSALOMON Automation GmbH
Forschung  Entwicklung  A-8114 Friesach bei Graz
mailto:[EMAIL PROTECTED]  http://www.salomon.at
No HTML/MIME please, see http://expita.com/nomime.html

-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-03 Thread Jason Stubbs
On Monday 02 May 2005 21:22, Michael Haubenwallner wrote:
 Hi ebuild devs,

 Here's a glep draft now for (a part of) the long-term portage-goal
 act as a secondary package manager ...

How about packages that usually install into /?

Regards,
Jason Stubbs


pgpbBCO46FIdq.pgp
Description: PGP signature


Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-03 Thread Ciaran McCreesh
On Mon, 2 May 2005 19:02:29 -0500 Brian Harring [EMAIL PROTECTED]
wrote:
| State said problem for the general community.  Guessing you're 
| referencing the issue/request that being able to manage home, and 
| 'global' installations?
| 
| I'd still posit that the issue of installing to a user's home when 
| portage's base prefix is /usr/local (fex) is a seperate issue.  What 
| you were requesting for vim plugins goes beyond haubi's initial 
| goals...

Ok, here's the main issue. Simply changing prefix isn't enough to
automatically make every package in the tree work. A heck of a lot of
them will need manual modification, and there's no easy way to figure
out which these are. So...

My suggested way around this was to have a variable in ebuilds. Call it
something like ICANINSTALLTO (that name sucks, come up with something
better), which defaults to ICANINSTALLTO=usr. Ebuilds which have been
explicitly checked and designed by the maintainer for prefix installs
get ICANINSTALLTO=usr prefix.

This also allows us to do other cool stuff like ICANINSTALLTO=home,
for things like vim and gkrellm plugins which can go in ~/.vim/ and
~/.gkrellm2/plugins/ respectively.

Thing is, if we introduce the PREFIX feature, people will expect it to
actually work. It won't, at least not straight away, because there are
so many ebuilds that use more than econf to get the prefix figured out.
By whitelisting we can at least display a nice you can't install this
package in a prefix message.

Another issue... Portage installs to /usr/local are no good, because
there might be other non-portage installs there too. If we're installing
to a prefix, we have to be the *only* thing installing there. No other
packages, not even other manual installs.

Yet another issue... As it stands, all deps must be installed into the
given PREFIX. This is messy. Is there a way around this? This would be
less of a problem with ICANINSTALLTO=home -- presumably for these
portage could pass a var to the ebuild telling it in which prefix to
look for its deps.

That'll do for now. I'll shoot some more holes in it once these have
been figured out.

-- 
Ciaran McCreesh : Gentoo Developer (Vim, Shell tools, Fluxbox, Cron)
Mail: ciaranm at gentoo.org
Web : http://dev.gentoo.org/~ciaranm



pgp6wQtIw2q2O.pgp
Description: PGP signature


Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-02 Thread Ciaran McCreesh
On Mon, 02 May 2005 14:22:15 +0200 Michael Haubenwallner
[EMAIL PROTECTED] wrote:
| Hi ebuild devs,
| 
| Here's a glep draft now for (a part of) the long-term portage-goal
| act as a secondary package manager ...

Why did you post this without addressing the problems I pointed out to
you previously? Writing something up as a GLEP doesn't magically fix all
the holes in it.

Oh, and by the way, we don't follow FHS.

-- 
Ciaran McCreesh : Gentoo Developer (Vim, Fluxbox, shell tools)
Mail: ciaranm at gentoo.org
Web : http://dev.gentoo.org/~ciaranm



pgpE4zkosCpXz.pgp
Description: PGP signature


Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-02 Thread Brian Jackson
Michael Haubenwallner wrote:

Hi ebuild devs,

Here's a glep draft now for (a part of) the long-term portage-goal
act as a secondary package manager ...

Comments welcome,
  haubi
  

It's fancy, but what about ROOT? You don't like it just because you'd have 
/usr/local/usr/bin/foo?

-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-02 Thread Alec Warner
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Brian Jackson wrote:
 Michael Haubenwallner wrote:
 
 
Hi ebuild devs,

Here's a glep draft now for (a part of) the long-term portage-goal
act as a secondary package manager ...

Comments welcome,
 haubi
 

 
 It's fancy, but what about ROOT? You don't like it just because you'd have 
 /usr/local/usr/bin/foo?
 
ROOT doens't work for DEPENDS, only [R,P]DEPENDS which means I can't
install everything for pkg FOO in ROOT=/opt fex.  Mostly useful for
alt arches when /usr is taken by the primary OS and you need portage's
DEPEND packages to go somewhere else.
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iQIVAwUBQnbMxWzglR5RwbyYAQJR7BAAmi8n2DGmN+icAJODkYQQYhLDmK+AJe86
aGS2sp2gtVufZEIjDWixtmOvxnNb4i5WSwxHCFI3sRK0WdtshFjMOVaPDoajnnUk
QAEsExe90DLiwQQN55BABjC3x5kKLhuyEpH3MYMQOrv1lGOclD3j/jRRoVgakBJF
YF7o0LIEZNSeby9cqTWzBx9G+4WgLVtAFBkKc7NqvqusYuyEWr2MI7eI0D8WuEXT
BZfB1uJtKbLXBbtUNbOYAxYOnGvQieKTVErlg+Of+7qsoX3fiYn9Y09ERIK5qRQ0
k4lIwZ+75bRiANvgfBQM90G87fUTgJsIuXmVhrVc0Z4L4tfIcFuVvV16w9efiY91
JVxkUCrb8ZJPI8ScIv/sPUWAkzSKYL66xtMaVhzyeT4E6ZPD7mZcNGFu4D/oNL1Z
CpDlrkuIuBWTJOCz3vlG4bm4x9HWFi44ukq8bFMr0iiimPicJW+QoTpvZKhnMaSC
mdy7Z/rAcsIvnwcQRgcmJeCAmQQ1xVz/h/X4AyMMApAwVAFgzFvEWC7AWnxCAGMd
EVTX7D5paNA3yia9nDkEcJ1ryNhjEEQ83lFwtcRnlXNDuRQ/9bk/XzLBPXONMhye
n8rK8v+xcn0bGgjG9s2wwiMSxTQWxibqY4CB0DZR43KsL+jw3MD0B34HAbTBPE19
+mxWlsBDV+U=
=8uFj
-END PGP SIGNATURE-
-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-02 Thread Brian Jackson
On Mon, 2005-05-02 at 20:58 -0400, Alec Warner wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 Brian Jackson wrote:
  Michael Haubenwallner wrote:
  
  
 Hi ebuild devs,
 
 Here's a glep draft now for (a part of) the long-term portage-goal
 act as a secondary package manager ...
 
 Comments welcome,
  haubi
  
 
  
  It's fancy, but what about ROOT? You don't like it just because you'd have 
  /usr/local/usr/bin/foo?
  
 ROOT doens't work for DEPENDS, only [R,P]DEPENDS which means I can't
 install everything for pkg FOO in ROOT=/opt fex.  Mostly useful for
 alt arches when /usr is taken by the primary OS and you need portage's
 DEPEND packages to go somewhere else.

Well, I've got a bug open to have a different variable like ROOT that
portage would read config files from. Maybe you could jump on that
bandwagon, and see if you can make things work that way.

I just don't see the uptake to fix a very large portion of the tree for
something that I'd guess most devs think is pointless. That's also the
reason the enterprise tree hasn't taken off.

People working in their free time couldn't give a crap about people
thinking Gentoo isn't suitable for enterprise applications. In fact, I'd
bet there are even some people that already do or would sabotage such an
effort.

If you want to use portage, use Gentoo. If you want some package manager
for your solaris/x86 box(just an example!), go talk to the people that
do openembedded. They are geared toward using it as a secondary package
manager on a system.

--Iggy

-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] new glep draft: Portage as a secondary package manager

2005-05-02 Thread Brian Harring
On Mon, May 02, 2005 at 09:11:03PM -0500, Brian Jackson wrote:
 Well, I've got a bug open to have a different variable like ROOT that
 portage would read config files from. Maybe you could jump on that
 bandwagon, and see if you can make things work that way.

Assuming you're referencing CONFIG_ROOT, it frankly isn't much of a 
solution for his needs.  The problem with CONFIG_ROOT is you would 
have to set it for every emerge invocation.  His intention is to have 
portage function from a variable prefix, and install to a build time 
defined prefix.  IOW, portage using different paths on an installed 
box, not portage installed to it's normal location, and hacked up via 
an environment variable to try and change the behaviour.

I'm not much for config_root, obviously.  The intention of it, and 
varying root (imo) is a hack around portage's expectations about it's 
configuration and repos.  It's not much of a proper solution.


 I just don't see the uptake to fix a very large portion of the tree for
 something that I'd guess most devs think is pointless. 

Aparently people didn't notice the multilib changes passing through 
the tree the last few months?  Same type of wide spread change, yet 
it's being done, and ebuilds are being migrated.  Things break, but 
the party/person interested in adding the support is doing the work.

Sidenote re: fixing a large portion of the tree, eclasses and 
portage's base template for ebuilds would be the first start in 
terms of changes.  That 'very large' portion of the tree arguement 
would be ixnayed via that, what would remain is a collection of 
pissy packages that need manual tweaking.


 That's also the
 reason the enterprise tree hasn't taken off.
 People working in their free time couldn't give a crap about people
 thinking Gentoo isn't suitable for enterprise applications.

The reason for the enterprise tree not being ready/finished, or even 
*accepted* (it _still_ is a draft after all) is frankly no ones fault 
but those who want such a tree.  The reason glep25 (my own glep) isn't 
implemented is again, no ones fault but those pushing it (read: me).  
Might want to clarify what you're asserting, cause I'm not seeing the 
validity in it...

So... yeah, the enterprise angle imo is slightly daft.  If you're 
arguing that their are more 'important' things to do rather then this, 
state it as such, or please clarify...


 If you want to use portage, use Gentoo. 

That should be or put in the grunt work to support it.  If I recall 
correctly, you're working on gentoo embedded.  The arguements you're 
leveling above could just as easily be used against expanding the tree 
to support uclibc, or a slightly saner example, dropping osx support 
(portage _is_ the secondary manager there).  Hell, y'all are in a 
similar boat, for actual device updating you'll be using emerge.c, 
which _isn't_ portage, just compatible with the binpkg support.  

Either way, my point is that portage/gentoo will flow into the niche's 
people care to expand it into.  It's pointless telling them not to do 
it, because they _will_ do it anyways if it makes sense to them.  So 
point out the failings, or better solutions.

Yeah, time for me to step down from the soapbox I think...

 If you want some package manager
 for your solaris/x86 box(just an example!), go talk to the people that
 do openembedded.

Clarify why portage, which _does_ function as a secondary pkg manager 
(collision-protect wouldn't exist otherwise) wouldn't suffice if 
someone gave enough of a damn to do the work?

So yeah, anyone care to comment about the proposal's specifics, rather 
then piss off, no... ?  :)
~brian


pgpk97ief0kMp.pgp
Description: PGP signature