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
