#23 Filter out private libraries provides, but don't require them
Closed 3 years ago by churchyard. Opened 3 years ago by churchyard.
rpms/ churchyard/firefox provides  into  master

file modified
+8 -3
@@ -133,13 +133,14 @@ 

  %endif

  

  # https://bugzilla.redhat.com/show_bug.cgi?id=1908791

- # Disabled due to https://bugzilla.redhat.com/show_bug.cgi?id=1908791#c12

- # %global __provides_exclude_from ^%{mozappdir}

+ %global __provides_exclude_from ^%{mozappdir}

+ # https://bugzilla.redhat.com/show_bug.cgi?id=1908791#c12

+ %global __requires_exclude ^lib(lgpllibs|moz(avutil|gtk|sandbox|sqlite3|wayland)|nspr4|nss(util)?3|plc4|plds4|smime3|ssl3|xul)\\.so\\(

  

  Summary:        Mozilla Firefox Web browser

  Name:           firefox

  Version:        84.0.1

- Release:        1%{?pre_tag}%{?dist}

+ Release:        2%{?pre_tag}%{?dist}

  URL:            https://www.mozilla.org/firefox/

  License:        MPLv1.1 or GPLv2+ or LGPLv2+

  Source0:        https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz
@@ -1010,6 +1011,10 @@ 

  #---------------------------------------------------------------------

  

  %changelog

+ * Tue Dec 22 2020 Miro Hrončok <mhroncok@redhat.com> - 84.0.1-2

+ - Filter out private libraries provides

+ - Fixes: rhbz#1908791

+ 

  * Tue Dec 22 2020 Martin Stransky <stransky@redhat.com> - 84.0.1-1

  - Updated to 84.0.1

  

no initial comment

This fix is not complete. When I filtered the private library provides, the following requires appeared that were previously not present:

--- firefox_requires_old    2020-12-22 12:00:13.513805334 +0100
+++ firefox_requires_new    2020-12-22 12:00:01.747752088 +0100
@@ -41,13 +41,78 @@
 libgtk-3.so.0()(64bit)
 libgtk-x11-2.0.so.0()(64bit)
 libharfbuzz.so.0()(64bit)
+liblgpllibs.so()(64bit)
 libm.so.6()(64bit)
 libm.so.6(GLIBC_2.2.5)(64bit)
 libm.so.6(GLIBC_2.27)(64bit)
 libm.so.6(GLIBC_2.29)(64bit)
+libmozavutil.so()(64bit)
+libmozavutil.so(libmozavutil.so)(64bit)
+libmozgtk.so()(64bit)
+libmozsandbox.so()(64bit)
+libmozsqlite3.so()(64bit)
+libmozsqlite3.so(libmozsqlite3.so)(64bit)
+libmozwayland.so()(64bit)
+libnspr4.so()(64bit)
+libnss3.so()(64bit)
+libnss3.so(NSS_3.10)(64bit)
+libnss3.so(NSS_3.10.2)(64bit)
+libnss3.so(NSS_3.11)(64bit)
+libnss3.so(NSS_3.11.1)(64bit)
+libnss3.so(NSS_3.11.2)(64bit)
+libnss3.so(NSS_3.12)(64bit)
+libnss3.so(NSS_3.12.3)(64bit)
+libnss3.so(NSS_3.12.4)(64bit)
+libnss3.so(NSS_3.12.5)(64bit)
+libnss3.so(NSS_3.12.6)(64bit)
+libnss3.so(NSS_3.13)(64bit)
+libnss3.so(NSS_3.13.2)(64bit)
+libnss3.so(NSS_3.14)(64bit)
+libnss3.so(NSS_3.14.3)(64bit)
+libnss3.so(NSS_3.15)(64bit)
+libnss3.so(NSS_3.16.1)(64bit)
+libnss3.so(NSS_3.16.2)(64bit)
+libnss3.so(NSS_3.19)(64bit)
+libnss3.so(NSS_3.19.1)(64bit)
+libnss3.so(NSS_3.2)(64bit)
+libnss3.so(NSS_3.21)(64bit)
+libnss3.so(NSS_3.22)(64bit)
+libnss3.so(NSS_3.3)(64bit)
+libnss3.so(NSS_3.3.1)(64bit)
+libnss3.so(NSS_3.30)(64bit)
+libnss3.so(NSS_3.4)(64bit)
+libnss3.so(NSS_3.44)(64bit)
+libnss3.so(NSS_3.45)(64bit)
+libnss3.so(NSS_3.47)(64bit)
+libnss3.so(NSS_3.5)(64bit)
+libnss3.so(NSS_3.52)(64bit)
+libnss3.so(NSS_3.55)(64bit)
+libnss3.so(NSS_3.58)(64bit)
+libnss3.so(NSS_3.6)(64bit)
+libnss3.so(NSS_3.7)(64bit)
+libnss3.so(NSS_3.8)(64bit)
+libnss3.so(NSS_3.9)(64bit)
+libnss3.so(NSS_3.9.2)(64bit)
+libnss3.so(NSS_3.9.3)(64bit)
+libnssutil3.so()(64bit)
+libnssutil3.so(NSSUTIL_3.12)(64bit)
+libnssutil3.so(NSSUTIL_3.12.3)(64bit)
+libnssutil3.so(NSSUTIL_3.12.5)(64bit)
+libnssutil3.so(NSSUTIL_3.13)(64bit)
+libnssutil3.so(NSSUTIL_3.14)(64bit)
+libnssutil3.so(NSSUTIL_3.15)(64bit)
+libnssutil3.so(NSSUTIL_3.17.1)(64bit)
+libnssutil3.so(NSSUTIL_3.21)(64bit)
+libnssutil3.so(NSSUTIL_3.24)(64bit)
+libnssutil3.so(NSSUTIL_3.31)(64bit)
+libnssutil3.so(NSSUTIL_3.38)(64bit)
+libnssutil3.so(NSSUTIL_3.39)(64bit)
+libnssutil3.so(NSSUTIL_3.59)(64bit)
 libpango-1.0.so.0()(64bit)
 libpangocairo-1.0.so.0()(64bit)
 libpangoft2-1.0.so.0()(64bit)
+libplc4.so()(64bit)
+libplds4.so()(64bit)
 libpthread.so.0()(64bit)
 libpthread.so.0(GLIBC_2.12)(64bit)
 libpthread.so.0(GLIBC_2.2.5)(64bit)
@@ -55,6 +120,27 @@
 libpthread.so.0(GLIBC_2.3.3)(64bit)
 librt.so.1()(64bit)
 librt.so.1(GLIBC_2.2.5)(64bit)
+libsmime3.so()(64bit)
+libsmime3.so(NSS_3.13)(64bit)
+libsmime3.so(NSS_3.16)(64bit)
+libsmime3.so(NSS_3.2)(64bit)
+libsmime3.so(NSS_3.4)(64bit)
+libssl3.so()(64bit)
+libssl3.so(NSS_3.12.6)(64bit)
+libssl3.so(NSS_3.13)(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.21)(64bit)
+libssl3.so(NSS_3.22)(64bit)
+libssl3.so(NSS_3.23)(64bit)
+libssl3.so(NSS_3.27)(64bit)
+libssl3.so(NSS_3.28)(64bit)
+libssl3.so(NSS_3.30.0.1)(64bit)
+libssl3.so(NSS_3.33)(64bit)
+libssl3.so(NSS_3.4)(64bit)
 libstdc++.so.6()(64bit)
 libstdc++.so.6(CXXABI_1.3)(64bit)
 libstdc++.so.6(CXXABI_1.3.5)(64bit)
@@ -71,6 +157,8 @@
 libstdc++.so.6(GLIBCXX_3.4.9)(64bit)
 libxcb-shm.so.0()(64bit)
 libxcb.so.1()(64bit)
+libxul.so()(64bit)
+libxul.so(xul84)(64bit)
 libz.so.1()(64bit)
 libz.so.1(ZLIB_1.2.0)(64bit)
 libz.so.1(ZLIB_1.2.3.4)(64bit)

We need to filter them all out. I wonder how to do that dynamically.

rebased onto d0837f2

3 years ago

I've extended the regex, I don't like it very much, as it doesn't scale, but I don't know any better.

Pull-Request has been closed by churchyard

3 years ago