r14721 - gnucash/trunk - Update win32 script to be better about failing.

Derek Atkins warlord at cvs.gnucash.org
Fri Aug 25 21:03:02 EDT 2006


Author: warlord
Date: 2006-08-25 21:03:00 -0400 (Fri, 25 Aug 2006)
New Revision: 14721
Trac: http://svn.gnucash.org/trac/changeset/14721

Modified:
   gnucash/trunk/
   gnucash/trunk/packaging/win32/custom.sh
   gnucash/trunk/packaging/win32/install.sh
Log:
Update win32 script to be better about failing.



Property changes on: gnucash/trunk
___________________________________________________________________
Name: svk:merge
   - d2ab10a8-8a95-4986-baff-8d511d9f15b2:/local/gnucash/trunk:12971
   + d2ab10a8-8a95-4986-baff-8d511d9f15b2:/local/gnucash/trunk:13120

Modified: gnucash/trunk/packaging/win32/custom.sh
===================================================================
--- gnucash/trunk/packaging/win32/custom.sh	2006-08-25 20:27:04 UTC (rev 14720)
+++ gnucash/trunk/packaging/win32/custom.sh	2006-08-26 01:03:00 UTC (rev 14721)
@@ -6,6 +6,10 @@
 TMP_DIR=$GLOBAL_DIR\\tmp
 DOWNLOAD_DIR=$GLOBAL_DIR\\downloads
 
+REPOS_URL="http://svn.gnucash.org/repo/gnucash/trunk"
+REPOS_DIR=$GLOBAL_DIR\\repos
+GNUCASH_DIR=$GLOBAL_DIR\\gnucash
+
 MSYS_DIR=$GLOBAL_DIR\\msys
 
 WGET_DIR=$GLOBAL_DIR\\wget
@@ -78,10 +82,7 @@
 SVN_URL="http://subversion.tigris.org/files/documents/15/32856/svn-1.3.2-setup.exe"
 SVN_DIR=$GLOBAL_DIR\\svn
 
-REPOS_URL="http://svn.gnucash.org/repo/gnucash/trunk"
-REPOS_DIR=$GLOBAL_DIR\\repos
-GNUCASH_DIR=$GLOBAL_DIR\\gnucash
-
+# There is no reason to ever need to comment these out!
 add_step inst_wget
 add_step inst_dtk
 add_step inst_mingw

Modified: gnucash/trunk/packaging/win32/install.sh
===================================================================
--- gnucash/trunk/packaging/win32/install.sh	2006-08-25 20:27:04 UTC (rev 14720)
+++ gnucash/trunk/packaging/win32/install.sh	2006-08-26 01:03:00 UTC (rev 14721)
@@ -1,5 +1,7 @@
 #!/bin/sh
 
+set -e
+
 function add_step() {
     steps=("${steps[@]}" "$@")
 }
@@ -88,44 +90,64 @@
 function inst_wget() {
     setup Wget
     _WGET_UDIR=`unix_path $WGET_DIR`
-    mkdir -p $WGET_DIR
-    tar -xjpf $DOWNLOAD_UDIR/wget*.tar.bz2 -C $WGET_DIR
-    cp $_WGET_UDIR/*/*/wget.exe $WGET_DIR
+    quiet $_WGET_UDIR/wget --version
+    if [ $? = 0 ] ; then
+        echo "already installed.  skipping."
+    else
+        mkdir -p $WGET_DIR
+        tar -xjpf $DOWNLOAD_UDIR/wget*.tar.bz2 -C $WGET_DIR
+        cp $_WGET_UDIR/*/*/wget.exe $WGET_DIR
+    fi
     add_to_env $_WGET_UDIR PATH
     quiet wget --version || die "wget unavailable"
 }
 
 function inst_dtk() {
     setup MSYS DTK
-    wget -c $DTK_URL -P $DOWNLOAD_DIR
-    echo "!!! The path must be: $MSYS_DIR !!!"
-    $DOWNLOAD_UDIR/msysDTK-*.exe
-    for file in \
-	/bin/{aclocal*,auto*,ifnames,libtool*} \
-	/share/{aclocal,aclocal-1.7,autoconf,autogen,automake-1.7,libtool}
-    do
-	mv $file $file.bak
-    done
+    quiet perl --help
+    if [ $? = 0 ] ; then
+        echo "msys dtk already installed.  skipping."
+    else
+        wget -c $DTK_URL -P $DOWNLOAD_DIR
+        echo "!!! The path must be: $MSYS_DIR !!!"
+        $DOWNLOAD_UDIR/msysDTK-*.exe
+        for file in \
+	    /bin/{aclocal*,auto*,ifnames,libtool*,guile*} \
+	    /share/{aclocal,aclocal-1.7,autoconf,autogen,automake-1.7,libtool}
+        do
+	    mv $file $file.bak
+        done
+    fi
     quiet perl --help || die "msys dtk not installed correctly"
 }
 
 function inst_mingw() {
     setup MinGW
-    _MINGW_WFSDIR=`win_fs_path $MINGW_DIR`
-    wget -c $MINGW_URL -P $DOWNLOAD_DIR
-    echo "!!! Install g++ !!!"
-    echo "!!! The path must be: $MINGW_DIR !!!"
-    $DOWNLOAD_UDIR/MinGW-*.exe
-    (echo "y"; echo "y"; echo "$_MINGW_WFSDIR") | sh pi.sh
+    quiet gcc --version
+    if [ $? = 0 ] ; then
+	echo "mingw already installed.  skipping."
+    else
+        _MINGW_WFSDIR=`win_fs_path $MINGW_DIR`
+        wget -c $MINGW_URL -P $DOWNLOAD_DIR
+        echo "!!! Install g++ !!!"
+        echo "!!! The path must be: $MINGW_DIR !!!"
+        $DOWNLOAD_UDIR/MinGW-*.exe
+        (echo "y"; echo "y"; echo "$_MINGW_WFSDIR") | sh pi.sh
+    fi
     quiet gcc --version && quiet ld --help || die "mingw not installed correctly"
 }
 
 function inst_unzip() {
     setup Unzip
     _UNZIP_UDIR=`unix_path $UNZIP_DIR`
-    wget -c $UNZIP_URL -P $DOWNLOAD_DIR
-    echo "!!! The path must be: $UNZIP_DIR !!!"
-    $DOWNLOAD_UDIR/unzip-*.exe
+    quiet $_UNZIP_UDIR/bin/unzip --help
+    if [ $? = 0 ] ; then
+        echo "unzip already installed.  skipping."
+    else
+        wget -c $UNZIP_URL -P $DOWNLOAD_DIR
+        echo "!!! The path must be: $UNZIP_DIR !!!"
+        $DOWNLOAD_UDIR/unzip-*.exe
+    fi
     add_to_env $_UNZIP_UDIR/bin PATH
     quiet unzip --help || die "unzip unavailable"
 }
@@ -133,38 +155,55 @@
 function inst_regex() {
     setup RegEx
     _REGEX_UDIR=`unix_path $REGEX_DIR`
-    wget -c $REGEX_BIN_URL -P $DOWNLOAD_DIR
-    wget -c $REGEX_LIB_URL -P $DOWNLOAD_DIR
-    mkdir -p $REGEX_DIR
-    unzip $DOWNLOAD_UDIR/regex-*-bin.zip -d $REGEX_DIR
-    unzip $DOWNLOAD_UDIR/regex-*-lib.zip -d $REGEX_DIR
     add_to_env -I$_REGEX_UDIR/include REGEX_CPPFLAGS
     add_to_env -L$_REGEX_UDIR/lib REGEX_LDFLAGS
     add_to_env $_REGEX_UDIR/bin PATH
+    quiet ld $REGEX_LDFLAGS -lregex -o tmp
+    if [ $? = 0 ] ; then
+        echo "regex already installed.  skipping."
+    else
+        wget -c $REGEX_BIN_URL -P $DOWNLOAD_DIR
+        wget -c $REGEX_LIB_URL -P $DOWNLOAD_DIR
+        mkdir -p $REGEX_DIR
+        unzip $DOWNLOAD_UDIR/regex-*-bin.zip -d $REGEX_DIR
+        unzip $DOWNLOAD_UDIR/regex-*-lib.zip -d $REGEX_DIR
+    fi
+    rm -f tmp
     quiet ld $REGEX_LDFLAGS -lregex -o tmp && rm tmp || die "regex not installed correctly"
 }
 
 function inst_readline() {
     setup Readline
     _READLINE_UDIR=`unix_path $READLINE_DIR`
-    wget -c $READLINE_BIN_URL -P $DOWNLOAD_DIR
-    wget -c $READLINE_LIB_URL -P $DOWNLOAD_DIR
-    mkdir -p $READLINE_DIR
-    unzip $DOWNLOAD_DIR/readline-*-bin.zip -d $READLINE_DIR
-    unzip $DOWNLOAD_DIR/readline-*-lib.zip -d $READLINE_DIR
     add_to_env -I$_READLINE_UDIR/include READLINE_CPPFLAGS
     add_to_env -L$_READLINE_UDIR/lib READLINE_LDFLAGS
     add_to_env $_READLINE_UDIR/bin PATH
-    ld $READLINE_LDFLAGS -lreadline -o tmp && rm tmp || die "readline not installed correctly"
+    quiet ld $READLINE_LDFLAGS -lreadline -o tmp
+    if [ $? = 0 ] ; then
+        echo "readline already installed.  skipping."
+    else
+        wget -c $READLINE_BIN_URL -P $DOWNLOAD_DIR
+        wget -c $READLINE_LIB_URL -P $DOWNLOAD_DIR
+        mkdir -p $READLINE_DIR
+        unzip $DOWNLOAD_DIR/readline-*-bin.zip -d $READLINE_DIR
+        unzip $DOWNLOAD_DIR/readline-*-lib.zip -d $READLINE_DIR
+    fi
+    rm -f tmp
+    quiet ld $READLINE_LDFLAGS -lreadline -o tmp && rm tmp || die "readline not installed correctly"
 }
 
 function inst_indent() {
     setup Indent
     _INDENT_UDIR=`unix_path $INDENT_DIR`
-    wget -c $INDENT_BIN_URL -P $DOWNLOAD_DIR
-    mkdir -p $INDENT_DIR
-    unzip $DOWNLOAD_UDIR/indent-*-bin.zip -d $INDENT_DIR
     add_to_env $_INDENT_UDIR/bin PATH
+    quiet which indent
+    if [ $? = 0 ] ; then
+        echo "indent already installed.  skipping."
+    else
+        wget -c $INDENT_BIN_URL -P $DOWNLOAD_DIR
+        mkdir -p $INDENT_DIR
+        unzip $DOWNLOAD_UDIR/indent-*-bin.zip -d $INDENT_DIR
+    fi
     quiet which indent || die "indent unavailable"
 }
 
@@ -172,63 +211,69 @@
     setup Guile
     _GUILE_WFSDIR=`win_fs_path $GUILE_DIR`
     _GUILE_UDIR=`unix_path $GUILE_DIR`
-    wget -c $GUILE_URL -P $DOWNLOAD_DIR
-    wget -c $SLIB_URL -P $DOWNLOAD_DIR
-    tar -xzpf $DOWNLOAD_UDIR/guile-*.tar.gz -C $TMP_UDIR
-    qpushd $TMP_UDIR/guile-*
-    qpushd ice-9
-    cp boot-9.scm boot-9.scm.bak
-    cat boot-9.scm.bak | sed '/SIGBUS/d' > boot-9.scm
-    qpopd
-    qpushd libguile
-    cp fports.c fports.c.bak
-    cat fports.c.bak | sed 's,#elif defined (FIONREAD),#elif 0,' > fports.c
-    cp load.c load.c.bak
-    cat load.c.bak | sed '/scan !=/s,:,;,' > load.c
-    qpopd
-    qpushd libguile-ltdl
-    cp raw-ltdl.c raw-ltdl.c.bak
-    cat raw-ltdl.c.bak | sed 's,\(SCMLTSTATIC\) LT_GLOBAL_DATA,\1,' > raw-ltdl.c
-    touch upstream/ltdl.c.diff
-    qpopd
-    ./configure \
-	--disable-elisp \
-	--disable-networking \
-	--disable-dependency-tracking \
-	--disable-libtool-lock \
-	--disable-linuxthreads \
-	-C --prefix=$_GUILE_WFSDIR \
-	ac_cv_func_regcomp_rx=yes \
-	CPPFLAGS="${READLINE_CPPFLAGS} ${REGEX_CPPFLAGS}" \
-	LDFLAGS="-lwsock32 ${READLINE_LDFLAGS} ${REGEX_LDFLAGS} -lregex"
-   cp config.status config.status.bak
-   cat config.status.bak | sed 's# fileblocks[$.A-Za-z]*,#,#' > config.status
-   ./config.status
-    for file in {srfi,libguile-ltdl,libguile}/Makefile; do
-	cp $file $file.bak
-	cat $file.bak | sed '/^lib.*LDFLAGS =/s,\(\\*\)$, -no-undefined \1,' > $file
-    done
-    qpushd guile-config
-    cp Makefile Makefile.bak
-    cat Makefile.bak | sed '/-bindir-/s,:,^,g' > Makefile
-    qpopd
-    make
-    make install
-    qpopd
-    qpushd $GUILE_DIR/bin
-    mv libguilereadline-v-12-12.dll libguilereadline-v-12.dll
-    mv libguile-srfi-srfi-4-v-1-1.dll libguile-srfi-srfi-4-v-1.dll
-    mv libguile-srfi-srfi-13-14-v-1-1.dll libguile-srfi-srfi-13-14-v-1.dll
-    qpopd
-    _SLIB_DIR=$GUILE_DIR\\share\\guile\\site
-    mkdir -p $_SLIB_DIR
-    unzip $DOWNLOAD_DIR/slib*.zip -d $_SLIB_DIR
-    qpushd $_SLIB_DIR/slib
-    cp guile.init guile.init.bak
-    echo "(define software-type (lambda () 'MS-DOS))" >> guile.init
-    qpopd
     add_to_env $_GUILE_UDIR/bin PATH
     add_to_env $_GUILE_WFSDIR/share/guile/site/slib/ SCHEME_LIBRARY_PATH
+    quiet guile -c '(use-modules (srfi srfi-39))' &&
+    quiet guile -c "(use-modules (ice-9 slib)) (require 'printf)"
+    if [ $? = 0 ] ; then
+        echo "guile and slib already installed.  skipping.
+    else
+        wget -c $GUILE_URL -P $DOWNLOAD_DIR
+        wget -c $SLIB_URL -P $DOWNLOAD_DIR
+        tar -xzpf $DOWNLOAD_UDIR/guile-*.tar.gz -C $TMP_UDIR
+        qpushd $TMP_UDIR/guile-*
+            qpushd ice-9
+                cp boot-9.scm boot-9.scm.bak
+                cat boot-9.scm.bak | sed '/SIGBUS/d' > boot-9.scm
+            qpopd
+            qpushd libguile
+                cp fports.c fports.c.bak
+                cat fports.c.bak | sed 's,#elif defined (FIONREAD),#elif 0,' > fports.c
+                cp load.c load.c.bak
+                cat load.c.bak | sed '/scan !=/s,:,;,' > load.c
+            qpopd
+            qpushd libguile-ltdl
+                cp raw-ltdl.c raw-ltdl.c.bak
+                cat raw-ltdl.c.bak | sed 's,\(SCMLTSTATIC\) LT_GLOBAL_DATA,\1,' > raw-ltdl.c
+                touch upstream/ltdl.c.diff
+            qpopd
+            ./configure \
+	        --disable-elisp \
+	        --disable-networking \
+	        --disable-dependency-tracking \
+	        --disable-libtool-lock \
+	        --disable-linuxthreads \
+	        -C --prefix=$_GUILE_WFSDIR \
+	        ac_cv_func_regcomp_rx=yes \
+	        CPPFLAGS="${READLINE_CPPFLAGS} ${REGEX_CPPFLAGS}" \
+	        LDFLAGS="-lwsock32 ${READLINE_LDFLAGS} ${REGEX_LDFLAGS} -lregex"
+	    cp config.status config.status.bak
+	    cat config.status.bak | sed 's# fileblocks[$.A-Za-z]*,#,#' > config.status
+	    ./config.status
+	    for file in {srfi,libguile-ltdl,libguile}/Makefile; do
+	        cp $file $file.bak
+	        cat $file.bak | sed '/^lib.*LDFLAGS =/s,\(\\*\)$, -no-undefined \1,' > $file
+	    done
+	    qpushd guile-config
+	      cp Makefile Makefile.bak
+	      cat Makefile.bak | sed '/-bindir-/s,:,^,g' > Makefile
+	    qpopd
+	    make
+	    make install
+	qpopd
+	qpushd $GUILE_DIR/bin
+	    mv libguilereadline-v-12-12.dll libguilereadline-v-12.dll
+	    mv libguile-srfi-srfi-4-v-1-1.dll libguile-srfi-srfi-4-v-1.dll
+	    mv libguile-srfi-srfi-13-14-v-1-1.dll libguile-srfi-srfi-13-14-v-1.dll
+	qpopd
+	_SLIB_DIR=$GUILE_DIR\\share\\guile\\site
+	mkdir -p $_SLIB_DIR
+	unzip $DOWNLOAD_DIR/slib*.zip -d $_SLIB_DIR
+	qpushd $_SLIB_DIR/slib
+	    cp guile.init guile.init.bak
+	    echo "(define software-type (lambda () 'MS-DOS))" >> guile.init
+	qpopd
+    fi
     add_to_env "-I $_GUILE_UDIR/share/aclocal" ACLOCAL_FLAGS
     guile -c '(use-modules (srfi srfi-39))' &&
     guile -c "(use-modules (ice-9 slib)) (require 'printf)" || die "guile not installed correctly"
@@ -236,16 +281,21 @@
 
 function inst_glade() {
     setup Glade
-    wget -c $GLADE_URL -P $DOWNLOAD_DIR
-    echo "!!! The path must be: $GLADE_DIR !!!"
-    $DOWNLOAD_UDIR/gtk-win32-devel-*.exe
-    qpushd $GLADE_DIR\\lib\\pkgconfig
-    cp cairo.pc cairo.pc.bak
-    cat cairo.pc.bak | sed 's,libpng12,libpng13,' > cairo.pc
-    qpopd
-    qpushd $GLADE_DIR\\bin
-    cp intl.dll libintl-2.dll
-    qpopd
+    quiet pkg-config --exists glib-2.0 gtk+-2.0
+    echo [ $? = 0 ] ; then
+        echo "glade already installed.  skipping."
+    else
+        wget -c $GLADE_URL -P $DOWNLOAD_DIR
+	echo "!!! The path must be: $GLADE_DIR !!!"
+	$DOWNLOAD_UDIR/gtk-win32-devel-*.exe
+	qpushd $GLADE_DIR\\lib\\pkgconfig
+	    cp cairo.pc cairo.pc.bak
+	    cat cairo.pc.bak | sed 's,libpng12,libpng13,' > cairo.pc
+	qpopd
+	qpushd $GLADE_DIR\\bin
+	    cp intl.dll libintl-2.dll
+	qpopd
+    fi
     pkg-config --exists glib-2.0 gtk+-2.0 || die "glade not installed correctly"
 }
 
@@ -253,37 +303,42 @@
     setup G-Wrap
     _GWRAP_WFSDIR=`win_fs_path $GWRAP_DIR`
     _GWRAP_UDIR=`unix_path $GWRAP_DIR`
-    wget -c $GWRAP_URL -P $DOWNLOAD_DIR
-    tar -xzpf $DOWNLOAD_UDIR/g-wrap-*.tar.gz -C $TMP_UDIR
-    qpushd $TMP_UDIR/g-wrap-*
-    qpushd g-wrap
-    cp core-runtime.c core-runtime.c.bak
-    cat core-runtime.c.bak | sed '/vasprintf/d' > core-runtime.c
-    qpopd
-    cp configure configure.bak
-    cat configure.bak | sed 's,"glib","glib-2.0",g' > configure
-    ./configure \
-	--prefix=$_GWRAP_WFSDIR \
-	LDFLAGS="-no-undefined"
-    qpushd guile/g-wrap/gw
-    cp Makefile Makefile.bak
-    cat Makefile.bak | sed '/^libgw_guile_standard_la_LIBADD/s,$, ../../../libffi/libffi.la ../../../g-wrap/libgwrap-core-runtime.la,;/libgw_guile_gw_glib_la_LIBADD/s,$, ../../../g-wrap/libgwrap-core-runtime.la,' > Makefile
-    make standard.c gw-glib.c
-    cp standard.scm standard.scm.bak
-    cat standard.scm.bak | sed -c 's,\(libgw-guile-standard\),../lib/\1-0,' > standard.scm
-    cp gw-glib.scm gw-glib.scm.bak
-    cat gw-glib.scm.bak | sed -c 's,\(libgw-guile-gw-glib\),../lib/\1-0,' > gw-glib.scm
-    qpopd
-    qpushd guile/test
-    cp Makefile Makefile.bak
-    cat Makefile.bak | sed '/^std_libs/s,\\$, ../../libffi/libffi.la \\,' > Makefile
-    qpopd
-    make
-    make install
-    qpopd
     add_to_env $_GWRAP_UDIR/bin PATH
+    add_to_env $_GWRAP_WFSDIR/share/guile/site GUILE_LOAD_PATH
+    quiet g-wrap-config --version
+    if [ $? = 0 ] ; then
+        echo "g-wrap already installed.  skipping."
+    else
+        wget -c $GWRAP_URL -P $DOWNLOAD_DIR
+        tar -xzpf $DOWNLOAD_UDIR/g-wrap-*.tar.gz -C $TMP_UDIR
+        qpushd $TMP_UDIR/g-wrap-*
+            qpushd g-wrap
+                cp core-runtime.c core-runtime.c.bak
+                cat core-runtime.c.bak | sed '/vasprintf/d' > core-runtime.c
+            qpopd
+            cp configure configure.bak
+            cat configure.bak | sed 's,"glib","glib-2.0",g' > configure
+            ./configure \
+	        --prefix=$_GWRAP_WFSDIR \
+	        LDFLAGS="-no-undefined"
+            qpushd guile/g-wrap/gw
+                cp Makefile Makefile.bak
+                cat Makefile.bak | sed '/^libgw_guile_standard_la_LIBADD/s,$, ../../../libffi/libffi.la ../../../g-wrap/libgwrap-core-runtime.la,;/libgw_guile_gw_glib_la_LIBADD/s,$, ../../../g-wrap/libgwrap-core-runtime.la,' > Makefile
+                make standard.c gw-glib.c
+                cp standard.scm standard.scm.bak
+                cat standard.scm.bak | sed -c 's,\(libgw-guile-standard\),../lib/\1-0,' > standard.scm
+                cp gw-glib.scm gw-glib.scm.bak
+                cat gw-glib.scm.bak | sed -c 's,\(libgw-guile-gw-glib\),../lib/\1-0,' > gw-glib.scm
+            qpopd
+            qpushd guile/test
+                cp Makefile Makefile.bak
+                cat Makefile.bak | sed '/^std_libs/s,\\$, ../../libffi/libffi.la \\,' > Makefile
+            qpopd
+            make
+            make install
+        qpopd
+    fi    
     add_to_env $_GWRAP_UDIR/lib/pkgconfig PKG_CONFIG_PATH
-    add_to_env $_GWRAP_WFSDIR/share/guile/site GUILE_LOAD_PATH
     guile -c '(use-modules (srfi srfi-39))' &&
     quiet g-wrap-config --version || die "g-wrap not installed correctly"
 }
@@ -291,55 +346,62 @@
 function inst_gnome() {
     setup Gnome platform
     _GNOME_UDIR=`unix_path $GNOME_DIR`
-    wget -c $INTLTOOL_URL -P $DOWNLOAD_DIR
-    wget -c $ORBIT2_URL -P $DOWNLOAD_DIR
-    wget -c $ORBIT2_DEV_URL -P $DOWNLOAD_DIR
-    wget -c $GCONF_URL -P $DOWNLOAD_DIR
-    wget -c $GCONF_DEV_URL -P $DOWNLOAD_DIR
-    wget -c $LIBBONOBO_URL -P $DOWNLOAD_DIR
-    wget -c $LIBBONOBO_DEV_URL -P $DOWNLOAD_DIR
-    wget -c $GNOME_VFS_URL -P $DOWNLOAD_DIR
-    wget -c $GNOME_VFS_DEV_URL -P $DOWNLOAD_DIR
-    wget -c $LIBGNOME_URL -P $DOWNLOAD_DIR
-    wget -c $LIBGNOME_DEV_URL -P $DOWNLOAD_DIR
-    wget -c $LIBGNOMECANVAS_URL -P $DOWNLOAD_DIR
-    wget -c $LIBGNOMECANVAS_DEV_URL -P $DOWNLOAD_DIR
-    wget -c $LIBBONOBOUI_URL -P $DOWNLOAD_DIR
-    wget -c $LIBBONOBOUI_DEV_URL -P $DOWNLOAD_DIR
-    wget -c $LIBGNOMEUI_URL -P $DOWNLOAD_DIR
-    wget -c $LIBGNOMEUI_DEV_URL -P $DOWNLOAD_DIR
-    wget -c $LIBGNOMEPRINT_URL -P $DOWNLOAD_DIR
-    wget -c $LIBGNOMEPRINT_DEV_URL -P $DOWNLOAD_DIR
-    wget -c $LIBGNOMEPRINTUI_URL -P $DOWNLOAD_DIR
-    wget -c $LIBGNOMEPRINTUI_DEV_URL -P $DOWNLOAD_DIR
-    wget -c $GTKHTML_URL -P $DOWNLOAD_DIR
-    wget -c $GTKHTML_DEV_URL -P $DOWNLOAD_DIR
-    mkdir -p $GNOME_DIR
-    unzip $DOWNLOAD_UDIR/intltool-*.zip -d $GNOME_DIR
-    unzip $DOWNLOAD_UDIR/ORBit2-[^d]*.zip -d $GNOME_DIR
-    unzip $DOWNLOAD_UDIR/ORBit2-dev-*.zip -d $GNOME_DIR
-    unzip $DOWNLOAD_UDIR/GConf-[^d]*.zip -d $GNOME_DIR
-    unzip $DOWNLOAD_UDIR/GConf-dev-*.zip -d $GNOME_DIR
-    unzip $DOWNLOAD_UDIR/libbonobo-[^d]*.zip -d $GNOME_DIR
-    unzip $DOWNLOAD_UDIR/libbonobo-dev-*.zip -d $GNOME_DIR
-    unzip $DOWNLOAD_UDIR/gnome-vfs-[^d]*.zip -d $GNOME_DIR
-    unzip $DOWNLOAD_UDIR/gnome-vfs-dev-*.zip -d $GNOME_DIR
-    unzip $DOWNLOAD_UDIR/libgnome-[^d]*.zip -d $GNOME_DIR
-    unzip $DOWNLOAD_UDIR/libgnome-dev-*.zip -d $GNOME_DIR
-    unzip $DOWNLOAD_UDIR/libgnomecanvas-[^d]*.zip -d $GNOME_DIR
-    unzip $DOWNLOAD_UDIR/libgnomecanvas-dev-*.zip -d $GNOME_DIR
-    unzip $DOWNLOAD_UDIR/libbonoboui-[^d]*.zip -d $GNOME_DIR
-    unzip $DOWNLOAD_UDIR/libbonoboui-dev-*.zip -d $GNOME_DIR
-    unzip $DOWNLOAD_UDIR/libgnomeui-[^d]*.zip -d $GNOME_DIR
-    unzip $DOWNLOAD_UDIR/libgnomeui-dev-*.zip -d $GNOME_DIR
-    unzip $DOWNLOAD_UDIR/libgnomeprint-[^d]*.zip -d $GNOME_DIR
-    unzip $DOWNLOAD_UDIR/libgnomeprint-dev-*.zip -d $GNOME_DIR
-    unzip $DOWNLOAD_UDIR/libgnomeprintui-[^d]*.zip -d $GNOME_DIR
-    unzip $DOWNLOAD_UDIR/libgnomeprintui-dev-*.zip -d $GNOME_DIR
-    unzip $DOWNLOAD_UDIR/gtkhtml-[^d]*.zip -d $GNOME_DIR
-    unzip $DOWNLOAD_UDIR/gtkhtml-dev-*.zip -d $GNOME_DIR
     add_to_env $_GNOME_UDIR/bin PATH
     add_to_env $_GNOME_UDIR/lib/pkgconfig PKG_CONFIG_PATH
+    quiet gconftool-2 --version &&
+    pkg-config --exists gconf-2.0 libgnome-2.0 libgnomeui-2.0 libgnomeprint-2.2 libgnomeprintui-2.2 libgtkhtml-3.8 &&
+    quiet intltoolize --version
+    if [ $? = 0 ] ; then
+        echo "gnome packages installed.  skipping."
+    else
+        mkdir -p $GNOME_DIR
+	wget -c $INTLTOOL_URL -P $DOWNLOAD_DIR
+	wget -c $ORBIT2_URL -P $DOWNLOAD_DIR
+	wget -c $ORBIT2_DEV_URL -P $DOWNLOAD_DIR
+	wget -c $GCONF_URL -P $DOWNLOAD_DIR
+	wget -c $GCONF_DEV_URL -P $DOWNLOAD_DIR
+	wget -c $LIBBONOBO_URL -P $DOWNLOAD_DIR
+	wget -c $LIBBONOBO_DEV_URL -P $DOWNLOAD_DIR
+	wget -c $GNOME_VFS_URL -P $DOWNLOAD_DIR
+	wget -c $GNOME_VFS_DEV_URL -P $DOWNLOAD_DIR
+	wget -c $LIBGNOME_URL -P $DOWNLOAD_DIR
+	wget -c $LIBGNOME_DEV_URL -P $DOWNLOAD_DIR
+	wget -c $LIBGNOMECANVAS_URL -P $DOWNLOAD_DIR
+	wget -c $LIBGNOMECANVAS_DEV_URL -P $DOWNLOAD_DIR
+	wget -c $LIBBONOBOUI_URL -P $DOWNLOAD_DIR
+	wget -c $LIBBONOBOUI_DEV_URL -P $DOWNLOAD_DIR
+	wget -c $LIBGNOMEUI_URL -P $DOWNLOAD_DIR
+	wget -c $LIBGNOMEUI_DEV_URL -P $DOWNLOAD_DIR
+	wget -c $LIBGNOMEPRINT_URL -P $DOWNLOAD_DIR
+	wget -c $LIBGNOMEPRINT_DEV_URL -P $DOWNLOAD_DIR
+	wget -c $LIBGNOMEPRINTUI_URL -P $DOWNLOAD_DIR
+	wget -c $LIBGNOMEPRINTUI_DEV_URL -P $DOWNLOAD_DIR
+	wget -c $GTKHTML_URL -P $DOWNLOAD_DIR
+	wget -c $GTKHTML_DEV_URL -P $DOWNLOAD_DIR
+	unzip $DOWNLOAD_UDIR/intltool-*.zip -d $GNOME_DIR
+	unzip $DOWNLOAD_UDIR/ORBit2-[^d]*.zip -d $GNOME_DIR
+	unzip $DOWNLOAD_UDIR/ORBit2-dev-*.zip -d $GNOME_DIR
+	unzip $DOWNLOAD_UDIR/GConf-[^d]*.zip -d $GNOME_DIR
+	unzip $DOWNLOAD_UDIR/GConf-dev-*.zip -d $GNOME_DIR
+	unzip $DOWNLOAD_UDIR/libbonobo-[^d]*.zip -d $GNOME_DIR
+	unzip $DOWNLOAD_UDIR/libbonobo-dev-*.zip -d $GNOME_DIR
+	unzip $DOWNLOAD_UDIR/gnome-vfs-[^d]*.zip -d $GNOME_DIR
+	unzip $DOWNLOAD_UDIR/gnome-vfs-dev-*.zip -d $GNOME_DIR
+	unzip $DOWNLOAD_UDIR/libgnome-[^d]*.zip -d $GNOME_DIR
+	unzip $DOWNLOAD_UDIR/libgnome-dev-*.zip -d $GNOME_DIR
+	unzip $DOWNLOAD_UDIR/libgnomecanvas-[^d]*.zip -d $GNOME_DIR
+	unzip $DOWNLOAD_UDIR/libgnomecanvas-dev-*.zip -d $GNOME_DIR
+	unzip $DOWNLOAD_UDIR/libbonoboui-[^d]*.zip -d $GNOME_DIR
+	unzip $DOWNLOAD_UDIR/libbonoboui-dev-*.zip -d $GNOME_DIR
+	unzip $DOWNLOAD_UDIR/libgnomeui-[^d]*.zip -d $GNOME_DIR
+	unzip $DOWNLOAD_UDIR/libgnomeui-dev-*.zip -d $GNOME_DIR
+	unzip $DOWNLOAD_UDIR/libgnomeprint-[^d]*.zip -d $GNOME_DIR
+	unzip $DOWNLOAD_UDIR/libgnomeprint-dev-*.zip -d $GNOME_DIR
+	unzip $DOWNLOAD_UDIR/libgnomeprintui-[^d]*.zip -d $GNOME_DIR
+	unzip $DOWNLOAD_UDIR/libgnomeprintui-dev-*.zip -d $GNOME_DIR
+	unzip $DOWNLOAD_UDIR/gtkhtml-[^d]*.zip -d $GNOME_DIR
+	unzip $DOWNLOAD_UDIR/gtkhtml-dev-*.zip -d $GNOME_DIR
+    fi
     add_to_env "-I $_GNOME_UDIR/share/aclocal" ACLOCAL_FLAGS
     quiet gconftool-2 --version &&
     pkg-config --exists gconf-2.0 libgnome-2.0 libgnomeui-2.0 libgnomeprint-2.2 libgnomeprintui-2.2 libgtkhtml-3.8 &&
@@ -349,28 +411,33 @@
 function inst_autotools() {
     setup Autotools
     _AUTOTOOLS_UDIR=`unix_path $AUTOTOOLS_DIR`
-    wget -c $AUTOCONF_URL -P $DOWNLOAD_DIR
-    wget -c $AUTOMAKE_URL -P $DOWNLOAD_DIR
-    wget -c $LIBTOOL_URL -P $DOWNLOAD_DIR
     add_to_env $_AUTOTOOLS_UDIR/bin PATH
-    tar -xjpf $DOWNLOAD_UDIR/autoconf-*.tar.bz2 -C $TMP_UDIR
-    qpushd $TMP_UDIR/autoconf-*
-   ./configure --prefix=$_AUTOTOOLS_UDIR
-    make
-    make install
-    qpopd
-    tar -xjpf $DOWNLOAD_UDIR/automake-*.tar.bz2 -C $TMP_UDIR
-    qpushd $TMP_UDIR/automake-*
-    ./configure --prefix=$_AUTOTOOLS_UDIR
-    make
-    make install
-    qpopd
-    tar -xzpf $DOWNLOAD_UDIR/libtool-*.tar.gz -C $TMP_UDIR
-    qpushd $TMP_UDIR/libtool-*
-    ./configure --prefix=$_AUTOTOOLS_UDIR
-    make
-    make install
-    qpopd
+    quiet autoconf --help && quiet automake --help && quiet libtool --help 
+    if [ $? = 0 ] ; then
+        echo "auto tools already installed.  skipping."
+    else
+        wget -c $AUTOCONF_URL -P $DOWNLOAD_DIR
+        wget -c $AUTOMAKE_URL -P $DOWNLOAD_DIR
+        wget -c $LIBTOOL_URL -P $DOWNLOAD_DIR
+        tar -xjpf $DOWNLOAD_UDIR/autoconf-*.tar.bz2 -C $TMP_UDIR
+        qpushd $TMP_UDIR/autoconf-*
+           ./configure --prefix=$_AUTOTOOLS_UDIR
+            make
+            make install
+        qpopd
+        tar -xjpf $DOWNLOAD_UDIR/automake-*.tar.bz2 -C $TMP_UDIR
+        qpushd $TMP_UDIR/automake-*
+            ./configure --prefix=$_AUTOTOOLS_UDIR
+            make
+            make install
+        qpopd
+        tar -xzpf $DOWNLOAD_UDIR/libtool-*.tar.gz -C $TMP_UDIR
+        qpushd $TMP_UDIR/libtool-*
+            ./configure --prefix=$_AUTOTOOLS_UDIR
+            make
+            make install
+        qpopd
+    fi
     add_to_env -I$_AUTOTOOLS_UDIR/include AUTOTOOLS_CPPFLAGS
     add_to_env -L$_AUTOTOOLS_UDIR/lib AUTOTOOLS_LDFLAGS
     add_to_env "-I $_AUTOTOOLS_UDIR/share/aclocal" ACLOCAL_FLAGS
@@ -382,10 +449,15 @@
 function inst_svn() {
     setup Subversion
     _SVN_UDIR=`unix_path $SVN_DIR`
-    wget -c $SVN_URL -P $DOWNLOAD_DIR
-    echo "!!! The path must be: $SVN_DIR !!!"
-    $DOWNLOAD_UDIR/svn-*.exe
     export PATH="$_SVN_UDIR/bin:$PATH"
+    quiet svn --version
+    if [ $? = 0 ] ; then
+        echo "subversion already installed.  skipping."
+    else
+        wget -c $SVN_URL -P $DOWNLOAD_DIR
+        echo "!!! The path must be: $SVN_DIR !!!"
+        $DOWNLOAD_UDIR/svn-*.exe
+    fi
 }
 
 function svn_up() {



More information about the gnucash-changes mailing list