Bug 1303249

Summary: Kernel RPM packages built from source fail to install due to wrong requirements: 'kysm' instead of kernel'
Product: Red Hat Enterprise Linux 6 Reporter: Oliver Kurth <okurth>
Component: redhat-rpm-configAssignee: Florian Festi <ffesti>
Status: CLOSED ERRATA QA Contact: Karel Srot <ksrot>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.7CC: ffesti, ksrot, lkardos
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-05-11 01:03:55 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
repclace LANG=C with LC_ALL=C none

Description Oliver Kurth 2016-01-29 22:37:36 UTC
Description of problem:

Kernel RPM packages built from source fail to install due to wrong requirements: 'kysm' instead of kernel'

The issue looks very similar to bugs https://bugzilla.redhat.com/show_bug.cgi?id=642768 and https://bugzilla.redhat.com/show_bug.cgi?id=767738

Version-Release number of selected component (if applicable):
9.0.3-44

How reproducible:
always

Steps to Reproduce:
Set LC_ALL=en_US.UTF-8 and build kmod package from source, eg:

rpmbuild --rebuild vmware-tools-pvscsi-1.2.3.0-2.6.32.71.el6.i686.5.el6.src.rpm
and try to install the resultin binary rpm. It  will fail.

Actual results:
error: Failed dependencies:
...
 ksym(free_pages) = 0x4302d0eb is needed by kmod-vmware-tools-pvscsi-0:1.2.3.0-2.6.32.573.el6.x86_64.5.el6.x86_64
 ksym(scsi_add_device) = 0x9d8c0f66 is needed by kmod-vmware-tools-pvscsi-0:1.2.3.0-2.6.32.573.el6.x86_64.5.el6.x86_64


Expected results:
No failed depenencies on kernel symbols.

Additional info:

The issue can be fixed easily by replacing all occurrences of LANG=C with LC_ALL=C in /usr/lib/rpm/redhat/find-requires.ksyms

Comment 2 Oliver Kurth 2016-01-29 23:19:53 UTC
Created attachment 1119548 [details]
repclace LANG=C with LC_ALL=C

Attaching a patch that fixes the problem. All it does is s/LANG=C/LC_ALL=C/g.

Comment 6 Ľuboš Kardoš 2016-02-09 14:25:52 UTC
Yes, we can fix it in 6.8.

Comment 9 Ľuboš Kardoš 2016-02-09 15:46:23 UTC
The real problem here is:
    
    LANG=C join -t '\t' -j 1 ...

Delimiter '\t' is literally interpreted as '\t' and not as a tabulator. This confuses join command and it is not able to join input data correctly.

I replaced '\t' with $'\t' and to be 100% sure, I also added LC_LANG=C.

Fixed in redhat-rpm-config-9.0.3-48.el6

Comment 10 Ľuboš Kardoš 2016-02-09 15:47:11 UTC
s/LC_LANG/LC_ALL/

Comment 13 errata-xmlrpc 2016-05-11 01:03:55 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2016-0948.html