summaryrefslogtreecommitdiffabout
authorMichael Krelin <hacker@klever.net>2007-11-20 18:39:51 (UTC)
committer Michael Krelin <hacker@klever.net>2007-11-20 18:39:51 (UTC)
commitc868af04ffd60a04c7a98a55cd92b5e12102b1e1 (patch) (unidiff)
tree0878b62d8c49f6edb175ee6c0605c27613bce2ab
parentbc8cecfcf7e1dc593249200556e5553d7d025c05 (diff)
downloadlibopkele-c868af04ffd60a04c7a98a55cd92b5e12102b1e1.zip
libopkele-c868af04ffd60a04c7a98a55cd92b5e12102b1e1.tar.gz
libopkele-c868af04ffd60a04c7a98a55cd92b5e12102b1e1.tar.bz2
added more precise source tree version detection
Signed-off-by: Michael Krelin <hacker@klever.net>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--configure.ac11
-rw-r--r--lib/consumer.cc2
2 files changed, 12 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index 50dd8d4..23e40da 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,31 +1,42 @@
1AC_INIT([libopkele], [0.3], [libopkele-bugs@klever.net]) 1AC_INIT([libopkele], [0.3], [libopkele-bugs@klever.net])
2AC_CONFIG_SRCDIR([include/opkele/opkele-config.h]) 2AC_CONFIG_SRCDIR([include/opkele/opkele-config.h])
3AC_CONFIG_HEADERS([config.h include/opkele/acconfig.h]) 3AC_CONFIG_HEADERS([config.h include/opkele/acconfig.h])
4AM_INIT_AUTOMAKE([dist-bzip2]) 4AM_INIT_AUTOMAKE([dist-bzip2])
5 5
6AC_PROG_INSTALL 6AC_PROG_INSTALL
7AC_PROG_CXX 7AC_PROG_CXX
8AC_PROG_CC 8AC_PROG_CC
9AC_PROG_LIBTOOL 9AC_PROG_LIBTOOL
10PKG_PROG_PKG_CONFIG 10PKG_PROG_PKG_CONFIG
11 11
12AC_HEADER_STDC 12AC_HEADER_STDC
13 13
14AC_PATH_PROG([XSLTPROC],[xsltproc],[true]) 14AC_PATH_PROG([XSLTPROC],[xsltproc],[true])
15 15
16AC_MSG_CHECKING([for source tree version])
17if headrev=$(cd $srcdir && git rev-parse --verify HEAD 2>/dev/null) ; then
18 PACKAGE_SRC_VERSION="${PACKAGE_VERSION}:$(cd $srcdir && git describe --tags $headrev)"
19 ( cd $srcdir && git diff-index $headrev | read dirt ) && PACKAGE_SRC_VERSION="${PACKAGE_SRC_VERSION}-dirty"
20else
21 PACKAGE_SRC_VERSION="$PACKAGE_VERSION"
22fi
23AC_MSG_RESULT([$PACKAGE_SRC_VERSION])
24AC_SUBST([PACKAGE_SRC_VERSION])
25AC_DEFINE_UNQUOTED([PACKAGE_SRC_VERSION],["$PACKAGE_SRC_VERSION"],[more or less precise source tree version])
26
16PKG_CHECK_MODULES([OPENSSL],[openssl],,[ 27PKG_CHECK_MODULES([OPENSSL],[openssl],,[
17 AC_MSG_ERROR([no openssl library found. get one from http://www.openssl.org/]) 28 AC_MSG_ERROR([no openssl library found. get one from http://www.openssl.org/])
18]) 29])
19 30
20WANT_KONFORKA="yes" 31WANT_KONFORKA="yes"
21AC_ARG_ENABLE([konforka], 32AC_ARG_ENABLE([konforka],
22 AC_HELP_STRING([--disable-konforka],[do not use konforka library (default: use if found)]), 33 AC_HELP_STRING([--disable-konforka],[do not use konforka library (default: use if found)]),
23 [ 34 [
24 test "${enableval}" = "no" && WANT_KONFORKA="no" 35 test "${enableval}" = "no" && WANT_KONFORKA="no"
25 ] 36 ]
26) 37)
27if test "${WANT_KONFORKA}" = "yes" ; then 38if test "${WANT_KONFORKA}" = "yes" ; then
28 PKG_CHECK_MODULES([KONFORKA],[konforka],[ 39 PKG_CHECK_MODULES([KONFORKA],[konforka],[
29 AC_SUBST([KONFORKA_CFLAGS]) 40 AC_SUBST([KONFORKA_CFLAGS])
30 AC_SUBST([KONFORKA_LIBS]) 41 AC_SUBST([KONFORKA_LIBS])
31 AC_DEFINE([HAVE_KONFORKA],,[defined in presence of konforka library]) 42 AC_DEFINE([HAVE_KONFORKA],,[defined in presence of konforka library])
diff --git a/lib/consumer.cc b/lib/consumer.cc
index f72ae08..76b6ea7 100644
--- a/lib/consumer.cc
+++ b/lib/consumer.cc
@@ -68,33 +68,33 @@ namespace opkele {
68 curl_t() : _c(0) { } 68 curl_t() : _c(0) { }
69 curl_t(CURL *c) : _c(c) { } 69 curl_t(CURL *c) : _c(c) { }
70 ~curl_t() throw() { if(_c) curl_easy_cleanup(_c); } 70 ~curl_t() throw() { if(_c) curl_easy_cleanup(_c); }
71 71
72 curl_t& operator=(CURL *c) { if(_c) curl_easy_cleanup(_c); _c=c; return *this; } 72 curl_t& operator=(CURL *c) { if(_c) curl_easy_cleanup(_c); _c=c; return *this; }
73 73
74 operator const CURL*(void) const { return _c; } 74 operator const CURL*(void) const { return _c; }
75 operator CURL*(void) { return _c; } 75 operator CURL*(void) { return _c; }
76 }; 76 };
77 77
78 static CURLcode curl_misc_sets(CURL* c) { 78 static CURLcode curl_misc_sets(CURL* c) {
79 CURLcode r; 79 CURLcode r;
80 (r=curl_easy_setopt(c,CURLOPT_FOLLOWLOCATION,1)) 80 (r=curl_easy_setopt(c,CURLOPT_FOLLOWLOCATION,1))
81 || (r=curl_easy_setopt(c,CURLOPT_MAXREDIRS,5)) 81 || (r=curl_easy_setopt(c,CURLOPT_MAXREDIRS,5))
82 || (r=curl_easy_setopt(c,CURLOPT_DNS_CACHE_TIMEOUT,120)) 82 || (r=curl_easy_setopt(c,CURLOPT_DNS_CACHE_TIMEOUT,120))
83 || (r=curl_easy_setopt(c,CURLOPT_DNS_USE_GLOBAL_CACHE,1)) 83 || (r=curl_easy_setopt(c,CURLOPT_DNS_USE_GLOBAL_CACHE,1))
84 || (r=curl_easy_setopt(c,CURLOPT_USERAGENT,PACKAGE_NAME"/"PACKAGE_VERSION)) 84 || (r=curl_easy_setopt(c,CURLOPT_USERAGENT,PACKAGE_NAME"/"PACKAGE_SRC_VERSION))
85 || (r=curl_easy_setopt(c,CURLOPT_TIMEOUT,20)) 85 || (r=curl_easy_setopt(c,CURLOPT_TIMEOUT,20))
86 #ifdefDISABLE_CURL_SSL_VERIFYHOST 86 #ifdefDISABLE_CURL_SSL_VERIFYHOST
87 || (r=curl_easy_setopt(c,CURLOPT_SSL_VERIFYHOST,0)) 87 || (r=curl_easy_setopt(c,CURLOPT_SSL_VERIFYHOST,0))
88#endif 88#endif
89 #ifdefDISABLE_CURL_SSL_VERIFYPEER 89 #ifdefDISABLE_CURL_SSL_VERIFYPEER
90 || (r=curl_easy_setopt(c,CURLOPT_SSL_VERIFYPEER,0)) 90 || (r=curl_easy_setopt(c,CURLOPT_SSL_VERIFYPEER,0))
91#endif 91#endif
92 ; 92 ;
93 return r; 93 return r;
94 } 94 }
95 95
96 static size_t _curl_tostring(void *ptr,size_t size,size_t nmemb,void *stream) { 96 static size_t _curl_tostring(void *ptr,size_t size,size_t nmemb,void *stream) {
97 string *str = (string*)stream; 97 string *str = (string*)stream;
98 size_t bytes = size*nmemb; 98 size_t bytes = size*nmemb;
99 size_t get = min(16384-str->length(),bytes); 99 size_t get = min(16384-str->length(),bytes);
100 str->append((const char*)ptr,get); 100 str->append((const char*)ptr,get);