1 |
Jim Ramsay schrieb: |
2 |
> I am planning on moving the install locations of all the rox-base/* and |
3 |
> rox-extra/* applications from their current location (/usr/lib/rox) to |
4 |
> something a little more FHS-correct[1] and tolerant of multilib support. |
5 |
> |
6 |
> The main reason for this change is that I got a bug from amd64 because |
7 |
> the /usr/lib path is hard-coded all over the place (ie, not multilib |
8 |
> compliant), but it's always sort of bugged me that these packages are |
9 |
> in /usr/lib - They're not actually libaries (except for rox-clib). |
10 |
> These rox applications are a new special case that don't fit into the |
11 |
> FHS, called "Application Directories"[2], and I need a good place to |
12 |
> put them. |
13 |
> |
14 |
|
15 |
Let's see, /usr: |
16 |
|
17 |
AFAIR App Dirs provide internal arch distinction, so why not just put it |
18 |
in /usr/share/rox? |
19 |
<fhs> |
20 |
This hierarchy is intended to be shareable among all architecture |
21 |
platforms of a given OS; thus, for example, a |
22 |
site with i386, Alpha, and PPC platforms might maintain a single |
23 |
/usr/share directory that is |
24 |
centrally-mounted. |
25 |
</fhs> |
26 |
|
27 |
If you don't follow that rationale, as far as I read the FHS, Rox should |
28 |
stay in /usr/lib/rox: |
29 |
<fhs> |
30 |
/usr/lib includes object files, libraries, and internal binaries that |
31 |
are not intended to be executed directly by |
32 |
users or shell scripts. |
33 |
*Applications may use a single subdirectory under /usr/lib. If an |
34 |
application uses a subdirectory, all |
35 |
architecture-dependent data exclusively used by the application must be |
36 |
placed within that subdirectory. * |
37 |
</fhs> |
38 |
Note that in that case, the Help files etc. would be aliens there. |
39 |
|
40 |
The fact that Rox Apps can compile themselves on demand would make them |
41 |
go into /var/, but I trust that all ebuilds precompile everything as |
42 |
needed, so no write access is necessary. |
43 |
|
44 |
If Gentoo hadn't the (useful) binary/from source distinction, I'd vote |
45 |
for opt. |
46 |
|
47 |
> I'd like input from any interested parties on where the proper |
48 |
> location may be. Here are some ideas with their justifications and |
49 |
> problems, as I see them: |
50 |
> |
51 |
> /usr/libexec/rox - libexec isn't actually in the FHS (that I could |
52 |
> see), and /usr/libexec is usually assumed to contain executable |
53 |
> code, so it may be a "safe" place to put things. That said, libexec |
54 |
> is considered by some to be dead or about to disappear[3], so it may |
55 |
> not be the right place to go. |
56 |
> |
57 |
|
58 |
If your motivation is FHS, dont use libexec. |
59 |
|
60 |
> /usr/rox - This isn't in the FHS either, I would be creating it. The |
61 |
> problem is that the FHS specifically says "Large software packages |
62 |
> must not use a direct subdirectory under the /usr hierarchy." |
63 |
> |
64 |
|
65 |
With a good reason (see below). |
66 |
|
67 |
> /usr/bin/rox-desktop - This may be the most correct, since the FHS |
68 |
> does allow subdirectories here, and doesn't explicitly prohibit new |
69 |
> ones. Also, these are actually executable commands. The problem is |
70 |
> that (at least considering my currently installed packages) no one |
71 |
> else has created any subdirectories in /usr/bin. I don't know if |
72 |
> that's a problem. Also, I can't use the name 'rox' in this place |
73 |
> because that conflicts with a filename from rox-base/rox. |
74 |
> |
75 |
|
76 |
Everything in /usr/bin is assumed to be a user callable executable. If |
77 |
you follow the notion that an App Dir is a large bin that happens to be |
78 |
in directory form (it could be a .jar, after all), this would make |
79 |
sense. But again, for multiple Archs you'd have tons of duplicates. |
80 |
|
81 |
If you read the FHS and don't concentrate on following it to the letter, |
82 |
though, but read the motivation why it even exists and what it tries to |
83 |
accomplish, namely to make the directory tree shareable as far as |
84 |
possible, I'd really consider /usr/share/rox. If my assumption is |
85 |
correct (that it would work). |
86 |
|
87 |
I guess if you'd ask the FHS guys, they'd say "Chop those app dirs up to |
88 |
the proper locations and symlink them together in one place if needed", |
89 |
which would be much work for little gain. |
90 |
|
91 |
Regards, |
92 |
Thomas |
93 |
-- |
94 |
gentoo-dev@g.o mailing list |