aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2007-01-26 12:08:12 +0000
committerWerner Koch <[email protected]>2007-01-26 12:08:12 +0000
commitd6a252124671ea969d85b64567c781a57b322e06 (patch)
tree05eadd7d655392cebbf8bda6e5e640f856d3ba7e
parentFix last change. (diff)
downloadgpgme-d6a252124671ea969d85b64567c781a57b322e06.tar.gz
gpgme-d6a252124671ea969d85b64567c781a57b322e06.zip
/
* configure.ac: Changed gpg and gpgsm version checks to work with arbitrary names of the gpg binary. New option --disable-gpg-test and --disable-gpgsm-test. gpgme/ * w32-io.c (build_commandline): Fixed stupid quoting bug. * w32-glib-io.c (build_commandline): Ditto. * rungpg.c (gpg_set_locale): Avoid dangling pointer after free. * gpgme-config.in: New options --get-gpg and --get-gpgsm.
-rw-r--r--ChangeLog11
-rw-r--r--configure.ac47
-rw-r--r--gpgme/ChangeLog9
-rw-r--r--gpgme/gpgme-config.in8
-rw-r--r--gpgme/rungpg.c10
-rw-r--r--gpgme/w32-glib-io.c2
-rw-r--r--gpgme/w32-io.c2
7 files changed, 62 insertions, 27 deletions
diff --git a/ChangeLog b/ChangeLog
index 8aeb7970..52d00d96 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,13 @@
+2007-01-26 Werner Koch <[email protected]>
+
+ * configure.ac: Changed gpg and gpgsm version checks to work with
+ arbitrary names of the gpg binary. New option --disable-gpg-test
+ and --disable-gpgsm-test.
+
2007-01-09 Werner Koch <[email protected]>
- * configure.ac (NEED_GPG_VERSION,
- (NEED_GPGSM_VERSION): Must define after it may have been changed
- by an option.
+ * configure.ac (NEED_GPG_VERSION, NEED_GPGSM_VERSION): Must define
+ after it may have been changed by an option.
2007-01-08 Werner Koch <[email protected]>
diff --git a/configure.ac b/configure.ac
index 09384b8a..e3b4e2e6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -324,21 +324,20 @@ else
fi
fi
if test "$ok" = "maybe"; then
- AC_MSG_CHECKING(for GnuPG >= $NEED_GPG_VERSION)
+ AC_MSG_CHECKING(for GPG >= $NEED_GPG_VERSION)
req_major=`echo $NEED_GPG_VERSION | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
req_minor=`echo $NEED_GPG_VERSION | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
req_micro=`echo $NEED_GPG_VERSION | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
- gpg_version=`$GPG --version | grep ^gpg`
- major=`echo $gpg_version | \
- sed 's/^gpg (GnuPG) \([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
- minor=`echo $gpg_version | \
- sed 's/^gpg (GnuPG) \([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
- micro=`echo $gpg_version | \
- sed 's/^gpg (GnuPG) \([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'`
- GPG_VERSION=`echo $gpg_version | sed 's/^gpg (GnuPG) //'`
+ GPG_VERSION=`$GPG --version | sed -n '1 s/[[^0-9]]*\(.*\)/\1/p'`
+ major=`echo $GPG_VERSION | \
+ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
+ minor=`echo $GPG_VERSION | \
+ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
+ micro=`echo $GPG_VERSION | \
+ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'`
if test "$major" -gt "$req_major"; then
ok=yes
@@ -359,10 +358,14 @@ if test "$ok" = "maybe"; then
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
- AC_MSG_WARN([GnuPG must be at least version $NEED_GPG_VERSION])
+ AC_MSG_WARN([GPG must be at least version $NEED_GPG_VERSION])
fi
fi
-AM_CONDITIONAL(RUN_GPG_TESTS, test "$ok" = "yes")
+run_gpg_test="$ok"
+AC_ARG_ENABLE(gpg-test,
+ AC_HELP_STRING([--disable-gpg-test], [disable GPG run test]),
+ run_gpg_test=$enableval)
+AM_CONDITIONAL(RUN_GPG_TESTS, test "$run_gpg_test" = "yes")
AC_SUBST(GPG_PATH)
NO_OVERRIDE=no
@@ -424,14 +427,13 @@ if test "$ok" = "maybe"; then
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
req_micro=`echo $NEED_GPGSM_VERSION | \
sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
- gpgsm_version=`$GPGSM --version | grep ^gpgsm`
- major=`echo $gpgsm_version | \
- sed 's/^gpgsm (GnuPG) \([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
- minor=`echo $gpgsm_version | \
- sed 's/^gpgsm (GnuPG) \([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
- micro=`echo $gpgsm_version | \
- sed 's/^gpgsm (GnuPG) \([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'`
- GPGSM_VERSION=`echo $gpgsm_version | sed 's/^gpgsm (GnuPG) //'`
+ GPGSM_VERSION=`$GPGSM --version | sed -n '1 s/[[^0-9]]*\(.*\)/\1/p'`
+ major=`echo $GPGSM_VERSION | \
+ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
+ minor=`echo $GPGSM_VERSION | \
+ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
+ micro=`echo $GPGSM_VERSION | \
+ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'`
if test "$major" -gt "$req_major"; then
ok=yes
@@ -455,7 +457,12 @@ if test "$ok" = "maybe"; then
AC_MSG_WARN([GPGSM must be at least version $NEED_GPGSM_VERSION])
fi
fi
-AM_CONDITIONAL(RUN_GPGSM_TESTS, test "$ok" = "yes")
+run_gpgsm_test="$ok"
+AC_ARG_ENABLE(gpgsm-test,
+ AC_HELP_STRING([--disable-gpgsm-test], [disable GPGSM run test]),
+ run_gpgsm_test=$enableval)
+AM_CONDITIONAL(RUN_GPGSM_TESTS, test "$run_gpgsm_test" = "yes")
+
# FIXME: Only build if supported.
AM_CONDITIONAL(BUILD_ASSUAN, test "$GPGSM" != "no")
diff --git a/gpgme/ChangeLog b/gpgme/ChangeLog
index 2d04c3cd..0d190cdf 100644
--- a/gpgme/ChangeLog
+++ b/gpgme/ChangeLog
@@ -1,3 +1,12 @@
+2007-01-26 Werner Koch <[email protected]>
+
+ * w32-io.c (build_commandline): Fixed stupid quoting bug.
+ * w32-glib-io.c (build_commandline): Ditto.
+
+ * rungpg.c (gpg_set_locale): Avoid dangling pointer after free.
+
+ * gpgme-config.in: New options --get-gpg and --get-gpgsm.
+
2007-01-18 Marcus Brinkmann <[email protected]>
* data.h (_gpgme_data_get_fd): Add prototype.
diff --git a/gpgme/gpgme-config.in b/gpgme/gpgme-config.in
index 4b6ddb39..4a67b3f9 100644
--- a/gpgme/gpgme-config.in
+++ b/gpgme/gpgme-config.in
@@ -51,6 +51,8 @@ Options:
[--api-version]
[--libs]
[--cflags]
+ [--get-gpg]
+ [--get-gpgsm]
EOF
exit $1
}
@@ -144,6 +146,12 @@ while test $# -gt 0; do
usage 1 1>&2
fi
;;
+ --get-gpg)
+ output="$output @GPG@"
+ ;;
+ --get-gpgsm)
+ output="$output @GPGSM@"
+ ;;
*)
usage 1 1>&2
;;
diff --git a/gpgme/rungpg.c b/gpgme/rungpg.c
index 243d0b59..58ab39d8 100644
--- a/gpgme/rungpg.c
+++ b/gpgme/rungpg.c
@@ -517,7 +517,10 @@ gpg_set_locale (void *engine, int category, const char *value)
if (category == LC_CTYPE)
{
if (gpg->lc_ctype)
- free (gpg->lc_ctype);
+ {
+ free (gpg->lc_ctype);
+ gpg->lc_ctype = NULL;
+ }
if (value)
{
gpg->lc_ctype = strdup (value);
@@ -529,7 +532,10 @@ gpg_set_locale (void *engine, int category, const char *value)
else if (category == LC_MESSAGES)
{
if (gpg->lc_messages)
- free (gpg->lc_messages);
+ {
+ free (gpg->lc_messages);
+ gpg->lc_messages = NULL;
+ }
if (value)
{
gpg->lc_messages = strdup (value);
diff --git a/gpgme/w32-glib-io.c b/gpgme/w32-glib-io.c
index 87b65fb6..20099ef6 100644
--- a/gpgme/w32-glib-io.c
+++ b/gpgme/w32-glib-io.c
@@ -389,7 +389,7 @@ build_commandline (char **argv)
*(p++) = '"';
while (*argvp)
{
- if (*p == '\\' || *p == '"')
+ if (*argvp == '\\' || *argvp == '"')
*(p++) = '\\';
*(p++) = *(argvp++);
}
diff --git a/gpgme/w32-io.c b/gpgme/w32-io.c
index 6810fd50..fd53a6fb 100644
--- a/gpgme/w32-io.c
+++ b/gpgme/w32-io.c
@@ -841,7 +841,7 @@ build_commandline (char **argv)
*(p++) = '"';
while (*argvp)
{
- if (*p == '\\' || *p == '"')
+ if (*argvp == '\\' || *argvp == '"')
*(p++) = '\\';
*(p++) = *(argvp++);
}