#5 Exclude private libraries from Provides (bz 1925723)
Closed 2 years ago by kalev. Opened 3 years ago by jjames.
Unknown source rawhide  into  rawhide

file modified
+7 -1
@@ -31,7 +31,7 @@

  

  Name:		gnome-boxes

  Version:	3.38.2

- Release:	2%{?dist}

+ Release:	3%{?dist}

  Summary:	A simple GNOME 3 application to access remote or virtual systems

  

  License:	LGPLv2+
@@ -67,6 +67,9 @@

  BuildRequires:	libosinfo-vala

  BuildRequires:	desktop-file-utils

  

+ # Do not provide private libraries

+ %global __provides_exclude_from ^%{_libdir}/gnome-boxes/

+ 

  # Pulls in libvirtd + KVM, but no NAT / firewall configs

  %if %{with_qemu_kvm}

  Requires:	libvirt-daemon-kvm
@@ -153,6 +156,9 @@

  %{_datadir}/metainfo/org.gnome.Boxes.appdata.xml

  

  %changelog

+ * Mon Feb  8 2021 Jerry James <loganjerry@gmail.com> - 3.38.2-3

+ - Exclude private libraries from Provides (bz 1925723)

+ 

  * Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.38.2-2

  - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

  

As reported on the Fedora users list, the duplicate Provides of libhandy-0.0.so.0()(64bit) causes problems, including that gnome-boxes cannot be uninstalled once installed. Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1925723.

Thanks for the PR! I don't think this is going to work, because if you filter out the library Provides, this is going to make the package uninstallable because there is nothing that satisfies automatically generated Requires on libgovf-0.1.so and other private libraries.

I recently looked at a similar problem in firefox and came up with https://src.fedoraproject.org/rpms/firefox/c/00f050ca50ed263883650e2f5819556bec57e678?branch=rawhide . I think it would be worth porting the same approach here.

Regardless, I have a question to @feborges: Why is gnome-boxes not linking to system libhandy? It even BuildRequires it, but then I see in src/meson.build that it only uses system libhandy when building flatpak, but not when building distro packages:

if get_option('flatpak')
  ...
  dependencies += dependency ('libhandy-0.0', version: '>= 0.0.11')
  ...
else
  ...
  libhandy = subproject(

I think the best would be to fix gnome-boxes to use system libhandy AND add private libraries filtering (to avoid providing private libovf-glib etc).

Why is gnome-boxes not linking to system libhandy? It even BuildRequires it, but then I see in src/meson.build that it only uses system libhandy when building flatpak, but not when building distro packages:

sorry, this is legacy from using libhandy in the early days (before it was package and had its first major release).

I think the best would be to fix gnome-boxes to use system libhandy AND add private libraries filtering (to avoid providing private libovf-glib etc).

Sure, I will fix this upstream. Thanks!

Let's close this one as the other PR was merged.

Pull-Request has been closed by kalev

2 years ago
Metadata