Debian

Available patches from Ubuntu

To see Ubuntu differences wrt. to Debian, write down a grep-dctrl query identifying the packages you're interested in:
grep-dctrl -n -sPackage Sources.Debian
(e.g. -FPackage linux-ntfs or linux-ntfs)

Modified packages are listed below:

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: rhythmbox

rhythmbox (3.4.2-4ubuntu3) disco; urgency=medium * No-change rebuild for Python 3.7 as default Python3. -- Matthias Klose <doko@ubuntu.com> Wed, 31 Oct 2018 17:38:45 +0100 rhythmbox (3.4.2-4ubuntu2) cosmic; urgency=medium * debian/control.in: - demote the notification-daemon from Recommends to Suggests, the notifications are nice to have but not important, also other desktop implement the notification interface from a different source. This way we stop pulling notification-daemon in main/the default installation when it's not needed. -- Sebastien Bacher <seb128@ubuntu.com> Wed, 10 Oct 2018 17:01:10 +0200 rhythmbox (3.4.2-4ubuntu1) bionic; urgency=medium * Merge with Debian (LP: #1752966). Remaining changes: + Split out zeitgeist plugin + debian/control.in: - Allow unity-control-center as alternate dependency - Suggest instead of recommend gst-plugins-ugly - Suggest rhythmbox-plugin-zeitgeist - Recommends rhythmbox-plugin-alternative-toolbar. It improves the user interface and makes it fit better with GNOME. + 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) - Add new symbol to librhythmbox-core10.symbols + 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/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. + Add breaks/replaces since we moved plugins from rhythmbox and rhythmbox- plugins-magnatune back to rhythmbox-plugins * Stop building rhythmbox-plugin-mozilla since it won't work in Firefox 53+ -- Jeremy Bicha <jbicha@ubuntu.com> Mon, 26 Mar 2018 10:49:17 -0400

Modifications :
  1. Download patch debian/patches/0002-grilo-container-max-tracks.patch

    --- 3.4.2-4/debian/patches/0002-grilo-container-max-tracks.patch 1970-01-01 00:00:00.000000000 +0000 +++ 3.4.2-4ubuntu3/debian/patches/0002-grilo-container-max-tracks.patch 2018-10-10 15:03:11.000000000 +0000 @@ -0,0 +1,18 @@ +Author: Jamie Strandboge <jamie@canonical.com> +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
  2. Download patch debian/patches/03_magnatune_partner.patch

    --- 3.4.2-4/debian/patches/03_magnatune_partner.patch 1970-01-01 00:00:00.000000000 +0000 +++ 3.4.2-4ubuntu3/debian/patches/03_magnatune_partner.patch 2018-10-10 15:03:11.000000000 +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"
  3. Download patch debian/GstVorbisEnc.prs

    --- 3.4.2-4/debian/GstVorbisEnc.prs 1970-01-01 00:00:00.000000000 +0000 +++ 3.4.2-4ubuntu3/debian/GstVorbisEnc.prs 2018-10-10 15:03:11.000000000 +0000 @@ -0,0 +1,11 @@ +[_presets_] +element-name=GstVorbisEnc +version=0.10.36 + +[Ubuntu] +name=vorbisenc +perfect-timestamp=true +hard-resync=false +tolerance=40000000 +quality=0.6 +managed=false
  4. Download patch debian/patches/10_encoding_use_ubuntu_profiles.patch

    --- 3.4.2-4/debian/patches/10_encoding_use_ubuntu_profiles.patch 1970-01-01 00:00:00.000000000 +0000 +++ 3.4.2-4ubuntu3/debian/patches/10_encoding_use_ubuntu_profiles.patch 2018-10-10 15:03:11.000000000 +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 +
  5. Download patch debian/rules

    --- 3.4.2-4/debian/rules 2018-03-26 14:29:47.000000000 +0000 +++ 3.4.2-4ubuntu3/debian/rules 2018-10-10 15:03:11.000000000 +0000 @@ -4,9 +4,6 @@ export DEB_BUILD_MAINT_OPTIONS = hardening=+all export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed -# Mozilla plugins shouldn't be installed in multi-arch path -export MOZILLA_PLUGINDIR = /usr/lib/mozilla/plugins - %: dh $@ --with gir,gnome,python3 @@ -24,18 +21,20 @@ override_dh_auto_configure: --libexecdir=/usr/lib/rhythmbox \ --enable-lirc \ --enable-gtk-doc \ + --disable-browser-plugin \ --without-hal \ $(CONFFLAGS) override_dh_install: find debian/tmp -name '*.a' -delete -print find debian/tmp -name '*.la' -delete -print - dh_install -Xsample-plugins + dh_install -Xsample-plugins -Xcontext override_dh_missing: - dh_missing --fail-missing -Xsample-plugins + dh_missing --fail-missing -Xsample-plugins -Xcontext override_dh_python3: + dh_python3 --no-ext-rename /usr/lib/rhythmbox dh_python3 --no-ext-rename /usr/lib/$(DEB_HOST_MULTIARCH)/rhythmbox override_dh_strip: @@ -44,4 +43,5 @@ override_dh_strip: override_dh_makeshlibs: dh_makeshlibs -prhythmbox-plugins --no-act dh_makeshlibs -prhythmbox-plugin-cdrecorder --no-act + dh_makeshlibs -prhythmbox-plugin-zeitgeist --no-act dh_makeshlibs --remaining-packages -V -- -c4
  6. Download patch debian/control

    --- 3.4.2-4/debian/control 2018-03-26 14:29:47.000000000 +0000 +++ 3.4.2-4ubuntu3/debian/control 2018-10-10 15:03:11.000000000 +0000 @@ -5,7 +5,8 @@ Source: rhythmbox Section: gnome Priority: optional -Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org> +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +XSBC-Original-Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org> Uploaders: Emilio Pozuelo Monfort <pochu@debian.org>, Jeremy Bicha <jbicha@debian.org>, Jordi Mallach <jordi@debian.org>, Laurent Bigonville <bigon@debian.org>, Michael Biebl <biebl@debian.org> Build-Depends: debhelper (>= 11), dh-exec, @@ -51,8 +52,10 @@ Build-Depends-Indep: docbook-xsl (>= 1.5 gstreamer1.0-plugins-base-doc Build-Conflicts: libmusicbrainz3-dev Standards-Version: 4.1.3 -Vcs-Git: https://salsa.debian.org/gnome-team/rhythmbox.git -Vcs-Browser: https://salsa.debian.org/gnome-team/rhythmbox +XS-Debian-Vcs-Browser: https://salsa.debian.org/gnome-team/rhythmbox +XS-Debian-Vcs-Git: https://salsa.debian.org/gnome-team/rhythmbox.git +Vcs-Browser: https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/rhythmbox +Vcs-Git: https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/rhythmbox Homepage: https://wiki.gnome.org/Apps/Rhythmbox Package: rhythmbox @@ -69,15 +72,17 @@ Depends: ${misc:Depends}, media-player-info [linux-any] Recommends: yelp, avahi-daemon, - notification-daemon, gstreamer1.0-pulseaudio, - gstreamer1.0-plugins-ugly, gvfs-backends, + rhythmbox-plugin-alternative-toolbar, rhythmbox-plugins Suggests: gstreamer1.0-plugins-bad, + gstreamer1.0-plugins-ugly, gnome-codec-install, - gnome-control-center, - rhythmbox-plugin-cdrecorder + gnome-control-center | unity-control-center, + notification-daemon, + rhythmbox-plugin-cdrecorder, + rhythmbox-plugin-zeitgeist Description: music player and organizer for GNOME Rhythmbox is a very easy to use music playing and management program which supports a wide range of audio formats (including mp3 and ogg). @@ -118,7 +123,8 @@ Depends: ${misc:Depends}, gir1.2-secret-1, 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). @@ -131,7 +137,6 @@ Description: plugins for rhythmbox music - Cover art search - Audio CD Player - Last.fm - - Context Panel - DAAP Music Sharing - FM Radio - Grilo media browser @@ -148,10 +153,8 @@ Description: plugins for rhythmbox music - Send tracks - Replay Gain - Soundcloud - - Zeitgeist - MediaServer2 D-Bus interface - MPRIS D-Bus interface - - Browser plugin to integrate Rhythmbox with iTunes - Web remote control Package: rhythmbox-plugin-cdrecorder @@ -169,6 +172,34 @@ Description: burning plugin for rhythmbo . This package contains the brasero based CD/DVD burning plugin. +Package: rhythmbox-plugin-magnatune +Architecture: all +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-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: librhythmbox-core10 Section: libs Architecture: any
  7. Download patch debian/control.in

    --- 3.4.2-4/debian/control.in 2018-03-26 14:29:47.000000000 +0000 +++ 3.4.2-4ubuntu3/debian/control.in 2018-10-10 15:03:11.000000000 +0000 @@ -1,7 +1,8 @@ Source: rhythmbox Section: gnome Priority: optional -Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org> +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +XSBC-Original-Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org> Uploaders: @GNOME_TEAM@ Build-Depends: debhelper (>= 11), dh-exec, @@ -47,8 +48,10 @@ Build-Depends-Indep: docbook-xsl (>= 1.5 gstreamer1.0-plugins-base-doc Build-Conflicts: libmusicbrainz3-dev Standards-Version: 4.1.3 -Vcs-Git: https://salsa.debian.org/gnome-team/rhythmbox.git -Vcs-Browser: https://salsa.debian.org/gnome-team/rhythmbox +XS-Debian-Vcs-Browser: https://salsa.debian.org/gnome-team/rhythmbox +XS-Debian-Vcs-Git: https://salsa.debian.org/gnome-team/rhythmbox.git +Vcs-Browser: https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/rhythmbox +Vcs-Git: https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/rhythmbox Homepage: https://wiki.gnome.org/Apps/Rhythmbox Package: rhythmbox @@ -65,15 +68,17 @@ Depends: ${misc:Depends}, media-player-info [linux-any] Recommends: yelp, avahi-daemon, - notification-daemon, gstreamer1.0-pulseaudio, - gstreamer1.0-plugins-ugly, gvfs-backends, + rhythmbox-plugin-alternative-toolbar, rhythmbox-plugins Suggests: gstreamer1.0-plugins-bad, + gstreamer1.0-plugins-ugly, gnome-codec-install, - gnome-control-center, - rhythmbox-plugin-cdrecorder + gnome-control-center | unity-control-center, + notification-daemon, + rhythmbox-plugin-cdrecorder, + rhythmbox-plugin-zeitgeist Description: music player and organizer for GNOME Rhythmbox is a very easy to use music playing and management program which supports a wide range of audio formats (including mp3 and ogg). @@ -114,7 +119,8 @@ Depends: ${misc:Depends}, gir1.2-secret-1, 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). @@ -127,7 +133,6 @@ Description: plugins for rhythmbox music - Cover art search - Audio CD Player - Last.fm - - Context Panel - DAAP Music Sharing - FM Radio - Grilo media browser @@ -144,10 +149,8 @@ Description: plugins for rhythmbox music - Send tracks - Replay Gain - Soundcloud - - Zeitgeist - MediaServer2 D-Bus interface - MPRIS D-Bus interface - - Browser plugin to integrate Rhythmbox with iTunes - Web remote control Package: rhythmbox-plugin-cdrecorder @@ -165,6 +168,34 @@ Description: burning plugin for rhythmbo . This package contains the brasero based CD/DVD burning plugin. +Package: rhythmbox-plugin-magnatune +Architecture: all +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-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: librhythmbox-core10 Section: libs Architecture: any
  8. Download patch debian/patches/restore-traditional-menubar.patch
  9. Download patch debian/patches/series

    --- 3.4.2-4/debian/patches/series 2018-03-26 14:29:47.000000000 +0000 +++ 3.4.2-4ubuntu3/debian/patches/series 2018-10-10 15:03:11.000000000 +0000 @@ -1,3 +1,12 @@ multiarch_fallback.patch fix_mediakeys_api.patch fix-build-with-gstreamer114.patch +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
  10. Download patch debian/patches/07_quicklists.patch

    --- 3.4.2-4/debian/patches/07_quicklists.patch 1970-01-01 00:00:00.000000000 +0000 +++ 3.4.2-4ubuntu3/debian/patches/07_quicklists.patch 2018-10-10 15:03:11.000000000 +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
  11. Download patch debian/GstLameMP3Enc.prs

    --- 3.4.2-4/debian/GstLameMP3Enc.prs 1970-01-01 00:00:00.000000000 +0000 +++ 3.4.2-4ubuntu3/debian/GstLameMP3Enc.prs 2018-10-10 15:03:11.000000000 +0000 @@ -0,0 +1,14 @@ +[_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
  12. Download patch debian/patches/make-shuffle-repeat-proper-toggle-actions.patch

    --- 3.4.2-4/debian/patches/make-shuffle-repeat-proper-toggle-actions.patch 1970-01-01 00:00:00.000000000 +0000 +++ 3.4.2-4ubuntu3/debian/patches/make-shuffle-repeat-proper-toggle-actions.patch 2018-10-10 15:03:11.000000000 +0000 @@ -0,0 +1,113 @@ +From 37d0dc308bfbfdd7beb94135cd45d6239fdad85c Mon Sep 17 00:00:00 2001 +From: Lars Uebernickel <lars@uebernic.de> +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);
  13. Download patch debian/patches/05_hide_on_quit.patch

    --- 3.4.2-4/debian/patches/05_hide_on_quit.patch 1970-01-01 00:00:00.000000000 +0000 +++ 3.4.2-4ubuntu3/debian/patches/05_hide_on_quit.patch 2018-10-10 15:03:11.000000000 +0000 @@ -0,0 +1,67 @@ +Description: the close and ctrl<w> 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);
  14. Download patch debian/librhythmbox-core10.symbols

    --- 3.4.2-4/debian/librhythmbox-core10.symbols 2018-03-26 14:29:47.000000000 +0000 +++ 3.4.2-4ubuntu3/debian/librhythmbox-core10.symbols 2018-10-10 15:03:11.000000000 +0000 @@ -643,6 +643,7 @@ librhythmbox-core.so.10 librhythmbox-cor 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
  15. Download patch debian/patches/08_stop_quit.patch

    --- 3.4.2-4/debian/patches/08_stop_quit.patch 1970-01-01 00:00:00.000000000 +0000 +++ 3.4.2-4ubuntu3/debian/patches/08_stop_quit.patch 2018-10-10 15:03:11.000000000 +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
  16. Download patch debian/gbp.conf

    --- 3.4.2-4/debian/gbp.conf 2018-03-26 14:29:47.000000000 +0000 +++ 3.4.2-4ubuntu3/debian/gbp.conf 2018-10-10 15:03:11.000000000 +0000 @@ -1,5 +1,6 @@ [DEFAULT] -pristine-tar = True -debian-branch = debian/master -upstream-branch = upstream/latest -upstream-vcs-tag = v%(version)s +debian-branch=ubuntu/master +upstream-branch=upstream/latest +debian-tag=ubuntu/%(version)s +upstream-vcs-tag=%(version)s +pristine-tar=True
  17. Download patch debian/rhythmbox-plugins.install

    --- 3.4.2-4/debian/rhythmbox-plugins.install 2018-03-26 14:29:47.000000000 +0000 +++ 3.4.2-4ubuntu3/debian/rhythmbox-plugins.install 2018-10-10 15:03:11.000000000 +0000 @@ -1,12 +1,11 @@ #!/usr/bin/dh-exec -usr/lib/mozilla/plugins/librhythmbox-itms-detection-plugin.so [linux-any] usr/lib/*/rhythmbox/plugins/android usr/lib/*/rhythmbox/plugins/artsearch usr/lib/*/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/context +#usr/share/rhythmbox/plugins/context usr/lib/*/rhythmbox/plugins/daap usr/lib/*/rhythmbox/plugins/dbus-media-server usr/lib/*/rhythmbox/plugins/fmradio @@ -28,7 +27,6 @@ usr/lib/*/rhythmbox/plugins/python-conso 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
  18. Download patch debian/patches/02_use_escaped_podcast_uri.patch

    --- 3.4.2-4/debian/patches/02_use_escaped_podcast_uri.patch 1970-01-01 00:00:00.000000000 +0000 +++ 3.4.2-4ubuntu3/debian/patches/02_use_escaped_podcast_uri.patch 2018-10-10 15:03:11.000000000 +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 <string.h> ++#include <ctype.h> + #define __USE_XOPEN + #include <time.h> + +@@ -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,
  19. Download patch debian/rhythmbox-data.install

    --- 3.4.2-4/debian/rhythmbox-data.install 2018-03-26 14:29:47.000000000 +0000 +++ 3.4.2-4ubuntu3/debian/rhythmbox-data.install 2018-10-10 15:03:11.000000000 +0000 @@ -4,4 +4,5 @@ usr/share/icons usr/share/locale usr/share/rhythmbox/rhythmbox.gep usr/share/glib-2.0/schemas +debian/*.prs usr/share/gstreamer-1.0/presets debian/source_rhythmbox.py usr/share/apport/package-hooks
  20. Download patch debian/rhythmbox-plugin-zeitgeist.install

    --- 3.4.2-4/debian/rhythmbox-plugin-zeitgeist.install 1970-01-01 00:00:00.000000000 +0000 +++ 3.4.2-4ubuntu3/debian/rhythmbox-plugin-zeitgeist.install 2018-10-10 15:03:11.000000000 +0000 @@ -0,0 +1 @@ +usr/lib/*/rhythmbox/plugins/rbzeitgeist usr/lib/rhythmbox/plugins
  1. rhythmbox