freedomofpress / maint-dangerzone-pyside6

Build instructions for creating a PySide6 RPM, which is currently missing from the official Fedora repos.
1 stars 0 forks source link

Assert that Provides / Requires has not radically changed #3

Open apyrgio opened 6 months ago

apyrgio commented 6 months ago

Due to the nature of private Qt libraries, which are built within the PySide6 wheel, there is always the risk of them appearing in the Requires / Provides section of the package. We don't want the private libraries to leak to the Requires / Provides sections for several reasons, mainly because it will confuse RPM's dependency resolution, if other packages require Qt6 ibraries. We need to make sure in every release that the Provides / Requires section is not radically different from the following:

Provides

# rpm -q --provides .rpmbuild/RPMS/x86_64/python3-pyside6-6.6.1-1.fc39.x86_64.rpm 
python-pyside6 = 6.6.1-1.fc39
python3-pyside6 = 6.6.1-1.fc39
python3-pyside6(x86-64) = 6.6.1-1.fc39
python3.12-pyside6 = 6.6.1-1.fc39
python3.12dist(pyside6) = 6.6.1
python3.12dist(pyside6-addons) = 6.6.1
python3.12dist(pyside6-essentials) = 6.6.1
python3.12dist(shiboken6) = 6.6.1
python3dist(pyside6) = 6.6.1
python3dist(pyside6-addons) = 6.6.1
python3dist(pyside6-essentials) = 6.6.1
python3dist(shiboken6) = 6.6.1

Requires

# rpm -q --requires .rpmbuild/RPMS/x86_64/python3-pyside6-6.6.1-1.fc39.x86_64.rpm 
ld-linux-x86-64.so.2()(64bit)
ld-linux-x86-64.so.2(GLIBC_2.2.5)(64bit)
ld-linux-x86-64.so.2(GLIBC_2.3)(64bit)
libEGL.so.1()(64bit)
libGL.so.1()(64bit)
libX11-xcb.so.1()(64bit)
libX11.so.6()(64bit)
libXcomposite.so.1()(64bit)
libXdamage.so.1()(64bit)
libXext.so.6()(64bit)
libXfixes.so.3()(64bit)
libXi.so.6()(64bit)
libXrandr.so.2()(64bit)
libXrender.so.1()(64bit)
libXtst.so.6()(64bit)
libasound.so.2()(64bit)
libasound.so.2(ALSA_0.9)(64bit)
libasound.so.2(ALSA_0.9.0rc4)(64bit)
libatk-1.0.so.0()(64bit)
libc.so.6()(64bit)
libc.so.6(GLIBC_2.10)(64bit)
libc.so.6(GLIBC_2.11)(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.25)(64bit)
libc.so.6(GLIBC_2.28)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.3.2)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libc.so.6(GLIBC_2.6)(64bit)
libc.so.6(GLIBC_2.7)(64bit)
libc.so.6(GLIBC_2.8)(64bit)
libc.so.6(GLIBC_2.9)(64bit)
libcairo-gobject.so.2()(64bit)
libcairo.so.2()(64bit)
libcups.so.2()(64bit)
libdbus-1.so.3()(64bit)
libdbus-1.so.3(LIBDBUS_1_3)(64bit)
libdl.so.2()(64bit)
libdl.so.2(GLIBC_2.2.5)(64bit)
libdrm.so.2()(64bit)
libexpat.so.1()(64bit)
libfontconfig.so.1()(64bit)
libfreetype.so.6()(64bit)
libgcc_s.so.1()(64bit)
libgcc_s.so.1(GCC_3.0)(64bit)
libgcc_s.so.1(GCC_3.4)(64bit)
libgcc_s.so.1(GCC_4.0.0)(64bit)
libgdk-3.so.0()(64bit)
libgdk_pixbuf-2.0.so.0()(64bit)
libgio-2.0.so.0()(64bit)
libglib-2.0.so.0()(64bit)
libgmodule-2.0.so.0()(64bit)
libgobject-2.0.so.0()(64bit)
libgssapi_krb5.so.2()(64bit)
libgssapi_krb5.so.2(gssapi_krb5_2_MIT)(64bit)
libgthread-2.0.so.0()(64bit)
libgtk-3.so.0()(64bit)
libm.so.6()(64bit)
libm.so.6(GLIBC_2.2.5)(64bit)
libm.so.6(GLIBC_2.27)(64bit)
libmysqlclient.so.21()(64bit)
libmysqlclient.so.21(libmysqlclient_21.0)(64bit)
libnspr4.so()(64bit)
libnss3.so()(64bit)
libnss3.so(NSS_3.11)(64bit)
libnss3.so(NSS_3.12)(64bit)
libnss3.so(NSS_3.2)(64bit)
libnss3.so(NSS_3.22)(64bit)
libnss3.so(NSS_3.3)(64bit)
libnss3.so(NSS_3.30)(64bit)
libnss3.so(NSS_3.4)(64bit)
libnss3.so(NSS_3.5)(64bit)
libnss3.so(NSS_3.9.2)(64bit)
libnssutil3.so()(64bit)
libnssutil3.so(NSSUTIL_3.12.3)(64bit)
libodbc.so.2()(64bit)
libpango-1.0.so.0()(64bit)
libpangocairo-1.0.so.0()(64bit)
libpcsclite.so.1()(64bit)
libplc4.so()(64bit)
libplds4.so()(64bit)
libpq.so.5()(64bit)
libpq.so.5(RHPG_9.6)(64bit)
libpthread.so.0()(64bit)
libpthread.so.0(GLIBC_2.12)(64bit)
libpthread.so.0(GLIBC_2.2.5)(64bit)
libpthread.so.0(GLIBC_2.3.2)(64bit)
libpthread.so.0(GLIBC_2.3.3)(64bit)
libpthread.so.0(GLIBC_2.3.4)(64bit)
libpulse.so.0()(64bit)
libpulse.so.0(PULSE_0)(64bit)
libresolv.so.2()(64bit)
libresolv.so.2(GLIBC_2.2.5)(64bit)
librt.so.1()(64bit)
librt.so.1(GLIBC_2.2.5)(64bit)
libsmime3.so()(64bit)
libstdc++.so.6()(64bit)
libstdc++.so.6(CXXABI_1.3)(64bit)
libstdc++.so.6(CXXABI_1.3.11)(64bit)
libstdc++.so.6(CXXABI_1.3.2)(64bit)
libstdc++.so.6(CXXABI_1.3.3)(64bit)
libstdc++.so.6(CXXABI_1.3.5)(64bit)
libstdc++.so.6(CXXABI_1.3.7)(64bit)
libstdc++.so.6(CXXABI_1.3.8)(64bit)
libstdc++.so.6(CXXABI_1.3.9)(64bit)
libstdc++.so.6(GLIBCXX_3.4)(64bit)
libstdc++.so.6(GLIBCXX_3.4.11)(64bit)
libstdc++.so.6(GLIBCXX_3.4.14)(64bit)
libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
libstdc++.so.6(GLIBCXX_3.4.17)(64bit)
libstdc++.so.6(GLIBCXX_3.4.18)(64bit)
libstdc++.so.6(GLIBCXX_3.4.19)(64bit)
libstdc++.so.6(GLIBCXX_3.4.20)(64bit)
libstdc++.so.6(GLIBCXX_3.4.21)(64bit)
libstdc++.so.6(GLIBCXX_3.4.22)(64bit)
libstdc++.so.6(GLIBCXX_3.4.5)(64bit)
libstdc++.so.6(GLIBCXX_3.4.9)(64bit)
libwayland-client.so.0()(64bit)
libwayland-cursor.so.0()(64bit)
libwayland-egl.so.1()(64bit)
libwayland-server.so.0()(64bit)
libxcb-cursor.so.0()(64bit)
libxcb-glx.so.0()(64bit)
libxcb-icccm.so.4()(64bit)
libxcb-image.so.0()(64bit)
libxcb-keysyms.so.1()(64bit)
libxcb-randr.so.0()(64bit)
libxcb-render-util.so.0()(64bit)
libxcb-render.so.0()(64bit)
libxcb-shape.so.0()(64bit)
libxcb-shm.so.0()(64bit)
libxcb-sync.so.1()(64bit)
libxcb-xfixes.so.0()(64bit)
libxcb-xkb.so.1()(64bit)
libxcb.so.1()(64bit)
libxkbcommon-x11.so.0()(64bit)
libxkbcommon-x11.so.0(V_0.5.0)(64bit)
libxkbcommon.so.0()(64bit)
libxkbcommon.so.0(V_0.5.0)(64bit)
libxkbfile.so.1()(64bit)
libxshmfence.so.1()(64bit)
libz.so.1()(64bit)
libz.so.1(ZLIB_1.2.0)(64bit)
libz.so.1(ZLIB_1.2.3.4)(64bit)
libz.so.1(ZLIB_1.2.9)(64bit)
python(abi) = 3.12
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PartialHardlinkSets) <= 4.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)

Having an automated way to check this would be even more preferable.