Gentoo Archives: gentoo-amd64

From: Frank Peters <frank.peters@×××××××.net>
To: gentoo-amd64@l.g.o
Subject: Re: [gentoo-amd64] Re: Change Install Prefix
Date: Fri, 01 May 2009 01:44:17
Message-Id: 20090430214412.1c0776e2.frank.peters@comcast.net
In Reply to: [gentoo-amd64] Re: Change Install Prefix by Nikos Chantziaras
1 On Fri, 01 May 2009 02:32:22 +0300
2 Nikos Chantziaras <realnc@×××××.de> wrote:
3
4 > A compiled package might look for
5 > it's datafiles in /usr/share. If you compile it with --prefix=/usr and
6 > then move it to /usr/local, the program will obviously not work.
7 >
8
9 Most GNU software, but then again by no means all, adheres to the
10 standard configure/make method using autoconf and automake. In configure,
11 there are a whole slew of options that can be used to control the
12 install: prefix, bindir, sbindir, datadir, sysconfdir, etc. Usually,
13 by setting prefix, however, the rest will automatically follow.
14
15 But a lot of programmers make their own rules and this is where
16 life becomes difficult. This is why Gentoo has to be so complex
17 with an ebuild for every package. I suppose that automake and
18 autoconf are diificult to learn (I certainly don't know them) but
19 what is needed are universal packaging standards that every programmer
20 will follow. If we had these standards, a package manager like
21 portage could be made much simpler.
22
23
24 On Fri, 01 May 2009 02:24:07 +0200
25 Branko Badrljica <brankob@××××××××××.com> wrote:
26
27 >
28 > Question that comes to my mind is why isn't this implemented in portage
29 > as it is as it's very useful tool.
30 >
31 > With it, one could take a disk from machine with hopelessly broken
32 > system, connect it to good machine and reemerge broken packages, for
33 > example. Or, say, emerge packages on fast machine and install them to
34 > slow machine etc etc.
35 >
36
37 I believe that this can be done already. Just mount the disk from
38 the other machine on, for example, /mnt/other-machine. Then define
39 the ROOT variable before the emerge:
40
41 ROOT="/mnt/other-machine" emerge --nodeps package
42
43 The other machine would have to be the same type as the host system,
44 unless you wanted to create a temporary make.conf file with all
45 the other variables like USE and CFLAGS set for the other machine.
46
47 But what puzzles me is why the Gentoo developers decided to place
48 the standard configure variables, such as prefix, bindir, sbindir,
49 datadir, sysconfdir, etc., outside of the users immediate control.
50 In my opinion (and others will certainly disagree) it represents
51 a great loss of utility to keep everything under /usr. The designers
52 of autoconf and automake, that is the standard GNU build system, created
53 a great level of flexibility that is now lost with portage. There may
54 be workarounds, but these workarounds are not simple.
55
56 I am not knocking Gentoo; I think it's a great system and I intend
57 to stay with it for a long time. But this omission I feel is
58 quite serious.
59
60 Frank Peters