[gnome-color-manager] Add a configure option --enable-packagekit (default yes) to choose if auto-install functionality sho



commit 494ebc7e84d21d2626e06aa7e009cc90625e0fd8
Author: Richard Hughes <richard hughsie com>
Date:   Wed Dec 16 12:41:02 2009 +0000

    Add a configure option --enable-packagekit (default yes) to choose if auto-install functionality should be included

 configure.ac    |   11 +++++++++++
 src/gcm-prefs.c |    9 +++++++++
 src/gcm-utils.c |    5 +++++
 3 files changed, 25 insertions(+), 0 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index d14a6e7..6d3e6ea 100644
--- a/configure.ac
+++ b/configure.ac
@@ -188,6 +188,16 @@ if test x$enable_hardware_detection = xyes; then
 fi
 
 dnl ---------------------------------------------------------------------------
+dnl - Use PackageKit to install missing tools
+dnl ---------------------------------------------------------------------------
+AC_ARG_ENABLE(packagekit, AS_HELP_STRING([--enable-packagekit],[enable PackageKit integration]),
+	      enable_packagekit=$enableval,enable_packagekit=yes)
+AM_CONDITIONAL(GCM_USE_PACKAGEKIT, test x$enable_packagekit = xyes)
+if test x$enable_packagekit = xyes; then
+	AC_DEFINE(GCM_USE_PACKAGEKIT,1,[Build hardware autodetection])
+fi
+
+dnl ---------------------------------------------------------------------------
 dnl - Build self tests
 dnl ---------------------------------------------------------------------------
 AC_ARG_ENABLE(tests, AS_HELP_STRING([--enable-tests],[enable unit test code]),
@@ -229,6 +239,7 @@ echo "
         cflags:                    ${CFLAGS}
         cppflags:                  ${CPPFLAGS}
         hardware auto-detection:   ${enable_hardware_detection}
+        PackageKit integration:    ${enable_packagekit}
         building unit tests:       ${enable_tests}
         gconf-schema dir:          $GCONF_SCHEMA_FILE_DIR
 "
diff --git a/src/gcm-prefs.c b/src/gcm-prefs.c
index 9b50dd5..54e3952 100644
--- a/src/gcm-prefs.c
+++ b/src/gcm-prefs.c
@@ -430,6 +430,7 @@ gcm_prefs_calibrate_device (GcmCalibrate *calib)
 	/* install shared-color-targets package */
 	has_shared_targets = g_file_test ("/usr/share/shared-color-targets", G_FILE_TEST_IS_DIR);
 	if (!has_shared_targets) {
+#ifdef GCM_USE_PACKAGEKIT
 		GtkWindow *window;
 		GtkWidget *dialog;
 		GtkResponseType response;
@@ -463,6 +464,9 @@ gcm_prefs_calibrate_device (GcmCalibrate *calib)
 		if (response == GTK_RESPONSE_YES)
 			has_shared_targets = gcm_utils_install_package (GCM_PREFS_PACKAGE_NAME_SHARED_COLOR_TARGETS, window);
 		g_string_free (string, TRUE);
+#else
+		egg_warning ("cannot install: this package was not compiled with --enable-packagekit");
+#endif
 	}
 
 	/* get the device */
@@ -824,6 +828,11 @@ gcm_prefs_ensure_argyllcms_installed (void)
 	if (ret)
 		goto out;
 
+#ifndef GCM_USE_PACKAGEKIT
+	egg_warning ("cannot install: this package was not compiled with --enable-packagekit");
+	goto out;
+#endif
+
 	/* ask the user to confirm */
 	window = GTK_WINDOW(gtk_builder_get_object (builder, "dialog_prefs"));
 	dialog = gtk_message_dialog_new (window, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE,
diff --git a/src/gcm-utils.c b/src/gcm-utils.c
index 624f406..9ee1e5e 100644
--- a/src/gcm-utils.c
+++ b/src/gcm-utils.c
@@ -49,6 +49,11 @@ gcm_utils_install_package (const gchar *package_name, GtkWindow *window)
 	guint32 xid = 0;
 	gchar **packages = NULL;
 
+#ifndef GCM_USE_PACKAGEKIT
+	egg_warning ("cannot install %s: this package was not compiled with --enable-packagekit", package_name);
+	return FALSE;
+#endif
+
 	/* get xid of this window */
 	if (window != NULL)
 		xid = gdk_x11_drawable_get_xid (gtk_widget_get_window (GTK_WIDGET(window)));



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]