proposal: standardized PREFIX handling

Jasper Huijsmans jasper at lunar-linux.org
Wed Mar 24 11:30:04 GMT 2004


On Wed, Mar 24, 2004 at 10:47:11AM +0100, Auke Kok wrote:
> 
> tech stuff discussed here, drink coffee first, then read:
> 

Right, I had 4 coffees this morning, so here we go ...

Sounds like an excellent addition to the core tools that doesn't impose
any additional burden on the user but allows a lot of flexibility in
special purpose installs.

We could have a dialog in lunar to set group locations:

  Leave empty for default

  GNOME [/usr             ] 
  KDE   [/opt/lunar/kde   ]
  XFCE  [/opt/lunar/xfce  ]
  GAMES [/usr/games/      ]


Jasper

> I'd like to get all noses in the same direction, therefore I have a 
> technical proposal to make that can be implemented relatively soon. It 
> incorporates allowing more control over installation locations yet 
> leaves the defaults as they are. read on,
> 
> The concept of changeable PREFIX locations has been around a while and 
> has served quite a few devs around while testing multiple installations 
> of gnome, xfce4, kde etc. This concept should be flexible enough to 
> allow experienced users to use this 'feature' as well.
> 
> One major point of difference is that currently modules that get build 
> by default_build cannot be overridden, since --prefix=/usr is hard-coded 
> in the core.
> 
> my proposal is to make MODULE_PREFIX a MODULE-bound variable. it would 
> roughly do the following:
> 
> for instance module X has a DETAILS file that states:
>     MODULE_PREFIX=/opt/lunar/X
> 
> the default_build would then do:
> ./configure --build=$BUILD --prefix=${MODULE_PREFIX}
>            --sysconfdir=/etc --localstatedir=/var
>            --infodir=${MODULE_PREFIX}/share/info
>            --mandir=${MODULE_PREFIX}/share/man $OPTS
> 
> to make sure everyone is happy, we add the following at the end of 
> run_details:
>    MODULE_PREFIX=${MODULE_PREFIX:=$DEFAULT_PREFIX}
> 
> of course, in /etc/lunar/config this will need to be defined as well:
>    DEFAULT_REPFIX=/usr
> 
> there's a few nice things resulting from this... just follow me here:
> 
>  root at joule21 ~ # lunar set GNOME24_PREFIX /opt/lunar/gnome/2.4
> 
> then doing the following in the DETAILS file of module X:
> 
>  MODULE_PREFX=${GNOME24_PREFIX:-/opt/lunar/gnome}
> 
> this of course will always need to be there, otherwise PREFIX gets 
> undefined and the module goes into /bin /lib etc... There are quite a 
> few advantages to this method:
> 
> - modules can be grouped into _PREFIX groups easily
> - we can add the following to default_build (heh, this is where it gets 
> cool really):
> 
> PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$MODULE_PREFIX/lib/pkgconfig
> [and think about those other variables that never get set...]
> 
> - the SA can override the PREFIX PER MODULE:
>  echo "MODULE_PREFIX=/home/sofar/" >> /etc/lunar/local/depends/X
> 
> - the SA can override the PREFIX per GROUP of modules:
>  lunar set GROUPX_PREFIX /home/sofar
> 
> - nhudson can specify different MODULE_PREFIX's per gnome-release as he 
> wishes to move things back and forth out of and back to /opt/lunar.... 
> schweet
> 
> - truly ./configure&&make&&make install modules don't need a BUILD 
> anymore!!!
> 
> downsides:
> 
> * people need to upgrade their core tools before updating their moonbase 
> that incorporates these changes.
> 
> THIS IS VITAL AS OTHERWISE EVERYTHING WOULD GO INTO /usr (well it 
> wouldn't break stuff but it'll sure be interesting to see most non-/usr 
> modules break ;^)).
> 
> 
> ...
> 
> 
> okay I had my coffee already today! mmmmm *sip*
> 
> sofar
> 
> PS I should have the core changes on behalf of this scheme finished 
> tonight, I think ;^)
> 
> _______________________________________________
> Lunar-dev mailing list
> Lunar-dev at lunar-linux.org
> http://dbguin.lunar-linux.org/mailman/listinfo/lunar-dev


More information about the Lunar-dev mailing list