automatic version update by autodist [release 3.0.2-1mamba;Sun Mar 23 2014]

This commit is contained in:
Automatic Build System 2024-01-05 17:25:47 +01:00
parent 9f6b4f5df3
commit dd589f24e3
7 changed files with 940 additions and 0 deletions

View File

@ -0,0 +1,32 @@
From d5ca371eb5b7ebf9f008fec7d905f53b9f4e16c3 Mon Sep 17 00:00:00 2001
From: Bastien Nocera <hadess@hadess.net>
Date: Mon, 22 Mar 2010 16:42:10 +0000
Subject: [PATCH] Don't load AFC devices using the MTP plugin
They should be handled by the iPod plugin instead.
https://bugzilla.gnome.org/show_bug.cgi?id=613606
---
plugins/mtpdevice/rb-mtp-plugin.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/plugins/mtpdevice/rb-mtp-plugin.c b/plugins/mtpdevice/rb-mtp-plugin.c
index fdb9df8..43a4b15 100644
--- a/plugins/mtpdevice/rb-mtp-plugin.c
+++ b/plugins/mtpdevice/rb-mtp-plugin.c
@@ -343,6 +343,12 @@ create_source_device_cb (RBRemovableMediaManager *rmm, GObject *device_obj, RBMt
return NULL;
}
+ /* check that it's not an iPhone or iPod Touch */
+ if (g_udev_device_get_property_as_boolean (device, "USBMUX_SUPPORTED")) {
+ rb_debug ("device %s is supported through AFC, ignore", g_udev_device_get_name (device));
+ return NULL;
+ }
+
device_number = g_udev_device_get_device_number (device);
if (device_number == 0) {
rb_debug ("can't get udev device number for device %s", g_udev_device_get_name (device));
--
1.7.0.1

View File

@ -1,2 +1,13 @@
# rhythmbox # rhythmbox
Rhythmbox is an integrated music management application, originally inspired by Apple's iTunes. It is free software, designed to work well under the GNOME Desktop, and based on the powerful GStreamer media framework.
Rhythmbox has a number of features, including:
* Easy to use music browser
* Searching and sorting
* Comprehensive audio format support through GStreamer
* Internet Radio support
* Playlists
* Preliminary iPod support
* CD burning (CVS)

View File

@ -0,0 +1,106 @@
From 754a72759885d63275b1a656d8c6f3f7c29c7e9d Mon Sep 17 00:00:00 2001
From: Jonathan Matthew <jonathan@d14n.org>
Date: Mon, 15 Mar 2010 12:47:22 +0000
Subject: rhythmdb: merge change lists from subsequent commits (bug #527898)
When a second commit occurs before the changes from the first are
emitted (in an idle handler), and both commits contain changes to the
same entry, we need to combine the changes in the change map used to
prepare for signal emission.
Previously, the changes from the first commit were being overwritten,
with the result that property models could get out of sync with the
entries in the backing model, which would eventually lead to an
assertion failure when trying to update the property model.
---
diff --git a/rhythmdb/rhythmdb.c b/rhythmdb/rhythmdb.c
index 1b6f120..d459a66 100644
diff -upr rhythmbox-0.12.6.old/rhythmdb/rhythmdb.c rhythmbox-0.12.6/rhythmdb/rhythmdb.c
--- rhythmbox-0.12.6.old/rhythmdb/rhythmdb.c 2009-11-21 00:31:38.000000000 +0000
+++ rhythmbox-0.12.6/rhythmdb/rhythmdb.c 2010-03-15 13:32:37.000000000 +0000
@@ -1398,6 +1398,7 @@ process_changed_entries_cb (RhythmDBEntr
GSList *changes,
RhythmDB *db)
{
+ GSList *existing;
if (db->priv->changed_entries_to_emit == NULL) {
db->priv->changed_entries_to_emit = g_hash_table_new_full (NULL,
NULL,
@@ -1405,7 +1406,22 @@ process_changed_entries_cb (RhythmDBEntr
(GDestroyNotify) free_entry_changes);
}
- g_hash_table_insert (db->priv->changed_entries_to_emit, rhythmdb_entry_ref (entry), changes);
+ /* if the entry is already in the change map from a previous commit, add the
+ * new changes to the end of the existing list.
+ */
+ existing = g_hash_table_lookup (db->priv->changed_entries_to_emit, entry);
+ if (existing != NULL) {
+ changes = g_slist_concat (existing, changes);
+
+ /* steal the hash entry so it doesn't free the changes; also means we
+ * don't need to add a reference on the entry.
+ */
+ g_hash_table_steal (db->priv->changed_entries_to_emit, entry);
+ } else {
+ rhythmdb_entry_ref (entry);
+ }
+
+ g_hash_table_insert (db->priv->changed_entries_to_emit, entry, changes);
return TRUE;
}
diff -upr rhythmbox-0.12.6.old/tests/test-rhythmdb.c rhythmbox-0.12.6/tests/test-rhythmdb.c
--- rhythmbox-0.12.6.old/tests/test-rhythmdb.c 2009-11-15 00:54:49.000000000 +0000
+++ rhythmbox-0.12.6/tests/test-rhythmdb.c 2010-03-15 13:32:37.000000000 +0000
@@ -471,6 +471,42 @@ START_TEST (test_rhythmdb_modify_after_d
}
END_TEST
+static void
+commit_change_merge_cb (RhythmDB *db, RhythmDBEntry *entry, GSList *changes, gpointer ok)
+{
+ int expected = GPOINTER_TO_INT (ok);
+ fail_unless (g_slist_length (changes) == expected, "commit change lists merged");
+}
+
+START_TEST (test_rhythmdb_commit_change_merging)
+{
+ RhythmDBEntry *entry;
+ GValue val = {0,};
+
+ entry = rhythmdb_entry_new (db, RHYTHMDB_ENTRY_TYPE_IGNORE, "file:///whee.ogg");
+ fail_unless (entry != NULL, "failed to create entry");
+
+ rhythmdb_commit (db);
+
+ g_value_init (&val, G_TYPE_STRING);
+ g_value_set_static_string (&val, "Anything");
+ rhythmdb_entry_set (db, entry, RHYTHMDB_PROP_GENRE, &val);
+ g_value_unset (&val);
+
+ rhythmdb_commit (db);
+
+ g_value_init (&val, G_TYPE_STRING);
+ g_value_set_static_string (&val, "Nothing");
+ rhythmdb_entry_set (db, entry, RHYTHMDB_PROP_ARTIST, &val);
+ g_value_unset (&val);
+
+ g_signal_connect (G_OBJECT (db), "entry-changed", G_CALLBACK (commit_change_merge_cb), GINT_TO_POINTER (2));
+ set_waiting_signal (G_OBJECT (db), "entry-changed");
+ rhythmdb_commit (db);
+ wait_for_signal ();
+}
+END_TEST
+
static Suite *
rhythmdb_suite (void)
{
@@ -500,6 +536,7 @@ rhythmdb_suite (void)
/* tests for breakable bug fixes */
tcase_add_test (tc_chain, test_rhythmdb_podcast_upgrade);
tcase_add_test (tc_chain, test_rhythmdb_modify_after_delete);
+ tcase_add_test (tc_chain, test_rhythmdb_commit_change_merging);
return s;
}

View File

@ -0,0 +1,275 @@
From a3a69d76e25358fc05c99e57041fa1485486345f Mon Sep 17 00:00:00 2001
From: Robert Ancell <robert.ancell@canonical.com>
Date: Thu, 15 Oct 2009 16:28:32 +1100
Subject: [PATCH] Support using g_file_input_stream_query_info() to get file information for podcasts. This means only one connection to the server is required instead of two when using g_file_query_info()
---
podcast/rb-podcast-manager.c | 149 ++++++++++++++++++++++++++----------------
1 files changed, 92 insertions(+), 57 deletions(-)
diff --git a/podcast/rb-podcast-manager.c b/podcast/rb-podcast-manager.c
index eb6c821..bc1695b 100644
--- a/podcast/rb-podcast-manager.c
+++ b/podcast/rb-podcast-manager.c
@@ -153,9 +153,14 @@ static void rb_podcast_manager_get_property (GObject *object,
guint prop_id,
GValue *value,
GParamSpec *pspec);
+static void read_file_cb (GFile *source,
+ GAsyncResult *result,
+ RBPodcastManagerInfo *data);
static void download_file_info_cb (GFile *source,
GAsyncResult *result,
RBPodcastManagerInfo *data);
+static void download_podcast (GFileInfo *src_info,
+ RBPodcastManagerInfo *data);
static void rb_podcast_manager_abort_download (RBPodcastManagerInfo *data);
static gboolean rb_podcast_manager_sync_head_cb (gpointer data);
static gboolean rb_podcast_manager_head_query_cb (GtkTreeModel *query_model,
@@ -618,7 +623,7 @@ rb_podcast_manager_head_query_cb (GtkTreeModel *query_model,
}
static void
-download_error (RBPodcastManagerInfo *data, GError *error)
+download_error (RBPodcastManagerInfo *data, GError *error, gboolean in_thread)
{
GValue val = {0,};
rb_debug ("error downloading %s: %s",
@@ -636,7 +641,12 @@ download_error (RBPodcastManagerInfo *data, GError *error)
g_value_unset (&val);
rhythmdb_commit (data->pd->priv->db);
- g_idle_add ((GSourceFunc)end_job, data);
+
+ if (in_thread) {
+ g_idle_add ((GSourceFunc)end_job, data);
+ } else {
+ rb_podcast_manager_abort_download (data);
+ }
}
static gboolean
@@ -645,7 +655,6 @@ rb_podcast_manager_next_file (RBPodcastManager * pd)
const char *location;
RBPodcastManagerInfo *data;
char *query_string;
- const char *attrs;
GList *d;
g_assert (rb_is_main_thread ());
@@ -689,69 +698,103 @@ rb_podcast_manager_next_file (RBPodcastManager * pd)
data->source = g_file_new_for_uri (location);
- attrs = G_FILE_ATTRIBUTE_STANDARD_SIZE ","
- G_FILE_ATTRIBUTE_STANDARD_COPY_NAME ","
- G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME;
- g_file_query_info_async (data->source,
- attrs,
- G_FILE_QUERY_INFO_NONE,
- 0,
- data->cancel,
- (GAsyncReadyCallback) download_file_info_cb,
- data);
+ g_file_read_async (data->source,
+ 0,
+ data->cancel,
+ (GAsyncReadyCallback) read_file_cb,
+ data);
GDK_THREADS_LEAVE ();
return FALSE;
}
static void
-download_file_info_cb (GFile *source,
- GAsyncResult *result,
- RBPodcastManagerInfo *data)
+read_file_cb (GFile *source,
+ GAsyncResult *result,
+ RBPodcastManagerInfo *data)
{
GError *error = NULL;
GFileInfo *src_info;
- char *local_file_name = NULL;
- char *feed_folder;
- char *esc_local_file_name;
- char *local_file_uri;
- char *sane_local_file_uri;
- char *conf_dir_uri;
g_assert (rb_is_main_thread ());
- rb_debug ("got file info results for %s",
+ rb_debug ("started read for %s",
get_remote_location (data->entry));
- src_info = g_file_query_info_finish (source, result, &error);
-
- /* ignore G_IO_ERROR_FAILED here, as it probably just means that the server is lame.
- * actual problems (not found, permission denied, etc.) have specific errors codes,
- * so they'll still be reported.
+ data->in_stream = g_file_read_finish (data->source,
+ result,
+ &error);
+ if (error != NULL) {
+ download_error (data, error, FALSE);
+ g_error_free (error);
+ return;
+ }
+
+ src_info = g_file_input_stream_query_info (data->in_stream,
+ G_FILE_ATTRIBUTE_STANDARD_SIZE ","
+ G_FILE_ATTRIBUTE_STANDARD_COPY_NAME ","
+ G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME,
+ NULL,
+ &error);
+
+ /* If no stream information then probably using an old version of gvfs, fall back
+ * to getting the stream information from the GFile.
+ * This branch can be removed when this version of gvfs is released, see:
+ * https://bugzilla.gnome.org/show_bug.cgi?id=598505
*/
- if (error != NULL && g_error_matches (error, G_IO_ERROR, G_IO_ERROR_FAILED) == FALSE) {
- GValue val = {0,};
+ if (error != NULL) {
+ rb_debug ("file info query from input failed, trying query on file: %s", error->message);
+ g_error_free (error);
- rb_debug ("file info query failed: %s", error->message);
+ g_file_query_info_async (data->source,
+ G_FILE_ATTRIBUTE_STANDARD_SIZE ","
+ G_FILE_ATTRIBUTE_STANDARD_COPY_NAME ","
+ G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME,
+ G_FILE_QUERY_INFO_NONE,
+ 0,
+ data->cancel,
+ (GAsyncReadyCallback) download_file_info_cb,
+ data);
+ return;
+ }
- g_value_init (&val, G_TYPE_ULONG);
- g_value_set_ulong (&val, RHYTHMDB_PODCAST_STATUS_ERROR);
- rhythmdb_entry_set (data->pd->priv->db, data->entry, RHYTHMDB_PROP_STATUS, &val);
- g_value_unset (&val);
+ rb_debug ("got file info results for %s",
+ get_remote_location (data->entry));
- g_value_init (&val, G_TYPE_STRING);
- g_value_set_string (&val, error->message);
- rhythmdb_entry_set (data->pd->priv->db, data->entry, RHYTHMDB_PROP_PLAYBACK_ERROR, &val);
- g_value_unset (&val);
+ download_podcast (src_info, data);
+}
- rhythmdb_commit (data->pd->priv->db);
+static void
+download_file_info_cb (GFile *source,
+ GAsyncResult *result,
+ RBPodcastManagerInfo *data)
+{
+ GError *error = NULL;
+ GFileInfo *src_info;
+
+ src_info = g_file_query_info_finish (source, result, &error);
+ if (error != NULL) {
+ download_error (data, error, FALSE);
g_error_free (error);
- rb_podcast_manager_abort_download (data);
- return;
} else {
- g_clear_error (&error);
+ rb_debug ("got file info results for %s",
+ get_remote_location (data->entry));
+
+ download_podcast (src_info, data);
}
+}
+
+static void
+download_podcast (GFileInfo *src_info, RBPodcastManagerInfo *data)
+{
+ GError *error = NULL;
+ char *local_file_name = NULL;
+ char *feed_folder;
+ char *esc_local_file_name;
+ char *local_file_uri;
+ char *sane_local_file_uri;
+ char *conf_dir_uri;
if (src_info != NULL) {
data->download_size = g_file_info_get_attribute_uint64 (src_info, G_FILE_ATTRIBUTE_STANDARD_SIZE);
@@ -769,7 +812,7 @@ download_file_info_cb (GFile *source,
if (local_file_name == NULL) {
/* fall back to the basename from the original URI */
- local_file_name = g_file_get_basename (source);
+ 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);
}
@@ -819,7 +862,6 @@ download_file_info_cb (GFile *source,
return;
}
-
data->destination = g_file_new_for_uri (sane_local_file_uri);
if (g_file_query_exists (data->destination, NULL)) {
GFileInfo *dest_info;
@@ -892,7 +934,7 @@ download_file_info_cb (GFile *source,
TRUE,
&error);
if (error != NULL) {
- download_error (data, error);
+ download_error (data, error, TRUE);
g_error_free (error);
}
}
@@ -1407,14 +1449,6 @@ podcast_download_thread (RBPodcastManagerInfo *data)
gssize n_read;
gssize n_written;
guint64 downloaded;
-
- /* open remote file */
- data->in_stream = g_file_read (data->source, data->cancel, &error);
- if (error != NULL) {
- download_error (data, error);
- g_error_free (error);
- return NULL;
- }
/* if we have an offset to download from, try the seek
* before anything else. if we can't seek, we'll have to
@@ -1443,7 +1477,7 @@ podcast_download_thread (RBPodcastManagerInfo *data)
}
}
if (error != NULL) {
- download_error (data, error);
+ download_error (data, error, TRUE);
g_error_free (error);
return NULL;
}
@@ -1491,7 +1525,7 @@ podcast_download_thread (RBPodcastManagerInfo *data)
data->cancel,
&error);
if (error != NULL) {
- download_error (data, error);
+ download_error (data, error, TRUE);
g_error_free (error);
return NULL;
}
@@ -1535,7 +1569,8 @@ podcast_download_thread (RBPodcastManagerInfo *data)
g_object_unref (data->out_stream);
if (error != NULL) {
- download_error (data, error);
+ download_error (data, error, TRUE);
+ g_error_free (error);
} else {
download_progress (data, downloaded, data->download_size, TRUE);
}
--
1.6.3.3

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

BIN
rhythmbox.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

516
rhythmbox.spec Normal file
View File

@ -0,0 +1,516 @@
%define majver %(echo %version | cut -d. -f 1-2)
Name: rhythmbox
Version: 3.0.2
Release: 1mamba
Summary: An integrated music management application
Group: Graphical Desktop/Applications/Multimedia
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: http://projects.gnome.org/rhythmbox/
Source0: http://ftp.acc.umu.se/pub/GNOME/sources/rhythmbox/%{majver}/rhythmbox-%{version}.tar.xz
# http://bugzilla.gnome.org/show_bug.cgi?id=524079
Source1: rhythmbox.png
Source2: rhythmbox-stock_music-library.png
# https://bugzilla.gnome.org/show_bug.cgi?id=596615
Patch0: rhythmbox-0.12.6-no-HEAD-for-podcasts.patch
# https://bugzilla.gnome.org/show_bug.cgi?id=527898
Patch1: rhythmbox-0.12.1-out-of-sync-assert.patch
# https://bugzilla.gnome.org/show_bug.cgi?id=613606
Patch2: 0001-Don-t-load-AFC-devices-using-the-MTP-plugin.patch
License: GPL
## AUTOBUILDREQ-BEGIN
BuildRequires: GConf-devel
BuildRequires: glibc-devel
BuildRequires: gst-plugins-bad-devel
BuildRequires: gst-plugins-base
BuildRequires: gst-plugins-good-devel
BuildRequires: gst-plugins-ugly-devel
BuildRequires: python-gst-devel
BuildRequires: libatk-devel
BuildRequires: libaudiofile-devel
BuildRequires: libavahi-devel
#BuildRequires: libbrasero-devel
BuildRequires: libcairo-devel
BuildRequires: libcddb-devel
BuildRequires: libdbus-devel >= 1.1.20
BuildRequires: libdbus-glib-devel >= 0.76
BuildRequires: libdiscid-devel
BuildRequires: libe2fs-devel
BuildRequires: libesound-devel
BuildRequires: libexpat-devel
BuildRequires: libfontconfig-devel
BuildRequires: libfreetype-devel
BuildRequires: libgcc
BuildRequires: libgcrypt-devel
BuildRequires: libglade-devel
BuildRequires: libglib-devel
BuildRequires: libglitz-devel
BuildRequires: libgnome-devel
BuildRequires: libgnome-keyring-devel
BuildRequires: libgnome-vfs-devel
BuildRequires: libgnutls-devel
BuildRequires: libgpg-error-devel
BuildRequires: libgpod-devel
BuildRequires: libgst-plugins-base-devel
BuildRequires: libgstreamer-devel
BuildRequires: libgtk-devel
BuildRequires: libICE-devel
BuildRequires: libmtp-devel
BuildRequires: libmusicbrainz-devel
BuildRequires: libneon-devel
BuildRequires: libnotify-devel
BuildRequires: libopenssl-devel
BuildRequires: libpango-devel
BuildRequires: libpixman-devel
BuildRequires: libpng-devel
BuildRequires: libpopt-devel
BuildRequires: libproxy-devel
BuildRequires: libpython-devel
BuildRequires: libselinux-devel
BuildRequires: libsexy-devel
BuildRequires: libSM-devel
BuildRequires: libsoup-devel
BuildRequires: libsqlite-devel
BuildRequires: libstdc++6-devel
BuildRequires: libtasn1-devel
BuildRequires: libtotem-pl-parser-devel
BuildRequires: libupnp-devel
BuildRequires: libusb-devel
BuildRequires: libX11-devel
BuildRequires: libXau-devel
BuildRequires: libxcb-devel
BuildRequires: libxcb-util-devel
BuildRequires: libXdmcp-devel
BuildRequires: libxml2-devel
BuildRequires: libXrender-devel
BuildRequires: libz-devel
BuildRequires: lirc-devel
BuildRequires: ORBit2-devel
BuildRequires: pygobject-devel
BuildRequires: pygtk-devel
#BuildRequires: python-cElementTree
#BuildRequires: python-Coherence
#BuildRequires: python-Daap
#BuildRequires: python-Louie
#BuildRequires: python-zopeinterface
## AUTOBUILDREQ-END
BuildRequires: libgcc
BuildRequires: libstdc++6-devel
BuildRequires: python-mako
BuildRequires: pywebkitgtk-devel
BuildRequires: libnautilus-extension-devel
BuildRequires: libnspr-devel
BuildRequires: xulrunner-devel
BuildRequires: gstreamer-tools
BuildRequires: intltool
BuildRequires: libalsa-devel
BuildRequires: libart_lgpl-devel
BuildRequires: libbonoboui-devel
BuildRequires: libcogl-devel >= 1.16
BuildRequires: libffi-devel
BuildRequires: libgail-devel
BuildRequires: libgnomecanvas-devel
BuildRequires: libgnomeui-devel
BuildRequires: libjpeg-devel
BuildRequires: libtotem-pl-parser-devel >= 3.10
Requires: pygtk
Requires: pygobject
Requires: python-gst
Requires: libupnp
Requires: gst-plugins-bad
Requires: gst-plugins-ugly
Requires: gst-plugins-good
Requires: gst-plugins-base
Requires: libcddb
BuildRoot: %{_tmppath}/%{name}-%{version}-root
%description
Rhythmbox is an integrated music management application, originally inspired by Apple's iTunes. It is free software, designed to work well under the GNOME Desktop, and based on the powerful GStreamer media framework.
Rhythmbox has a number of features, including:
* Easy to use music browser
* Searching and sorting
* Comprehensive audio format support through GStreamer
* Internet Radio support
* Playlists
* Preliminary iPod support
* CD burning (CVS)
%package apidocs
Group: Documentation
Summary: %{name} API documentation
%description apidocs
Rhythmbox is an integrated music management application, originally inspired by Apple's iTunes. It is free software, designed to work well under the GNOME Desktop, and based on the powerful GStreamer media framework.
This package contains %{name} API documentation.
%package context
Summary: Context plugin for Rhythmbox
Group: Applications/Multimedia
Requires: %{name} = %{version}-%{release}
Requires: python-mako
Requires: python-webkitgtk
%description context
Rhythmbox is an integrated music management application, originally inspired by Apple's iTunes. It is free software, designed to work well under the GNOME Desktop, and based on the powerful GStreamer media framework.
This package contains a Rhythmbox plugin to show information related to the currently playing artist and song.
%package ipod
Summary: Apple iPod plugin for Rhythmbox
Group: Applications/Multimedia
Requires: %{name} = %{version}-%{release}
Requires: libgpod >= 0.7.2
%description ipod
Rhythmbox is an integrated music management application, originally inspired by Apple's iTunes. It is free software, designed to work well under the GNOME Desktop, and based on the powerful GStreamer media framework.
This package contains a Rhythmbox plugin to add support for Apple iPod devices (show the content, play from device)
%package lirc
Summary: LIRC (Infrared remote) plugin for Rhythmbox
Group: Applications/Multimedia
Requires: %{name} = %{version}-%{release}
%description lirc
Rhythmbox is an integrated music management application, originally inspired by Apple's iTunes. It is free software, designed to work well under the GNOME Desktop, and based on the powerful GStreamer media framework.
This package contains a plugin to add LIRC (Infrared remote) support to Rhythmbox.
%package lyrics
Summary: Lyrics plugin for Rhythmbox
Group: Applications/Multimedia
Requires: %{name} = %{version}-%{release}
Requires: python-cElementTree
%description lyrics
Rhythmbox is an integrated music management application, originally inspired by Apple's iTunes. It is free software, designed to work well under the GNOME Desktop, and based on the powerful GStreamer media framework.
This package contains a retrieve lyrics plugin for Internet
%package upnp
Summary: UPNP/DLNA plugin for Rhythmbox
Group: Applications/Multimedia
Requires: %{name} = %{version}-%{release}
Requires: python-Coherence
Requires: python-Louie
#Requires: python-twisted
%description upnp
Rhythmbox is an integrated music management application, originally inspired by Apple's iTunes. It is free software, designed to work well under the GNOME Desktop, and based on the powerful GStreamer media framework.
This package contains a Rhythmbox plugin to add support for playing media from, and sending media to UPnP/DLNA network devices.
%package devel
Summary: Devel package for %{name}
Group: Development/Libraries
Requires: %{name} = %{version}
%description devel
Rhythmbox is an integrated music management application, originally inspired by Apple's iTunes. It is free software, designed to work well under the GNOME Desktop, and based on the powerful GStreamer media framework.
This package contains header files need for development.
%package static
Summary: Static libraries for %{name}
Group: Development/Libraries
Requires: %{name} = %{version}
%description static
Rhythmbox is an integrated music management application, originally inspired by Apple's iTunes. It is free software, designed to work well under the GNOME Desktop, and based on the powerful GStreamer media framework.
This package contains static libraries need for development.
%prep
%setup -q
# -D -T
%build
#%{_bindir}/gst-inspect-0.10 --print-all >& /dev/null || :
%configure --disable-scrollkeeper \
--with-x
# --with-ipod \
# --with-mdns=avahi \
# --with-gnome-keyring
%make
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%makeinstall
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/
install -m 644 %{S:1} %{buildroot}%{_datadir}/icons/hicolor/24x24/apps/rhythmbox.png
for png in 16x16 24x24; do
mkdir -p %{buildroot}%{_datadir}/rhythmbox/icons/hicolor/$png/places
convert -geometry $png %{SOURCE2} %{buildroot}%{_datadir}/rhythmbox/icons/hicolor/$png/places/stock_music-library.png
done
for png in %{buildroot}%{_datadir}/gnome/help/rhythmbox/C/figures/*.png; do
cpng="$(basename $png)"
for dirpng in %{buildroot}%{_datadir}/gnome/help/rhythmbox/*; do
if [ -d "$dirpng" -a "$dirpng" != "%{buildroot}%{_datadir}/gnome/help/rhythmbox/C" ]; then
lpng="$dirpng/figures/$cpng"
if [ -f "$lpng" ]; then
if cmp -s $png $lpng; then
rm "$lpng"
ln -s "../../C/figures/$cpng" "$lpng"
fi
fi
fi
done
done
%find_lang %{name}
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%post
GCONF_CONFIG_SOURCE=`/usr/bin/gconftool-2 --get-default-source` \
/usr/bin/gconftool-2 --makefile-install-rule \
%{_sysconfdir}/gconf/schemas/rhythmbox.schemas;
killall -HUP gconfd-2;
touch --no-create %{_datadir}/icons/hicolor
if [ -x /usr/bin/gtk-update-icon-cache ]; then
/usr/bin/gtk-update-icon-cache -q %{_datadir}/icons/hicolor
fi
%pre
if [ "$1" -gt 1 ]; then
GCONF_CONFIG_SOURCE=`/usr/bin/gconftool-2 --get-default-source` \
/usr/bin/gconftool-2 --makefile-uninstall-rule \
%{_sysconfdir}/gconf/schemas/rhythmbox.schemas;
fi
%preun
if [ "$1" -eq 0 ]; then
GCONF_CONFIG_SOURCE=`/usr/bin/gconftool-2 --get-default-source` \
/usr/bin/gconftool-2 --makefile-uninstall-rule \
%{_sysconfdir}/gconf/schemas/rhythmbox.schemas;
fi
%postun
touch --no-create %{_datadir}/icons/hicolor
if [ -x /usr/bin/gtk-update-icon-cache ]; then
/usr/bin/gtk-update-icon-cache -q %{_datadir}/icons/hicolor
fi
%files -f %{name}.lang
%defattr(-,root,root)
%{_bindir}/rhythmbox
%{_bindir}/rhythmbox-client
%{_libdir}/librhythmbox-core.so.*
%{_libdir}/mozilla/plugins/librhythmbox-itms-detection-plugin.*
%dir %{_libdir}/rhythmbox/plugins/artsearch
%{_libdir}/rhythmbox/plugins/artsearch/*
%dir %{_libdir}/rhythmbox/plugins/audiocd
%{_libdir}/rhythmbox/plugins/audiocd/*
%dir %{_libdir}/rhythmbox/plugins/audioscrobbler
%{_libdir}/rhythmbox/plugins/audioscrobbler/*
%dir %{_libdir}/rhythmbox/plugins/cd-recorder
%{_libdir}/rhythmbox/plugins/cd-recorder/*
%dir %{_libdir}/rhythmbox/plugins/context
%{_libdir}/rhythmbox/plugins/context/*
%dir %{_libdir}/rhythmbox/plugins/dbus-media-server
%{_libdir}/rhythmbox/plugins/dbus-media-server/*
%dir %{_libdir}/rhythmbox/plugins/fmradio
%{_libdir}/rhythmbox/plugins/fmradio/*
%dir %{_libdir}/rhythmbox/plugins/generic-player
%{_libdir}/rhythmbox/plugins/generic-player/*
%dir %{_libdir}/rhythmbox/plugins/grilo
%{_libdir}/rhythmbox/plugins/grilo/*
%dir %{_libdir}/rhythmbox/plugins/im-status
%{_libdir}/rhythmbox/plugins/im-status/*
%dir %{_libdir}/rhythmbox/plugins/ipod
%{_libdir}/rhythmbox/plugins/ipod/*
%dir %{_libdir}/rhythmbox/plugins/iradio
%{_libdir}/rhythmbox/plugins/iradio/*
%dir %{_libdir}/rhythmbox/plugins/lyrics
%{_libdir}/rhythmbox/plugins/lyrics/*
%dir %{_libdir}/rhythmbox/plugins/magnatune
%{_libdir}/rhythmbox/plugins/magnatune/*
%dir %{_libdir}/rhythmbox/plugins/mmkeys
%{_libdir}/rhythmbox/plugins/mmkeys/*
%dir %{_libdir}/rhythmbox/plugins/mpris
%{_libdir}/rhythmbox/plugins/mpris/*
%dir %{_libdir}/rhythmbox/plugins/mtpdevice
%{_libdir}/rhythmbox/plugins/mtpdevice/*
%dir %{_libdir}/rhythmbox/plugins/notification
%{_libdir}/rhythmbox/plugins/notification/*
%dir %{_libdir}/rhythmbox/plugins/power-manager
%{_libdir}/rhythmbox/plugins/power-manager/*
%dir %{_libdir}/rhythmbox/plugins/python-console
%{_libdir}/rhythmbox/plugins/python-console/*
%dir %{_libdir}/rhythmbox/plugins/rb
%{_libdir}/rhythmbox/plugins/rb/*
%dir %{_libdir}/rhythmbox/plugins/rblirc
%{_libdir}/rhythmbox/plugins/rblirc/*
%dir %{_libdir}/rhythmbox/plugins/rbzeitgeist
%{_libdir}/rhythmbox/plugins/rbzeitgeist/*
%dir %{_libdir}/rhythmbox/plugins/replaygain
%{_libdir}/rhythmbox/plugins/replaygain/*
%dir %{_libdir}/rhythmbox/plugins/sendto
%{_libdir}/rhythmbox/plugins/sendto/*
%dir %{_libdir}/rhythmbox/sample-plugins
%{_libdir}/rhythmbox/sample-plugins/*
%dir %{_libdir}/rhythmbox/plugins/visualizer
%{_libdir}/rhythmbox/plugins/visualizer/*
%{_libexecdir}/rhythmbox-metadata
%dir %{_datadir}/rhythmbox
%{_datadir}/rhythmbox/playlists.xml
#%{_datadir}/rhythmbox/rhythmbox-ui.xml
%{_datadir}/rhythmbox/rhythmbox.gep
%{_datadir}/rhythmbox/*.ui
%dir %{_datadir}/rhythmbox/icons
%dir %{_datadir}/rhythmbox/icons/hicolor
%{_datadir}/rhythmbox/icons/hicolor/*
%dir %{_datadir}/rhythmbox/plugins
%dir %{_datadir}/rhythmbox/plugins/audiocd
%{_datadir}/rhythmbox/plugins/audiocd/*
%dir %{_datadir}/rhythmbox/plugins/audioscrobbler
%{_datadir}/rhythmbox/plugins/audioscrobbler/*
%dir %{_datadir}/rhythmbox/plugins/context
%dir %{_datadir}/rhythmbox/plugins/context/img
%{_datadir}/rhythmbox/plugins/context/img/*
%dir %{_datadir}/rhythmbox/plugins/context/tmpl
%{_datadir}/rhythmbox/plugins/context/tmpl/*
%dir %{_datadir}/rhythmbox/plugins/fmradio
%{_datadir}/rhythmbox/plugins/fmradio/*
%dir %{_datadir}/rhythmbox/plugins/generic-player
%{_datadir}/rhythmbox/plugins/generic-player/*
%dir %{_datadir}/rhythmbox/plugins/ipod
%{_datadir}/rhythmbox/plugins/ipod/*
%dir %{_datadir}/rhythmbox/plugins/iradio
%{_datadir}/rhythmbox/plugins/iradio/*
%dir %{_datadir}/rhythmbox/plugins/lyrics
%{_datadir}/rhythmbox/plugins/lyrics/lyrics-prefs.ui
%dir %{_datadir}/rhythmbox/plugins/magnatune
%{_datadir}/rhythmbox/plugins/magnatune/*
%dir %{_datadir}/rhythmbox/plugins/mtpdevice
%{_datadir}/rhythmbox/plugins/mtpdevice/*
%dir %{_datadir}/rhythmbox/plugins/rblirc
%{_datadir}/rhythmbox/plugins/rblirc/rhythmbox_lirc_default
%dir %{_datadir}/rhythmbox/plugins/replaygain
%{_datadir}/rhythmbox/plugins/replaygain/replaygain-prefs.ui
%dir %{_datadir}/rhythmbox/plugins/visualizer
%{_datadir}/rhythmbox/plugins/visualizer/*
%{_datadir}/rhythmbox/style.css
%{_datadir}/applications/rhythmbox-device.desktop
%{_datadir}/applications/rhythmbox.desktop
%{_datadir}/dbus-1/services/org.gnome.Rhythmbox3.service
%{_datadir}/glib-2.0/schemas/org.gnome.rhythmbox.gschema.xml
%dir %{_datadir}/help/*/rhythmbox
%{_datadir}/help/*/rhythmbox/*
%{_datadir}/icons/hicolor/*/apps/rhythmbox.png
#%{_datadir}/icons/hicolor/24x24/places/music-library.png
%{_datadir}/icons/hicolor/48x48/status/rhythmbox-missing-artwork.png
%{_datadir}/icons/hicolor/scalable/apps/rhythmbox-symbolic.svg
%{_libdir}/girepository-1.0/MPID-3.0.typelib
%{_libdir}/girepository-1.0/RB-3.0.typelib
#%dir %{_datadir}/omf/rhythmbox
#%{_datadir}/omf/rhythmbox/rhythmbox-*.omf
%{_mandir}/man1/rhythmbox-client.1.gz
%{_mandir}/man1/rhythmbox.1.gz
%doc AUTHORS COPYING
%files devel
%defattr(-,root,root)
%dir %{_includedir}/rhythmbox
%dir %{_includedir}/rhythmbox/backends
%{_includedir}/rhythmbox/backends/*.h
%dir %{_includedir}/rhythmbox/lib
%{_includedir}/rhythmbox/lib/*.h
%dir %{_includedir}/rhythmbox/lib/libmediaplayerid
%{_includedir}/rhythmbox/lib/libmediaplayerid/*.h
%dir %{_includedir}/rhythmbox/metadata
%{_includedir}/rhythmbox/metadata/*.h
%dir %{_includedir}/rhythmbox/plugins
%{_includedir}/rhythmbox/plugins/*.h
%dir %{_includedir}/rhythmbox/podcast
%{_includedir}/rhythmbox/podcast/*.h
%dir %{_includedir}/rhythmbox/rhythmdb
%{_includedir}/rhythmbox/rhythmdb/*.h
%dir %{_includedir}/rhythmbox/shell
%{_includedir}/rhythmbox/shell/*.h
%dir %{_includedir}/rhythmbox/sources
%{_includedir}/rhythmbox/sources/*.h
%dir %{_includedir}/rhythmbox/widgets
%{_includedir}/rhythmbox/widgets/*.h
%{_libdir}/librhythmbox-core.la
%{_libdir}/librhythmbox-core.so
%{_datadir}/gir-1.0/MPID-3.0.gir
%{_datadir}/gir-1.0/RB-3.0.gir
%{_libdir}/pkgconfig/rhythmbox.pc
#%doc ChangeLog NEWS README* THANKS
%files apidocs
%defattr(-,root,root)
%dir %{_datadir}/gtk-doc/html/rhythmbox
%{_datadir}/gtk-doc/html/rhythmbox/*.html
%{_datadir}/gtk-doc/html/rhythmbox/*.png
%{_datadir}/gtk-doc/html/rhythmbox/index.sgml
%{_datadir}/gtk-doc/html/rhythmbox/rhythmbox.devhelp2
%{_datadir}/gtk-doc/html/rhythmbox/style.css
%changelog
* Sun Mar 23 2014 Automatic Build System <autodist@mambasoft.it> 3.0.2-1mamba
- automatic version update by autodist
* Tue Nov 12 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 3.0.1-2mamba
- rebuilt with libcogl 1.16 and libtotem-pl-parser 3.10
* Mon Oct 14 2013 Automatic Build System <autodist@mambasoft.it> 3.0.1-1mamba
- automatic version update by autodist
* Sat Sep 14 2013 Automatic Build System <autodist@mambasoft.it> 3.0-1mamba
- automatic update by autodist
* Sun Apr 14 2013 Automatic Build System <autodist@mambasoft.it> 2.99.1-1mamba
- automatic version update by autodist
* Tue Feb 26 2013 Automatic Build System <autodist@mambasoft.it> 2.98-1mamba
- update to 2.98
* Sun Apr 18 2010 gil <puntogil@libero.it> 0.12.8-1mamba
- update to 0.12.8
* Thu Mar 25 2010 gil <puntogil@libero.it> 0.12.7-1mamba
- update to 0.12.7
* Fri Nov 27 2009 gil <puntogil@libero.it> 0.12.6-2mamba
- added patch: gnome bug id 524079
* Fri Nov 27 2009 gil <puntogil@libero.it> 0.12.6-1mamba
- update to 0.12.6
* Mon Sep 21 2009 gil <puntogil@libero.it> 0.12.5-1mamba
- update to 0.12.5
* Thu Aug 27 2009 gil <puntogil@libero.it> 0.12.4-1mamba
- update to 0.12.4
* Tue Jul 07 2009 gil <puntogil@libero.it> 0.12.3-2mamba
- added new sub package: lyrics
* Tue Jul 07 2009 gil <puntogil@libero.it> 0.12.3-1mamba
- update to 0.12.3
* Mon Jun 01 2009 gil <puntogil@libero.it> 0.12.2-1mamba
- update to 0.12.2
* Tue May 05 2009 gil <puntogil@libero.it> 0.12.1-2mamba
- added (lib)brasero support
* Wed Apr 29 2009 gil <puntogil@libero.it> 0.12.1-1mamba
- update to 0.12.1
* Fri Mar 20 2009 gil <puntogil@libero.it> 0.12.0-1mamba
- update to 0.12.0
* Wed Aug 27 2008 gil <puntogil@libero.it> 0.11.6-1mamba
- package created by autospec