https://bugzilla.rpmfusion.org/show_bug.cgi?id=2565
--- Comment #13 from Jonathan Dieter <[email protected]> 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.g9cb177b.260-2.fc17.src.rpm > > 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.
