Opened 19 years ago

Closed 18 years ago

#1644 closed defect (fixed)

move libexecdir programs to /usr/lib/packagename

Reported by: archaic@… Owned by: lfs-book@…
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 Matthew Burgess, 18 years ago

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?

comment:2 by randy@…, 18 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 jim@…, 18 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 Matthew Burgess, 18 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 randy@…, 18 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 tushar@…, 18 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 Matthew Burgess, 18 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.