[Bug 2565] Review-Request: spotify-client - streaming music player

RPM Fusion Bugzilla noreply at rpmfusion.org
Tue Nov 13 14:36:39 CET 2012


https://bugzilla.rpmfusion.org/show_bug.cgi?id=2565

--- Comment #13 from Jonathan Dieter <jdieter at 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.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.


More information about the rpmfusion-developers mailing list