Bug 1581722

Summary: libsmbios-devel: remove c++ pkgconfig file and headers
Product: Red Hat Enterprise Linux 7 Reporter: Carl George <carl>
Component: libsmbiosAssignee: Peter Jones <pjones>
Status: CLOSED WONTFIX QA Contact: Erico Nunes <ernunes>
Severity: high Docs Contact:
Priority: high    
Version: 7.5CC: kazen
Target Milestone: rc   
Target Release: 7.6   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-03-01 07:36:34 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: 1507957, 1526256    
Attachments:
Description Flags
Current patch work none

Description Carl George 2018-05-23 13:45:48 UTC
Description of problem:
This package previously existed in EPEL.  Red Hat added it to RHEL 7.5, but without the C++ interface.  While working on a new libsmbios-cpp package, I discovered that although the new libsmbios disables the C++ interface, libsmbios-devel still includes the C++ pkgconfig file and headers.

/usr/lib64/pkgconfig/libsmbios_c++.pc
/usr/include/smbios/

Please remove those so my new libsmbios-cpp-devel package doesn't have file conflicts.

Version-Release number of selected component (if applicable):
libsmbios-2.3.3-6.el7

Comment 2 Carl George 2018-05-23 14:10:27 UTC
While you're at it, you might as well update the summary as well.

-Summary: Libsmbios C/C++ shared libraries
+Summary: Libsmbios C shared libraries

Comment 3 Peter Jones 2018-05-30 18:28:54 UTC
Created attachment 1445971 [details]
Current patch work

Thanks, here's what I've got queued up currently.

Comment 4 Carl George 2018-05-30 21:53:59 UTC
As is, those changes don't build.  Just removing the files from %files isn't enough, because they are still being installed in the buildroot.

-----------------------------------------------------------------------------------

/usr/lib64/pkgconfig/libsmbios_c++.pc

You can either rm the file at then end of %install, or patch Makefile.am to remove it.

https://github.com/dell/libsmbios/blob/v2.3.3/Makefile.am#L58

-pc_DATA = pkg/libsmbios_c.pc pkg/libsmbios_c++.pc
+pc_DATA = pkg/libsmbios_c.pc

While you're patching that file, it may be worth removing these lines as well.

https://github.com/dell/libsmbios/blob/v2.3.3/Makefile.am#L37-L39

-if BUILD_LIBSMBIOS_CXX
-include src/libsmbios_c++/Makefile.am
-endif

-----------------------------------------------------------------------------------

/usr/include/smbios and /usr/include/smbios/*

These are still being copied into the buildroot in the spec file during %install.  Changing these globs to explicit directory names should take care of it.

-cp -a $TOPDIR/src/include/*  %{buildroot}/%{_includedir}/
-cp -a out/public-include/*  %{buildroot}/%{_includedir}/
+cp -a $TOPDIR/src/include/smbios_c  %{buildroot}/%{_includedir}/
+cp -a out/public-include/smbios_c  %{buildroot}/%{_includedir}/

Comment 5 Carl George 2018-10-01 20:06:15 UTC
Looks like this is handled in libsmbios-devel-2.3.3-8.el7.x86_64.rpm from the 7.6 beta.

    %exclude %{_includedir}/smbios/
    %exclude %{_libdir}/pkgconfig/libsmbios_c++.pc

Thanks!

Comment 9 RHEL Program Management 2021-03-01 07:36:34 UTC
After evaluating this issue, there are no plans to address it further or fix it in an upcoming release.  Therefore, it is being closed.  If plans change such that this issue will be fixed in an upcoming release, then the bug can be reopened.