[gnome-color-manager/f20] Fix calibration when using new versions of ArgyllCMS

Richard Hughes rhughes at fedoraproject.org
Thu Dec 5 19:45:45 UTC 2013


commit b7554c76a15a26aa0cb930e9db774e3e4b65c8c3
Author: Richard Hughes <richard at hughsie.com>
Date:   Thu Dec 5 19:38:50 2013 +0000

    Fix calibration when using new versions of ArgyllCMS

 0001-Make-it-work-with-dispcal-using-stderr.patch |   70 +++++++++++++++++++++
 gnome-color-manager.spec                          |    9 +++-
 2 files changed, 78 insertions(+), 1 deletions(-)
---
diff --git a/0001-Make-it-work-with-dispcal-using-stderr.patch b/0001-Make-it-work-with-dispcal-using-stderr.patch
new file mode 100644
index 0000000..4edb3cf
--- /dev/null
+++ b/0001-Make-it-work-with-dispcal-using-stderr.patch
@@ -0,0 +1,70 @@
+From cdf512e4748ba6279e8e5585ad6fd8296f1baa3e Mon Sep 17 00:00:00 2001
+From: Patryk Zawadzki <patrys at room-303.com>
+Date: Thu, 5 Dec 2013 16:41:41 +0100
+Subject: [PATCH] Make it work with dispcal using stderr
+
+Signed-off-by: Richard Hughes <richard at hughsie.com>
+---
+ src/gcm-calibrate-argyll.c | 26 +++++++++++++++++++++-----
+ 1 file changed, 21 insertions(+), 5 deletions(-)
+
+diff --git a/src/gcm-calibrate-argyll.c b/src/gcm-calibrate-argyll.c
+index 52a4b64..52b8eeb 100644
+--- a/src/gcm-calibrate-argyll.c
++++ b/src/gcm-calibrate-argyll.c
+@@ -160,7 +160,9 @@ gcm_calibrate_argyll_get_display (const gchar *output_name,
+ {
+ 	gboolean ret = FALSE;
+ 	gchar *command = NULL;
+-	gchar *data = NULL;
++	const gchar *data;
++	gchar *data_stderr = NULL;
++	gchar *data_stdout = NULL;
+ 	gchar *name;
+ 	gchar **split = NULL;
+ 	gint exit_status;
+@@ -178,15 +180,28 @@ gcm_calibrate_argyll_get_display (const gchar *output_name,
+ 	ret = g_spawn_sync (NULL,
+ 			    (gchar **) argv,
+ 			    NULL,
+-			    G_SPAWN_STDERR_TO_DEV_NULL,
++			    0,
+ 			    NULL, NULL,
+-			    &data,
+-			    NULL,
++			    &data_stdout,
++			    &data_stderr,
+ 			    &exit_status,
+ 			    error);
+ 	if (!ret)
+ 		goto out;
+ 
++	/* recent versions of dispcal switched to stderr output */
++	if (data_stdout != NULL && data_stdout[0] != '\0') {
++		data = data_stdout;
++	} else if (data_stderr != NULL && data_stderr[0] != '\0') {
++		data = data_stderr;
++	} else {
++		g_set_error_literal (error,
++				     GCM_CALIBRATE_ERROR,
++				     GCM_CALIBRATE_ERROR_INTERNAL,
++				     "no sensible output from dispcal");
++		goto out;
++	}
++
+ 	/* split it into lines */
+ 	split = g_strsplit (data, "\n", -1);
+ 	for (i=0; split[i] != NULL; i++) {
+@@ -216,7 +231,8 @@ gcm_calibrate_argyll_get_display (const gchar *output_name,
+ 	}
+ out:
+ 	g_free (command);
+-	g_free (data);
++	g_free (data_stdout);
++	g_free (data_stderr);
+ 	g_strfreev (split);
+ 	return display;
+ }
+-- 
+1.8.4.2
+
diff --git a/gnome-color-manager.spec b/gnome-color-manager.spec
index 7e0bddf..ffc6a32 100644
--- a/gnome-color-manager.spec
+++ b/gnome-color-manager.spec
@@ -1,12 +1,15 @@
 Summary:   Color management tools for GNOME
 Name:      gnome-color-manager
 Version:   3.10.1
-Release:   1%{?dist}
+Release:   2%{?dist}
 License:   GPLv2+
 Group:     Applications/System
 URL:       http://projects.gnome.org/gnome-color-manager/
 Source0:   http://download.gnome.org/sources/gnome-color-manager/3.5/%{name}-%{version}.tar.xz
 
+# Upstream already
+Patch0:    0001-Make-it-work-with-dispcal-using-stderr.patch
+
 Requires:  color-filesystem >= 1-7
 Requires:  gnome-icon-theme
 Requires:  shared-mime-info
@@ -54,6 +57,7 @@ and generate color profiles in the GNOME desktop.
 
 %prep
 %setup -q
+%patch0 -p1 -b .fix-with-new-argyllcms
 
 %build
 %configure --disable-schemas-install
@@ -109,6 +113,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
 %{_datadir}/applications/gcm-*.desktop
 
 %changelog
+* Thu Dec 05 2013 Richard Hughes <rhughes at redhat.com> - 3.10.1-2
+- Fix calibration when using new versions of ArgyllCMS
+
 * Mon Oct 14 2013 Richard Hughes <rhughes at redhat.com> - 3.10.1-1
 - Update to 3.10.1
 


More information about the scm-commits mailing list