Ticket was cloned from Red Hat Bugzilla (product Red Hat Enterprise Linux 7): Bug 1257568
Description of problem: The file /usr/lib64/dirsrv/libnunc-stans.so is owned by both -libs and -devel, even if -devel requires -libs so will install that file via -libs anyway. Version-Release number of selected component (if applicable): # rpm -qf /usr/lib64/dirsrv/libnunc-stans.so 389-ds-base-libs-1.3.4.0-13.el7.x86_64 389-ds-base-devel-1.3.4.0-13.el7.x86_64 How reproducible: Deterministic. Steps to Reproduce: 1. # rpm -qf /usr/lib64/dirsrv/libnunc-stans.so Actual results: 389-ds-base-libs-1.3.4.0-13.el7.x86_64 389-ds-base-devel-1.3.4.0-13.el7.x86_64 Expected results: 389-ds-base-libs-1.3.4.0-13.el7.x86_64 Additional info: Note that # rpm -q --requires 389-ds-base-devel-1.3.4.0-13.el7.x86_64 | grep 389-ds-base-libs 389-ds-base-libs = 1.3.4.0-13.el7
{{{ I0> rpm -qlp /home/wibrown/build/ds/rpmbuild/RPMS/x86_64/389-ds-base-devel-1.3.5.4-20160527044612.fc25.x86_64.rpm /usr/include/dirsrv /usr/include/dirsrv/repl-session-plugin.h /usr/include/dirsrv/slapi-plugin.h /usr/include/dirsrv/winsync-plugin.h /usr/lib64/pkgconfig/dirsrv.pc /usr/share/doc/389-ds-base-devel /usr/share/doc/389-ds-base-devel/LICENSE /usr/share/doc/389-ds-base-devel/LICENSE.GPLv3+ /usr/share/doc/389-ds-base-devel/LICENSE.openssl /usr/share/doc/389-ds-base-devel/README.devel
I0> rpm -qlp /home/wibrown/build/ds/rpmbuild/RPMS/x86_64/389-ds-base-libs-1.3.5.4-20160527044612.fc25.x86_64.rpm /usr/lib64/dirsrv /usr/lib64/dirsrv/libns-dshttpd.so /usr/lib64/dirsrv/libns-dshttpd.so.0 /usr/lib64/dirsrv/libns-dshttpd.so.0.0.0 /usr/lib64/dirsrv/libnunc-stans.so /usr/lib64/dirsrv/libnunc-stans.so.0 /usr/lib64/dirsrv/libnunc-stans.so.0.0.0 /usr/lib64/dirsrv/libslapd.so /usr/lib64/dirsrv/libslapd.so.0 /usr/lib64/dirsrv/libslapd.so.0.0.0 /usr/share/doc/389-ds-base-libs /usr/share/doc/389-ds-base-libs/LICENSE /usr/share/doc/389-ds-base-libs/LICENSE.GPLv3+ /usr/share/doc/389-ds-base-libs/LICENSE.openssl /usr/share/doc/389-ds-base-libs/README.devel
}}}
Fixes the lib, and the make rpms command. devel depends on libs, so it's no harm to move them all to libs.
If I delete this line, my build fails... {{{ 442 %{_libdir}/%{pkgname}/libslapd.so }}} The error message: {{{ error: Installed (but unpackaged) file(s) found: /usr/lib64/dirsrv/libslapd.so }}} The fix for the libnunc-stans.so itself is good.
You also need to change a later line:
{{{ %{_libdir}/%{pkgname}/libslapd.so. TO %{_libdir}/%{pkgname}/libslapd.so }}}
Else it won't match libslapd.so into -libs.
Replying to [comment:8 firstyear]:
You also need to change a later line: {{{ %{_libdir}/%{pkgname}/libslapd.so. TO %{_libdir}/%{pkgname}/libslapd.so }}} Else it won't match libslapd.so into -libs.
I don't think this change should be covered by this ticket? Also, I think it is intentionally set -- .so is in devel and .so.0 and .so.0.0.0 are in libs. If that's the case, we may want to put libnunc-stans.so and libnunc-stans.so.* separately. Let's ask to the list.
Correction. Could you follow the conventional rule for rpm packaging? . Put .so in -devel package . Put .so.<VERSION_#> in -libs package
Thanks.
Yep, I'll update that and will post a new patch.
Well, it looks like that's already the case then. This means there is no bug, because that's how it's done already.
Closing as invalid since it's not an issue then ....
Indeed, I see libnunc-stans.so in both rpm. This solves it for me... :) {{{ diff --git a/rpm/389-ds-base.spec.in b/rpm/389-ds-base.spec.in index 6cf5fda..6410837 100644 --- a/rpm/389-ds-base.spec.in +++ b/rpm/389-ds-base.spec.in @@ -470,7 +470,7 @@ fi %{_libdir}/%{pkgname}/libslapd.so. %{_libdir}/%{pkgname}/libns-dshttpd.so %if %{use_nunc_stans} -%{_libdir}/%{pkgname}/libnunc-stans.so +%{_libdir}/%{pkgname}/libnunc-stans.so. %endif
%files snmp }}}
Actually, there is a mistake here.
It should be this:
{{{ {wibrown@ldapkdc 13:23} ~/development/389ds I0> rpm -qlp /home/wibrown/build/ds/rpmbuild/RPMS/x86_64/389-ds-base-devel-1.3.5.4-20160609031950.fc25.x86_64.rpm /usr/include/dirsrv /usr/include/dirsrv/repl-session-plugin.h /usr/include/dirsrv/slapi-plugin.h /usr/include/dirsrv/winsync-plugin.h /usr/lib64/dirsrv/libns-dshttpd.so /usr/lib64/dirsrv/libnunc-stans.so /usr/lib64/dirsrv/libslapd.so /usr/lib64/pkgconfig/dirsrv.pc /usr/share/doc/389-ds-base-devel /usr/share/doc/389-ds-base-devel/LICENSE /usr/share/doc/389-ds-base-devel/LICENSE.GPLv3+ /usr/share/doc/389-ds-base-devel/LICENSE.openssl /usr/share/doc/389-ds-base-devel/README.devel {wibrown@ldapkdc 13:26} ~/development/389ds I0> rpm -qlp /home/wibrown/build/ds/rpmbuild/RPMS/x86_64/389-ds-base-libs-1.3.5.4-20160609031950.fc25.x86_64.rpm /usr/lib64/dirsrv /usr/lib64/dirsrv/libns-dshttpd.so.0 /usr/lib64/dirsrv/libns-dshttpd.so.0.0.0 /usr/lib64/dirsrv/libnunc-stans.so.0 /usr/lib64/dirsrv/libnunc-stans.so.0.0.0 /usr/lib64/dirsrv/libslapd.so.0 /usr/lib64/dirsrv/libslapd.so.0.0.0 /usr/share/doc/389-ds-base-libs /usr/share/doc/389-ds-base-libs/LICENSE /usr/share/doc/389-ds-base-libs/LICENSE.GPLv3+ /usr/share/doc/389-ds-base-libs/LICENSE.openssl /usr/share/doc/389-ds-base-libs/README.devel
With -devel and -libs
{{{ {wibrown@ldapkdc 13:28} ~/development/389ds I0> ls -al /usr/lib64/dirsrv/{libslapd,libnunc-stans,libns-dshttpd}* lrwxrwxrwx. 1 root root 22 Jun 9 13:22 /usr/lib64/dirsrv/libns-dshttpd.so -> libns-dshttpd.so.0.0.0 lrwxrwxrwx. 1 root root 22 Jun 9 13:22 /usr/lib64/dirsrv/libns-dshttpd.so.0 -> libns-dshttpd.so.0.0.0 -rwxr-xr-x. 1 root root 724176 Jun 9 13:22 /usr/lib64/dirsrv/libns-dshttpd.so.0.0.0 lrwxrwxrwx. 1 root root 22 Jun 9 13:22 /usr/lib64/dirsrv/libnunc-stans.so -> libnunc-stans.so.0.0.0 lrwxrwxrwx. 1 root root 22 Jun 9 13:22 /usr/lib64/dirsrv/libnunc-stans.so.0 -> libnunc-stans.so.0.0.0 -rwxr-xr-x. 1 root root 40304 Jun 9 13:22 /usr/lib64/dirsrv/libnunc-stans.so.0.0.0 lrwxrwxrwx. 1 root root 17 Jun 9 13:22 /usr/lib64/dirsrv/libslapd.so -> libslapd.so.0.0.0 lrwxrwxrwx. 1 root root 17 Jun 9 13:22 /usr/lib64/dirsrv/libslapd.so.0 -> libslapd.so.0.0.0 -rwxr-xr-x. 1 root root 3116800 Jun 9 13:22 /usr/lib64/dirsrv/libslapd.so.0.0.0
Without -devel, but with -libs.
{{{
}}}{wibrown@ldapkdc 13:29} ~/development/389ds I0> ls -al /usr/lib64/dirsrv/{libslapd,libnunc-stans,libns-dshttpd}* lrwxrwxrwx. 1 root root 22 Jun 9 13:22 /usr/lib64/dirsrv/libns-dshttpd.so.0 -> libns-dshttpd.so.0.0.0 -rwxr-xr-x. 1 root root 724176 Jun 9 13:22 /usr/lib64/dirsrv/libns-dshttpd.so.0.0.0 lrwxrwxrwx. 1 root root 22 Jun 9 13:22 /usr/lib64/dirsrv/libnunc-stans.so.0 -> libnunc-stans.so.0.0.0 -rwxr-xr-x. 1 root root 40304 Jun 9 13:22 /usr/lib64/dirsrv/libnunc-stans.so.0.0.0 lrwxrwxrwx. 1 root root 17 Jun 9 13:22 /usr/lib64/dirsrv/libslapd.so.0 -> libslapd.so.0.0.0 -rwxr-xr-x. 1 root root 3116800 Jun 9 13:22 /usr/lib64/dirsrv/libslapd.so.0.0.0 }}}
ldd is happy too:
{{{ {wibrown@ldapkdc 13:30} ~/development/389ds I0> ldd /usr/sbin/ns-slapd | grep -i slapd libslapd.so.0 => /usr/lib64/dirsrv/libslapd.so.0 (0x00007f27076d1000)
attachment 0001-Ticket-48404-libslapd-owned-by-libs-and-devel.patch
Thanks, William!
commit db0f124 Writing objects: 100% (4/4), 626 bytes | 0 bytes/s, done. Total 4 (delta 3), reused 0 (delta 0) To ssh://git.fedorahosted.org/git/389/ds.git db116a4..db0f124 master -> master
Metadata Update from @firstyear: - Issue assigned to firstyear - Issue set to the milestone: 1.3.5.5
389-ds-base is moving from Pagure to Github. This means that new issues and pull requests will be accepted only in 389-ds-base's github repository.
This issue has been cloned to Github and is available here: - https://github.com/389ds/389-ds-base/issues/1735
If you want to receive further updates on the issue, please navigate to the github issue and click on subscribe button.
subscribe
Thank you for understanding. We apologize for all inconvenience.
Metadata Update from @spichugi: - Issue close_status updated to: wontfix (was: Fixed)
Log in to comment on this ticket.