1 |
Hi Mikael, |
2 |
|
3 |
Mikael Hallendal wrote: [Wed Aug 29 2001, 08:27:00PM EDT] |
4 |
> First of all, I want to enlighten people not used to BSD that there is |
5 |
> another way. BSDs (at least NetBSD, think the others does this too) |
6 |
> installes everything not in the base-system in it's own directory |
7 |
> (/usr/pkg/ on NetBSD). This is a nice solution IMHO since it keeps |
8 |
> /usr "clean". This is a feature many people bring up as one of the |
9 |
> better things in the Linux vs. *BSD. Might be worth a thought. |
10 |
|
11 |
This is interesting, but I don't think it applies to Gentoo. The NetBSD |
12 |
packages collection is a set of software utilities and libraries which |
13 |
have been ported to NetBSD. As such, they're sort of a layered product |
14 |
that need to be separated from the base system in order to prevent |
15 |
potential conflicts. (If I'm misunderstanding this, please tell me.) |
16 |
|
17 |
That's not what we're dealing with in Gentoo. There is no separation of |
18 |
the "base system" from the "other packages", because the ebuilds |
19 |
comprise a single collection of packages that make up the "base system". |
20 |
As such, I don't think the /usr/pkg hierarchy makes sense for Gentoo. |
21 |
|
22 |
To digress a bit, I think that /usr/pkg would make sense for a set of |
23 |
packages that are maintained via a method separate from the base |
24 |
distribution. For example, if Ximian were to offer a set of rpms to |
25 |
install on Gentoo, they might install into /usr/pkg so as to prevent |
26 |
conflicts with the Portage-controlled directories. I only bring this up |
27 |
as a speculative situation in which /usr/pkg would make sense on Gentoo, |
28 |
not because I want to open a discussion about rpms or Ximian! :-) |
29 |
|
30 |
> > (1) The FHS says: "This hierarchy is reserved for the X Window System, |
31 |
> > version 11 release 6, and related files." IMHO that doesn't include |
32 |
> > programs that are linked against the X libraries, just programs that |
33 |
> > are delivered with the X distribution. |
34 |
> |
35 |
> This is a good reason for not installing in /usr/X11R6. |
36 |
|
37 |
Yes, and I think it's the reason most of our developers agree with. |
38 |
|
39 |
> > (2) Consistency with other major distributions. Both Red Hat and Debian |
40 |
> > install programs (even those linked against X libraries) in /usr. |
41 |
> > (For the most part... Deviations seem to be primarily historical.) |
42 |
> |
43 |
> I don't think this weights in so much. We are pretty different from the |
44 |
> other distributions and tries to do the stuff the way we think is best. |
45 |
> This argument should (IMHO) only be used where it really doesn't matter |
46 |
> to us. |
47 |
|
48 |
Consistency with other major distributions carries more weight in my |
49 |
mind, primarily because I think it would be a shame if we fail to learn |
50 |
from their experience. |
51 |
|
52 |
However I have a strong appreciation for the Gentoo developers' desire |
53 |
to innovate, and to break nonsensical practices held to by other |
54 |
distributions. I think that's a strength of Gentoo that can carry us |
55 |
a long way. For that reason we have discussions like this one... |
56 |
|
57 |
> > (3) Simplicity in the ebuilds. Consider the following scenarios: |
58 |
> > |
59 |
> > * ebuild with multiple binaries, some of which link against X, |
60 |
> > others that don't. Does the ebuild author split up the binaries? |
61 |
> > If so, this becomes confusing to both the ebuild author (who has |
62 |
> > to go through and distinguish one from the other) and to the |
63 |
> > end-user (who might expect both prog and xprog to live in the same |
64 |
> > location). |
65 |
> > |
66 |
> > * ebuild with binary that optionally links to X. Does the ebuild |
67 |
> > author put conditionals in the ebuild to install in either |
68 |
> > /usr/X11R6 or /usr? If so, this again creates a confusing |
69 |
> > situation for the end-user. |
70 |
> > |
71 |
> > In both of these cases, it's easier to install to /usr and not worry |
72 |
> > about either of the above. |
73 |
> |
74 |
> Yes, this is the reason I think is worse the most. I really don't like |
75 |
> the install-in-different-paths-depending-on-whats-it-linked-against. |
76 |
> |
77 |
> This is the same with GNOME. Like XChat, if it's compiled with |
78 |
> GNOME-support it's installed in /opt/gnome and if it's not it's |
79 |
> installed in /usr/X11R6 (and with current setup, it should be added a |
80 |
> text-only version which should go into /usr). |
81 |
> |
82 |
> Another issue about this is even worse. How about libraries? |
83 |
> gdk-pixbuf can optionally be built with GNOME-support. Currently (to |
84 |
> follow current guidelines) I install it in /opt/gnome if it's built with |
85 |
> GNOME-support and in /usr/X11R6 otherwise. |
86 |
> This is _NOT_ good because I think ebuild-writers shouls be able to know |
87 |
> in which prefix other packages are installed in (especially libs because |
88 |
> they might have to give that as an option to there packages). |
89 |
|
90 |
Yes, chaining on your reasoning here, I think that /opt/gnome and |
91 |
/opt/kde should disappear, and be integrated into /usr. I personally |
92 |
think that they are another instance of the /usr/X11R6 problem. The |
93 |
only part that is different is the FHS. |
94 |
|
95 |
The FHS defines /opt as "reserved for the installation of add-on |
96 |
application software packages". Those packages can be either |
97 |
locally-installed or distribution-installed (made evident by the |
98 |
following quote). |
99 |
|
100 |
The minor restrictions on distributions using /opt are necessary |
101 |
because conflicts are possible between distribution-installed and |
102 |
locally-installed software, especially in the case of fixed |
103 |
pathnames found in some binary software. |
104 |
|
105 |
My interpretation of the FHS, with regard to /opt, is that it should be |
106 |
the home of binary packages that are installed as a single coherent |
107 |
piece. For example, WordPerfect, Acroread, StarOffice, Netscape, |
108 |
Mozilla(?), VMware, Quake, etc. |
109 |
|
110 |
I don't see Gnome and KDE fitting into that category, especially since |
111 |
they are comprised of many different packages each (not one coherent |
112 |
piece). |
113 |
|
114 |
> > (4) Potential to have multiple X distributions installed. Say for |
115 |
> > instance that I like to have XFree86-3.3.6, XFree86-4.0.1, and |
116 |
> > Accelerated-X installed. I might like to install these in |
117 |
> > hierarchies under /usr/XFree86-3.3.6, /usr/XFree86-4.0.1, and |
118 |
> > /usr/Accel-X, then create a symlink /usr/X11R6 that points to the |
119 |
> > tree I'm using at the moment. All other technical concerns with |
120 |
> > this scheme aside, this at least creates a problem for ebuilds that |
121 |
> > like to install in /usr/X11R6. |
122 |
> |
123 |
> This however is (I think) something that speeks for actually installing |
124 |
> into /usr/X11R6. Because an app compiled against XFree86 3.3.6 or |
125 |
> Accel-X might not work without recompile against XFree86 4.0.1. (I'm not |
126 |
> sure about this). |
127 |
|
128 |
Yeah, I think this is the easiest point to disagree on, and probably the |
129 |
weakest in the group. I'll just leave it out. :-) |
130 |
|
131 |
Aron |