Please ignore this patch. It is incomplete, i am sorry.
I will reroll it shortly.
Thanks
2012/4/16 Elia Pinto gitter.spi...@gmail.com:
This patch add a simple autogen.sh for buildstrap
the gnu build system. It also check the minimun version
of the gnu buildtool necessary for clamav.
Signed-off-by: Elia Pinto gitter.spi...@gmail.com
---
Makefile.am | 2 +-
autogen.sh | 200
+++
2 files changed, 201 insertions(+), 1 deletions(-)
create mode 100755 autogen.sh
diff --git a/Makefile.am b/Makefile.am
index 3970e2e..b3c02a5 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -19,7 +19,7 @@
ACLOCAL_AMFLAGS=-I m4
SUBDIRS = libltdl libclamav clamscan clamd clamdscan freshclam sigtool
clamconf database docs etc clamav-milter test clamdtop clambc unit_tests
-EXTRA_DIST = FAQ examples BUGS shared libclamav.pc.in
libclamunrar_iface/Makefile.am libclamunrar_iface/Makefile.in UPGRADE
COPYING.bzip2 COPYING.lzma COPYING.unrar COPYING.LGPL COPYING.llvm
COPYING.file COPYING.zlib COPYING.getopt COPYING.regex COPYING.sha256
platform.h.in clamdscan/clamdscan.map win32
+EXTRA_DIST = FAQ examples BUGS shared libclamav.pc.in
libclamunrar_iface/Makefile.am libclamunrar_iface/Makefile.in UPGRADE
COPYING.bzip2 COPYING.lzma COPYING.unrar COPYING.LGPL COPYING.llvm
COPYING.file COPYING.zlib COPYING.getopt COPYING.regex COPYING.sha256
platform.h.in clamdscan/clamdscan.map win32 README-prereq
bin_SCRIPTS=clamav-config
diff --git a/autogen.sh b/autogen.sh
new file mode 100755
index 000..f41e365
--- /dev/null
+++ b/autogen.sh
@@ -0,0 +1,200 @@
+#!/bin/sh
+#
+# $Id$
+# autogen.sh: autogen.sh script for clamav projects
+#
+# Copyright (c) 2010-2011 Elia Pinto gitter.spi...@gmail.com
+#
+# This program have the same copyright notice as clamav
+# itself
+#
+# Global Function and Variables
+#
+_PROGNAME=$0
+#
+red=; grn=; lgn=; blu=; std=;
+test X$$TERM != Xdumb \
+ test -t 1 2/dev/null \
+ { \
+ red=' [0;31m'; \
+ grn=' [0;32m'; \
+ lgn=' [1;32m'; \
+ blu=' [1;34m'; \
+ std=' [m'; \
+}
+
+Die() {
+ color=$red
+ echo ${color}${_PROGNAME}: Error: $@${std} 2
+ exit 1
+}
+
+Notice() {
+ color=$grn
+ echo ${color}${_PROGNAME}: $@${std}
+}
+
+
+# Function Used for checking the Version Used for building
+#
+# Note this deviates from the version comparison in automake
+# in that it treats 1.5 1.5.0, and treats 1.4.4a 1.4-p3a
+# but this should suffice as we won't be specifying old
+# version formats or redundant trailing .0 in bootstrap.conf.
+# If we did want full compatibility then we should probably
+# use m4_version_compare from autoconf.
+sort_ver() { # sort -V is not generally available
+ ver1=$1
+ ver2=$2
+
+ # split on '.' and compare each component
+ i=1
+ while : ; do
+ p1=$(echo $ver1 | cut -d. -f$i)
+ p2=$(echo $ver2 | cut -d. -f$i)
+ if [ ! $p1 ]; then
+ echo $1 $2
+ break
+ elif [ ! $p2 ]; then
+ echo $2 $1
+ break
+ elif [ ! $p1 = $p2 ]; then
+ if [ $p1 -gt $p2 ] 2/dev/null; then # numeric comparison
+ echo $2 $1
+ elif [ $p2 -gt $p1 ] 2/dev/null; then # numeric comparison
+ echo $1 $2
+ else # numeric, then lexicographic comparison
+ lp=$(printf $p1\n$p2\n | LANG=C sort -n | tail -n1)
+ if [ $lp = $p2 ]; then
+ echo $1 $2
+ else
+ echo $2 $1
+ fi
+ fi
+ break
+ fi
+ i=$(($i+1))
+ done
+}
+
+get_version() {
+ app=$1
+
+ $app --version /dev/null 21 || return 1
+
+ $app --version 21 |
+ sed -n '# extract version within line
+ s/.*[v ]\{1,\}\([0-9]\{1,\}\.[.a-z0-9-]*\).*/\1/
+ t done
+
+ # extract version at start of line
+ s/^\([0-9]\{1,\}\.[.a-z0-9-]*\).*/\1/
+ t done
+
+ d
+
+ :done
+ #the following essentially does s/5.005/5.5/
+ s/\.0*\([1-9]\)/.\1/g
+ p
+ q'
+}
+
+check_versions() {
+ ret=0
+
+ while read app req_ver; do
+ # Honor $APP variables ($TAR, $AUTOCONF, etc.)
+ appvar=`echo $app | tr '[a-z]' '[A-Z]'`
+ test $appvar = TAR appvar=AMTAR
+ eval app=\${$appvar-$app}
+ inst_ver=$(get_version $app)
+ if [ ! $inst_ver ]; then
+ echo Error: '$app' not found 2
+ ret=1
+ elif [ ! $req_ver = - ]; then
+ latest_ver=$(sort_ver $req_ver $inst_ver | cut -d' ' -f2)
+ if [ ! $latest_ver = $inst_ver ]; then
+ echo Error: '$app' version == $inst_ver is too old 2
+ echo '$app' version = $req_ver is required 2
+ ret=1
+ fi
+ fi
+ done
+
+ return $ret
+}
+
+print_versions() {
+ echo Program Min_version
+ echo --
+ printf $buildreq
+ echo --
+ # can't depend on column -t
+}
+
+###