On Fri, 01 May 2009 02:32:22 +0300
Nikos Chantziaras <rea...@arcor.de> wrote:

>  A compiled package might look for 
> it's datafiles in /usr/share.  If you compile it with --prefix=/usr and 
> then move it to /usr/local, the program will obviously not work.
> 

Most GNU software, but then again by no means all, adheres to the
standard configure/make method using autoconf and automake.  In configure,
there are a whole slew of options that can be used to control the
install: prefix, bindir, sbindir, datadir, sysconfdir, etc.  Usually,
by setting prefix, however, the rest will automatically follow.

But a lot of programmers make their own rules and this is where
life becomes difficult.  This is why Gentoo has to be so complex
with an ebuild for every package.  I suppose that automake and
autoconf are diificult to learn (I certainly don't know them) but
what is needed are universal packaging standards that every programmer
will follow.  If we had these standards, a package manager like
portage could be made much simpler.


On Fri, 01 May 2009 02:24:07 +0200
Branko Badrljica <bran...@avtomatika.com> wrote:
   
> 
> Question that comes to my mind is why isn't this implemented in portage 
> as it is as it's very useful tool.
> 
> With it, one could take a disk from machine with hopelessly broken 
> system, connect it to good machine and reemerge broken packages, for 
> example. Or, say, emerge packages on fast machine and install them to 
> slow machine etc etc.
> 

I believe that this can be done already.  Just mount the disk from
the other machine on, for example, /mnt/other-machine.  Then define
the ROOT variable before the emerge:

ROOT="/mnt/other-machine" emerge --nodeps package

The other machine would have to be the same type as the host system,
unless you wanted to create a temporary make.conf file with all
the other variables like USE and CFLAGS set for the other machine.

But what puzzles me is why the Gentoo developers decided to place
the standard configure variables, such as prefix, bindir, sbindir,
datadir, sysconfdir, etc., outside of the users immediate control.
In my opinion (and others will certainly disagree) it represents
a great loss of utility to keep everything under /usr.  The designers
of autoconf and automake, that is the standard GNU build system, created
a great level of flexibility that is now lost with portage.  There may
be workarounds, but these workarounds are not simple.

I am not knocking Gentoo; I think it's a great system and I intend
to stay with it for a long time.  But this omission I feel is
quite serious.

Frank Peters


Reply via email to