Bug 190314 - "rpm -V libselinux" shows discrepancies on x86_64
"rpm -V libselinux" shows discrepancies on x86_64
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: libselinux (Show other bugs)
5.0
x86_64 Linux
medium Severity medium
: ---
: ---
Assigned To: Daniel Walsh
: Reopened
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2006-04-30 21:00 EDT by Jordan Russell
Modified: 2009-01-20 17:03 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-01-20 17:03:35 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Jordan Russell 2006-04-30 21:00:20 EDT
Description of problem:
Running "rpm -V libselinux.i386 libselinux.x86_64" always shows discrepancies
because files with the same name, but different contents, are "owned" by both
packages.


Version-Release number of selected component (if applicable):
libselinux-1.19.1-7


How reproducible:

1. See which files are owned by the i386 package:

# rpm -ql libselinux.i386
/lib/libselinux.so.1
/usr/sbin/avcstat
/usr/sbin/getenforce
/usr/sbin/getsebool
/usr/sbin/selinuxenabled
/usr/sbin/setenforce
/usr/sbin/setsebool
/usr/sbin/togglesebool
/usr/share/man/man8/avcstat.8.gz
/usr/share/man/man8/booleans.8.gz
/usr/share/man/man8/getenforce.8.gz
/usr/share/man/man8/getsebool.8.gz
/usr/share/man/man8/selinux.8.gz
/usr/share/man/man8/selinuxenabled.8.gz
/usr/share/man/man8/setenforce.8.gz
/usr/share/man/man8/setsebool.8.gz
/usr/share/man/man8/togglesebool.8.gz

2. See which files are owned by the x86_64 package:

# rpm -ql libselinux.x86_64
/lib64/libselinux.so.1
/usr/sbin/avcstat
/usr/sbin/getenforce
/usr/sbin/getsebool
/usr/sbin/selinuxenabled
/usr/sbin/setenforce
/usr/sbin/setsebool
/usr/sbin/togglesebool
/usr/share/man/man8/avcstat.8.gz
/usr/share/man/man8/booleans.8.gz
/usr/share/man/man8/getenforce.8.gz
/usr/share/man/man8/getsebool.8.gz
/usr/share/man/man8/selinux.8.gz
/usr/share/man/man8/selinuxenabled.8.gz
/usr/share/man/man8/setenforce.8.gz
/usr/share/man/man8/setsebool.8.gz
/usr/share/man/man8/togglesebool.8.gz

3. Verify the two installed packages:

# rpm -V libselinux.i386 libselinux.x86_64
S.5....T    /usr/sbin/avcstat
S.5....T    /usr/sbin/getenforce
S.5....T    /usr/sbin/getsebool
S.5....T    /usr/sbin/selinuxenabled
S.5....T    /usr/sbin/setenforce
S.5....T    /usr/sbin/setsebool
S.5....T    /usr/sbin/togglesebool
.......T  d /usr/share/man/man8/avcstat.8.gz
.......T  d /usr/share/man/man8/booleans.8.gz
.......T  d /usr/share/man/man8/getenforce.8.gz
.......T  d /usr/share/man/man8/getsebool.8.gz
.......T  d /usr/share/man/man8/selinux.8.gz
.......T  d /usr/share/man/man8/selinuxenabled.8.gz
.......T  d /usr/share/man/man8/setenforce.8.gz
.......T  d /usr/share/man/man8/setsebool.8.gz
.......T  d /usr/share/man/man8/togglesebool.8.gz

  
Actual results:
rpm -V reports discrepancies because the two packages they think own the same files.

Expected results:
rpm -V shouldn't produce any output.
Comment 1 Daniel Walsh 2006-05-01 15:10:00 EDT
Paul,

How is this supposed to work?

Is this a bug in rpm? libselinux? or neither?

Dan
Comment 3 Jeff Johnson 2006-06-17 13:23:28 EDT
It's a bug in user  expectations. The files are, indeed, different, and so *must* be displayed
by --verify. (Note: the man pages are probably different only because the *.gz was not generated with 
gzip -n, which is currently a redhat-rpm-config config issue.)

Separate the excutables from the libraries. Then both i386 and
x86_64 libraries can be installed w/o conlflict because "lib" != "lib64".

The choice of executables is then determined by chosing either an x86_64 or i386 executable package, 
not both.

That will cause rpm --verify to be silent.
Comment 4 Jordan Russell 2006-08-08 19:33:16 EDT
I'm a bit puzzled by the resolution of CLOSED/WONTFIX on this report. The
solution for this is, as Jeff mentioned, to move the binaries into a separate
single-arch package, e.g. something like "libselinux-utils.x86_64". This fixes
the issue with "rpm -V", and also ensures that only 64-bit binaries are
installed. (With the binaries in both lib packages, you can end up with 32-bit
binaries if you install the i386 package second.)

BTW, I originally had this report assigned to "libselinux", but it was
reassigned to "rpm", giving the impression that I was reporting a bug in rpm,
which was never the case.
Comment 5 Jordan Russell 2007-09-07 19:40:48 EDT
The very same issue exists in RHEL 5 (libselinux-1.33.4-2.el5).

Reopening as there was no explanation as to why the report was closed.

Also reassigning back to libselinux, as this is not an RPM bug, but a libselinux
packaging issue.

Again, this can be solved by moving the binaries & man pages into a separate
package that is installed only for x86_64, i.e.:

libselinux.i386 - contains /lib/libselinux.so.1
libselinux.x86_64 - contains /lib64/libselinux.so.1
libselinux-utils.x86_64 - contains /usr/sbin/*, /usr/share/man/*
Comment 6 Daniel Walsh 2008-09-17 14:26:35 EDT
Fixed in libselinux-1.33.4-5.1.el5
Comment 7 RHEL Product and Program Management 2008-09-17 14:50:36 EDT
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
release.
Comment 12 errata-xmlrpc 2009-01-20 17:03:35 EST
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2009-0210.html

Note You need to log in before you can comment on or make changes to this bug.