Package: rhythmbox
Version: 0.12.6-2
Severity: wishlist

Hi,

when trying to upgrade rhythmbox on one box, it asked me to install
dvd+rw-tools while the box doesn't have a dvd burner. That's because one
plugin (the cd recorder one) brings libbrasero, which brings the
dvd+rw-tools. I find weird that the *lib* depends on some tools, but
anyway the real issue is that RB brings burn-related tools while initial
purpose is to play.

One way to fix this is to split the various plugins in separate
packages, so attached patch should help on that.

Cheers,

--
Yves-Alexis


-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 
'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-trunk-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages rhythmbox depends on:
ii  dbus                    1.2.16-2         simple interprocess messaging syst
ii  gconf2                  2.28.0-1         GNOME configuration database syste
ii  gnome-icon-theme        2.28.0-1         GNOME Desktop icon theme
ii  gstreamer0.10-alsa [gst 0.10.25-7        GStreamer plugin for ALSA
ii  gstreamer0.10-plugins-b 0.10.17-3        GStreamer plugins from the "bad" s
ii  gstreamer0.10-plugins-b 0.10.25-7        GStreamer plugins from the "base" 
ii  gstreamer0.10-plugins-g 0.10.17-1        GStreamer plugins from the "good" 
ii  gstreamer0.10-x         0.10.25-7        GStreamer plugins for X11 and Pang
ii  libatk1.0-0             1.28.0-1         The ATK accessibility toolkit
ii  libavahi-client3        0.6.25-3         Avahi client library
ii  libavahi-common3        0.6.25-3         Avahi common library
ii  libavahi-glib1          0.6.25-3         Avahi glib integration library
ii  libbrasero-media0       2.28.3-2         CD/DVD burning library for GNOME -
ii  libc6                   2.10.2-5         Embedded GNU C Library: Shared lib
ii  libcairo2               1.8.8-2          The Cairo 2D vector graphics libra
ii  libdbus-1-3             1.2.16-2         simple interprocess messaging syst
ii  libdbus-glib-1-2        0.82-2           simple interprocess messaging syst
ii  libfontconfig1          2.8.0-2          generic font configuration library
ii  libfreetype6            2.3.11-1         FreeType 2 font engine, shared lib
ii  libgconf2-4             2.28.0-1         GNOME configuration database syste
ii  libglade2-0             1:2.6.4-1        library to load .glade files at ru
ii  libglib2.0-0            2.22.4-1         The GLib library of C routines
ii  libgnome-keyring0       2.28.2-1         GNOME keyring services library
ii  libgnome-media0         2.28.1-1         runtime libraries for the GNOME me
ii  libgpod4                0.7.2-2          library to read and write songs an
ii  libgstreamer-plugins-ba 0.10.25-7        GStreamer libraries from the "base
ii  libgstreamer0.10-0      0.10.25-4+b1     Core GStreamer libraries and eleme
ii  libgtk2.0-0             2.18.6-1         The GTK+ graphical user interface 
ii  libgudev-1.0-0          150-2            GObject-based wrapper library for 
ii  libice6                 2:1.0.6-1        X11 Inter-Client Exchange library
ii  liblircclient0          0.8.3-5          infra-red remote control support -
ii  libmtp8                 1.0.1-2          Media Transfer Protocol (MTP) libr
ii  libmusicbrainz4c2a      2.1.5-4          Second generation incarnation of t
ii  libnotify1 [libnotify1- 0.4.5-1          sends desktop notifications to a n
ii  libpango1.0-0           1.26.2-1         Layout and rendering of internatio
ii  libsm6                  2:1.1.1-1        X11 Session Management library
ii  libsoup-gnome2.4-1      2.29.5-2         an HTTP library implementation in 
ii  libsoup2.4-1            2.29.5-2         an HTTP library implementation in 
ii  libtotem-plparser12     2.28.2-1         Totem Playlist Parser library - ru
ii  libusb-0.1-4            2:0.1.12-13      userspace USB programming library
ii  libxml2                 2.7.6.dfsg-2     GNOME XML library
ii  media-player-info       4-1              Media player identification files
ii  python                  2.5.4-9          An interactive high-level object-o
ii  python-gnome2           2.28.0-1         Python bindings for the GNOME desk
ii  python-gst0.10          0.10.17-1        generic media-playing framework (P
ii  python-gtk2             2.16.0-1         Python bindings for the GTK+ widge
ii  python-support          1.0.6            automated rebuilding support for P
ii  python2.5               2.5.4-3          An interactive high-level object-o
ii  zlib1g                  1:1.2.3.4.dfsg-3 compression library - runtime

Versions of packages rhythmbox recommends:
pn  avahi-daemon             <none>          (no description available)
ii  gstreamer0.10-plugins-ug 0.10.13-2       GStreamer plugins from the "ugly" 
ii  gvfs-backends            1.4.3-1         userspace virtual filesystem - bac
ii  hal                      0.5.14-1        Hardware Abstraction Layer
ii  xfce4-notifyd [notificat 0.1.0-4         simple, visually-appealing notific
ii  yelp                     2.28.0+webkit-2 Help browser for GNOME

Versions of packages rhythmbox suggests:
pn  gnome-codec-install           <none>     (no description available)
pn  gnome-control-center          <none>     (no description available)
ii  gstreamer0.10-plugins-bad     0.10.17-3  GStreamer plugins from the "bad" s
pn  python-coherence              <none>     (no description available)

-- no debconf information
commit ef9eaec2befd56bf6eab8e6c5bbd932b75e20bad
Author: Yves-Alexis Perez <[email protected]>
Date:   Sun Jan 24 12:28:51 2010 +0100

    split plugins in separate packages
    Signed-off-by: Yves-Alexis Perez <[email protected]>

diff --git a/debian/browser-plugin-rhythmbox.install b/debian/browser-plugin-rhythmbox.install
new file mode 100644
index 0000000..5290536
--- /dev/null
+++ b/debian/browser-plugin-rhythmbox.install
@@ -0,0 +1 @@
+debian/tmp/usr/lib/mozilla/plugins/librhythmbox-itms-detection-plugin.so
diff --git a/debian/changelog b/debian/changelog
index baf2bb8..e0064c4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+rhythmbox (0.12.6-3) UNRELEASED; urgency=low
+
+  [ Yves-Alexis Perez ]
+  * Split package to move plugins to separate packages.
+
+ -- Josselin Mouette <[email protected]>  Sun, 24 Jan 2010 12:25:19 +0100
+
 rhythmbox (0.12.6-2) unstable; urgency=low
 
   * Switch to quilt for patch management.
diff --git a/debian/control b/debian/control
index e1a8a41..14652a9 100644
--- a/debian/control
+++ b/debian/control
@@ -77,11 +77,13 @@ Recommends: yelp,
             hal,
             notification-daemon,
             gstreamer0.10-plugins-ugly,
-            gvfs-backends
+            gvfs-backends,
+            rhythmbox-plugins
 Suggests: gstreamer0.10-plugins-bad,
-          python-coherence,
           gnome-codec-install,
-          gnome-control-center
+          gnome-control-center,
+          rhythmbox-plugin-coherence,
+          rhythmbox-plugin-cdrecorder
 XB-Python-Version: ${python:Versions}
 Description: music player and organizer for GNOME
  Rhythmbox is a very easy to use music playing and management program
@@ -90,8 +92,6 @@ Description: music player and organizer for GNOME
  Internet Radio, iPod integration and generic portable audio player
  support, Audio CD burning, Audio CD playback, music sharing, and
  Podcasts.
- .
- You need the python-coherence package for DLNA/UPnp sharing plugin.
 
 Package: rhythmbox-dbg
 Architecture: any
@@ -112,3 +112,95 @@ Description: debugging symbols for rhythmbox
  Podcasts.
  .
  This package contains the debugging symbols for rhythmbox.
+
+Package: rhythmbox-plugins
+Architecture: any
+Depends: ${misc:Depends},
+         ${shlibs:Depends},
+         ${python:Depends},
+Conflicts: rhythmbox (<< 0.12.6-3)
+Replaces: rhythmbox (<< 0.12.6-3)
+XB-Python-Version: ${python:Versions}
+Description: plugins for rhythmbox music player
+ Rhythmbox is a very easy to use music playing and management program
+ which supports a wide range of audio formats (including mp3 and ogg).
+ Originally inspired by Apple's iTunes, the current version also supports
+ Internet Radio, iPod integration and generic portable audio player
+ support, Audio CD burning, Audio CD playback, music sharing, and
+ Podcasts.
+ .
+ This package contains the following plugins:
+  - Cover art
+  - Audio CD Player
+  - Last.fm
+  - Audio CD Recorder
+  - Context Panel
+  - DAAP Music Sharing
+  - FM Radio
+  - Portable Players
+  - IM Status
+  - Portable Players - iPod
+  - Internet Radio
+  - Jamendo
+  - Song Lyrics
+  - Magnatune Store
+  - Media Player Keys
+  - Portable Players - MTP
+  - Power Manager
+  - Python Console
+  - LIRC 
+  - Status Icon
+  - DLNA/UPnP sharing and control support
+  - Visualization
+
+Package: rhythmbox-plugin-cdrecorder
+Architecture: any
+Depends: ${misc:Depends},
+         ${shlibs:Depends}
+Conflicts: rhythmbox (<< 0.12.6-3)
+Replaces: rhythmbox (<< 0.12.6-3)
+Description: burning plugin for rhythmbox music player
+ Rhythmbox is a very easy to use music playing and management program
+ which supports a wide range of audio formats (including mp3 and ogg).
+ Originally inspired by Apple's iTunes, the current version also supports
+ Internet Radio, iPod integration and generic portable audio player
+ support, Audio CD burning, Audio CD playback, music sharing, and
+ Podcasts.
+ .
+ This package contains the brasero based CD/DVD burning plugin.
+
+Package: rhythmbox-plugin-coherence
+Architecture: any
+Depends: ${misc:Depends},
+         ${shlibs:Depends},
+         ${python:Depends},
+         python-coherence
+Conflicts: rhythmbox (<< 0.12.6-3)
+Replaces: rhythmbox (<< 0.12.6-3)
+XB-Python-Version: ${python:Versions}
+Description: UPnp plugin for rhythmbox music player
+ Rhythmbox is a very easy to use music playing and management program
+ which supports a wide range of audio formats (including mp3 and ogg).
+ Originally inspired by Apple's iTunes, the current version also supports
+ Internet Radio, iPod integration and generic portable audio player
+ support, Audio CD burning, Audio CD playback, music sharing, and
+ Podcasts.
+ .
+ This package contains the coherence DLNA/UPnp plugin.
+
+Package: browser-plugin-rhythmbox
+Architecture: any
+Depends: ${misc:Depends},
+         ${shlibs:Depends}
+Conflicts: rhythmbox (<< 0.12.6-3)
+Replaces: rhythmbox (<< 0.12.6-3)
+Description: web-browser iTunes music store plugin 
+ Rhythmbox is a very easy to use music playing and management program
+ which supports a wide range of audio formats (including mp3 and ogg).
+ Originally inspired by Apple's iTunes, the current version also supports
+ Internet Radio, iPod integration and generic portable audio player
+ support, Audio CD burning, Audio CD playback, music sharing, and
+ Podcasts.
+ .
+ This package contains a browser plugin intended to manage iTunes links
+ (itms://).
diff --git a/debian/control.in b/debian/control.in
index 65868b6..1d37878 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -72,11 +72,13 @@ Recommends: yelp,
             hal,
             notification-daemon,
             gstreamer0.10-plugins-ugly,
-            gvfs-backends
+            gvfs-backends,
+            rhythmbox-plugins
 Suggests: gstreamer0.10-plugins-bad,
-          python-coherence,
           gnome-codec-install,
-          gnome-control-center
+          gnome-control-center,
+          rhythmbox-plugin-coherence,
+          rhythmbox-plugin-cdrecorder
 XB-Python-Version: ${python:Versions}
 Description: music player and organizer for GNOME
  Rhythmbox is a very easy to use music playing and management program
@@ -85,8 +87,6 @@ Description: music player and organizer for GNOME
  Internet Radio, iPod integration and generic portable audio player
  support, Audio CD burning, Audio CD playback, music sharing, and
  Podcasts.
- .
- You need the python-coherence package for DLNA/UPnp sharing plugin.
 
 Package: rhythmbox-dbg
 Architecture: any
@@ -107,3 +107,95 @@ Description: debugging symbols for rhythmbox
  Podcasts.
  .
  This package contains the debugging symbols for rhythmbox.
+
+Package: rhythmbox-plugins
+Architecture: any
+Depends: ${misc:Depends},
+         ${shlibs:Depends},
+         ${python:Depends},
+Conflicts: rhythmbox (<< 0.12.6-3)
+Replaces: rhythmbox (<< 0.12.6-3)
+XB-Python-Version: ${python:Versions}
+Description: plugins for rhythmbox music player
+ Rhythmbox is a very easy to use music playing and management program
+ which supports a wide range of audio formats (including mp3 and ogg).
+ Originally inspired by Apple's iTunes, the current version also supports
+ Internet Radio, iPod integration and generic portable audio player
+ support, Audio CD burning, Audio CD playback, music sharing, and
+ Podcasts.
+ .
+ This package contains the following plugins:
+  - Cover art
+  - Audio CD Player
+  - Last.fm
+  - Audio CD Recorder
+  - Context Panel
+  - DAAP Music Sharing
+  - FM Radio
+  - Portable Players
+  - IM Status
+  - Portable Players - iPod
+  - Internet Radio
+  - Jamendo
+  - Song Lyrics
+  - Magnatune Store
+  - Media Player Keys
+  - Portable Players - MTP
+  - Power Manager
+  - Python Console
+  - LIRC 
+  - Status Icon
+  - DLNA/UPnP sharing and control support
+  - Visualization
+
+Package: rhythmbox-plugin-cdrecorder
+Architecture: any
+Depends: ${misc:Depends},
+         ${shlibs:Depends}
+Conflicts: rhythmbox (<< 0.12.6-3)
+Replaces: rhythmbox (<< 0.12.6-3)
+Description: burning plugin for rhythmbox music player
+ Rhythmbox is a very easy to use music playing and management program
+ which supports a wide range of audio formats (including mp3 and ogg).
+ Originally inspired by Apple's iTunes, the current version also supports
+ Internet Radio, iPod integration and generic portable audio player
+ support, Audio CD burning, Audio CD playback, music sharing, and
+ Podcasts.
+ .
+ This package contains the brasero based CD/DVD burning plugin.
+
+Package: rhythmbox-plugin-coherence
+Architecture: any
+Depends: ${misc:Depends},
+         ${shlibs:Depends},
+         ${python:Depends},
+         python-coherence
+Conflicts: rhythmbox (<< 0.12.6-3)
+Replaces: rhythmbox (<< 0.12.6-3)
+XB-Python-Version: ${python:Versions}
+Description: UPnp plugin for rhythmbox music player
+ Rhythmbox is a very easy to use music playing and management program
+ which supports a wide range of audio formats (including mp3 and ogg).
+ Originally inspired by Apple's iTunes, the current version also supports
+ Internet Radio, iPod integration and generic portable audio player
+ support, Audio CD burning, Audio CD playback, music sharing, and
+ Podcasts.
+ .
+ This package contains the coherence DLNA/UPnp plugin.
+
+Package: browser-plugin-rhythmbox
+Architecture: any
+Depends: ${misc:Depends},
+         ${shlibs:Depends}
+Conflicts: rhythmbox (<< 0.12.6-3)
+Replaces: rhythmbox (<< 0.12.6-3)
+Description: web-browser iTunes music store plugin 
+ Rhythmbox is a very easy to use music playing and management program
+ which supports a wide range of audio formats (including mp3 and ogg).
+ Originally inspired by Apple's iTunes, the current version also supports
+ Internet Radio, iPod integration and generic portable audio player
+ support, Audio CD burning, Audio CD playback, music sharing, and
+ Podcasts.
+ .
+ This package contains a browser plugin intended to manage iTunes links
+ (itms://).
diff --git a/debian/rhythmbox-plugin-cdrecorder.install b/debian/rhythmbox-plugin-cdrecorder.install
new file mode 100644
index 0000000..f90d3af
--- /dev/null
+++ b/debian/rhythmbox-plugin-cdrecorder.install
@@ -0,0 +1 @@
+debian/tmp/usr/lib/rhythmbox/plugins/cd-recorder
diff --git a/debian/rhythmbox-plugin-coherence.install b/debian/rhythmbox-plugin-coherence.install
new file mode 100644
index 0000000..a4f4496
--- /dev/null
+++ b/debian/rhythmbox-plugin-coherence.install
@@ -0,0 +1 @@
+debian/tmp/usr/lib/rhythmbox/plugins/upnp_coherence
diff --git a/debian/rhythmbox-plugins.install b/debian/rhythmbox-plugins.install
new file mode 100644
index 0000000..79f0abf
--- /dev/null
+++ b/debian/rhythmbox-plugins.install
@@ -0,0 +1,21 @@
+debian/tmp/usr/lib/rhythmbox/plugins/python-console
+debian/tmp/usr/lib/rhythmbox/plugins/ipod
+debian/tmp/usr/lib/rhythmbox/plugins/rb
+debian/tmp/usr/lib/rhythmbox/plugins/im-status
+debian/tmp/usr/lib/rhythmbox/plugins/context
+debian/tmp/usr/lib/rhythmbox/plugins/mmkeys
+debian/tmp/usr/lib/rhythmbox/plugins/power-manager
+debian/tmp/usr/lib/rhythmbox/plugins/rblirc
+debian/tmp/usr/lib/rhythmbox/plugins/daap
+debian/tmp/usr/lib/rhythmbox/plugins/lyrics
+debian/tmp/usr/lib/rhythmbox/plugins/mtpdevice
+debian/tmp/usr/lib/rhythmbox/plugins/magnatune
+debian/tmp/usr/lib/rhythmbox/plugins/audioscrobbler
+debian/tmp/usr/lib/rhythmbox/plugins/iradio
+debian/tmp/usr/lib/rhythmbox/plugins/fmradio
+debian/tmp/usr/lib/rhythmbox/plugins/audiocd
+debian/tmp/usr/lib/rhythmbox/plugins/generic-player
+debian/tmp/usr/lib/rhythmbox/plugins/status-icon
+debian/tmp/usr/lib/rhythmbox/plugins/jamendo
+debian/tmp/usr/lib/rhythmbox/plugins/artdisplay
+debian/tmp/usr/lib/rhythmbox/plugins/visualizer
diff --git a/debian/rhythmbox.install b/debian/rhythmbox.install
index c262ff5..bacd0c4 100644
--- a/debian/rhythmbox.install
+++ b/debian/rhythmbox.install
@@ -1,3 +1,7 @@
 debian/rhythmbox-small.xpm usr/share/pixmaps
-debian/tmp/usr
+debian/tmp/usr/share
+debian/tmp/usr/bin
+debian/tmp/usr/lib/rhythmbox/rhythmbox-metadata
+debian/tmp/usr/lib/librhythmbox-core.so.0
+debian/tmp/usr/lib/librhythmbox-core.so.0.0.0
 debian/tmp/etc
diff --git a/debian/rules b/debian/rules
index 8de4671..d919022 100755
--- a/debian/rules
+++ b/debian/rules
@@ -17,13 +17,15 @@ DEB_CONFIGURE_EXTRA_FLAGS += --with-hal --without-gudev
 endif
 
 # exclude plugins from shlibs generation
-DEB_DH_MAKESHLIBS_ARGS_rhythmbox += -Xdebian/$(cdbs_curpkg)/usr/lib/rhythmbox
-DEB_DH_MAKESHLIBS_ARGS_rhythmbox += -Xdebian/$(cdbs_curpkg)/usr/lib/mozilla
+DEB_DH_MAKESHLIBS_ARGS_rhythmbox-plugins += -Xdebian/$(cdbs_curpkg)/usr/lib/rhythmbox
+DEB_DH_MAKESHLIBS_ARGS_rhythmbox-plugincdrecorder += -Xdebian/$(cdbs_curpkg)/usr/lib/rhythmbox
+DEB_DH_MAKESHLIBS_ARGS_rhythmbox-plugin-coherence += -Xdebian/$(cdbs_curpkg)/usr/lib/rhythmbox
+DEB_DH_MAKESHLIBS_ARGS_browser-plugin-rhythmbox += -Xdebian/$(cdbs_curpkg)/usr/lib/mozilla
 
 binary-install/rhythmbox::
 	# kill *.a and *.la files of plugins and the shared lib
-	find debian/rhythmbox -name '*.a' -exec rm -f '{}' ';'
-	find debian/rhythmbox -name '*.la' -exec rm -f '{}' ';'
-	# librhythmbox-core.so is a private library, don't ship the .so symlink
-	rm debian/rhythmbox/usr/lib/librhythmbox-core.so
+	find debian/tmp -name '*.a' -exec rm -f '{}' ';'
+	find debian/tmp -name '*.la' -exec rm -f '{}' ';'
+	# libtmp-core.so is a private library, don't ship the .so symlink
+	rm debian/tmp/usr/lib/librhythmbox-core.so
 	dh_pysupport

Reply via email to