r4018 - trunk/src/target/opkg

thomas at sita.openmoko.org thomas at sita.openmoko.org
Tue Feb 5 12:56:29 CET 2008


Author: thomas
Date: 2008-02-05 12:56:28 +0100 (Tue, 05 Feb 2008)
New Revision: 4018

Modified:
   trunk/src/target/opkg/configure.ac
   trunk/src/target/opkg/opkg_download.c
Log:
opkg: make gpg support optional


Modified: trunk/src/target/opkg/configure.ac
===================================================================
--- trunk/src/target/opkg/configure.ac	2008-02-05 10:11:00 UTC (rev 4017)
+++ trunk/src/target/opkg/configure.ac	2008-02-05 11:56:28 UTC (rev 4018)
@@ -30,40 +30,48 @@
 dnl GPGME
 dnl **********
 
-ok="no"
-min_gpgme_version=1.0.0
-AC_PATH_PROG(GPGME_CONFIG, gpgme-config, "failed")
-if test $GPGME_CONFIG != "failed" ; then
-      AC_MSG_CHECKING(for GPGME - version >= $min_gpgme_version)
-      req_major=`echo $min_gpgme_version | \
-		 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
-      req_minor=`echo $min_gpgme_version | \
-                 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
-      req_micro=`echo $min_gpgme_version | \
-                 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
-      gpgme_config_version=`$GPGME_CONFIG --version`
-      major=`echo $gpgme_config_version | \
-                 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
-      minor=`echo $gpgme_config_version | \
-                 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
-      micro=`echo $gpgme_config_version | \
-		 sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'`
+AC_ARG_ENABLE(gpg,
+    AC_HELP_STRING([--enable-gpg], [Enable signature checking with gpgme
+      [[default=yes]] ]),
+    [want_gpgme="$enableval"], [want_gpgme="yes"])
 
-	if test "$major" -eq "$req_major"; then
-	   if test "$minor" -ge "$req_minor"; then
-	     if test "$micro" -ge "$req_micro"; then
-	       ok="yes"
+if test "x$want_gpgme" = "xyes"; then
+  ok="no"
+  min_gpgme_version=1.0.0
+  AC_PATH_PROG(GPGME_CONFIG, gpgme-config, "failed")
+  if test $GPGME_CONFIG != "failed" ; then
+	AC_MSG_CHECKING(for GPGME - version >= $min_gpgme_version)
+	req_major=`echo $min_gpgme_version | \
+		   sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
+	req_minor=`echo $min_gpgme_version | \
+		   sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
+	req_micro=`echo $min_gpgme_version | \
+		   sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
+	gpgme_config_version=`$GPGME_CONFIG --version`
+	major=`echo $gpgme_config_version | \
+		   sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
+	minor=`echo $gpgme_config_version | \
+		   sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
+	micro=`echo $gpgme_config_version | \
+		   sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'`
+
+	  if test "$major" -eq "$req_major"; then
+	     if test "$minor" -ge "$req_minor"; then
+	       if test "$micro" -ge "$req_micro"; then
+		 ok="yes"
+	       fi
 	     fi
-	   fi
-	fi
-fi
+	  fi
+  fi
 
-if test $ok = "yes"; then
-  GPGME_CFLAGS=`$GPGME_CONFIG --cflags`
-  GPGME_LIBS=`$GPGME_CONFIG --libs`
-  AC_MSG_RESULT(yes)
-else
-  AC_MSG_ERROR(GPGME $min_gpgme_version or later needed)
+  if test $ok = "yes"; then
+    GPGME_CFLAGS=`$GPGME_CONFIG --cflags`
+    GPGME_LIBS=`$GPGME_CONFIG --libs`
+    AC_MSG_RESULT(yes)
+    AC_DEFINE(HAVE_GPGME, 1, [Define if you want GPG support])
+  else
+    AC_MSG_ERROR(GPGME $min_gpgme_version or later needed)
+  fi
 fi
 
 AC_SUBST(GPGME_CFLAGS)

Modified: trunk/src/target/opkg/opkg_download.c
===================================================================
--- trunk/src/target/opkg/opkg_download.c	2008-02-05 10:11:00 UTC (rev 4017)
+++ trunk/src/target/opkg/opkg_download.c	2008-02-05 11:56:28 UTC (rev 4018)
@@ -23,6 +23,7 @@
 #include "opkg.h"
 #include "opkg_download.h"
 #include "opkg_message.h"
+#include "opkg_state.h"
 
 #include "sprintf_alloc.h"
 #include "xsystem.h"
@@ -296,6 +297,7 @@
 int
 opkg_verify_file (char *text_file, char *sig_file)
 {
+#ifdef HAVE_GPGME
     int status = -1;
     gpgme_ctx_t ctx;
     gpgme_data_t sig, text;
@@ -335,4 +337,8 @@
     gpgme_release (ctx);
 
     return status;
+#else
+    printf ("Signature check skipped because GPG support was not enabled in this build\n");
+    return 0;
+#endif
 }





More information about the commitlog mailing list