Bug 1306559

Summary: incorrect auto requires for a library packaged with RemovePathPostfixes
Product: [Fedora] Fedora Reporter: Kamil Dudka <kdudka>
Component: rpmAssignee: Packaging Maintenance Team <packaging-team-maint>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: 24CC: ffesti, jzeleny, kdudka, lkardos, novyjindrich, packaging-team-maint, pknirsch
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: rpm-4.13.0-0.rc1.25.fc25 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-02-26 07:55:25 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:
Embargoed:
Bug Depends On:    
Bug Blocks: 1312435    

Description Kamil Dudka 2016-02-11 10:00:09 UTC
Description of problem:
I wanted to create the libcurl-minimal subpackage with a conservatively configured build of libcurl to reduce footprint of a minimal installation of Fedora.  The RemovePathPostfixes tag helped me to package the correct files into the libcurl-minimal subpackage.  The problem is that the automatically detected requirements of the libcurl-minimal subpackage do not describe the actually packaged library.  In fact, the requirements are the same as for the libcurl subpackage, which defeats the only purpose of the libcurl-minimal subpackage.


Version-Release number of selected component (if applicable):
rpm-4.13.0-0.rc1.11.fc23.x86_64


How reproducible:
Easily.


Steps to Reproduce:
$ fedpkg clone curl
$ cd curl
$ git checkout private-kdudka-libcurl-minimal
$ fedpkg --dist=master srpm
$ rpmbuild --nocheck --rebuild ./*.src.rpm
$ rpmdev-extract $HOME/rpmbuild/RPMS/*/libcurl-minimal-*.rpm
$ ldd libcurl-minimal-*/usr/*/libcurl.so.4.4.0              
libcurl-minimal-7.47.1-2.1.fc23.x86_64/usr/lib64/libcurl.so.4.4.0:
        linux-vdso.so.1 (0x00007ffd0d534000)
        libssl3.so => /lib64/libssl3.so (0x00007f58ffd7b000)
        libsmime3.so => /lib64/libsmime3.so (0x00007f58ffb54000)
        libnss3.so => /lib64/libnss3.so (0x00007f58ff82c000)
        libnssutil3.so => /lib64/libnssutil3.so (0x00007f58ff5ff000)
        libplds4.so => /lib64/libplds4.so (0x00007f58ff3fb000)
        libplc4.so => /lib64/libplc4.so (0x00007f58ff1f5000)
        libnspr4.so => /lib64/libnspr4.so (0x00007f58fefb6000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f58fed99000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f58feb94000)
        libz.so.1 => /lib64/libz.so.1 (0x00007f58fe97e000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f58fe5bd000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f58fe3b4000)
        /lib64/ld-linux-x86-64.so.2 (0x000055d9b8ab1000)


Actual results:
$ rpm -pq --requires $HOME/rpmbuild/RPMS/*/libcurl-minimal-*.rpm       
libc.so.6()(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.15)(64bit)
libc.so.6(GLIBC_2.16)(64bit)
libc.so.6(GLIBC_2.17)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libc.so.6(GLIBC_2.7)(64bit)
libcom_err.so.2()(64bit)
libdl.so.2()(64bit)
libgssapi_krb5.so.2()(64bit)
libgssapi_krb5.so.2(gssapi_krb5_2_MIT)(64bit)
libidn.so.11()(64bit)
libidn.so.11(LIBIDN_1.0)(64bit)
libk5crypto.so.3()(64bit)
libkrb5.so.3()(64bit)
liblber-2.4.so.2()(64bit)
libldap-2.4.so.2()(64bit)
libnghttp2.so.14()(64bit)
libnspr4.so()(64bit)
libnss3.so()(64bit)
libnss3.so(NSS_3.10)(64bit)
libnss3.so(NSS_3.12)(64bit)
libnss3.so(NSS_3.12.1)(64bit)
libnss3.so(NSS_3.12.5)(64bit)
libnss3.so(NSS_3.12.6)(64bit)
libnss3.so(NSS_3.2)(64bit)
libnss3.so(NSS_3.3)(64bit)
libnss3.so(NSS_3.4)(64bit)
libnss3.so(NSS_3.5)(64bit)
libnss3.so(NSS_3.9.2)(64bit)
libnss3.so(NSS_3.9.3)(64bit)
libnssutil3.so()(64bit)
libplc4.so()(64bit)
libplds4.so()(64bit)
libpsl.so.0()(64bit)
libpthread.so.0()(64bit)
libpthread.so.0(GLIBC_2.2.5)(64bit)
libsmime3.so()(64bit)
libssh2.so.1()(64bit)
libssl3.so()(64bit)
libssl3.so(NSS_3.11.4)(64bit)
libssl3.so(NSS_3.12.6)(64bit)
libssl3.so(NSS_3.13.2)(64bit)
libssl3.so(NSS_3.14)(64bit)
libssl3.so(NSS_3.15)(64bit)
libssl3.so(NSS_3.15.4)(64bit)
libssl3.so(NSS_3.2)(64bit)
libssl3.so(NSS_3.4)(64bit)
libz.so.1()(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1
rtld(GNU_HASH)


Expected results:
$ rpm -pq --requires $HOME/rpmbuild/RPMS/*/libcurl-minimal-*.rpm     
libc.so.6()(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.15)(64bit)
libc.so.6(GLIBC_2.16)(64bit)
libc.so.6(GLIBC_2.17)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libc.so.6(GLIBC_2.7)(64bit)
libdl.so.2()(64bit)
libnspr4.so()(64bit)
libnss3.so()(64bit)
libnss3.so(NSS_3.10)(64bit)
libnss3.so(NSS_3.12)(64bit)
libnss3.so(NSS_3.12.1)(64bit)
libnss3.so(NSS_3.12.5)(64bit)
libnss3.so(NSS_3.12.6)(64bit)
libnss3.so(NSS_3.2)(64bit)
libnss3.so(NSS_3.3)(64bit)
libnss3.so(NSS_3.4)(64bit)
libnss3.so(NSS_3.5)(64bit)
libnss3.so(NSS_3.9.2)(64bit)
libnss3.so(NSS_3.9.3)(64bit)
libnssutil3.so()(64bit)
libplc4.so()(64bit)
libplds4.so()(64bit)
libpthread.so.0()(64bit)
libpthread.so.0(GLIBC_2.2.5)(64bit)
libsmime3.so()(64bit)
libssl3.so()(64bit)
libssl3.so(NSS_3.11.4)(64bit)
libssl3.so(NSS_3.12.6)(64bit)
libssl3.so(NSS_3.13.2)(64bit)
libssl3.so(NSS_3.14)(64bit)
libssl3.so(NSS_3.15)(64bit)
libssl3.so(NSS_3.15.4)(64bit)
libssl3.so(NSS_3.2)(64bit)
libssl3.so(NSS_3.4)(64bit)
libz.so.1()(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1
rtld(GNU_HASH)


Additional info:
The bug is reported to the upstream mailing list since December with no reply from upstream so far:

http://lists.rpm.org/pipermail/rpm-maint/2015-December/004046.html

Comment 1 Florian Festi 2016-02-25 15:18:38 UTC
Can you please add the spec file somewhere?

Comment 2 Kamil Dudka 2016-02-25 15:54:48 UTC
(In reply to Florian Festi from comment #1)
> Can you please add the spec file somewhere?

It is in the private-kdudka-libcurl-minimal branch of curl in Fedora dist-git (comment #0 explains how to checkout the specfile):

http://pkgs.fedoraproject.org/cgit/rpms/curl.git/tree/curl.spec?h=private-kdudka-libcurl-minimal

Comment 3 Florian Festi 2016-02-25 16:22:40 UTC
Ok, I think I fixed it. Can you please test rpm-4.13.0-0.rc1.25.fc25 ? If this works out for you I'll put the patch in F24, too. Do you also need it in F23 (which this bug is reported against)?

Comment 4 Kamil Dudka 2016-02-25 17:09:52 UTC
Looks good.  I am getting the expected results with rpm-4.13.0-0.rc1.25.fc25.  It is fine for me to have it fixed in f24+ only.  Thank you for fixing it!