Re: [gentoo-user] Setting installation directories globally
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
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
-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
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
-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
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
-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
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
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