diff --git a/rhythmbox-0.10.0-xdg-user-dirs-no-autoconf.patch b/rhythmbox-0.10.0-xdg-user-dirs-no-autoconf.patch deleted file mode 100644 index d4dc43b..0000000 --- a/rhythmbox-0.10.0-xdg-user-dirs-no-autoconf.patch +++ /dev/null @@ -1,310 +0,0 @@ -Index: sources/rb-library-source.c -=================================================================== ---- sources/rb-library-source.c (revision 4982) -+++ sources/rb-library-source.c (working copy) -@@ -281,6 +281,7 @@ - RBLibrarySource *source; - RBShell *shell; - RBEntryView *songs; -+ GSList *list; - - source = RB_LIBRARY_SOURCE (G_OBJECT_CLASS (rb_library_source_parent_class) - ->constructor (type, n_construct_properties, construct_properties)); -@@ -290,6 +291,16 @@ - - rb_library_source_ui_prefs_sync (source); - -+ /* Set up the default library location if there's no library location set */ -+ list = eel_gconf_get_string_list (CONF_LIBRARY_LOCATION); -+ if (g_slist_length (list) == 0) { -+ list = g_slist_prepend (list, g_strdup (rb_music_dir ())); -+ eel_gconf_set_string_list (CONF_LIBRARY_LOCATION, list); -+ } else { -+ g_slist_foreach (list, (GFunc) g_free, NULL); -+ g_slist_free (list); -+ } -+ - source->priv->library_location_notify_id = - eel_gconf_notification_add (CONF_LIBRARY_LOCATION, - (GConfClientNotifyFunc) rb_library_source_library_location_changed, source); -@@ -609,10 +620,6 @@ - if (list) - g_slist_free (list); - -- /* don't do the first-run druid if the user sets the library location */ -- if (list) -- eel_gconf_set_boolean (CONF_FIRST_TIME, TRUE); -- - return FALSE; - } - -Index: sources/rb-podcast-source.c -=================================================================== ---- sources/rb-podcast-source.c (revision 4982) -+++ sources/rb-podcast-source.c (working copy) -@@ -1246,6 +1246,9 @@ - source->priv->config_widget = glade_xml_get_widget (xml, "podcast_vbox"); - - btn_file = glade_xml_get_widget (xml, "location_chooser"); -+ gtk_file_chooser_add_shortcut_folder (GTK_FILE_CHOOSER (btn_file), -+ rb_music_dir (), -+ NULL); - download_dir = rb_podcast_manager_get_podcast_dir (source->priv->podcast_mgr); - gtk_file_chooser_set_current_folder_uri (GTK_FILE_CHOOSER (btn_file), - download_dir); -Index: lib/rb-file-helpers.c -=================================================================== ---- lib/rb-file-helpers.c (revision 4982) -+++ lib/rb-file-helpers.c (working copy) -@@ -38,6 +38,7 @@ - static GHashTable *files = NULL; - - static char *dot_dir = NULL; -+static char *music_dir = NULL; - - const char * - rb_file (const char *filename) -@@ -90,6 +91,137 @@ - return dot_dir; - } - -+/* Copied from xdg-user-dir-lookup.c */ -+#include -+ -+static char * -+xdg_user_dir_lookup (const char *type) -+{ -+ FILE *file; -+ char *home_dir, *config_home, *config_file; -+ char buffer[512]; -+ char *user_dir; -+ char *p, *d; -+ int len; -+ int relative; -+ -+ home_dir = getenv ("HOME"); -+ -+ if (home_dir == NULL) -+ return strdup ("/tmp"); -+ -+ config_home = getenv ("XDG_CONFIG_HOME"); -+ if (config_home == NULL || config_home[0] == 0) -+ { -+ config_file = malloc (strlen (home_dir) + strlen ("/.config/user-dirs.dirs") + 1); -+ strcpy (config_file, home_dir); -+ strcat (config_file, "/.config/user-dirs.dirs"); -+ } -+ else -+ { -+ config_file = malloc (strlen (config_home) + strlen ("/user-dirs.dirs") + 1); -+ strcpy (config_file, config_home); -+ strcat (config_file, "/user-dirs.dirs"); -+ } -+ -+ file = fopen (config_file, "r"); -+ free (config_file); -+ if (file == NULL) -+ goto error; -+ -+ user_dir = NULL; -+ while (fgets (buffer, sizeof (buffer), file)) -+ { -+ /* Remove newline at end */ -+ len = strlen (buffer); -+ if (len > 0 && buffer[len-1] == '\n') -+ buffer[len-1] = 0; -+ -+ p = buffer; -+ while (*p == ' ' || *p == '\t') -+ p++; -+ -+ if (strncmp (p, "XDG_", 4) != 0) -+ continue; -+ p += 4; -+ if (strncmp (p, type, strlen (type)) != 0) -+ continue; -+ p += strlen (type); -+ if (strncmp (p, "_DIR", 4) != 0) -+ continue; -+ p += 4; -+ -+ while (*p == ' ' || *p == '\t') -+ p++; -+ -+ if (*p != '=') -+ continue; -+ p++; -+ -+ while (*p == ' ' || *p == '\t') -+ p++; -+ -+ if (*p != '"') -+ continue; -+ p++; -+ -+ relative = 0; -+ if (strncmp (p, "$HOME/", 6) == 0) -+ { -+ p += 6; -+ relative = 1; -+ } -+ else if (*p != '/') -+ continue; -+ -+ if (relative) -+ { -+ user_dir = malloc (strlen (home_dir) + 1 + strlen (p) + 1); -+ strcpy (user_dir, home_dir); -+ strcat (user_dir, "/"); -+ } -+ else -+ { -+ user_dir = malloc (strlen (p) + 1); -+ *user_dir = 0; -+ } -+ -+ d = user_dir + strlen (user_dir); -+ while (*p && *p != '"') -+ { -+ if ((*p == '\\') && (*(p+1) != 0)) -+ p++; -+ *d++ = *p++; -+ } -+ *d = 0; -+ } -+ fclose (file); -+ -+ if (user_dir) -+ return user_dir; -+ -+ error: -+ /* Special case desktop for historical compatibility */ -+ if (strcmp (type, "DESKTOP") == 0) -+ { -+ user_dir = malloc (strlen (home_dir) + strlen ("/Desktop") + 1); -+ strcpy (user_dir, home_dir); -+ strcat (user_dir, "/Desktop"); -+ return user_dir; -+ } -+ else -+ return strdup (home_dir); -+} -+ -+const char * -+rb_music_dir (void) -+{ -+ if (music_dir != NULL) -+ return (const char *) music_dir; -+ music_dir = xdg_user_dir_lookup ("MUSIC"); -+ return (const char *) music_dir; -+} -+ - void - rb_file_helpers_init (void) - { -@@ -103,7 +235,7 @@ - rb_file_helpers_shutdown (void) - { - g_hash_table_destroy (files); -- -+ g_free (music_dir); - g_free (dot_dir); - } - -Index: lib/rb-file-helpers.h -=================================================================== ---- lib/rb-file-helpers.h (revision 4982) -+++ lib/rb-file-helpers.h (working copy) -@@ -29,6 +29,7 @@ - - const char * rb_file (const char *filename); - const char * rb_dot_dir (void); -+const char * rb_music_dir (void); - - char * rb_canonicalise_uri (const char *uri); - -Index: shell/rb-shell.c -=================================================================== ---- shell/rb-shell.c (revision 4982) -+++ shell/rb-shell.c (working copy) -@@ -60,7 +60,6 @@ - #include "rb-playlist-manager.h" - #include "rb-removable-media-manager.h" - #include "rb-preferences.h" --#include "rb-druid.h" - #include "rb-shell-clipboard.h" - #include "rb-shell-player.h" - #include "rb-source-header.h" -@@ -142,9 +141,6 @@ - const char *field, - GValue *metadata, - RBShell *shell); --static void rb_shell_druid_response_cb (GtkDialog *druid, -- guint response, -- RBShell *shell); - - static void rb_shell_playlist_added_cb (RBPlaylistManager *mgr, RBSource *source, RBShell *shell); - static void rb_shell_playlist_created_cb (RBPlaylistManager *mgr, RBSource *source, RBShell *shell); -@@ -1407,21 +1403,9 @@ - rb_shell_sync_paned (shell); - gtk_widget_show_all (GTK_WIDGET (shell->priv->tray_icon)); - -- /* Stop here if this is the first time. */ -- if (!eel_gconf_get_boolean (CONF_FIRST_TIME)) { -- RBDruid *druid; -- druid = rb_druid_new (shell->priv->db); -- g_signal_connect (G_OBJECT (druid), -- "response", -- G_CALLBACK (rb_shell_druid_response_cb), -- shell); -+ rb_shell_set_visibility (shell, eel_gconf_get_boolean (CONF_STATE_WINDOW_VISIBLE), TRUE); -+ gdk_notify_startup_complete (); - -- gtk_widget_show_all (GTK_WIDGET (druid)); -- } else { -- rb_shell_set_visibility (shell, eel_gconf_get_boolean (CONF_STATE_WINDOW_VISIBLE), TRUE); -- gdk_notify_startup_complete (); -- } -- - /* focus play if small, the entry view if not */ - if (shell->priv->window_small) { - GtkWidget *play_button; -@@ -3528,15 +3512,6 @@ - - } - --static void --rb_shell_druid_response_cb (GtkDialog *druid, -- guint response, -- RBShell *shell) --{ -- gtk_widget_show_all (GTK_WIDGET (shell->priv->window)); -- gtk_widget_destroy (GTK_WIDGET (druid)); --} -- - static GtkBox* - rb_shell_get_box_for_ui_location (RBShell *shell, RBShellUILocation location) - { -Index: widgets/rb-dialog.c -=================================================================== ---- widgets/rb-dialog.c (revision 4982) -+++ widgets/rb-dialog.c (working copy) -@@ -33,6 +33,7 @@ - #include - - #include "rb-dialog.h" -+#include "rb-file-helpers.h" - #include "rb-stock-icons.h" - - void -@@ -104,6 +105,9 @@ - } - - gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (dialog), local_only); -+ gtk_file_chooser_add_shortcut_folder (GTK_FILE_CHOOSER (dialog), -+ rb_music_dir (), -+ NULL); - - if (parent != NULL) { - gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (parent)); - diff --git a/rhythmbox-first-time-load.patch b/rhythmbox-first-time-load.patch deleted file mode 100644 index acd62c5..0000000 --- a/rhythmbox-first-time-load.patch +++ /dev/null @@ -1,15 +0,0 @@ -Index: rb-shell.c -=================================================================== ---- rb-shell.c (revision 5040) -+++ rb-shell.c (working copy) -@@ -1402,6 +1402,10 @@ - rb_shell_sync_paned (shell); - gtk_widget_show_all (GTK_WIDGET (shell->priv->tray_icon)); - -+ /* Do as if we ran the first time druid */ -+ if (!eel_gconf_get_boolean (CONF_FIRST_TIME)) -+ eel_gconf_set_boolean (CONF_FIRST_TIME, TRUE); -+ - rb_shell_set_visibility (shell, eel_gconf_get_boolean (CONF_STATE_WINDOW_VISIBLE), TRUE); - gdk_notify_startup_complete (); - diff --git a/rhythmbox.spec b/rhythmbox.spec index c2101c9..c32ddc5 100644 --- a/rhythmbox.spec +++ b/rhythmbox.spec @@ -3,7 +3,7 @@ Name: rhythmbox Summary: Music Management Application Version: 0.11.0 -Release: 1%{?dist} +Release: 2%{?dist} License: GPL Group: Applications/Multimedia URL: http://www.gnome.org/projects/rhythmbox/ @@ -45,6 +45,7 @@ BuildRequires: perl(XML::Parser) ExcludeArch: s390 s390x Patch2: rhythmbox-enable-stores.patch +Patch3: rhythmbox-0.10-shops-resizing.patch %description Rhythmbox is an integrated music management application based on the powerful @@ -55,9 +56,10 @@ through GStreamer, Internet Radio support, playlists and more. %prep %setup -q -cd data/ +pushd data/ %patch2 -p0 -b .enable-stores -cd ../ +popd +%patch3 -p0 -b .dont-resize-stores %build @@ -146,6 +148,9 @@ fi %{_libexecdir}/rhythmbox-metadata %changelog +* Tue May 29 2007 - Bastien Nocera - 0.11.0-2 +- Re-add the store resize patch, as it's not upstream + * Mon May 28 2007 Matthias Clasen - 0.11.0-1 - Update to 0.11.0 - Drop upstreamed patches