Bug 510480

Summary: rpcbind and rpc.statd are installed in /sbin but link to libs under /usr/lib
Product: [Fedora] Fedora Reporter: Jeff Layton <jlayton>
Component: nfs-utilsAssignee: Steve Dickson <steved>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: chuck.lever, rwheeler, steved
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-01-18 07:32:42 EST Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Jeff Layton 2009-07-09 08:48:18 EDT
With the change to libtirpc, rpc.statd is now linked to files under /usr/lib. It gets installed in /sbin however. This is a violation of packaging policy (AFAIK). Things that are installed under / shouldn't depend on things under /usr. That could be problematic if /usr is a separate filesystem.

While libtirpc is an immediate problem, if we eventually use Chuck's reimplemented statd, then we'll also gain a dependency on libsqlite3.

The simplest solution is just to move rpcbind and rpc.statd to /usr. I think by the time we run them, /usr is mounted. There may be legit reasons to keep them in /sbin however.

We could also move libtirpc to /lib which might make sense for other reasons. People or statically link against it. Ditto for libsqlite3 when that becomes an issue.

Any thoughts on a solution? We probably need for Steve to weigh in here since he's the owner of these packages.
Comment 1 Chuck Lever 2009-07-09 10:06:41 EDT
I think first and foremost, libtirpc belongs in /lib{64}.  It replaces functionality (legacy RPC) that now resides in glibc, which is already in /lib{64}, and various items under /sbin link libtirpc, such as mount.nfs, rpcbind, and rpc.statd.

Note however that libtirpc has several library dependencies, including libpthread, libgssglue, libnsl, and others.  libgssglue also resides in /usr/lib{64} at the moment.

We can address statd's dependence on sqlite3 by linking libsqlite3 statically.
Comment 2 Chuck Lever 2009-07-09 12:00:00 EDT
Note that none of gssglue, libtirpc, or sqlite3 install a .a version of the libraries, at least none that I can see on my F11 system.
Comment 3 Bug Zapper 2009-11-16 05:45:38 EST
This bug appears to have been reported against 'rawhide' during the Fedora 12 development cycle.
Changing version to '12'.

More information and reason for this action is here:
Comment 4 Jeff Layton 2011-01-04 13:50:54 EST
Reassigning to Steve as I think he's working on some changes in this area already.