Opened 19 years ago
Closed 19 years ago
#1644 closed defect (fixed)
move libexecdir programs to /usr/lib/packagename
Reported by: | Owned by: | ||
---|---|---|---|
Priority: | lowest | Milestone: | |
Component: | Book | Version: | SVN |
Severity: | normal | Keywords: | |
Cc: |
Description
The URL is to the start of a thread for moving libexecdir out of /usr/sbin and into /usr/lib/packagename which is FHS compliant.
Change History (7)
comment:1 by , 19 years ago
comment:2 by , 19 years ago
Best I can tell is that GCC, GLibc and Gawk are fine as is. libexecdir points to /usr/lib correctly.
Findutils uses /var/lib/locate, which the book says is FHS compliant, so it is probably okay as well.
Inetutils doesn't install anything in /usr/sbin, so the switch can probably be moved entirely.
Tar uses it to install /usr/sbin/rmt. I don't know if it needs to be there, or if perhaps it should be in /usr/bin. I have no idea.
All of the above are concerns for Chapter 6 only. I wouldn't worry about Chapter 5 (if they are even mentioned there).
comment:3 by , 19 years ago
FHS states that ping netstat and others can be in /bin.
Here is the reveleant text from the fhs text
Specific Options
The following programs, or symbolic links to programs, must be in /bin if the corresponding subsystem is installed:
Command Description csh The C shell (optional) ed The `ed' editor (optional) tar The tar archiving utility (optional) cpio The cpio archiving utility (optional) gzip The GNU compression utility (optional) gunzip The GNU uncompression utility (optional) zcat The GNU uncompression utility (optional) netstat The network statistics utility (optional) ping The ICMP network test utility (optional)
comment:4 by , 19 years ago
(In reply to comment #2)
Best I can tell is that GCC, GLibc and Gawk are fine as is. libexecdir points to /usr/lib correctly.
But that thread seems to suggest a general desire to move away from /usr/lib in favour of the more specific /usr/lib/[packagename]. Of course, if folks are happy enough with these using /usr/lib, it's more than OK with me.
Findutils uses /var/lib/locate, which the book says is FHS compliant, so it is probably okay as well.
Well, the FHS doesn't explicitly mandate /usr/lib/locate, so I'm wondering if it should be changed to /usr/lib/findutils to fit in with the /usr/lib/[packagename] scheme. (note that /var/lib/locate is for --localstatedir, /usr/lib/locate is --libexecdir).
Inetutils doesn't install anything in /usr/sbin, so the switch can probably be moved entirely.
Good catch, thanks!
Tar uses it to install /usr/sbin/rmt. I don't know if it needs to be there, or if perhaps it should be in /usr/bin. I have no idea.
Nothing I could see mentions `rmt' at all. FWIW, Ubuntu currently installs `rmt' to /usr/sbin too.
All of the above are concerns for Chapter 6 only. I wouldn't worry about Chapter 5 (if they are even mentioned there).
OK, I'm inclined to drop any occurrences of --libexecdir in chapter 5 too then.
That'll also fix bug 1646.
comment:5 by , 19 years ago
Sorry about my wrongness mentioning Glibc. I don't know which files are installed into /usr/lib from using --libexecdir, but I'd bet it is those pesky .o files. I suppose we need to determine what files are actually installed via --libexedir dir, and as you say, move them to /usr/lib/glibc. /usr/lib/glibc is already created, so it would simply be nothing more than a few files being relocated from /usr/lib to /usr/lib/glibc.
Best as I can tell, though, GCC and Gawk use /usr/lib as a preface to create directories, so you end up with /usr/lib/gcc and /usr/lib/awk. I cannot see any files installed in /usr/lib from either package that are not library files that belong there. I do have logs, to show this if anyone is interested.
comment:6 by , 19 years ago
findutils: For consistency, --libexecdir should be changed to /usr/lib/findutils. gawk: --libexecdir=/usr/lib since gawk uses $libexecdir/awk to install files. gcc: --libexecdir=/usr/lib since gcc uses $libexecdir/gcc. glibc: --libexecdir=/usr/lib/glibc. Installs pt_chown and getconf/* to $libexecdir. inetutils: --libexecdir=/usr/sbin since inetutils uses libexecdir as the location for installing daemons. tar: --libexecdir=/usr/sbin to install rmt into sbin.
In short, blindly using --libexecdir=/usr/lib/$packageName is not advisable. What is currently in the book is correct, except using /usr/lib/findutils instead of /usr/lib/locate for findutils.
comment:7 by , 19 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
A cursory glance of the book suggests the following packages need to be changed:
Findutils, Gawk, GCC, Glibc, Inetutils and Tar.
These are the only ones that currently use --libexecdir. Can we assume that by now we've caught every package that needs that switch passed to it, or do we need to do research into whether any other packages need that switch?