Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package goodvibes for openSUSE:Factory checked in at 2023-11-13 22:18:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/goodvibes (Old) and /work/SRC/openSUSE:Factory/.goodvibes.new.17445 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "goodvibes" Mon Nov 13 22:18:55 2023 rev:7 rq:1125169 version:0.7.9 Changes: -------- --- /work/SRC/openSUSE:Factory/goodvibes/goodvibes.changes 2023-11-08 22:20:29.089249950 +0100 +++ /work/SRC/openSUSE:Factory/.goodvibes.new.17445/goodvibes.changes 2023-11-13 22:21:35.777105283 +0100 @@ -1,0 +2,6 @@ +Sat Nov 11 14:27:58 UTC 2023 - Andrea Manzini <andrea.manz...@suse.com> + +- Update to 0.7.9: + Fix: Preserve symlink when writing 'stations.xml' + +------------------------------------------------------------------- Old: ---- goodvibes-v0.7.8.tar.gz New: ---- goodvibes-v0.7.9.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ goodvibes.spec ++++++ --- /var/tmp/diff_new_pack.GcKhRk/_old 2023-11-13 22:21:37.085153444 +0100 +++ /var/tmp/diff_new_pack.GcKhRk/_new 2023-11-13 22:21:37.089153591 +0100 @@ -17,7 +17,7 @@ Name: goodvibes -Version: 0.7.8 +Version: 0.7.9 Release: 0 Summary: A lightweight radio player License: GPL-3.0-only ++++++ goodvibes-v0.7.8.tar.gz -> goodvibes-v0.7.9.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goodvibes-v0.7.8/NEWS new/goodvibes-v0.7.9/NEWS --- old/goodvibes-v0.7.8/NEWS 2023-11-06 10:04:29.000000000 +0100 +++ new/goodvibes-v0.7.9/NEWS 2023-11-10 16:35:58.000000000 +0100 @@ -1,3 +1,11 @@ +0.7.9 (2023-11-10) - Rock Warrior / Babylon Pression +---------------------------------------------------- + +Fixes + * Preserve symlink when writing ``stations.xml``. #161 + + + 0.7.8 (2023-11-06) - Gorilla / Ze Gran Zeft ------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goodvibes-v0.7.8/data/io.gitlab.Goodvibes.appdata.xml.in new/goodvibes-v0.7.9/data/io.gitlab.Goodvibes.appdata.xml.in --- old/goodvibes-v0.7.8/data/io.gitlab.Goodvibes.appdata.xml.in 2023-11-06 10:04:29.000000000 +0100 +++ new/goodvibes-v0.7.9/data/io.gitlab.Goodvibes.appdata.xml.in 2023-11-10 16:35:58.000000000 +0100 @@ -32,6 +32,7 @@ </screenshots> <releases> + <release version="0.7.9" date="2023-11-10"/> <release version="0.7.8" date="2023-11-06"/> <release version="0.7.7" date="2023-10-09"/> <release version="0.7.6" date="2023-01-18"/> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goodvibes-v0.7.8/meson.build new/goodvibes-v0.7.9/meson.build --- old/goodvibes-v0.7.8/meson.build 2023-11-06 10:04:29.000000000 +0100 +++ new/goodvibes-v0.7.9/meson.build 2023-11-10 16:35:58.000000000 +0100 @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-3.0-only project('goodvibes', 'c', - version: '0.7.8', + version: '0.7.9', license: 'GPLv3', meson_version: '>= 0.49.0', default_options: [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goodvibes-v0.7.8/src/core/gv-station-list.c new/goodvibes-v0.7.9/src/core/gv-station-list.c --- old/goodvibes-v0.7.8/src/core/gv-station-list.c 2023-11-06 10:04:29.000000000 +0100 +++ new/goodvibes-v0.7.9/src/core/gv-station-list.c 2023-11-10 16:35:58.000000000 +0100 @@ -392,7 +392,7 @@ } static gboolean -print_markup(GList *list, gchar **markup, GError **err) +print_markup(GList *list, gchar **markup, gsize *length, GError **err) { GList *item; GString *string; @@ -416,6 +416,9 @@ } g_string_append(string, "</Stations>"); + + if (length) + *length = string->len; *markup = g_string_free(string, FALSE); return TRUE; @@ -457,55 +460,53 @@ } static gboolean -save_station_list_to_string(GList *list, gchar **text, GError **err) +save_station_list_to_string(GList *list, gchar **text, gsize *length, GError **err) { - return print_markup(list, text, err); + return print_markup(list, text, length, err); } static gboolean save_station_list_to_file(GList *list, const gchar *path, GError **err) { gboolean ret; + gsize length = 0; gchar *text = NULL; gchar *dirname = NULL; + GFile *file = NULL; g_return_val_if_fail(err == NULL || *err == NULL, FALSE); - ret = save_station_list_to_string(list, &text, err); + /* We support a save path set to /dev/null (useful for unit tests) */ + if (!g_strcmp0(path, "/dev/null")) + return TRUE; + + /* Prepare text to write */ + ret = save_station_list_to_string(list, &text, &length, err); if (ret == FALSE) { g_assert(err == NULL || *err != NULL); goto end; } - /* g_file_set_contents() doesn't work with /dev/null, due to - * the way it's implemented (see documentation for details). - * However it's convenient to set the save path to /dev/null - * when we actually don't want to save (ie. test suite). - * So we handle this special case explicitly here. - */ - if (!g_strcmp0(path, "/dev/null")) { - ret = TRUE; - goto end; - } - + /* Create directories all the way down to destination */ dirname = g_path_get_dirname(path); if (g_mkdir_with_parents(dirname, S_IRWXU) != 0) { - g_set_error(err, G_FILE_ERROR, - g_file_error_from_errno(errno), - "Failed to make directory: %s", g_strerror(errno)); + g_set_error(err, G_FILE_ERROR, g_file_error_from_errno(errno), + "Failed to make directory: %s", g_strerror(errno)); ret = FALSE; goto end; } - ret = g_file_set_contents(path, text, -1, err); - if (ret == FALSE) { - g_assert(err == NULL || *err != NULL); - goto end; - } + /* Write the file */ + file = g_file_new_for_path(path); + ret = g_file_replace_contents(file, text, length, NULL, FALSE, + G_FILE_CREATE_NONE, NULL, NULL, err); end: + if (file != NULL) + g_object_unref(file); g_free(dirname); g_free(text); + return ret; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/goodvibes-v0.7.8/src/ui/gv-volume-control.c new/goodvibes-v0.7.9/src/ui/gv-volume-control.c --- old/goodvibes-v0.7.8/src/ui/gv-volume-control.c 2023-11-06 10:04:29.000000000 +0100 +++ new/goodvibes-v0.7.9/src/ui/gv-volume-control.c 2023-11-10 16:35:58.000000000 +0100 @@ -138,13 +138,13 @@ const gchar *icon_name; if (mute == TRUE || volume == 0) - icon_name = "audio-volume-muted"; + icon_name = "audio-volume-muted-symbolic"; else if (volume <= 33) - icon_name = "audio-volume-low"; + icon_name = "audio-volume-low-symbolic"; else if (volume <= 66) - icon_name = "audio-volume-medium"; + icon_name = "audio-volume-medium-symbolic"; else - icon_name = "audio-volume-high"; + icon_name = "audio-volume-high-symbolic"; image = gtk_image_new_from_icon_name(icon_name, GTK_ICON_SIZE_BUTTON); gtk_button_set_image(button, image); @@ -383,10 +383,19 @@ static void on_map(GvVolumeControl *self, gpointer user_data) { + GvVolumeControlPrivate *priv = self->priv; + GvPlayer *player = gv_core_player; + guint volume; + TRACE("%p, %p", self, user_data); /* Make sure widgets have the right values */ gv_volume_control_update(self, TRUE, TRUE); + + /* Update the fallback volume */ + volume = gv_player_get_volume(player); + if (volume != 0) + priv->fallback_volume = volume; } /* @@ -440,7 +449,7 @@ GtkWidget *w; /* Add the mute button */ - w = gtk_button_new_from_icon_name("audio-volume-high", GTK_ICON_SIZE_BUTTON); + w = gtk_button_new_from_icon_name("audio-volume-high-symbolic", GTK_ICON_SIZE_BUTTON); gtk_button_set_relief(GTK_BUTTON(w), GTK_RELIEF_NONE); gtk_button_set_always_show_image(GTK_BUTTON(w), TRUE); gtk_container_add(GTK_CONTAINER(self), w);