https://bugzilla.rpmfusion.org/show_bug.cgi?id=2565
--- Comment #13 from Jonathan Dieter <jdieter(a)gmail.com> 2012-11-13 14:36:39 CET
---
(In reply to comment #11)
Updated, new urls:
spec:
https://dl.dropbox.com/u/17870887/spotify-client/spotify-client.spec
srpm:
https://dl.dropbox.com/u/17870887/spotify-client/spotify-client-0.8.4.103...
Changelog should say it all. However, the links could be done in many ways,
none of which feels without drawbacks. I have settled for explicit filtering,
explicit requires and a check in %build that the versioned libraries are
actually symlinked. Too much code, but reasonable failsafe when dependencies
change. In this respect it's better than both my and your first approach IMHO.
The one area where I'm still not happy with it is that it's still not properly
getting the requires for the symlinked libraries.
The following is a diff of requires for -2.fc17 versus my test package:
$ diff -urb list1.s list2.s
--- list1.s 2012-11-13 15:16:03.556731030 +0200
+++ list2.s 2012-11-13 15:16:08.359561375 +0200
@@ -1,7 +1,5 @@
/bin/sh
/bin/sh
-/bin/sh
-GConf2
libasound.so.2()(64bit)
libasound.so.2(ALSA_0.9.0rc4)(64bit)
libasound.so.2(ALSA_0.9)(64bit)
@@ -33,13 +31,29 @@
libgtk-x11-2.0.so.0()(64bit)
libm.so.6()(64bit)
libm.so.6(GLIBC_2.2.5)(64bit)
-libnspr4.so
-libnss3.so
-libnssutil3.so
+libnspr4.so()(64bit)
+libnss3.so()(64bit)
+libnss3.so(NSS_3.10)(64bit)
+libnss3.so(NSS_3.11.1)(64bit)
+libnss3.so(NSS_3.11.2)(64bit)
+libnss3.so(NSS_3.11)(64bit)
+libnss3.so(NSS_3.12.1)(64bit)
+libnss3.so(NSS_3.12.3)(64bit)
+libnss3.so(NSS_3.12)(64bit)
+libnss3.so(NSS_3.2)(64bit)
+libnss3.so(NSS_3.3)(64bit)
+libnss3.so(NSS_3.4)(64bit)
+libnss3.so(NSS_3.5)(64bit)
+libnss3.so(NSS_3.6)(64bit)
+libnss3.so(NSS_3.8)(64bit)
+libnss3.so(NSS_3.9.2)(64bit)
+libnss3.so(NSS_3.9.3)(64bit)
+libnss3.so(NSS_3.9)(64bit)
+libnssutil3.so()(64bit)
+libnssutil3.so(NSSUTIL_3.12)(64bit)
libpango-1.0.so.0()(64bit)
libpangocairo-1.0.so.0()(64bit)
-libplc4.so
-libpng12
+libplc4.so()(64bit)
libpng12.so.0()(64bit)
libpng12.so.0(PNG12_0)(64bit)
libpthread.so.0()(64bit)
@@ -55,7 +69,9 @@
libresolv.so.2(GLIBC_2.9)(64bit)
librt.so.1()(64bit)
librt.so.1(GLIBC_2.2.5)(64bit)
-libsmime3.so
+libsmime3.so()(64bit)
+libsmime3.so(NSS_3.10)(64bit)
+libsmime3.so(NSS_3.2)(64bit)
libstdc++.so.6()(64bit)
libstdc++.so.6(CXXABI_1.3)(64bit)
libstdc++.so.6(GLIBCXX_3.4.11)(64bit)
@@ -74,4 +90,3 @@
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1
-zenity
Note that if you're going to go the route of explicit requires, you need to
have libfoo.so()(64bit) for 64-bit packages (while it stays libfoo.so for
32-bit). Also notice that libnss and libnss-util add some funky requires which
may or may not be important.
I still think it makes more sense to use automatically generated requires to
get the information and possibly create a check that verifies that all library
links in the binary ending in .0d or .1d have a symlink. But if you really
want to go down the explicit route, at the very least you need to require the
64-bit versions of the libraries when building for 64bit.
Also note that you can drop both the GConf2 and libpng12 requires as the
libraries they provide are automatically being required already.
--
Configure bugmail:
https://bugzilla.rpmfusion.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.