summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.ac74
-rw-r--r--opkg_download.c6
2 files changed, 47 insertions, 33 deletions
diff --git a/configure.ac b/configure.ac
index 3e1d0bb..3dd5dd9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -30,40 +30,48 @@ dnl **********
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/'`
-
- if test "$major" -eq "$req_major"; then
- if test "$minor" -ge "$req_minor"; then
- if test "$micro" -ge "$req_micro"; then
- ok="yes"
+AC_ARG_ENABLE(gpg,
+ AC_HELP_STRING([--enable-gpg], [Enable signature checking with gpgme
+ [[default=yes]] ]),
+ [want_gpgme="$enableval"], [want_gpgme="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
-
-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)
+ fi
+ fi
+
+ 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)
diff --git a/opkg_download.c b/opkg_download.c
index 2bdbb00..2f87eec 100644
--- a/opkg_download.c
+++ b/opkg_download.c
@@ -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_prepare_url_for_install(opkg_conf_t *conf, const char *url, char **name
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 @@ opkg_verify_file (char *text_file, char *sig_file)
gpgme_release (ctx);
return status;
+#else
+ printf ("Signature check skipped because GPG support was not enabled in this build\n");
+ return 0;
+#endif
}