Re: [gentoo-user] Setting installation directories globally

2007-05-02 Thread Bo Ørsted Andresen
On Wednesday 02 May 2007 04:03:23 Paul Sebastian Ziegler wrote:
  Whats the purpose of this?

 To create a very clear directory structure for a small binary Linux
 distribution I am planning to build using Gentoo and Portage.

This reminds me very much of [1]. Basically it's a lot harder to support than 
you think it is and any voodoo patch you might come up with to support it in 
portage is very unlikely to be accepted.

ROOT is the closest thing that is supported and unlike altering prefix in the 
ebuilds or setting EXTRA_ECONF=--prefix=/blah it actually works for 
packages that don't use autotools properly. As detailed in `man make.conf` 
all build time dependencies of packages that are installed in a ROOT 
different from / will need to be installed in / (automatically by portage) so 
it's far from ideal for this purpose.

Changing --prefix is much more ideal either as it won't magically make things 
work in different locations anymore than ROOT will. Adding paths to *PATH 
environment variables will be required and that's a manual task that you'll 
need to do.

In short - this seems like an awful lot of hassle for absolutely no gain. Most 
of us consider the current directory structure to be quite clear.

[1] http://thread.gmane.org/gmane.linux.gentoo.devel/44673

-- 
Bo Andresen


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


Re: [gentoo-user] Setting installation directories globally

2007-05-02 Thread Hans-Werner Hilse
Hi,

On Wed, 02 May 2007 04:03:23 +0200 Paul Sebastian Ziegler
[EMAIL PROTECTED] wrote:

  Whats the purpose of this?
 
 To create a very clear directory structure for a small binary Linux
 distribution I am planning to build using Gentoo and Portage.

This doesn't make sense to me. ROOT is the option to specify another
ROOT directory. The layout below that ROOT might be configurable for
some applications, some other are expecting their files in certain
paths. You can override the configure settings, but this won't win
you much since some programs don't use autoconf (and there's good
reason not to use this can of worms!). Also, the applications'
behaviour is absolutely untested (e.g. some apps simply rely on finding
their initial data below /usr/share, being able to write to /var/run
and so on).

This is why we have good package managers on Linux. They deal with the
logical structure (i.e. packaging) of the files.

BTW, ROOT will win you nothing here since you want to create
binary-packages, not install them. Maybe you can try and mangle the
archives, so that they resemble the directory structure you want. But I
still can't see how that could overcome applications' built-in
assumptions, except you are thinking of tricks like unionfs or
(hard/soft-)linking into a LFS-oriented structure after installing the
packages.

-hwh
-- 
[EMAIL PROTECTED] mailing list



Re: [gentoo-user] Setting installation directories globally

2007-05-02 Thread Paul Sebastian Ziegler
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

Hi,

thank you all for your very clear and thus helpful statements.
I am going to reconsider my plans. Maybe there are better structures.
Or maybe I'll simply keep the gentoo-style structures and place some
folders with symlinks under root.

Anyways - thanks
It's always a pleasure to post here
(at least as long as people are not flaming on some semi-interesting
subject. :) )

Many Greetings
Paul
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGOJCSaHrXRd80sY8RCpkbAJ97hnxcXTVk6s1BdJWBBxa4YNO5dgCgzrm1
NMEiU+yOLwzYkv6zhNqJ02A=
=/cxF
-END PGP SIGNATURE-
-- 
[EMAIL PROTECTED] mailing list



Re: [gentoo-user] Setting installation directories globally

2007-05-01 Thread Joshua Doll

Would ROOT= in the emerge command work?

--Joshua Doll


Paul Sebastian Ziegler wrote:

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

Hy everybody,

can you please tell me if there is some way to set the install directory
of an ebuild globally without changing the ebuild?
Let me clarify:
I want a few packages to not be merged under / directly but rather to be
located under /something/*.
I understand that the ebuilds contain directives of where to install the
files through src_install(). However I don't believe it would be a good
idea to edit ebuilds manually since it would lead to breakages during
emerge --sync.
So is there some file I can edit to change the install directory for a
certain package?
For example like setting
wireshark /wifi
firefox /stuff
baselayout /
(this is just a rough sketch of what I'm looking for.)

All help would be greatly appreciated!

Many Greetings
Paul
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGN3ilaHrXRd80sY8RCuhlAKDAg/ioaMe9TnFTy6g5dvqfStzWCgCcDL4E
v+16b13Vj0m58U5LkXHlPGk=
=ZCsw
-END PGP SIGNATURE-
  


--
[EMAIL PROTECTED] mailing list



Re: [gentoo-user] Setting installation directories globally

2007-05-01 Thread Paul Sebastian Ziegler
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

I thought about that too, but wouldn't that more or less create a new
system. For instance if I emerged a library (say libpcap) with
ROOT=/libs and then tried to emerge wireshark (which depends on
libpcap) with ROOT=/analysis I think that wireshark would fail to
start due to missing libraries. (Or it would pull in libpcap once more
and merge it into /analysis thus resulting in several installed copies
at once).

Please correct me if I should be mistaken.

Thanks for the help
Paul

Joshua Doll schrieb:
 Would ROOT= in the emerge command work?
 
 --Joshua Doll
 
 
 Paul Sebastian Ziegler wrote:
 Hy everybody,
 
 can you please tell me if there is some way to set the install directory
 of an ebuild globally without changing the ebuild?
 Let me clarify:
 I want a few packages to not be merged under / directly but rather to be
 located under /something/*.
 I understand that the ebuilds contain directives of where to install the
 files through src_install(). However I don't believe it would be a good
 idea to edit ebuilds manually since it would lead to breakages during
 emerge --sync.
 So is there some file I can edit to change the install directory for a
 certain package?
 For example like setting
 wireshark /wifi
 firefox /stuff
 baselayout /
 (this is just a rough sketch of what I'm looking for.)
 
 All help would be greatly appreciated!
 
 Many Greetings
 Paul
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGN4B6aHrXRd80sY8RCg0fAJ41Oa2OFoXAtZXC0x1upa5L/v96mwCg+pFL
FbaXM7poUpNFgJ/g0iGwXpE=
=0PAB
-END PGP SIGNATURE-
-- 
[EMAIL PROTECTED] mailing list



Re: [gentoo-user] Setting installation directories globally

2007-05-01 Thread Richard Cox
On Tue, May 01, 2007 at 07:28:06PM +0200, Paul Sebastian Ziegler wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA512
 
 Hy everybody,
 
 can you please tell me if there is some way to set the install directory
 of an ebuild globally without changing the ebuild?
 Let me clarify:
 I want a few packages to not be merged under / directly but rather to be
 located under /something/*.
 I understand that the ebuilds contain directives of where to install the
 files through src_install(). However I don't believe it would be a good
 idea to edit ebuilds manually since it would lead to breakages during
 emerge --sync.
 So is there some file I can edit to change the install directory for a
 certain package?
 For example like setting
 wireshark /wifi
 firefox /stuff
 baselayout /
 (this is just a rough sketch of what I'm looking for.)
 
 All help would be greatly appreciated!
 
 Many Greetings
 Paul

As far as I know there is no way to change the prefix via portage, since its 
all hardcoded (kinda makes me wonder why this was never added as a feature 
tho).  My best guess is that you're going to have to setup an overlay.  This is 
what I would do (untested tho):

copy any ebuilds to /usr/local/portage/{category}/{app}/whatever.ebuild
rename that ebuild so its version number is really high (like 9) so portage 
will default to it instead.
change the prefix in the ebuild

Install via emerge. I don't think I've ever seen anything in stable with a 
version number that high, so as long as you make sure that the ebuild is in the 
stable tree and you're not using unstable packages it *shouldn't* ever emerge 
over it.  Down side is you will have to do this everytime you want to update 
the package.

Kinda a halfass way to do it, but I think it would work.

-Rick
-- 
[EMAIL PROTECTED] mailing list



Re: [gentoo-user] Setting installation directories globally

2007-05-01 Thread Paul Sebastian Ziegler
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

 As far as I know there is no way to change the prefix via portage, since its 
 all hardcoded (kinda makes me wonder why this was never added as a feature 
 tho).  

Makes me wonder, too. I'm starting to think about writing a patch. It
should be somehow possible to let portage override the settings within
the ebuild. However I have never hacked up emerge before. Any
suggestions by the pros out there?

 My best guess is that you're going to have to setup an overlay.  This is what 
 I would do (untested tho):
Yeah, I thought about that too, but it pretty much eliminates the point
of using Portage in the first place.

Many Greetings
Paul
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGN6UwaHrXRd80sY8RCiv1AJ43A2CDbRqVyF6t2litmlJ7itpYmQCdEEC3
m3+MvVGHNBn248O1WyXv83Y=
=Es17
-END PGP SIGNATURE-
-- 
[EMAIL PROTECTED] mailing list



Re: [gentoo-user] Setting installation directories globally

2007-05-01 Thread Bo Ørsted Andresen
On Tuesday 01 May 2007 19:28:06 Paul Sebastian Ziegler wrote:
 can you please tell me if there is some way to set the install directory
 of an ebuild globally without changing the ebuild?
 Let me clarify:
 I want a few packages to not be merged under / directly but rather to be
 located under /something/*.
 I understand that the ebuilds contain directives of where to install the
 files through src_install(). However I don't believe it would be a good
 idea to edit ebuilds manually since it would lead to breakages during
 emerge --sync.
 So is there some file I can edit to change the install directory for a
 certain package?
 For example like setting
 wireshark /wifi
 firefox /stuff
 baselayout /
 (this is just a rough sketch of what I'm looking for.)

Whats the purpose of this?

-- 
Bo Andresen


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


Re: [gentoo-user] Setting installation directories globally

2007-05-01 Thread Paul Sebastian Ziegler
 Whats the purpose of this?

To create a very clear directory structure for a small binary Linux
distribution I am planning to build using Gentoo and Portage.

-- 
[EMAIL PROTECTED] mailing list