Re: /opt/gnome? (Newbie-ish question)




On Thu, 11 Feb 1999, Havoc Pennington wrote:
> On Thu, 11 Feb 1999, Allan Third wrote:
> > 
> > lot easier in the future. What I'm wondering, though, is why all the RPMs
> > all automatically install to /usr or /usr/local, and none of them appear to
> > be relocatable. Surely, if it's *possible* to do an /opt/gnome install,
> > there wouldn't be any problem creating RPMs which could be relocated? Does
> > anyone know why this is not done?
> >
> 
> There's no point installing a package to /opt/gnome because you can remove
> packages using the rpm tool. That's what packages are for, in large part -
> so you don't have /opt/everythingunderthesun. The /opt/gnome suggestion is 
> if you're compiling yourself.

That's not the only reason to install in /opt/gnome.  It also make sense
if you want to export your /opt/gnome directory, so you only need one copy
of GNOME for an entire network.  Also, if you want security priviledges
to be drastically different for GNOME than the /usr stuff, an /opt/gnome
makes it easier to manage the security settings.

That being said, most people will still want their RPMS going to /usr,
since it requires less fiddling around with the system.


> The reason the rpm's aren't relocatable is that certain Gnome paths are
> determined at compile time (such as the icon locations) and so binaries
> can't be relocated without breaking things. This could perhaps be fixed
> with some sort of config file but no one has done it and it wouldn't be
> allowed before 1.0.

With the way GNOME is built currently, automatically relocatible RPMs are
essentially impossible to make.  They should be very easily manually
relocatable.  First, configure your system to accept an /opt/gnome
installation (eg. /opt/gnome/bin in the path, /opt/gnome/lib in
ld.so.conf).  Then, for each package, in compile order, do the following
  * Take the SRPM (glib) and install it.
  * Go to /usr/src/redhat/SPECS, and edit the spec file (glib.spec) so
    that the %prefix line points to "/opt/gnome" instead of "/usr"
  * Build the RPM from the new spec file
  * Install the RPM from /usr/src/redhat/BUILD/<arch>
  * Repeat for the next SRPM

The %prefix variable should get passed to all the right places, so the
binary RPM, while still not relocatable as far as rpm is concerned, is now
properly located in the different directory.

Best of Luck,
-Gleef



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]