Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=fontconfig.git;a=commitdiff;h=f19c81758187281524df97f34491d59afb8d5d15

commit f19c81758187281524df97f34491d59afb8d5d15
Author: Baste <[email protected]>
Date:   Wed Jan 30 10:05:54 2013 +0100

colord-0.1.28-1-x86_64
* Version bump

diff --git a/source/xlib/colord/FrugalBuild b/source/xlib/colord/FrugalBuild
index 8d95734..c899257 100644
--- a/source/xlib/colord/FrugalBuild
+++ b/source/xlib/colord/FrugalBuild
@@ -3,7 +3,7 @@
# Contributor: bouleetbil <[email protected]>

pkgname=colord
-pkgver=0.1.25
+pkgver=0.1.28
pkgrel=1
pkgdesc="color daemon"
#depends=('glib2' 'polkit' 'lcms2' 'libgusb' 'systemd>=188' 'sane-backends' )
@@ -13,9 +13,10 @@ makedepends=('intltool' 'vala' 'gobject-introspection')
groups=('xlib')
archs=('i686' 'x86_64')
url="http://www.freedesktop.org/software/colord/";
-source=("http://www.freedesktop.org/software/colord/releases/$pkgname-$pkgver.tar.xz";)
+source=($url/releases/$pkgname-$pkgver.tar.xz colord-upstream-fixes.patch)
up2date="Flasttar http://www.freedesktop.org/software/colord/releases/";
-sha1sums=('e7b1f8411413b0321337174b631e83e85acd65f5')
+sha1sums=('d53167727ab0f1014ded86675ac8b518c188a88b' \
+          '3eb0d60e612244f0ebf7f87413fbdd92ae50eac2')

build() {
Fbuild
diff --git a/source/xlib/colord/colord-upstream-fixes.patch 
b/source/xlib/colord/colord-upstream-fixes.patch
new file mode 100644
index 0000000..d68ec7c
--- /dev/null
+++ b/source/xlib/colord/colord-upstream-fixes.patch
@@ -0,0 +1,237 @@
+diff --git a/src/cd-main.c b/src/cd-main.c
+index a5e0ff6..ce4de30 100644
+--- a/src/cd-main.c
++++ b/src/cd-main.c
+@@ -265,25 +265,16 @@ out:
+ }
+
+ /**
+- * cd_main_device_auto_add_profile_md:
++ * cd_main_auto_add_from_md:
+  **/
+ static gboolean
+-cd_main_device_auto_add_profile_md (CdDevice *device, CdProfile *profile)
++cd_main_auto_add_from_md (CdMainPrivate *priv,
++                        CdDevice *device,
++                        CdProfile *profile)
+ {
+-      const gchar *device_id;
+       gboolean ret = FALSE;
+       GError *error = NULL;
+
+-      /* does the profile have device metadata */
+-      device_id = cd_profile_get_metadata_item (profile,
+-                                                
CD_PROFILE_METADATA_MAPPING_DEVICE_ID);
+-      if (device_id == NULL)
+-              goto out;
+-
+-      /* does this device match? */
+-      if (g_strcmp0 (cd_device_get_id (device), device_id) != 0)
+-              goto out;
+-
+       /* auto-add soft relationship */
+       g_debug ("CdMain: Automatically MD add %s to %s",
+                cd_profile_get_id (profile),
+@@ -307,12 +298,12 @@ out:
+ }
+
+ /**
+- * cd_main_device_auto_add_profile_db:
++ * cd_main_auto_add_from_db:
+  **/
+ static gboolean
+-cd_main_device_auto_add_profile_db (CdMainPrivate *priv,
+-                                  CdDevice *device,
+-                                  CdProfile *profile)
++cd_main_auto_add_from_db (CdMainPrivate *priv,
++                        CdDevice *device,
++                        CdProfile *profile)
+ {
+       gboolean ret = FALSE;
+       GError *error = NULL;
+@@ -350,36 +341,37 @@ out:
+ }
+
+ /**
+- * cd_main_device_auto_add_profile:
++ * cd_main_device_auto_add_from_md:
+  **/
+-static gboolean
+-cd_main_device_auto_add_profile (CdMainPrivate *priv,
+-                               CdDevice *device,
+-                               CdProfile *profile)
++static void
++cd_main_device_auto_add_from_md (CdMainPrivate *priv,
++                               CdDevice *device)
+ {
+-      gboolean ret;
+-
+-      /* try adding devices from the mapping db -- we do this first
+-       * as the database entries might be hard */
+-      ret = cd_main_device_auto_add_profile_db (priv, device, profile);
+-      if (ret)
+-              goto out;
++      CdProfile *profile_tmp;
++      GPtrArray *array;
++      guint i;
+
+-      /* first try finding profile metadata to the device,
+-       * which will be added soft */
+-      ret = cd_main_device_auto_add_profile_md (device, profile);
+-      if (ret)
++      /* get all the profiles, and check to see if any of them contain
++       * MAPPING_device_id that matches the device */
++      array = cd_profile_array_get_by_metadata (priv->profiles_array,
++                                                
CD_PROFILE_METADATA_MAPPING_DEVICE_ID,
++                                                cd_device_get_id (device));
++      if (array == NULL)
+               goto out;
++      for (i = 0; i < array->len; i++) {
++              profile_tmp = g_ptr_array_index (array, i);
++              cd_main_auto_add_from_md (priv, device, profile_tmp);
++      }
+ out:
+-      return ret;
++      if (array != NULL)
++              g_ptr_array_unref (array);
+ }
+
+ /**
+- * cd_main_device_auto_add_profiles:
++ * cd_main_device_auto_add_from_db:
+  **/
+ static void
+-cd_main_device_auto_add_profiles (CdMainPrivate *priv,
+-                                CdDevice *device)
++cd_main_device_auto_add_from_db (CdMainPrivate *priv, CdDevice *device)
+ {
+       CdProfile *profile_tmp;
+       const gchar *object_id_tmp;
+@@ -404,15 +396,15 @@ cd_main_device_auto_add_profiles (CdMainPrivate *priv,
+               profile_tmp = cd_profile_array_get_by_id_owner 
(priv->profiles_array,
+                                                               object_id_tmp,
+                                                               
cd_device_get_owner (device));
+-              if (profile_tmp != NULL) {
+-                      cd_main_device_auto_add_profile (priv,
+-                                                       device,
+-                                                       profile_tmp);
+-                      g_object_unref (profile_tmp);
+-              } else {
+-                      g_debug ("CdMain: profile %s is not (yet) available",
+-                               object_id_tmp);
++              if (profile_tmp == NULL) {
++                      g_debug ("CdMain: profile %s with owner %i is not (yet) 
available",
++                               object_id_tmp, cd_device_get_owner (device));
++                      continue;
+               }
++
++              /* does the profile have the correct device metadata */
++              cd_main_auto_add_from_db (priv, device, profile_tmp);
++              g_object_unref (profile_tmp);
+       }
+ out:
+       if (array != NULL)
+@@ -493,8 +485,9 @@ cd_main_device_add (CdMainPrivate *priv,
+       /* add to array */
+       cd_device_array_add (priv->devices_array, device);
+
+-      /* auto add profiles from the database */
+-      cd_main_device_auto_add_profiles (priv, device);
++      /* auto add profiles from the database and metadata */
++      cd_main_device_auto_add_from_db (priv, device);
++      cd_main_device_auto_add_from_md (priv, device);
+ out:
+       return ret;
+ }
+@@ -656,11 +649,11 @@ cd_main_sensor_array_to_variant (GPtrArray *array)
+ }
+
+ /**
+- * cd_main_profile_auto_add_to_device:
++ * cd_main_profile_auto_add_from_db:
+  **/
+ static void
+-cd_main_profile_auto_add_to_device (CdMainPrivate *priv,
+-                                  CdProfile *profile)
++cd_main_profile_auto_add_from_db (CdMainPrivate *priv,
++                                CdProfile *profile)
+ {
+       CdDevice *device_tmp;
+       const gchar *device_id_tmp;
+@@ -692,15 +685,12 @@ cd_main_profile_auto_add_to_device (CdMainPrivate *priv,
+               device_tmp = cd_device_array_get_by_id_owner 
(priv->devices_array,
+                                                             device_id_tmp,
+                                                             
cd_profile_get_owner (profile));
+-              if (device_tmp != NULL) {
+-                      cd_main_device_auto_add_profile (priv,
+-                                                       device_tmp,
+-                                                       profile);
+-                      g_object_unref (device_tmp);
+-              } else {
+-                      g_debug ("CdMain: device %s is not (yet) available",
+-                               device_id_tmp);
+-              }
++              if (device_tmp == NULL)
++                      continue;
++
++              /* hard add */
++              cd_main_auto_add_from_db (priv, device_tmp, profile);
++              g_object_unref (device_tmp);
+       }
+ out:
+       if (array != NULL)
+@@ -708,6 +698,32 @@ out:
+ }
+
+ /**
++ * cd_main_profile_auto_add_from_md:
++ **/
++static void
++cd_main_profile_auto_add_from_md (CdMainPrivate *priv,
++                                CdProfile *profile)
++{
++      CdDevice *device = NULL;
++      const gchar *device_id;
++
++      /* does the device exists that matches the md */
++      device_id = cd_profile_get_metadata_item (profile,
++                                                
CD_PROFILE_METADATA_MAPPING_DEVICE_ID);
++      if (device_id == NULL)
++              goto out;
++      device = cd_device_array_get_by_id_owner (priv->devices_array,
++                                                device_id,
++                                                cd_profile_get_owner 
(profile));
++      if (device == NULL)
++              goto out;
++      cd_main_auto_add_from_md (priv, device, profile);
++out:
++      if (device != NULL)
++              g_object_unref (device);
++}
++
++/**
+  * cd_main_profile_register_on_bus:
+  **/
+ static gboolean
+@@ -1375,9 +1391,6 @@ cd_main_daemon_method_call (GDBusConnection *connection, 
const gchar *sender,
+                       goto out;
+               }
+
+-              /* auto add profiles from the database */
+-              cd_main_profile_auto_add_to_device (priv, profile);
+-
+               /* get any file descriptor in the message */
+               message = g_dbus_method_invocation_get_message (invocation);
+               fd_list = g_dbus_message_get_unix_fd_list (message);
+@@ -1421,6 +1434,10 @@ cd_main_daemon_method_call (GDBusConnection 
*connection, const gchar *sender,
+                       }
+               }
+
++              /* auto add profiles from the database and metadata */
++              cd_main_profile_auto_add_from_db (priv, profile);
++              cd_main_profile_auto_add_from_md (priv, profile);
++
+               /* register on bus */
+               ret = cd_main_profile_register_on_bus (priv, profile, &error);
+               if (!ret) {
+
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to