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.3-1ubuntu1) disco; 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+ -- Sebastien Bacher <seb128@ubuntu.com> Wed, 16 Jan 2019 13:50:24 +0100

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

    --- 3.4.3-1/debian/patches/0002-grilo-container-max-tracks.patch 1970-01-01 00:00:00.000000000 +0000 +++ 3.4.3-1ubuntu1/debian/patches/0002-grilo-container-max-tracks.patch 2019-01-16 12:50:50.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.4.3/plugins/grilo/rb-grilo-source.c +=================================================================== +--- rhythmbox-3.4.3.orig/plugins/grilo/rb-grilo-source.c ++++ rhythmbox-3.4.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.3-1/debian/patches/03_magnatune_partner.patch 1970-01-01 00:00:00.000000000 +0000 +++ 3.4.3-1ubuntu1/debian/patches/03_magnatune_partner.patch 2019-01-16 12:50:50.000000000 +0000 @@ -0,0 +1,14 @@ +=== modified file 'plugins/magnatune/MagnatuneSource.py' +Index: rhythmbox-3.4.3/plugins/magnatune/MagnatuneSource.py +=================================================================== +--- rhythmbox-3.4.3.orig/plugins/magnatune/MagnatuneSource.py ++++ rhythmbox-3.4.3/plugins/magnatune/MagnatuneSource.py +@@ -43,7 +43,7 @@ import MagnatuneAccount + 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.3-1/debian/GstVorbisEnc.prs 1970-01-01 00:00:00.000000000 +0000 +++ 3.4.3-1ubuntu1/debian/GstVorbisEnc.prs 2019-01-16 12:50:50.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.3-1/debian/patches/10_encoding_use_ubuntu_profiles.patch 1970-01-01 00:00:00.000000000 +0000 +++ 3.4.3-1ubuntu1/debian/patches/10_encoding_use_ubuntu_profiles.patch 2019-01-16 12:50:50.000000000 +0000 @@ -0,0 +1,21 @@ +Bug-Ubuntu: https://launchpad.net/bugs/945987 +Index: rhythmbox-3.4.3/data/rhythmbox.gep +=================================================================== +--- rhythmbox-3.4.3.orig/data/rhythmbox.gep ++++ rhythmbox-3.4.3/data/rhythmbox.gep +@@ -12,6 +12,7 @@ type = container + [streamprofile-mp3-1] + parent = mp3 + type = audio ++preset = Ubuntu + format = audio/mpeg, mpegversion=1, layer=3 + presence = 1 + +@@ -26,6 +27,7 @@ type = container + [streamprofile-oggvorbis-1] + parent = oggvorbis + type = audio ++preset = Ubuntu + format = audio/x-vorbis + presence = 1 +
  5. Download patch debian/patches/multiarch_fallback.patch

    --- 3.4.3-1/debian/patches/multiarch_fallback.patch 2019-01-06 16:45:38.000000000 +0000 +++ 3.4.3-1ubuntu1/debian/patches/multiarch_fallback.patch 2019-01-16 12:50:50.000000000 +0000 @@ -6,11 +6,11 @@ Subject: [PATCH] Load plugins from non-m shell/rb-shell.c | 3 +++ 1 file changed, 3 insertions(+) -diff --git a/shell/rb-shell.c b/shell/rb-shell.c -index 7ae0227..6b22f14 100644 ---- a/shell/rb-shell.c -+++ b/shell/rb-shell.c -@@ -893,6 +893,9 @@ construct_plugins (RBShell *shell) +Index: rhythmbox-3.4.3/shell/rb-shell.c +=================================================================== +--- rhythmbox-3.4.3.orig/shell/rb-shell.c ++++ rhythmbox-3.4.3/shell/rb-shell.c +@@ -886,6 +886,9 @@ construct_plugins (RBShell *shell) peas_engine_add_search_path (shell->priv->plugin_engine, plugindir, plugindatadir);
  6. Download patch debian/rules

    --- 3.4.3-1/debian/rules 2019-01-06 16:45:38.000000000 +0000 +++ 3.4.3-1ubuntu1/debian/rules 2019-01-16 12:50:50.000000000 +0000 @@ -3,6 +3,7 @@ export DEB_BUILD_MAINT_OPTIONS = hardening=+all export DEB_LDFLAGS_MAINT_APPEND = -Wl,-O1 -Wl,--as-needed + %: dh $@ --with gir,gnome,python3 @@ -21,6 +22,8 @@ override_dh_auto_configure: --disable-browser-plugin \ --enable-lirc \ --enable-gtk-doc \ + --disable-browser-plugin \ + --without-hal \ $(CONFFLAGS) override_dh_install: @@ -32,6 +35,7 @@ override_dh_missing: 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: @@ -40,4 +44,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
  7. Download patch debian/control

    --- 3.4.3-1/debian/control 2019-01-06 16:45:38.000000000 +0000 +++ 3.4.3-1ubuntu1/debian/control 2019-01-16 12:50:50.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.3.0 -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
  8. Download patch debian/control.in

    --- 3.4.3-1/debian/control.in 2019-01-06 16:45:38.000000000 +0000 +++ 3.4.3-1ubuntu1/debian/control.in 2019-01-16 12:50:50.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.3.0 -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
  9. Download patch debian/patches/restore-traditional-menubar.patch
  10. Download patch debian/patches/series

    --- 3.4.3-1/debian/patches/series 2019-01-06 16:45:38.000000000 +0000 +++ 3.4.3-1ubuntu1/debian/patches/series 2019-01-16 12:50:50.000000000 +0000 @@ -1 +1,10 @@ multiarch_fallback.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
  11. Download patch debian/patches/07_quicklists.patch

    --- 3.4.3-1/debian/patches/07_quicklists.patch 1970-01-01 00:00:00.000000000 +0000 +++ 3.4.3-1ubuntu1/debian/patches/07_quicklists.patch 2019-01-16 12:50:50.000000000 +0000 @@ -0,0 +1,21 @@ +Index: rhythmbox-3.4.3/data/rhythmbox.desktop.in.in +=================================================================== +--- rhythmbox-3.4.3.orig/data/rhythmbox.desktop.in.in ++++ rhythmbox-3.4.3/data/rhythmbox.desktop.in.in +@@ -18,3 +18,16 @@ X-GNOME-Bugzilla-Component=general + 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
  12. Download patch debian/GstLameMP3Enc.prs

    --- 3.4.3-1/debian/GstLameMP3Enc.prs 1970-01-01 00:00:00.000000000 +0000 +++ 3.4.3-1ubuntu1/debian/GstLameMP3Enc.prs 2019-01-16 12:50:50.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
  13. Download patch debian/patches/make-shuffle-repeat-proper-toggle-actions.patch

    --- 3.4.3-1/debian/patches/make-shuffle-repeat-proper-toggle-actions.patch 1970-01-01 00:00:00.000000000 +0000 +++ 3.4.3-1ubuntu1/debian/patches/make-shuffle-repeat-proper-toggle-actions.patch 2019-01-16 12:50:50.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-3.4.3/shell/rb-shell-player.c +=================================================================== +--- rhythmbox-3.4.3.orig/shell/rb-shell-player.c ++++ rhythmbox-3.4.3/shell/rb-shell-player.c +@@ -2812,30 +2812,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) +@@ -2843,9 +2843,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); + } +@@ -2946,6 +2946,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; +@@ -2956,8 +2969,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-3.4.3/shell/rb-shell.c +=================================================================== +--- rhythmbox-3.4.3.orig/shell/rb-shell.c ++++ rhythmbox-3.4.3/shell/rb-shell.c +@@ -740,12 +740,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);
  14. Download patch debian/patches/05_hide_on_quit.patch

    --- 3.4.3-1/debian/patches/05_hide_on_quit.patch 1970-01-01 00:00:00.000000000 +0000 +++ 3.4.3-1ubuntu1/debian/patches/05_hide_on_quit.patch 2019-01-16 12:50:50.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-3.4.3/shell/rb-shell.c +=================================================================== +--- rhythmbox-3.4.3.orig/shell/rb-shell.c ++++ rhythmbox-3.4.3/shell/rb-shell.c +@@ -1951,11 +1951,42 @@ rb_shell_window_configure_cb (GtkWidget + 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-3.4.3/shell/rb-shell.h +=================================================================== +--- rhythmbox-3.4.3.orig/shell/rb-shell.h ++++ rhythmbox-3.4.3/shell/rb-shell.h +@@ -158,6 +158,8 @@ RBSource * rb_shell_get_source_by_entry_ + + 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);
  15. Download patch debian/librhythmbox-core10.symbols

    --- 3.4.3-1/debian/librhythmbox-core10.symbols 2019-01-06 16:45:38.000000000 +0000 +++ 3.4.3-1ubuntu1/debian/librhythmbox-core10.symbols 2019-01-16 12:50:50.000000000 +0000 @@ -653,6 +653,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
  16. Download patch debian/patches/08_stop_quit.patch

    --- 3.4.3-1/debian/patches/08_stop_quit.patch 1970-01-01 00:00:00.000000000 +0000 +++ 3.4.3-1ubuntu1/debian/patches/08_stop_quit.patch 2019-01-16 12:50:50.000000000 +0000 @@ -0,0 +1,21 @@ +Index: rhythmbox-3.4.3/data/rhythmbox.desktop.in.in +=================================================================== +--- rhythmbox-3.4.3.orig/data/rhythmbox.desktop.in.in ++++ rhythmbox-3.4.3/data/rhythmbox.desktop.in.in +@@ -18,7 +18,7 @@ X-GNOME-Bugzilla-Component=general + 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 @@ Exec=rhythmbox-client --next + [Desktop Action Previous] + _Name=Previous + Exec=rhythmbox-client --previous ++ ++[Desktop Action StopQuit] ++_Name=Stop & Quit ++Exec=rhythmbox-client --quit
  17. Download patch debian/gbp.conf

    --- 3.4.3-1/debian/gbp.conf 2019-01-06 16:45:38.000000000 +0000 +++ 3.4.3-1ubuntu1/debian/gbp.conf 2019-01-16 12:50:50.000000000 +0000 @@ -1,7 +1,8 @@ [DEFAULT] pristine-tar = True -debian-branch = debian/master +debian-branch = ubuntu/master upstream-branch = upstream/latest +debian-tag=ubuntu/%(version)s [buildpackage] sign-tags = True
  18. Download patch debian/rhythmbox-plugins.install

    --- 3.4.3-1/debian/rhythmbox-plugins.install 2019-01-06 16:45:38.000000000 +0000 +++ 3.4.3-1ubuntu1/debian/rhythmbox-plugins.install 2019-01-16 12:50:50.000000000 +0000 @@ -27,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
  19. Download patch debian/patches/02_use_escaped_podcast_uri.patch

    --- 3.4.3-1/debian/patches/02_use_escaped_podcast_uri.patch 1970-01-01 00:00:00.000000000 +0000 +++ 3.4.3-1ubuntu1/debian/patches/02_use_escaped_podcast_uri.patch 2019-01-16 12:50:50.000000000 +0000 @@ -0,0 +1,35 @@ +# +# Upstream: https://gitlab.gnome.org/GNOME/rhythmbox/issues/828 +# +=== modified file 'podcast/rb-podcast-manager.c' +Index: rhythmbox-3.4.3/podcast/rb-podcast-manager.c +=================================================================== +--- rhythmbox-3.4.3.orig/podcast/rb-podcast-manager.c ++++ rhythmbox-3.4.3/podcast/rb-podcast-manager.c +@@ -29,6 +29,7 @@ + #include "config.h" + + #include <string.h> ++#include <ctype.h> + #define __USE_XOPEN + #include <time.h> + +@@ -880,9 +881,15 @@ download_podcast (GFileInfo *src_info, R + } + + 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,
  20. Download patch debian/rhythmbox-data.install

    --- 3.4.3-1/debian/rhythmbox-data.install 2019-01-06 16:45:38.000000000 +0000 +++ 3.4.3-1ubuntu1/debian/rhythmbox-data.install 2019-01-16 12:50:50.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
  21. Download patch debian/rhythmbox-plugin-zeitgeist.install

    --- 3.4.3-1/debian/rhythmbox-plugin-zeitgeist.install 1970-01-01 00:00:00.000000000 +0000 +++ 3.4.3-1ubuntu1/debian/rhythmbox-plugin-zeitgeist.install 2019-01-16 12:50:50.000000000 +0000 @@ -0,0 +1 @@ +usr/lib/*/rhythmbox/plugins/rbzeitgeist usr/lib/rhythmbox/plugins
  1. rhythmbox