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