=== added file 'debian/GstLameMP3Enc.prs' --- debian/GstLameMP3Enc.prs 1970-01-01 00:00:00 +0000 +++ debian/GstLameMP3Enc.prs 2016-08-04 03:31:50 +0000 @@ -0,0 +1,15 @@ + +[_presets_] +element-name=GstLameMP3Enc +version=0.10.36 + +[Ubuntu] +name=lamemp3enc +perfect-timestamp=false +hard-resync=false +tolerance=40000000 +target=Quality +cbr=false +quality=2 +encoding-engine-quality=Standard +mono=false === added file 'debian/GstVorbisEnc.prs' --- debian/GstVorbisEnc.prs 1970-01-01 00:00:00 +0000 +++ debian/GstVorbisEnc.prs 2016-08-04 03:31:50 +0000 @@ -0,0 +1,13 @@ +[_presets_] +element-name=GstVorbisEnc +version=0.10.36 + +[Ubuntu] +name=vorbisenc +perfect-timestamp=true +hard-resync=false +tolerance=40000000 +quality=0.6 +managed=false + + === modified file 'debian/changelog' --- debian/changelog 2016-08-03 17:11:45 +0000 +++ debian/changelog 2016-08-04 03:31:50 +0000 @@ -1,3 +1,46 @@ +rhythmbox (3.3.1-2ubuntu1) UNRELEASED; urgency=medium + + [ Jeremy Bicha ] + * Merge with Debian for grilo 0.3 support (LP: #1609215). Remaining changes: + + Split out mozilla, visualizer and zeitgeist plugins + + debian/control.in: + - Build-depend on clutter-gst 3.0, clutter-gtk and mx 2 + - Suggest instead of recommend gst-plugins-ugly + - Recommend the zeitgeist plugin and suggest the visualizer plugin + + Build the visualizer plugin. + + debian/rhythmbox-plugins.install, debian/control{,.in}: Drop context + plugin - it's mostly broken and would need porting to webkit2 anyway. + + debian/patches/02_use_escaped_podcast_uri.patch + - Handle podcasts that have sound files with the same basename + + debian/patches/03_magnatune_partner.patch: + - Change magnatune partner ID to 'ubuntu'. + + debian/patches/05_hide_on_quit.patch + - Hide (not quit) if RB is playing when closed. + + debian/patches/07_quicklists.patch + - Add quicklists. + + debian/patches/08_stop_quit.patch: + - Add a "Stop & Quit"-option to the quickmenu (via .desktop) + + debian/patches/make-shuffle-repeat-proper-toggle-actions.patch, + debian/patches/restore-traditional-menubar.patch: Add a traditional + menubar back when we want it, and fix the shuffle/repeat actions so they + work correctly there. + + debian/patches/clutter-gst-3.0.patch: detect clutter-gst-3.0 and mx 2.0 + + debian/patches/0002-grilo-container-max-tracks.patch: + increase CONTAINER_MAX_TRACKS to 15000 + + debian/patches/10_encoding_use_ubuntu_profiles.patch, debian/*.prs, + debian/rhythmbox-data.install: + - Add Ubuntu encoding presets and use them by default. + + debian/source_rhythmbox.py: Add an apport hook. + + Multiarchify the library packages. + * Move plugins from rhythmbox and rhythmbox-plugins-magnatune to + rhythmbox-plugins (which rhythmbox recommends) to reduce needless diff + with Debian and add breaks/replaces for it + + [ Laurent Bigonville ] + * debian/control.in: Drop dependency on adwaita-icon-theme + + -- Jeremy Bicha Wed, 03 Aug 2016 13:14:23 -0400 + rhythmbox (3.3.1-2) unstable; urgency=medium * Fix build on !linux. === modified file 'debian/control' --- debian/control 2016-08-03 17:11:45 +0000 +++ debian/control 2016-08-04 03:31:50 +0000 @@ -5,7 +5,8 @@ Source: rhythmbox Section: gnome Priority: optional -Maintainer: Debian GNOME Maintainers +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Debian GNOME Maintainers Uploaders: Andreas Henriksson , Emilio Pozuelo Monfort , Iain Lane , Michael Biebl Homepage: https://wiki.gnome.org/Apps/Rhythmbox Build-Depends: cdbs (>= 0.4.90~), @@ -46,9 +47,9 @@ libgrilo-0.3-dev (>= 0.3.0), libxml2-dev (>= 2.7.8), libclutter-1.0-dev (>= 1.8), -# libclutter-gst-2.0-dev (>= 1.0), -# libclutter-gtk-1.0-dev (>= 1.0), -# libmx-dev (>= 1.0), + libclutter-gst-3.0-dev, + libclutter-gtk-1.0-dev (>= 1.0), + libmx-dev (>= 1.99), libtdb-dev (>= 1.2.6), docbook-xsl (>= 1.54.1), docbook-utils (>= 0.6.11), @@ -61,8 +62,7 @@ gstreamer1.0-plugins-base-doc Build-Conflicts: libmusicbrainz3-dev Standards-Version: 3.9.4 -Vcs-Svn: svn://anonscm.debian.org/pkg-gnome/packages/unstable/rhythmbox/ -Vcs-Browser: https://anonscm.debian.org/viewvc/pkg-gnome/packages/unstable/rhythmbox/ +Vcs-Bzr: https://code.launchpad.net/~ubuntu-desktop/rhythmbox/ubuntu Package: rhythmbox Architecture: any @@ -74,19 +74,19 @@ dbus, gstreamer1.0-plugins-base (>= 1.4.0), gstreamer1.0-plugins-good (>= 1.4.0), - adwaita-icon-theme, gstreamer1.0-x, media-player-info [linux-any] Recommends: yelp, avahi-daemon, notification-daemon, gstreamer1.0-pulseaudio, - gstreamer1.0-plugins-ugly, gvfs-backends, + rhythmbox-plugin-zeitgeist, rhythmbox-plugins Suggests: gstreamer1.0-plugins-bad, + gstreamer1.0-plugins-ugly, gnome-codec-install, - gnome-control-center, + gnome-control-center | unity-control-center, rhythmbox-plugin-cdrecorder Description: music player and organizer for GNOME Rhythmbox is a very easy to use music playing and management program @@ -129,6 +129,8 @@ python3-gi, python3-mako, zeitgeist-core +Breaks: rhythmbox (<< 3.3.1-2~), rhythmbox-plugin-magnatune (<< 3.3.1-2~) +Replaces: rhythmbox (<< 3.3.1-2~), rhythmbox-plugin-magnatune (<< 3.3.1-2~) 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). @@ -141,7 +143,6 @@ - Cover art search - Audio CD Player - Last.fm - - Context Panel - DAAP Music Sharing - FM Radio - Grilo media browser @@ -155,14 +156,11 @@ - Power Manager - Python Console - LIRC - - Visualization - Send tracks - Replay Gain - Soundcloud - - Zeitgeist - MediaServer2 D-Bus interface - MPRIS D-Bus interface - - Browser plugin to integrate Rhythmbox with iTunes Package: rhythmbox-plugin-cdrecorder Architecture: any @@ -179,9 +177,68 @@ . This package contains the brasero based CD/DVD burning plugin. +Package: rhythmbox-plugin-magnatune +Architecture: all +Priority: extra +Section: oldlibs +Depends: ${misc:Depends}, + rhythmbox-plugins +Description: Magnatune plugin for rhythmbox (transitional package) + This is a transitional package. It can safely be removed. + +Package: rhythmbox-plugin-visualizer +Architecture: any +Depends: ${misc:Depends}, + ${shlibs:Depends}, + rhythmbox (= ${binary:Version}) +Description: visualization 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 clutter based visualizer plugin. + +Package: rhythmbox-plugin-zeitgeist +Architecture: all +Depends: ${misc:Depends}, + ${python3:Depends}, + ${shlibs:Depends}, + rhythmbox (>= ${gnome:Version}), + rhythmbox (<< ${gnome:NextVersion}), + gir1.2-glib-2.0, + gir1.2-peas-1.0, + zeitgeist-core +Description: zeitgeist 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 zeitgeist logging plugin. + +Package: rhythmbox-mozilla +Section: web +Architecture: any +Depends: ${misc:Depends}, + ${shlibs:Depends}, + rhythmbox (= ${binary:Version}) +Recommends: firefox +Description: Rhythmbox Mozilla plugin + This package contains the Rhythmbox Mozilla plugin, which will + detect the presence of iTunes when opening iTunes Store URLs in + a web page with Firefox. + . + This plugin should work for Firefox as well as XULRunner based browsers. + Package: librhythmbox-core9 Section: libs Architecture: any +Multi-Arch: same Depends: ${misc:Depends}, ${shlibs:Depends} Description: support library for the rhythmbox music player @@ -194,6 +251,7 @@ Package: rhythmbox-dev Section: libdevel Architecture: any +Multi-Arch: same Depends: ${misc:Depends}, ${shlibs:Depends}, librhythmbox-core9 (= ${binary:Version}), @@ -225,6 +283,7 @@ Package: gir1.2-rb-3.0 Section: introspection Architecture: any +Multi-Arch: same Depends: ${shlibs:Depends}, ${misc:Depends}, ${gir:Depends} === modified file 'debian/control.in' --- debian/control.in 2016-08-03 17:11:45 +0000 +++ debian/control.in 2016-08-04 03:31:50 +0000 @@ -1,7 +1,8 @@ Source: rhythmbox Section: gnome Priority: optional -Maintainer: Debian GNOME Maintainers +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Debian GNOME Maintainers Uploaders: @GNOME_TEAM@ Homepage: https://wiki.gnome.org/Apps/Rhythmbox Build-Depends: cdbs (>= 0.4.90~), @@ -42,9 +43,9 @@ libgrilo-0.3-dev (>= 0.3.0), libxml2-dev (>= 2.7.8), libclutter-1.0-dev (>= 1.8), -# libclutter-gst-2.0-dev (>= 1.0), -# libclutter-gtk-1.0-dev (>= 1.0), -# libmx-dev (>= 1.0), + libclutter-gst-3.0-dev, + libclutter-gtk-1.0-dev (>= 1.0), + libmx-dev (>= 1.99), libtdb-dev (>= 1.2.6), docbook-xsl (>= 1.54.1), docbook-utils (>= 0.6.11), @@ -57,8 +58,7 @@ gstreamer1.0-plugins-base-doc Build-Conflicts: libmusicbrainz3-dev Standards-Version: 3.9.4 -Vcs-Svn: svn://anonscm.debian.org/pkg-gnome/packages/unstable/rhythmbox/ -Vcs-Browser: https://anonscm.debian.org/viewvc/pkg-gnome/packages/unstable/rhythmbox/ +Vcs-Bzr: https://code.launchpad.net/~ubuntu-desktop/rhythmbox/ubuntu Package: rhythmbox Architecture: any @@ -70,19 +70,19 @@ dbus, gstreamer1.0-plugins-base (>= 1.4.0), gstreamer1.0-plugins-good (>= 1.4.0), - adwaita-icon-theme, gstreamer1.0-x, media-player-info [linux-any] Recommends: yelp, avahi-daemon, notification-daemon, gstreamer1.0-pulseaudio, - gstreamer1.0-plugins-ugly, gvfs-backends, + rhythmbox-plugin-zeitgeist, rhythmbox-plugins Suggests: gstreamer1.0-plugins-bad, + gstreamer1.0-plugins-ugly, gnome-codec-install, - gnome-control-center, + gnome-control-center | unity-control-center, rhythmbox-plugin-cdrecorder Description: music player and organizer for GNOME Rhythmbox is a very easy to use music playing and management program @@ -125,6 +125,8 @@ python3-gi, python3-mako, zeitgeist-core +Breaks: rhythmbox (<< 3.3.1-2~), rhythmbox-plugin-magnatune (<< 3.3.1-2~) +Replaces: rhythmbox (<< 3.3.1-2~), rhythmbox-plugin-magnatune (<< 3.3.1-2~) 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). @@ -137,7 +139,6 @@ - Cover art search - Audio CD Player - Last.fm - - Context Panel - DAAP Music Sharing - FM Radio - Grilo media browser @@ -151,14 +152,11 @@ - Power Manager - Python Console - LIRC - - Visualization - Send tracks - Replay Gain - Soundcloud - - Zeitgeist - MediaServer2 D-Bus interface - MPRIS D-Bus interface - - Browser plugin to integrate Rhythmbox with iTunes Package: rhythmbox-plugin-cdrecorder Architecture: any @@ -175,9 +173,68 @@ . This package contains the brasero based CD/DVD burning plugin. +Package: rhythmbox-plugin-magnatune +Architecture: all +Priority: extra +Section: oldlibs +Depends: ${misc:Depends}, + rhythmbox-plugins +Description: Magnatune plugin for rhythmbox (transitional package) + This is a transitional package. It can safely be removed. + +Package: rhythmbox-plugin-visualizer +Architecture: any +Depends: ${misc:Depends}, + ${shlibs:Depends}, + rhythmbox (= ${binary:Version}) +Description: visualization 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 clutter based visualizer plugin. + +Package: rhythmbox-plugin-zeitgeist +Architecture: all +Depends: ${misc:Depends}, + ${python3:Depends}, + ${shlibs:Depends}, + rhythmbox (>= ${gnome:Version}), + rhythmbox (<< ${gnome:NextVersion}), + gir1.2-glib-2.0, + gir1.2-peas-1.0, + zeitgeist-core +Description: zeitgeist 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 zeitgeist logging plugin. + +Package: rhythmbox-mozilla +Section: web +Architecture: any +Depends: ${misc:Depends}, + ${shlibs:Depends}, + rhythmbox (= ${binary:Version}) +Recommends: firefox +Description: Rhythmbox Mozilla plugin + This package contains the Rhythmbox Mozilla plugin, which will + detect the presence of iTunes when opening iTunes Store URLs in + a web page with Firefox. + . + This plugin should work for Firefox as well as XULRunner based browsers. + Package: librhythmbox-core9 Section: libs Architecture: any +Multi-Arch: same Depends: ${misc:Depends}, ${shlibs:Depends} Description: support library for the rhythmbox music player @@ -190,6 +247,7 @@ Package: rhythmbox-dev Section: libdevel Architecture: any +Multi-Arch: same Depends: ${misc:Depends}, ${shlibs:Depends}, librhythmbox-core9 (= ${binary:Version}), @@ -221,6 +279,7 @@ Package: gir1.2-rb-3.0 Section: introspection Architecture: any +Multi-Arch: same Depends: ${shlibs:Depends}, ${misc:Depends}, ${gir:Depends} === modified file 'debian/gir1.2-rb-3.0.install' --- debian/gir1.2-rb-3.0.install 2016-08-03 17:11:45 +0000 +++ debian/gir1.2-rb-3.0.install 2016-08-04 03:31:50 +0000 @@ -1,1 +1,1 @@ -usr/lib/girepository-1.0 +usr/lib/*/girepository-1.0 === modified file 'debian/librhythmbox-core9.install' --- debian/librhythmbox-core9.install 2016-08-03 17:11:45 +0000 +++ debian/librhythmbox-core9.install 2016-08-04 03:31:50 +0000 @@ -1,1 +1,1 @@ -usr/lib/lib*.so.* +usr/lib/*/lib*.so.* === modified file 'debian/librhythmbox-core9.symbols' --- debian/librhythmbox-core9.symbols 2016-08-03 17:11:45 +0000 +++ debian/librhythmbox-core9.symbols 2016-08-04 03:31:50 +0000 @@ -700,6 +700,7 @@ rb_shell_get_source_by_entry_type@Base 3.0 rb_shell_get_type@Base 3.0 rb_shell_guess_source_for_uri@Base 3.0 + rb_shell_hide_and_not_quit@Base 3.0.1 rb_shell_load_uri@Base 3.0 rb_shell_notify_custom@Base 3.0 rb_shell_player_add_play_order@Base 3.0 === added file 'debian/patches/0002-grilo-container-max-tracks.patch' --- debian/patches/0002-grilo-container-max-tracks.patch 1970-01-01 00:00:00 +0000 +++ debian/patches/0002-grilo-container-max-tracks.patch 2016-08-04 03:31:50 +0000 @@ -0,0 +1,18 @@ +Author: Jamie Strandboge +Description: increase CONTAINER_MAX_TRACKS to 15000 +Bug: https://bugzilla.gnome.org/show_bug.cgi?id=750642 +Bug-Ubuntu: https://launchpad.net/bugs/1548883 + +Index: rhythmbox-3.3/plugins/grilo/rb-grilo-source.c +=================================================================== +--- rhythmbox-3.3.orig/plugins/grilo/rb-grilo-source.c ++++ rhythmbox-3.3/plugins/grilo/rb-grilo-source.c +@@ -51,7 +51,7 @@ + /* maximum number of tracks to fetch before stopping and + * requiring the user to ask for more. + */ +-#define CONTAINER_MAX_TRACKS 1000 ++#define CONTAINER_MAX_TRACKS 15000 + + /* number of items to fetch at once */ + #define CONTAINER_FETCH_SIZE 50 === added file 'debian/patches/02_use_escaped_podcast_uri.patch' --- debian/patches/02_use_escaped_podcast_uri.patch 1970-01-01 00:00:00 +0000 +++ debian/patches/02_use_escaped_podcast_uri.patch 2016-08-04 03:31:50 +0000 @@ -0,0 +1,32 @@ +=== modified file 'podcast/rb-podcast-manager.c' +Index: rhythmbox-2.97/podcast/rb-podcast-manager.c +=================================================================== +--- rhythmbox-2.97.orig/podcast/rb-podcast-manager.c 2012-06-04 10:24:44.591435382 +0100 ++++ rhythmbox-2.97/podcast/rb-podcast-manager.c 2012-06-04 10:24:55.207434915 +0100 +@@ -29,6 +29,7 @@ + #include "config.h" + + #include ++#include + #define __USE_XOPEN + #include + +@@ -859,9 +860,15 @@ + } + + if (local_file_name == NULL) { +- /* fall back to the basename from the original URI */ +- local_file_name = g_file_get_basename (data->source); +- rb_debug ("didn't get a filename from the file info request; using basename %s", local_file_name); ++ char *c; ++ ++ /* fall back to the escaped URI */ ++ local_file_name = g_file_get_uri (data->source); ++ for (c = local_file_name; *c; c++) { ++ if (!isalnum (*c) && *c != '.') ++ *c = '-'; ++ } ++ rb_debug ("didn't get a filename from the file info request; using escaped uri %s", local_file_name); + } + + /* if the filename ends with the query string from the original URI, === added file 'debian/patches/03_magnatune_partner.patch' --- debian/patches/03_magnatune_partner.patch 1970-01-01 00:00:00 +0000 +++ debian/patches/03_magnatune_partner.patch 2016-08-04 03:31:50 +0000 @@ -0,0 +1,14 @@ +=== modified file 'plugins/magnatune/MagnatuneSource.py' +Index: rhythmbox-2.97/plugins/magnatune/MagnatuneSource.py +=================================================================== +--- rhythmbox-2.97.orig/plugins/magnatune/MagnatuneSource.py 2012-06-04 10:24:44.559435384 +0100 ++++ rhythmbox-2.97/plugins/magnatune/MagnatuneSource.py 2012-06-04 10:24:55.411434906 +0100 +@@ -44,7 +44,7 @@ + import gettext + gettext.install('rhythmbox', RB.locale_dir()) + +-magnatune_partner_id = "rhythmbox" ++magnatune_partner_id = "ubuntu" + + # URIs + magnatune_song_info_uri = "http://magnatune.com/info/song_info_xml.zip" === added file 'debian/patches/05_hide_on_quit.patch' --- debian/patches/05_hide_on_quit.patch 1970-01-01 00:00:00 +0000 +++ debian/patches/05_hide_on_quit.patch 2016-08-04 03:31:50 +0000 @@ -0,0 +1,67 @@ +Description: the close and ctrl buttons are now mapped to hide the main + window when a music is playing (we can bring it back using the + soundmenu). If no music is playing or if Music -> Quit is + triggered rhythmbox is closed. +Author: Didier Roche +Bug-Ubuntu: https://bugs.launchpad.net/bugs/526552 + +Index: rhythmbox-2.97/shell/rb-shell.c +=================================================================== +--- rhythmbox-2.97.orig/shell/rb-shell.c 2012-06-04 10:24:44.475435388 +0100 ++++ rhythmbox-2.97/shell/rb-shell.c 2012-06-04 10:24:55.827434888 +0100 +@@ -2276,11 +2276,42 @@ + return FALSE; + } + ++/** ++ * rb_shell_hide_and_not_quit: ++ * @shell: a RBShell ++ * ++ * Tell the application to hide instead of quitting if a song is currently ++ * playing. ++ * ++ * Return value: TRUE is hide (and stop quitting) or FALSE for quit ++ */ ++gboolean ++rb_shell_hide_and_not_quit (RBShell *shell) ++{ ++ gboolean playing; ++ GtkWindow *window; ++ ++ if (rb_shell_player_get_playing (shell->priv->player_shell, &playing, NULL) ++ && playing) { ++ ++ g_object_get (shell, "window", &window, NULL); ++ gtk_widget_hide (window); ++ g_object_unref (window); ++ ++ return TRUE; ++ } ++ return FALSE; ++} ++ + static gboolean + rb_shell_window_delete_cb (GtkWidget *win, + GdkEventAny *event, + RBShell *shell) + { ++ ++ if (rb_shell_hide_and_not_quit (shell)) ++ return TRUE; ++ + if (shell->priv->party_mode) { + return TRUE; + } +Index: rhythmbox-2.97/shell/rb-shell.h +=================================================================== +--- rhythmbox-2.97.orig/shell/rb-shell.h 2012-06-04 10:24:44.475435388 +0100 ++++ rhythmbox-2.97/shell/rb-shell.h 2012-06-04 10:24:55.827434888 +0100 +@@ -160,6 +160,8 @@ + + gboolean rb_shell_get_party_mode (RBShell *shell); + ++gboolean rb_shell_hide_and_not_quit (RBShell *shell); ++ + void rb_shell_append_display_page (RBShell *shell, RBDisplayPage *page, RBDisplayPage *parent); + + void rb_shell_add_widget (RBShell *shell, GtkWidget *widget, RBShellUILocation location, gboolean expand, gboolean fill); === added file 'debian/patches/07_quicklists.patch' --- debian/patches/07_quicklists.patch 1970-01-01 00:00:00 +0000 +++ debian/patches/07_quicklists.patch 2016-08-04 03:31:50 +0000 @@ -0,0 +1,21 @@ +Index: b/data/rhythmbox.desktop.in.in +=================================================================== +--- a/data/rhythmbox.desktop.in.in ++++ b/data/rhythmbox.desktop.in.in +@@ -18,3 +18,16 @@ + X-GNOME-Bugzilla-OtherBinaries=rhythmbox-client;rhythmbox-metadata; + X-GNOME-Bugzilla-Version=@VERSION@ + X-GNOME-UsesNotifications=true ++Actions=PlayPause;Next;Previous; ++ ++[Desktop Action PlayPause] ++_Name=Play/Pause ++Exec=rhythmbox-client --play-pause ++ ++[Desktop Action Next] ++_Name=Next ++Exec=rhythmbox-client --next ++ ++[Desktop Action Previous] ++_Name=Previous ++Exec=rhythmbox-client --previous === added file 'debian/patches/08_stop_quit.patch' --- debian/patches/08_stop_quit.patch 1970-01-01 00:00:00 +0000 +++ debian/patches/08_stop_quit.patch 2016-08-04 03:31:50 +0000 @@ -0,0 +1,21 @@ +Index: rhythmbox-3.2.1/data/rhythmbox.desktop.in.in +=================================================================== +--- rhythmbox-3.2.1.orig/data/rhythmbox.desktop.in.in 2015-12-24 10:19:05.000000000 +0100 ++++ rhythmbox-3.2.1/data/rhythmbox.desktop.in.in 2015-12-24 10:20:05.599972340 +0100 +@@ -18,7 +18,7 @@ + X-GNOME-Bugzilla-OtherBinaries=rhythmbox-client;rhythmbox-metadata; + X-GNOME-Bugzilla-Version=@VERSION@ + X-GNOME-UsesNotifications=true +-Actions=PlayPause;Next;Previous; ++Actions=PlayPause;Next;Previous;StopQuit; + + [Desktop Action PlayPause] + _Name=Play/Pause +@@ -31,3 +31,7 @@ + [Desktop Action Previous] + _Name=Previous + Exec=rhythmbox-client --previous ++ ++[Desktop Action StopQuit] ++_Name=Stop & Quit ++Exec=rhythmbox-client --quit === added file 'debian/patches/10_encoding_use_ubuntu_profiles.patch' --- debian/patches/10_encoding_use_ubuntu_profiles.patch 1970-01-01 00:00:00 +0000 +++ debian/patches/10_encoding_use_ubuntu_profiles.patch 2016-08-04 03:31:50 +0000 @@ -0,0 +1,21 @@ +Bug-Ubuntu: https://launchpad.net/bugs/945987 +Index: b/data/rhythmbox.gep +=================================================================== +--- a/data/rhythmbox.gep ++++ b/data/rhythmbox.gep +@@ -12,6 +12,7 @@ + [streamprofile-mp3-1] + parent = mp3 + type = audio ++preset = Ubuntu + format = audio/mpeg, mpegversion=1, layer=3 + presence = 1 + +@@ -26,6 +27,7 @@ + [streamprofile-oggvorbis-1] + parent = oggvorbis + type = audio ++preset = Ubuntu + format = audio/x-vorbis + presence = 1 + === added file 'debian/patches/clutter-gst-3.0.patch' --- debian/patches/clutter-gst-3.0.patch 1970-01-01 00:00:00 +0000 +++ debian/patches/clutter-gst-3.0.patch 2016-08-04 03:31:50 +0000 @@ -0,0 +1,20 @@ +Author: Steve Langasek +Description: detect clutter-gst-3.0 + clutter-gst-2.0 is obsolete and removed from Debian unstable. Detect + clutter-gst-3.0 instead. +Index: rhythmbox-3.3/configure.ac +=================================================================== +--- rhythmbox-3.3.orig/configure.ac ++++ rhythmbox-3.3/configure.ac +@@ -690,9 +690,9 @@ + PKG_CHECK_MODULES(CLUTTER, + clutter-1.0 >= 1.8 \ + clutter-x11-1.0 >= 1.8 \ +- clutter-gst-2.0 \ ++ clutter-gst-3.0 \ + clutter-gtk-1.0 >= 1.0 \ +- mx-1.0 >= 1.0.1, ++ mx-2.0 >= 1.0.1, + have_clutter=yes, + have_clutter=no) + if test "x$have_clutter" = "xno" -a "x$enable_visualizer" = "xyes"; then === added file 'debian/patches/make-shuffle-repeat-proper-toggle-actions.patch' --- debian/patches/make-shuffle-repeat-proper-toggle-actions.patch 1970-01-01 00:00:00 +0000 +++ debian/patches/make-shuffle-repeat-proper-toggle-actions.patch 2016-08-04 03:31:50 +0000 @@ -0,0 +1,113 @@ +From 37d0dc308bfbfdd7beb94135cd45d6239fdad85c Mon Sep 17 00:00:00 2001 +From: Lars Uebernickel +Date: Fri, 28 Feb 2014 13:53:03 +0100 +Subject: [PATCH 1/2] shell: make play-{shuffle,repeat} proper toggle actions + +Remove their unused boolean parameter and toggle them when activating, +so that they can be used in menus. +--- + shell/rb-shell-player.c | 33 +++++++++++++++++++++++---------- + shell/rb-shell.c | 6 ------ + 2 files changed, 23 insertions(+), 16 deletions(-) + +Index: rhythmbox/shell/rb-shell-player.c +=================================================================== +--- rhythmbox.orig/shell/rb-shell-player.c ++++ rhythmbox/shell/rb-shell-player.c +@@ -2815,30 +2815,30 @@ play_next_action_cb (GSimpleAction *acti + } + + static void +-play_repeat_action_cb (GSimpleAction *action, GVariant *parameter, gpointer user_data) ++play_repeat_action_change_state_cb (GSimpleAction *action, GVariant *state, gpointer user_data) + { + RBShellPlayer *player = RB_SHELL_PLAYER (user_data); + const char *neworder; + gboolean shuffle = FALSE; +- gboolean repeat = FALSE; ++ gboolean repeat; + rb_debug ("repeat changed"); + + if (player->priv->syncing_state) + return; + +- rb_shell_player_get_playback_state (player, &shuffle, &repeat); ++ repeat = g_variant_get_boolean (state); ++ rb_shell_player_get_playback_state (player, &shuffle, NULL); + +- repeat = !repeat; + neworder = state_to_play_order[shuffle ? 1 : 0][repeat ? 1 : 0]; + g_settings_set_string (player->priv->settings, "play-order", neworder); + } + + static void +-play_shuffle_action_cb (GSimpleAction *action, GVariant *parameter, gpointer user_data) ++play_shuffle_action_change_state_cb (GSimpleAction *action, GVariant *state, gpointer user_data) + { + RBShellPlayer *player = RB_SHELL_PLAYER (user_data); + const char *neworder; +- gboolean shuffle = FALSE; ++ gboolean shuffle; + gboolean repeat = FALSE; + + if (player->priv->syncing_state) +@@ -2846,9 +2846,9 @@ play_shuffle_action_cb (GSimpleAction *a + + rb_debug ("shuffle changed"); + +- rb_shell_player_get_playback_state (player, &shuffle, &repeat); ++ shuffle = g_variant_get_boolean (state); ++ rb_shell_player_get_playback_state (player, NULL, &repeat); + +- shuffle = !shuffle; + neworder = state_to_play_order[shuffle ? 1 : 0][repeat ? 1 : 0]; + g_settings_set_string (player->priv->settings, "play-order", neworder); + } +@@ -2949,6 +2949,19 @@ rb_shell_player_remove_play_order (RBShe + } + + static void ++activate_toggle_action (GSimpleAction *action, GVariant *parameter, gpointer user_data) ++{ ++ GVariant *state; ++ gboolean on; ++ ++ state = g_action_get_state (G_ACTION (action)); ++ on = g_variant_get_boolean (state); ++ g_action_change_state (G_ACTION (action), g_variant_new_boolean (!on)); ++ ++ g_variant_unref (state); ++} ++ ++static void + rb_shell_player_constructed (GObject *object) + { + RBApplication *app; +@@ -2959,8 +2972,8 @@ rb_shell_player_constructed (GObject *ob + { "play", play_action_cb }, + { "play-previous", play_previous_action_cb }, + { "play-next", play_next_action_cb }, +- { "play-repeat", play_repeat_action_cb, "b", "false" }, +- { "play-shuffle", play_shuffle_action_cb, "b", "false" }, ++ { "play-repeat", activate_toggle_action, NULL, "false", play_repeat_action_change_state_cb }, ++ { "play-shuffle", activate_toggle_action, NULL, "false", play_shuffle_action_change_state_cb }, + { "volume-up", play_volume_up_action_cb }, + { "volume-down", play_volume_down_action_cb } + }; +Index: rhythmbox/shell/rb-shell.c +=================================================================== +--- rhythmbox.orig/shell/rb-shell.c ++++ rhythmbox/shell/rb-shell.c +@@ -748,12 +748,6 @@ construct_load_ui (RBShell *shell) + image = gtk_button_get_image (GTK_BUTTON (gtk_builder_get_object (builder, "play-button"))); + gtk_image_set_from_icon_name (GTK_IMAGE (image), "media-playback-start-symbolic", GTK_ICON_SIZE_LARGE_TOOLBAR); + +- /* this seems a bit unnecessary */ +- gtk_actionable_set_action_target_value (GTK_ACTIONABLE (gtk_builder_get_object (builder, "shuffle-button")), +- g_variant_new_boolean (TRUE)); +- gtk_actionable_set_action_target_value (GTK_ACTIONABLE (gtk_builder_get_object (builder, "repeat-button")), +- g_variant_new_boolean (TRUE)); +- + gtk_style_context_add_class (gtk_widget_get_style_context (toolbar), + GTK_STYLE_CLASS_PRIMARY_TOOLBAR); + gtk_box_pack_start (GTK_BOX (shell->priv->main_vbox), toolbar, FALSE, FALSE, 0); === added file 'debian/patches/restore-traditional-menubar.patch' --- debian/patches/restore-traditional-menubar.patch 1970-01-01 00:00:00 +0000 +++ debian/patches/restore-traditional-menubar.patch 2016-08-04 03:31:50 +0000 @@ -0,0 +1,326 @@ +From 66d99ce41f4e5dceb4d7db34f6162490d9209747 Mon Sep 17 00:00:00 2001 +From: Lars Uebernickel +Date: Fri, 28 Feb 2014 14:42:36 +0100 +Subject: [PATCH] Restore traditional menu bar for desktops that show it + +https://bugzilla.gnome.org/show_bug.cgi?id=712357 +--- + data/ui/Makefile.am | 1 + + data/ui/menubar.ui | 235 +++++++++++++++++++++++++++++++++++++++++++++++++ + po/POTFILES.in | 1 + + shell/rb-application.c | 15 +++- + 4 files changed, 251 insertions(+), 1 deletion(-) + create mode 100644 data/ui/menubar.ui + +diff --git a/data/ui/Makefile.am b/data/ui/Makefile.am +index cebefea..a2b89f1 100644 +--- a/data/ui/Makefile.am ++++ b/data/ui/Makefile.am +@@ -1,6 +1,7 @@ + + GTK_BUILDER_FILES = \ + app-menu.ui \ ++ menubar.ui \ + browser-popup.ui \ + create-playlist.ui \ + display-page-add-menu.ui \ +diff --git a/data/ui/menubar.ui b/data/ui/menubar.ui +new file mode 100644 +index 0000000..d4e1a84 +--- /dev/null ++++ b/data/ui/menubar.ui +@@ -0,0 +1,235 @@ ++ ++ ++ ++ ++ _File ++ ++ _Add Music… ++ app.library-import ++ <Ctrl>O ++ ++ ++ _Playlist ++ ++
++ ++ _New Playlist… ++ app.playlist-new ++ <Ctrl>N ++ ++ ++ New _Automatic Playlist… ++ app.playlist-new-auto ++ ++ ++ _Load from File… ++ app.playlist-load ++ ++ ++ _Save to File… ++ app.playlist-save ++ <Ctrl>S ++ ++ ++ _Edit… ++ app.playlist-edit ++ ++
++
++ ++ _Delete ++ app.display-page-remove ++ ++
++ ++
++
++ ++ Pr_operties ++ app.clipboard-properties ++ ++
++
++ ++ _Close ++ app.quit ++ <Ctrl>W ++ ++
++
++ ++ _Edit ++
++ ++ Cu_t ++ app.clipboard-cut ++ <Ctrl>X ++ ++ ++ _Copy ++ app.clipboard-copy ++ <Ctrl>C ++ ++ ++ _Paste ++ app.clipboard-paste ++ <Ctrl>V ++ ++
++
++ ++ Select _All ++ app.clipboard-select-all ++ <Ctrl>A ++ ++ ++ D_eselect All ++ app.clipboard-select-none ++ <Ctrl><Shift>A ++ ++
++
++ ++ Add _to Play Queue ++ app.clipboard-add-to-queue ++ ++ ++ Add to _Playlist ++ ++ ++ _New Playlist ++ app.playlist-add-to-new ++ ++ ++ ++
++
++ ++ _Move to Trash ++ app.clipboard-trash ++ ++
++
++ ++ Prefere_nces ++ app.preferences ++ ++
++
++ ++ _View ++
++ ++ _Fullscreen ++ win.party-mode ++ F11 ++ ++
++
++ ++ Side _Pane ++ win.display-page-tree-visible ++ F9 ++ ++ ++ View _Queue as Side Pane ++ win.queue-as-sidebar ++ <Ctrl>K ++ ++ ++ S_tatusbar ++ win.statusbar-visible ++ ++ ++ _Song Position Slider ++ win.show-song-position-slider ++ ++ ++ _Album Art ++ win.show-album-art ++ ++
++
++ ++ _Jump to Playing Song ++ win.jump-to-playing ++ <Ctrl>J ++ ++
++
++ view ++
++
++ ++ _Control ++
++ ++ _Play ++ app.play ++ <Ctrl>P ++ ++
++
++ ++ Pre_vious ++ app.play-previous ++ <Ctrl>Left ++ ++ ++ _Next ++ app.play-next ++ <Ctrl>Right ++ ++
++
++ ++ _Increase Volume ++ app.volume-up ++ <Ctrl>Up ++ ++ ++ _Decrease Volume ++ app.volume-down ++ <Ctrl>Down ++ ++
++
++ ++ Sh_uffle ++ app.play-shuffle ++ <Ctrl>U ++ ++ ++ _Repeat ++ app.play-repeat ++ <Ctrl>R ++ ++
++
++ ++ _Tools ++
++ tools ++
++
++ ++ Plu_gins… ++ app.plugins ++ ++
++
++ ++ _Help ++
++ ++ _Contents ++ app.help ++ F1 ++ ++ ++ _About ++ app.about ++ ++
++
++
++
++ +diff --git a/po/POTFILES.in b/po/POTFILES.in +index ec639aa..7f8fb82 100644 +--- a/po/POTFILES.in ++++ b/po/POTFILES.in +@@ -7,6 +7,7 @@ data/playlists.xml.in + data/rhythmbox.desktop.in.in + data/rhythmbox-device.desktop.in.in + [type: gettext/glade]data/ui/app-menu.ui ++[type: gettext/glade]data/ui/menubar.ui + [type: gettext/glade]data/ui/browser-popup.ui + [type: gettext/glade]data/ui/create-playlist.ui + [type: gettext/glade]data/ui/display-page-add-menu.ui +diff --git a/shell/rb-application.c b/shell/rb-application.c +index 68e7a5e..6533087 100644 +--- a/shell/rb-application.c ++++ b/shell/rb-application.c +@@ -332,6 +332,7 @@ impl_startup (GApplication *app) + { + RBApplication *rb = RB_APPLICATION (app); + gboolean shell_shows_app_menu; ++ gboolean shell_shows_menubar; + GtkBuilder *builder; + GMenuModel *menu; + GtkCssProvider *provider; +@@ -361,6 +362,7 @@ impl_startup (GApplication *app) + + g_object_get (gtk_settings_get_default (), + "gtk-shell-shows-app-menu", &shell_shows_app_menu, ++ "gtk-shell-shows-menubar", &shell_shows_menubar, + NULL); + + builder = rb_builder_load ("app-menu.ui", NULL); +@@ -371,9 +373,20 @@ impl_startup (GApplication *app) + /* only set the app menu if the shell shows it; otherwise, we'll + * stick a menu button in the toolbar. + */ +- if (shell_shows_app_menu) { ++ if (shell_shows_app_menu && !shell_shows_menubar) { + gtk_application_set_app_menu (GTK_APPLICATION (app), menu); + } ++ else if (!shell_shows_app_menu || shell_shows_menubar) { ++ GtkBuilder *menubar_builder; ++ GMenuModel *menubar; ++ ++ menubar_builder = rb_builder_load ("menubar.ui", NULL); ++ menubar = G_MENU_MODEL (gtk_builder_get_object (menubar_builder, "menubar")); ++ rb_application_link_shared_menus (rb, G_MENU (menubar)); ++ gtk_application_set_menubar (GTK_APPLICATION (app), menubar); ++ ++ g_object_unref (menubar_builder); ++ } + + g_object_unref (builder); + +-- +1.9.0 + === modified file 'debian/patches/series' --- debian/patches/series 2016-08-03 17:11:45 +0000 +++ debian/patches/series 2016-08-04 03:31:50 +0000 @@ -1,1 +1,11 @@ +02_use_escaped_podcast_uri.patch +03_magnatune_partner.patch +05_hide_on_quit.patch +07_quicklists.patch +08_stop_quit.patch +10_encoding_use_ubuntu_profiles.patch +make-shuffle-repeat-proper-toggle-actions.patch +restore-traditional-menubar.patch +0002-grilo-container-max-tracks.patch +clutter-gst-3.0.patch grilo-0.3.patch === modified file 'debian/rhythmbox-data.install' --- debian/rhythmbox-data.install 2016-08-03 17:11:45 +0000 +++ debian/rhythmbox-data.install 2016-08-04 03:31:50 +0000 @@ -8,3 +8,5 @@ usr/share/rhythmbox/icons/ usr/share/rhythmbox/style.css usr/share/glib-2.0/schemas +debian/*.prs usr/share/gstreamer-1.0/presets +debian/source_rhythmbox.py usr/share/apport/package-hooks === modified file 'debian/rhythmbox-dev.install' --- debian/rhythmbox-dev.install 2016-08-03 17:11:45 +0000 +++ debian/rhythmbox-dev.install 2016-08-04 03:31:50 +0000 @@ -1,4 +1,4 @@ usr/include -usr/lib/lib*.so -usr/lib/pkgconfig +usr/lib/*/lib*.so +usr/lib/*/pkgconfig usr/share/gir-1.0 === added file 'debian/rhythmbox-mozilla.install' --- debian/rhythmbox-mozilla.install 1970-01-01 00:00:00 +0000 +++ debian/rhythmbox-mozilla.install 2016-08-04 03:31:50 +0000 @@ -0,0 +1,1 @@ +usr/lib/mozilla/plugins === added file 'debian/rhythmbox-plugin-visualizer.install' --- debian/rhythmbox-plugin-visualizer.install 1970-01-01 00:00:00 +0000 +++ debian/rhythmbox-plugin-visualizer.install 2016-08-04 03:31:50 +0000 @@ -0,0 +1,2 @@ +usr/lib/rhythmbox/plugins/visualizer +usr/share/rhythmbox/plugins/visualizer === added file 'debian/rhythmbox-plugin-zeitgeist.install' --- debian/rhythmbox-plugin-zeitgeist.install 1970-01-01 00:00:00 +0000 +++ debian/rhythmbox-plugin-zeitgeist.install 2016-08-04 03:31:50 +0000 @@ -0,0 +1,1 @@ +usr/lib/rhythmbox/plugins/rbzeitgeist === modified file 'debian/rhythmbox-plugins.install' --- debian/rhythmbox-plugins.install 2016-08-03 17:11:45 +0000 +++ debian/rhythmbox-plugins.install 2016-08-04 03:31:50 +0000 @@ -1,4 +1,3 @@ -usr/lib/mozilla/plugins/librhythmbox-itms-detection-plugin.so usr/lib/rhythmbox/plugins/android usr/share/rhythmbox/plugins/android usr/lib/rhythmbox/plugins/artsearch @@ -6,8 +5,6 @@ usr/share/rhythmbox/plugins/audiocd usr/lib/rhythmbox/plugins/audioscrobbler usr/share/rhythmbox/plugins/audioscrobbler -usr/lib/rhythmbox/plugins/context -usr/share/rhythmbox/plugins/context usr/lib/rhythmbox/plugins/daap usr/share/rhythmbox/plugins/daap usr/lib/rhythmbox/plugins/dbus-media-server @@ -35,7 +32,6 @@ usr/lib/rhythmbox/plugins/rb usr/lib/rhythmbox/plugins/rblirc usr/share/rhythmbox/plugins/rblirc -usr/lib/rhythmbox/plugins/rbzeitgeist usr/lib/rhythmbox/plugins/replaygain usr/share/rhythmbox/plugins/replaygain usr/lib/rhythmbox/plugins/sendto === modified file 'debian/rules' --- debian/rules 2016-08-03 17:11:45 +0000 +++ debian/rules 2016-08-04 03:31:50 +0000 @@ -11,8 +11,7 @@ DEB_DH_AUTORECONF_ARGS := --as-needed ./autogen.sh DEB_CONFIGURE_EXTRA_FLAGS += --enable-lirc \ - --enable-gtk-doc \ - --disable-visualizer + --enable-gtk-doc ifeq ($(DEB_HOST_ARCH_OS),linux) DEB_CONFIGURE_EXTRA_FLAGS += --without-hal --with-gudev @@ -28,14 +27,25 @@ # exclude plugins from shlibs generation DEB_DH_MAKESHLIBS_ARGS_rhythmbox-plugins += --no-act DEB_DH_MAKESHLIBS_ARGS_rhythmbox-plugin-cdrecorder += --no-act +DEB_DH_MAKESHLIBS_ARGS_rhythmbox-mozilla += --no-act +DEB_DH_MAKESHLIBS_ARGS_rhythmbox-plugin-visualizer += --no-act +DEB_DH_MAKESHLIBS_ARGS_rhythmbox-plugin-zeitgeist += --no-act DEB_DH_MAKESHLIBS_ARGS_librhythmbox-core9 += -V -- -c4 +# don't configure with --libdir, but move the files manually, because +# other locations in /usr/lib/ must not change. +common-install-impl:: + mkdir -p debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH) + mv debian/tmp/usr/lib/lib*a debian/tmp/usr/lib/lib*.so* \ + debian/tmp/usr/lib/girepository-1.0 debian/tmp/usr/lib/pkgconfig \ + debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH) + $(patsubst %,binary-post-install/%,$(DEB_PACKAGES)) :: find debian/$(cdbs_curpkg) -name '*.a' -delete find debian/$(cdbs_curpkg) -name '*.la' -delete dh_python3 --no-ext-rename -p$(cdbs_curpkg) /usr/lib/rhythmbox # Fail if there are any files which are not installed -DEB_DH_INSTALL_ARGS += --fail-missing -X.la -Xsample-plugins +DEB_DH_INSTALL_ARGS += --fail-missing -X.la -Xsample-plugins -Xcontext DEB_DH_STRIP_ARGS := --dbgsym-migration='rhythmbox-dbg (<< 3.3.1-1~)' === added file 'debian/source_rhythmbox.py' --- debian/source_rhythmbox.py 1970-01-01 00:00:00 +0000 +++ debian/source_rhythmbox.py 2016-08-04 03:31:50 +0000 @@ -0,0 +1,43 @@ +import os +import re + +import apport.packaging +import apport.hookutils + +def mask_string (str): + MASK = '##MASKED##' + return str.group(1) + MASK + +def mask_values(gconfinfo): + """ strip personal/private information from the GConf entries """ + pattrn = re.compile ('((add_dir|library_locations|download_prefix|share_password|share_name|username|password)=)(.*)$', + re.IGNORECASE) + newReport = "" + for line in gconfinfo.splitlines(): + line = pattrn.sub (mask_string, line) + newReport += line + '\n' + return newReport + +def add_info(report, ui): + response = ui.choice("How would you describe the issue?", [ + "problem with the interface", + "problem with sound", + "problem with playback of audio files", + "other problem", + ], False) + + if response == None: # user cancelled + raise StopIteration +# TODO: port to gsettings +# if response[0] == 0: # an issue about rhythmbox interface +# apport.hookutils.attach_gconf(report, 'rhythmbox') +# report['GConfNonDefault'] = mask_values(report['GConfNonDefault']) + if response[0] == 1: # the issue is a sound one + os.execlp('apport-bug', 'apport-bug', 'audio') + if response[0] == 2: # the issue is a codec one + report.add_package_info("libgstreamer1.0-0") + return + + report["LogAlsaMixer"] = apport.hookutils.command_output(["/usr/bin/amixer"]) + report["GstreamerVersions"] = apport.hookutils.package_versions("gstreamer*") + report["XorgLog"] = apport.hookutils.read_file("/var/log/Xorg.0.log")