Bug 190314 - "rpm -V libselinux" shows discrepancies on x86_64
Summary: "rpm -V libselinux" shows discrepancies on x86_64
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: libselinux
Version: 5.0
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: ---
: ---
Assignee: Daniel Walsh
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-05-01 01:00 UTC by Jordan Russell
Modified: 2009-01-20 22:03 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-01-20 22:03:35 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2009:0210 0 normal SHIPPED_LIVE libselinux bug fix update 2009-01-20 16:06:16 UTC

Description Jordan Russell 2006-05-01 01:00:20 UTC
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 19:10:00 UTC
Paul,

How is this supposed to work?

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

Dan

Comment 3 Jeff Johnson 2006-06-17 17:23:28 UTC
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 23:33:16 UTC
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 23:40:48 UTC
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 18:26:35 UTC
Fixed in libselinux-1.33.4-5.1.el5

Comment 7 RHEL Program Management 2008-09-17 18:50:36 UTC
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 22:03:35 UTC
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.