Gentoo Archives: gentoo-dev

From: Aron Griffis <agriffis@g.o>
To: gentoo-dev@××××××××××.org
Subject: Re: [gentoo-dev] Programs that depend on X libraries
Date: Thu, 30 Aug 2001 12:55:54
Message-Id: 20010830145504.A10226@yde.flatmonk.org
In Reply to: Re: [gentoo-dev] Programs that depend on X libraries by Mikael Hallendal
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

Replies

Subject Author
Re: [gentoo-dev] Programs that depend on X libraries Jerry A! <jerry@×××××××.org>