* [gentoo-dev] prefix overide portage @ 2002-02-19 14:13 Matt Doughty 2002-02-19 20:00 ` Bruce A. Locke 0 siblings, 1 reply; 11+ messages in thread From: Matt Doughty @ 2002-02-19 14:13 UTC (permalink / raw To: gentoo-dev Hi, I hate to start by complaining or critisizing what I consider a wonderful project. I'm basically a NetBSD user who is looking for functionality(hardware 3d support) that linux has, and NetBSD is lacking. I was working through the install, and ran into a couple oddities/annoyances. I noticed that alot of packages in portage statically set the install prefix. I find this to be very undesirable behavior, and was wondering if this is temporary or has noone complained about this rather rigid structure? From my perspective a system should be divided in this manner: base system (kernel, and userland): --prefix=/, and --prefix=/usr package system installed pkgs: --prefix=/usr/pkg X system: --prefix=/usr/X11R6 this leaves /usr/local, and /opt for hand built packages. In NetBSD the base system is completely seperate from the package system, and the package system, and X prefixes can be overridden by the enviroment variables LOCALBASE, and X11BASE respectively. I love the overall design of the system, and clean nature of the /etc directory. I would be happy to help make the needed changes to allow for this increased flexibility. --Matt ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [gentoo-dev] prefix overide portage 2002-02-19 14:13 [gentoo-dev] prefix overide portage Matt Doughty @ 2002-02-19 20:00 ` Bruce A. Locke 2002-02-20 4:38 ` Dave Lee 0 siblings, 1 reply; 11+ messages in thread From: Bruce A. Locke @ 2002-02-19 20:00 UTC (permalink / raw To: gentoo-dev On Tue, 2002-02-19 at 09:13, Matt Doughty wrote: > Hi, > I hate to start by complaining or critisizing what I consider a > wonderful project. I'm basically a NetBSD user who is looking > for functionality(hardware 3d support) that linux has, and > NetBSD is lacking. I was working through the install, and ran > into a couple oddities/annoyances. I noticed that alot of > packages in portage statically set the install prefix. Yes alot of packages are setup that way. I'm of a mixed opinion if thats a good or a bad thing. If we do decide to make it more configurable down the road its going to require alot of ebuild touchups, etc. Alot of configure scripts require path information to headers, assume files are in various locations, etc. I can tell from experience if you set a less-then-common prefix many configure scripts are going to break on you (meaning we'd have to hack on a bunch of them :( > I find this to be very undesirable behavior, and was wondering if > this is temporary or has noone complained about this rather > rigid structure? Don't think many people have complained of it yet :) > From my perspective a system should be divided > in this manner: > > base system (kernel, and userland): --prefix=/, and --prefix=/usr > package system installed pkgs: --prefix=/usr/pkg > > X system: --prefix=/usr/X11R6 > this leaves /usr/local, and /opt for hand built packages. In NetBSD > the base system is completely seperate from the package system, and > the package system, and X prefixes can be overridden by the > enviroment variables LOCALBASE, and X11BASE respectively. I love > the overall design of the system, and clean nature of the /etc > directory. I would be happy to help make the needed changes to > allow for this increased flexibility. Gentoo makes no distinction between its "core" and packages. Every part of the core (kernel, glibc, etc) is treated _exactly_ the same as any other package. Portage handles compiling and package manangement (except for the kernel, you still have to compile that yourself ;) We used to split gnome, kde, etc up into /opt/kde, etc but it later became a mess. /usr/X11R6 on gentoo is currently only really used by XFree86 packages... All X programs go under /usr not /usr/X11R6. (We also have /usr/kde/2 and /usr/kde/3 for kde so users can have the stable kde2 installed while playing with kde 3-cvs). The only package I'm aware of that touches /usr/local is apache, and that ebuild is in the process of being rewritten. /opt is used for those packages which can't be easily made to fit within a FHS compliant file system. For instance java packages are not designed to be installed in /usr/bin, etc without alot of hassle... > --Matt > _______________________________________________ > gentoo-dev mailing list > gentoo-dev@gentoo.org > http://lists.gentoo.org/mailman/listinfo/gentoo-dev > -- Bruce A. Locke blocke@shivan.org ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [gentoo-dev] prefix overide portage 2002-02-19 20:00 ` Bruce A. Locke @ 2002-02-20 4:38 ` Dave Lee 2002-02-20 5:02 ` Arcady Genkin 2002-02-20 9:53 ` Bruce A. Locke 0 siblings, 2 replies; 11+ messages in thread From: Dave Lee @ 2002-02-20 4:38 UTC (permalink / raw To: gentoo-dev Bruce A. Locke wrote: > On Tue, 2002-02-19 at 09:13, Matt Doughty wrote: > > Hi, > > I hate to start by complaining or critisizing what I consider a > > wonderful project. I'm basically a NetBSD user who is looking > > for functionality(hardware 3d support) that linux has, and > > NetBSD is lacking. I was working through the install, and ran > > into a couple oddities/annoyances. I noticed that alot of > > packages in portage statically set the install prefix. > > Yes alot of packages are setup that way. I'm of a mixed opinion if > thats a good or a bad thing. If we do decide to make it more > configurable down the road its going to require alot of ebuild touchups, > etc. Alot of configure scripts require path information to headers, > assume files are in various locations, etc. I can tell from experience > if you set a less-then-common prefix many configure scripts are going to > break on you (meaning we'd have to hack on a bunch of them :( I don't think this would actually be "hacking", I would call it something much nicer, like cleaning up. I can see the desire to set a custom install prefix, and I think that making the ebuild scripts more flexible to allow for this may prove useful in that it will make the portage system much more flexible and customizable. It should't be too much effort to let loose some scripts on the portage tree to fix --preifx=/usr to --preifx=$SOME_PREFIX_VAR where the SOME_PREFIX_VAR can be set in /etc/make.conf. In another thread Vitaly Kushneriuk said "the Gentoo way is to provide user with the maximum control that is practical" and I dont think having a custom prefix would be impractical. Anyway, just my thoughts on the subject. One thing to note is that I noticed the ebuild system is "rigid" like this in more ways than just preifx, every other configure variable is hardcoded by the ebuild author into the ebuild file, like mandir and others. In rpm systems, when you create an rpm spec, you can use %{_prefix} and %{_mandir} when you build rpms, and that gives it some flexibility. Dave ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [gentoo-dev] prefix overide portage 2002-02-20 4:38 ` Dave Lee @ 2002-02-20 5:02 ` Arcady Genkin 2002-02-20 7:02 ` Matt Doughty 2002-02-20 7:15 ` Daniel Robbins 2002-02-20 9:53 ` Bruce A. Locke 1 sibling, 2 replies; 11+ messages in thread From: Arcady Genkin @ 2002-02-20 5:02 UTC (permalink / raw To: gentoo-dev Dave Lee <davel@canuck.com> writes: >> > I noticed that alot of packages in portage statically set the >> > install prefix. >> >> Yes alot of packages are setup that way. I'm of a mixed opinion if >> thats a good or a bad thing. If we do decide to make it more >> configurable down the road its going to require alot of ebuild touchups, >> etc. Alot of configure scripts require path information to headers, >> assume files are in various locations, etc. I can tell from experience >> if you set a less-then-common prefix many configure scripts are going to >> break on you (meaning we'd have to hack on a bunch of them :( > > I don't think this would actually be "hacking", I would call it something > much nicer, like cleaning up. I could not agree more. I think that it would be extremely useful to be able to set a custom prefix for packages installation. There is a large upgrade coming up in our lab, and I'm going to try to make a case for Gentoo to replace Redhat. But I know that one of the problems that my boss is going to point out is inability to easilly package software into /local (our conventional location) instead of /usr. > It should't be too much effort to let loose some scripts on the > portage tree to fix --preifx=/usr to --preifx=$SOME_PREFIX_VAR where > the SOME_PREFIX_VAR can be set in /etc/make.conf. There's more to it than that, but, arguably, nothing that cannot be done. I, too, suggest that we introduce the functionality of the custom package prefix in /etc/make.conf. -- Arcady Genkin Don't read everyting you believe. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [gentoo-dev] prefix overide portage 2002-02-20 5:02 ` Arcady Genkin @ 2002-02-20 7:02 ` Matt Doughty 2002-02-20 10:07 ` Bruce A. Locke 2002-02-20 7:15 ` Daniel Robbins 1 sibling, 1 reply; 11+ messages in thread From: Matt Doughty @ 2002-02-20 7:02 UTC (permalink / raw To: gentoo-dev; +Cc: gentoo-dev <SNIP> > > I, too, suggest that we introduce the functionality of the custom > package prefix in /etc/make.conf. > -- to me I see two logical configurable prefixes: X11: I understand that is currently default to /usr/X11R6, and I consider this a good default, but there is no reason to set it in stone. Portage packages: leaving the default to /usr is fine, but I would really think that shouldn't become a dumping ground like it has in so many other distros. I can understand those who don't care can leave it in default dumping ground mode, and still allow those of us who like a "cleaner" solution to have our way. I personally would like to leave /bin,/sbin,/lib /usr/bin,/usr/lib, and /usr/sbin alone after the initial bootstrap. I don't want optional packages to intermingle in the same file space as those that are needed for the system to function. The ability to create a clean delineation is doing the right thing(TM) from my perspective. I think this really ammounts to good engineering, and if the goal is to be more flexible than the ports/pkgsrc system this is needed functionality. On a related note, I think it would be wise to clearly delineate packages that are needed for basic booting system in some way. If this functionality already exists, and I missed it please let me know. My main thought here is I want the ability to rebuild the base system readily. Actually the more I think of it the better it would be if one could say bootstrap a system to test directory first (maybe /usr/local/base-test) and then assuming a possibly even chrooting to test the new base simply reinstall the proper place or rerun the bootstap without the overridden directory. One way or another the ability to override the target for a package has many practical applications. Once again, let me know what I can do to help with this. --Matt ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [gentoo-dev] prefix overide portage 2002-02-20 7:02 ` Matt Doughty @ 2002-02-20 10:07 ` Bruce A. Locke 2002-02-20 10:18 ` Gert Menke 2002-02-21 0:46 ` Matt Doughty 0 siblings, 2 replies; 11+ messages in thread From: Bruce A. Locke @ 2002-02-20 10:07 UTC (permalink / raw To: gentoo-dev On Wed, 2002-02-20 at 02:02, Matt Doughty wrote: > Portage packages: leaving the default to /usr is fine, but I would > really think that shouldn't become a dumping ground like it has > in so many other distros. I can understand those who don't care > can leave it in default dumping ground mode, and still allow > those of us who like a "cleaner" solution to have our way. Yes its a matter of personal preference. Personally I hated fbsd's use of /usr/local and the filesystem looked quite cluttered and unorganized (ditto goes for Solaris). But it is a matter of personal preference. > I personally would like to leave /bin,/sbin,/lib /usr/bin,/usr/lib, > and /usr/sbin alone after the initial bootstrap. I don't want > optional packages to intermingle in the same file space as those > that are needed for the system to function. The ability to create > a clean delineation is doing the right thing(TM) from my perspective. Again a preference. I don't share your view as there is no technical basis for the view in my opinion. There is no /usr/src in gentoo and no seperation between "core" and "optional". But there should be nothing to stop you from doing what you want :) > I think this really ammounts to good engineering, and if the goal is > to be more flexible than the ports/pkgsrc system this is needed > functionality. Agreed. > On a related note, I think it would be wise to clearly delineate > packages that are needed for basic booting system in some way. If > this functionality already exists, and I missed it please let me > know. Gentoo supports the concept of profiles. Much more powerful then a simply marking something as "core", etc :) See /usr/portage/profiles/default-1.0_rc6/packages and the portage source code for more information. > My main thought here is I want the ability to rebuild the > base system readily. Actually the more I think of it the better it > would be if one could say bootstrap a system to test directory first > (maybe /usr/local/base-test) and then assuming a possibly even chrooting > to test the new base simply reinstall the proper place or rerun the > bootstap without the overridden directory. You can (kinda) do that already though its not as elegant as having a relocatable prefix. You could grab our build tarball from the website, untar it into a directory, chroot it, and follow steps similar to those outlined in the install guide. If you want to play around with usermode linux, just toss the tarball on a loopback filesystem and go from there :) > One way or another the > ability to override the target for a package has many practical > applications. Once again, let me know what I can do to help with this. >From my understanding we'd need some variables defined in /etc/make.conf or /etc/make.globals (with current behaviors as the default) and support in portage to override these variables on a per package basis from the comamnd line. Does portage already have this functionality in 1.8.9-pre*? After that it would be a matter of people interested in it updating their favorite ebuilds and developers with CVS access making sure all new ebuilds going into the tree follow the scheme. I feel bugzilla getting a tad busy in a couple weeks ;) -- Bruce A. Locke blocke@shivan.org ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [gentoo-dev] prefix overide portage 2002-02-20 10:07 ` Bruce A. Locke @ 2002-02-20 10:18 ` Gert Menke 2002-02-21 0:46 ` Matt Doughty 1 sibling, 0 replies; 11+ messages in thread From: Gert Menke @ 2002-02-20 10:18 UTC (permalink / raw To: gentoo-dev Hi, On Wed, Feb 20, 2002 at 05:07:48AM -0500, Bruce A. Locke wrote: > On Wed, 2002-02-20 at 02:02, Matt Doughty wrote: > > I personally would like to leave /bin,/sbin,/lib /usr/bin,/usr/lib, > > and /usr/sbin alone after the initial bootstrap. I don't want > > optional packages to intermingle in the same file space as those > > that are needed for the system to function. The files that are needed for the system to run should not be in /usr at all. System files go to /bin, /lib, /sbin, etc. /usr contains the applications for, well, the users. Probably just my personal preferences. Greetings Gert ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [gentoo-dev] prefix overide portage 2002-02-20 10:07 ` Bruce A. Locke 2002-02-20 10:18 ` Gert Menke @ 2002-02-21 0:46 ` Matt Doughty 1 sibling, 0 replies; 11+ messages in thread From: Matt Doughty @ 2002-02-21 0:46 UTC (permalink / raw To: gentoo-dev On Wed, Feb 20, 2002 at 05:07:48AM -0500, Bruce A. Locke wrote: > On Wed, 2002-02-20 at 02:02, Matt Doughty wrote: > > Portage packages: leaving the default to /usr is fine, but I would > > really think that shouldn't become a dumping ground like it has > > in so many other distros. I can understand those who don't care > > can leave it in default dumping ground mode, and still allow > > those of us who like a "cleaner" solution to have our way. > > Yes its a matter of personal preference. Personally I hated fbsd's use > of /usr/local and the filesystem looked quite cluttered and unorganized > (ditto goes for Solaris). But it is a matter of personal preference. Yeah so do I. I prefer the NetBSD usage of /usr/pkg. I reserve /usr/local for things I compile by hand. ;) > > > I personally would like to leave /bin,/sbin,/lib /usr/bin,/usr/lib, > > and /usr/sbin alone after the initial bootstrap. I don't want > > optional packages to intermingle in the same file space as those > > that are needed for the system to function. The ability to create > > a clean delineation is doing the right thing(TM) from my perspective. > > Again a preference. I don't share your view as there is no technical > basis for the view in my opinion. There is no /usr/src in gentoo and no > seperation between "core" and "optional". But there should be nothing > to stop you from doing what you want :) Well yes there are technical arguements for it. Much like the specification of a small root because small file systems are less prone to file corruption, the same logic apply to /usr. Basically, since /usr/bin supplies your basic tools col, awk, gcc etc. it is needed to have a fully functional base system, and should be protected via a small partition size, and largely static nature(I should be able to mount it ro for added protection). Its just that the technical arguments obviously don't apply in your situation. One other technical reason is if you want to mount all the large packages over NFS, but want a fully functioning base system without network access. As for me its a matter of not liking the clutter, and being an old stoggy bastard which isn't technical reason I wouldn't suppose. ;) > > > I think this really ammounts to good engineering, and if the goal is > > to be more flexible than the ports/pkgsrc system this is needed > > functionality. > > Agreed. Great! I like agreement. :) > > > On a related note, I think it would be wise to clearly delineate > > packages that are needed for basic booting system in some way. If > > this functionality already exists, and I missed it please let me > > know. > > Gentoo supports the concept of profiles. Much more powerful then a > simply marking something as "core", etc :) > > See /usr/portage/profiles/default-1.0_rc6/packages and the portage > source code for more information. Ok thanks for the headsup I will check that out. > > > My main thought here is I want the ability to rebuild the > > base system readily. Actually the more I think of it the better it > > would be if one could say bootstrap a system to test directory first > > (maybe /usr/local/base-test) and then assuming a possibly even chrooting > > to test the new base simply reinstall the proper place or rerun the > > bootstap without the overridden directory. > > You can (kinda) do that already though its not as elegant as having a > relocatable prefix. You could grab our build tarball from the website, > untar it into a directory, chroot it, and follow steps similar to those > outlined in the install guide. If you want to play around with usermode > linux, just toss the tarball on a loopback filesystem and go from there > :) Yeah, I knew I could work around it. I was just thinking that would be nice functionality to have at some point. > > > One way or another the > > ability to override the target for a package has many practical > > applications. Once again, let me know what I can do to help with this. > > >From my understanding we'd need some variables defined in /etc/make.conf > or /etc/make.globals (with current behaviors as the default) and support > in portage to override these variables on a per package basis from the > comamnd line. Does portage already have this functionality in > 1.8.9-pre*? > > After that it would be a matter of people interested in it updating > their favorite ebuilds and developers with CVS access making sure all > new ebuilds going into the tree follow the scheme. > > I feel bugzilla getting a tad busy in a couple weeks ;) > hee-hee, I will update alot of ebuilds. I'll sort of holding off any heavy install until I can do that actually. --Matt ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [gentoo-dev] prefix overide portage 2002-02-20 5:02 ` Arcady Genkin 2002-02-20 7:02 ` Matt Doughty @ 2002-02-20 7:15 ` Daniel Robbins 2002-02-20 15:41 ` Dave Lee 1 sibling, 1 reply; 11+ messages in thread From: Daniel Robbins @ 2002-02-20 7:15 UTC (permalink / raw To: gentoo-dev On Tue, 2002-02-19 at 22:02, Arcady Genkin wrote: > > It should't be too much effort to let loose some scripts on the > > portage tree to fix --preifx=/usr to --preifx=$SOME_PREFIX_VAR where > > the SOME_PREFIX_VAR can be set in /etc/make.conf. > > There's more to it than that, but, arguably, nothing that cannot be > done. I don't have a problem supporting this, as long as relocatable ebuilds are actually tested and not just assumed to work. What % of srpms support relocation anyway? Best Regards, -- Daniel Robbins <drobbins@gentoo.org> Chief Architect/President http://www.gentoo.org Gentoo Technologies, Inc. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [gentoo-dev] prefix overide portage 2002-02-20 7:15 ` Daniel Robbins @ 2002-02-20 15:41 ` Dave Lee 0 siblings, 0 replies; 11+ messages in thread From: Dave Lee @ 2002-02-20 15:41 UTC (permalink / raw To: gentoo-dev Daniel Robbins wrote: > On Tue, 2002-02-19 at 22:02, Arcady Genkin wrote: > > > It should't be too much effort to let loose some scripts on the > > > portage tree to fix --preifx=/usr to --preifx=$SOME_PREFIX_VAR where > > > the SOME_PREFIX_VAR can be set in /etc/make.conf. > > > > There's more to it than that, but, arguably, nothing that cannot be > > done. > > I don't have a problem supporting this, as long as relocatable ebuilds > are actually tested and not just assumed to work. What % of srpms > support relocation anyway? srpms or rpms? if you use an srpm to build an rpm for your own use then you can easily specify configure paths in your .rpmmacros file (I used to do this), assuming the rpm spec file hasnt hard coded the configure paths, which is essential what we are talking about here with portage. on the other hand most rpm based distro will only seem to build and ship rpms that aren't relocatable. of course when you install and rpm you could always --force (I think) or --relocate --badreloc. Dave ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [gentoo-dev] prefix overide portage 2002-02-20 4:38 ` Dave Lee 2002-02-20 5:02 ` Arcady Genkin @ 2002-02-20 9:53 ` Bruce A. Locke 1 sibling, 0 replies; 11+ messages in thread From: Bruce A. Locke @ 2002-02-20 9:53 UTC (permalink / raw To: gentoo-dev On Tue, 2002-02-19 at 23:38, Dave Lee wrote: > I don't think this would actually be "hacking", I would call it something > much nicer, like cleaning up. Hacking as in trying to "hack around in" an autogenerated script that quite frankly wasn't meant for humans to edit it, or having to autogenerate our own configure scripts using a system few people really understand :) I do think "hacking" is the correct term here ;) > I can see the desire to set a custom > install prefix, and I think that making the ebuild scripts more flexible > to allow for this may prove useful in that it will make the portage system > much more flexible and customizable. It should't be too much effort to > let loose some scripts on the portage tree to fix --preifx=/usr to > --preifx=$SOME_PREFIX_VAR where the SOME_PREFIX_VAR can be set in > /etc/make.conf. In another thread Vitaly Kushneriuk said "the Gentoo way > is to provide user with the maximum control that is practical" and I dont > think having a custom prefix would be impractical. Anyway, just my > thoughts on the subject. One thing to note is that I noticed the ebuild > system is "rigid" like this in more ways than just preifx, every other > configure variable is hardcoded by the ebuild author into the ebuild file, > like mandir and others. In rpm systems, when you create an rpm spec, you > can use %{_prefix} and %{_mandir} when you build rpms, and that gives it > some flexibility. Agreed, it would be a nice addition. It would help if someone associated with portage would add relavent support to portage or at least set an example as a standard. This means we could make sure all new packages follow it and we can phase it into older packages over time as we update them for other reasons. -- Bruce A. Locke blocke@shivan.org ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2002-02-21 0:48 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2002-02-19 14:13 [gentoo-dev] prefix overide portage Matt Doughty 2002-02-19 20:00 ` Bruce A. Locke 2002-02-20 4:38 ` Dave Lee 2002-02-20 5:02 ` Arcady Genkin 2002-02-20 7:02 ` Matt Doughty 2002-02-20 10:07 ` Bruce A. Locke 2002-02-20 10:18 ` Gert Menke 2002-02-21 0:46 ` Matt Doughty 2002-02-20 7:15 ` Daniel Robbins 2002-02-20 15:41 ` Dave Lee 2002-02-20 9:53 ` Bruce A. Locke
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox