r16005 - gnucash/branches/gda-dev/packaging/win32 - Forgot 2 files
Phil Longstaff
plongstaff at cvs.gnucash.org
Fri Apr 27 23:05:28 EDT 2007
Author: plongstaff
Date: 2007-04-27 23:05:27 -0400 (Fri, 27 Apr 2007)
New Revision: 16005
Trac: http://svn.gnucash.org/trac/changeset/16005
Added:
gnucash/branches/gda-dev/packaging/win32/defaults.sh
gnucash/branches/gda-dev/packaging/win32/functions.sh
Log:
Forgot 2 files
Added: gnucash/branches/gda-dev/packaging/win32/defaults.sh
===================================================================
--- gnucash/branches/gda-dev/packaging/win32/defaults.sh 2007-04-28 03:03:37 UTC (rev 16004)
+++ gnucash/branches/gda-dev/packaging/win32/defaults.sh 2007-04-28 03:05:27 UTC (rev 16005)
@@ -0,0 +1,313 @@
+#!/bin/sh # for emacs
+#
+# Instead of just editing this file, it is recommended to create a file `custom.sh'
+# in the same directory that will be read in at the beginning of this script.
+#
+# You can use the full power of bash 2.04 scripting. In particular, you can
+# set any variable mentioned here to something non-empty and it will not be
+# overridden later. However, you must define all variables you make use of
+# yourself. Expressions registered with late_eval are executed at the end of
+# the script.
+#
+# Steps will be executed in the order they were added. They can only be added
+# at most once if they have not been blocked already (adding implies blocking).
+# To add a custom step <s>, just implement "function <s>()". Keep in mind that
+# blocking or reordering may render install.sh & friends non-functional.
+#
+# Note: All directories must be without spaces!
+#
+# Here is an example custom.sh file:
+#
+# REPOS_URL="svn+ssh://<dev>@svn.gnucash.org/repo/gnucash/trunk"
+# SF_MIRROR="http://switch.dl.sourceforge.net/sourceforge"
+# DISABLE_OPTIMIZATIONS=yes
+# AQBANKING_WITH_QT=no
+# GLOBAL_DIR=Z:\\mydir # all directories will use this
+# late_eval 'INSTALL_DIR=$GNUCASH_DIR\\myinst' # no need to define GNUCASH_DIR
+# block_step inst_docs
+# late_eval 'add_step greetings'
+# function greetings() { setup Greetings; }
+
+
+[ "$__SOURCED_DEFAULTS" ] && return
+__SOURCED_DEFAULTS=1
+
+[ -f "custom.sh" ] && . custom.sh || true
+
+set_default GLOBAL_DIR c:\\soft
+set_default TMP_DIR $GLOBAL_DIR\\tmp
+set_default DOWNLOAD_DIR $GLOBAL_DIR\\downloads
+
+if [ -z "$BUILD_FROM_TARBALL" ]; then
+ if [ -f "../../src/swig-runtime.h" ]; then
+ BUILD_FROM_TARBALL=yes
+ else
+ BUILD_FROM_TARBALL=no
+ fi
+fi
+
+if [ "$BUILD_FROM_TARBALL" = "yes" ]; then
+ UPDATE_SOURCES=no
+ set_default GNUCASH_DIR "$(wpwd ..\\..)"
+ set_default REPOS_DIR $GNUCASH_DIR
+ # keep this pointing from BUILD_DIR to REPOS_DIR
+ set_default REL_REPOS_DIR ..
+ set_default BUILD_DIR $GNUCASH_DIR\\build
+ set_default INSTALL_DIR $GNUCASH_DIR\\inst
+else
+ # change this to "no" if you are using install.sh from the same repository checkout
+ set_default UPDATE_SOURCES yes
+ set_default GNUCASH_DIR $GLOBAL_DIR\\gnucash
+ set_default REPOS_URL "http://svn.gnucash.org/repo/gnucash/trunk"
+ set_default REPOS_DIR $GNUCASH_DIR\\repos
+ # keep this pointing from BUILD_DIR to REPOS_DIR
+ set_default REL_REPOS_DIR ..\\repos
+ set_default BUILD_DIR $GNUCASH_DIR\\build
+ set_default INSTALL_DIR $GNUCASH_DIR\\inst
+fi
+
+
+####
+# For cross-compiling, change this to "yes"
+set_default cross_compile "no"
+
+if test "x$cross_compile" != xyes ; then
+ LIBTOOLIZE=libtoolize
+ HOST_XCOMPILE=""
+ TARGET_XCOMPILE=""
+ LD=ld
+ CC=gcc
+ DLLTOOL=dlltool
+else
+ # Insert your cross-compiler mingw32 bin-directories here
+ PATH=$GLOBAL_DIR/bin:$GLOBAL_DIR/mingw32/bin:$PATH
+ LIBTOOLIZE=$GLOBAL_DIR/autotools/bin/libtoolize
+ PKG_CONFIG_PATH="" # to avoid using the host's installed packages
+ HOST_XCOMPILE="--host=mingw32"
+ TARGET_XCOMPILE="--target=mingw32"
+ LD=mingw32-ld
+ CC=mingw32-gcc
+ DLLTOOL=mingw32-dlltool
+fi
+####
+
+# If "yes", build without optimizations (-O0) and ease debugging
+set_default DISABLE_OPTIMIZATIONS no
+
+set_default MSYS_DIR $GLOBAL_DIR\\msys
+
+# tools here means binaries runnable without other DLLs or data files
+set_default TOOLS_DIR $GLOBAL_DIR\\tools
+set_default WGET_DIR $TOOLS_DIR
+#WGET=
+
+set_default SF_MIRROR "http://heanet.dl.sourceforge.net/sourceforge"
+set_default GTK_MIRROR "ftp.gtk.org/pub"
+set_default GNOME_MIRROR "ftp.gnome.org/pub/gnome"
+set_default GNOME_WIN32_URL "$GNOME_MIRROR/binaries/win32"
+set_default GNOME_WIN32_DEPS_URL "$GNOME_WIN32_URL/dependencies"
+
+set_default DTK_URL "$SF_MIRROR/mingw/msysDTK-1.0.1.exe"
+
+set_default BINUTILS_URL "$SF_MIRROR/mingw/binutils-2.15.91-20040904-1.tar.gz"
+set_default GCC_CORE_URL "$SF_MIRROR/mingw/gcc-core-3.4.2-20040916-1.tar.gz"
+set_default GCC_GPP_URL "$SF_MIRROR/mingw/gcc-g++-3.4.2-20040916-1.tar.gz"
+set_default MINGW_RT_URL "$SF_MIRROR/mingw/mingw-runtime-3.12.tar.gz"
+set_default W32API_URL "$SF_MIRROR/mingw/w32api-3.9.tar.gz"
+set_default MINGW_MAKE_URL "$SF_MIRROR/mingw/mingw32-make-3.81-2.tar.gz"
+set_default MINGW_DIR $GLOBAL_DIR\\mingw
+
+set_default UNZIP_URL "$SF_MIRROR/gnuwin32/unzip-5.51-1.exe"
+set_default UNZIP_DIR $TOOLS_DIR
+
+# do not use regex-gnu or regex-spencer v3.8.g3, see bug #382852
+set_default REGEX_URL "$GNOME_WIN32_DEPS_URL/libgnurx-2.5.zip"
+set_default REGEX_DEV_URL "$GNOME_WIN32_DEPS_URL/libgnurx-dev-2.5.zip"
+set_default REGEX_DIR $GLOBAL_DIR\\regex
+
+set_default READLINE_BIN_URL "$SF_MIRROR/gnuwin32/readline-5.0-bin.zip"
+set_default READLINE_LIB_URL "$SF_MIRROR/gnuwin32/readline-5.0-lib.zip"
+set_default READLINE_DIR $GLOBAL_DIR\\readline
+
+set_default ACTIVE_PERL_URL "http://downloads.activestate.com/ActivePerl/Windows/5.6/ActivePerl-5.6.1.638-MSWin32-x86.zip"
+set_default ACTIVE_PERL_DIR $GLOBAL_DIR\\active-perl
+
+set_default AUTOCONF_URL "http://ftp.gnu.org/gnu/autoconf/autoconf-2.60.tar.bz2"
+set_default AUTOMAKE_URL "http://ftp.gnu.org/gnu/automake/automake-1.9.6.tar.bz2"
+set_default LIBTOOL_URL "http://ftp.gnu.org/gnu/libtool/libtool-1.5.22.tar.gz"
+set_default AUTOTOOLS_DIR $GLOBAL_DIR\\autotools
+
+set_default GUILE_URL "http://ftp.gnu.org/pub/gnu/guile/guile-1.6.8.tar.gz"
+set_default SLIB_URL "http://swiss.csail.mit.edu/ftpdir/scm/OLD/slib3a3.zip"
+set_default GUILE_DIR $GLOBAL_DIR\\guile
+
+set_default OPENSSL_URL "http://www.openssl.org/source/openssl-0.9.8e.tar.gz"
+set_default OPENSSL_DIR $GLOBAL_DIR\\openssl
+
+set_default MINGW_UTILS_URL "$SF_MIRROR/mingw/mingw-utils-0.3.tar.gz"
+set_default MINGW_UTILS_DIR $TOOLS_DIR
+
+set_default EXETYPE_SCRIPT `pwd`/exetype.pl
+set_default EXETYPE_DIR $TOOLS_DIR
+
+set_default LIBXML2_URL "http://www.zlatkovic.com/pub/libxml/libxml2-2.6.27.win32.zip"
+set_default LIBXSLT_URL "http://www.zlatkovic.com/pub/libxml/libxslt-1.1.19.win32.zip"
+set_default LIBXML2_DIR $GLOBAL_DIR\\gnome #avoid XML_FLAGS
+
+set_default GETTEXT_URL "$GNOME_WIN32_DEPS_URL/gettext-0.14.5.zip"
+set_default GETTEXT_DEV_URL "$GNOME_WIN32_DEPS_URL/gettext-dev-0.14.5.zip"
+set_default LIBICONV_URL "$GNOME_WIN32_DEPS_URL/libiconv-1.9.1.bin.woe32.zip"
+set_default GLIB_URL "$GNOME_WIN32_URL/glib/2.12/glib-2.12.11.zip"
+set_default GLIB_DEV_URL "$GNOME_WIN32_URL/glib/2.12/glib-dev-2.12.11.zip"
+set_default LIBJPEG_URL "$GNOME_WIN32_DEPS_URL/libjpeg-6b-4.zip"
+set_default LIBPNG_URL "$GTK_MIRROR/gtk/v2.10/win32/dependencies/libpng-1.2.8-bin.zip"
+set_default ZLIB_URL "$GTK_MIRROR/gtk/v2.10/win32/dependencies/zlib123-dll.zip"
+set_default PKG_CONFIG_URL "$GNOME_WIN32_DEPS_URL/pkg-config-0.20.zip"
+set_default CAIRO_URL "$GNOME_WIN32_DEPS_URL/cairo-1.4.2.zip"
+set_default CAIRO_DEV_URL "$GNOME_WIN32_DEPS_URL/cairo-dev-1.4.2.zip"
+set_default EXPAT_URL "$GNOME_WIN32_DEPS_URL/expat-2.0.0.zip"
+set_default FONTCONFIG_URL "$GNOME_WIN32_DEPS_URL/fontconfig-2.3.2-tml-20060825.zip"
+set_default FONTCONFIG_DEV_URL "$GNOME_WIN32_DEPS_URL/fontconfig-dev-2.3.2-tml-20060825.zip"
+set_default FREETYPE_URL "$GNOME_WIN32_DEPS_URL/freetype-2.2.1.zip"
+set_default FREETYPE_DEV_URL "$GNOME_WIN32_DEPS_URL/freetype-dev-2.2.1.zip"
+set_default ATK_URL "$GNOME_WIN32_URL/atk/1.12/atk-1.12.3.zip"
+set_default ATK_DEV_URL "$GNOME_WIN32_URL/atk/1.12/atk-dev-1.12.3.zip"
+set_default PANGO_URL "$GNOME_WIN32_URL/pango/1.16/pango-1.16.1.zip"
+set_default PANGO_DEV_URL "$GNOME_WIN32_URL/pango/1.16/pango-dev-1.16.1.zip"
+set_default LIBART_LGPL_URL "$GNOME_WIN32_URL/libart_lgpl/2.3/libart_lgpl-2.3.17.zip"
+set_default LIBART_LGPL_DEV_URL "$GNOME_WIN32_URL/libart_lgpl/2.3/libart_lgpl-dev-2.3.17.zip"
+set_default GTK_URL "$GNOME_WIN32_URL/gtk+/2.10/gtk+-2.10.11.zip"
+set_default GTK_DEV_URL "$GNOME_WIN32_URL/gtk+/2.10/gtk+-dev-2.10.11.zip"
+set_default INTLTOOL_URL "$GNOME_WIN32_URL/intltool/0.35/intltool-0.35.5.zip"
+set_default ORBIT2_URL "$GNOME_WIN32_URL/ORBit2/2.13/ORBit2-2.13.3.zip"
+set_default ORBIT2_DEV_URL "$GNOME_WIN32_URL/ORBit2/2.13/ORBit2-dev-2.13.3.zip"
+set_default GAIL_URL "$GNOME_WIN32_URL/gail/1.9/gail-1.9.3.zip"
+set_default GAIL_DEV_URL "$GNOME_WIN32_URL/gail/1.9/gail-dev-1.9.3.zip"
+set_default POPT_URL "$GNOME_WIN32_DEPS_URL/popt-1.10.2-tml-20050828.zip"
+set_default POPT_DEV_URL "$GNOME_WIN32_DEPS_URL/popt-dev-1.10.2-tml-20050828.zip"
+set_default GCONF_URL "$GNOME_WIN32_URL/GConf/2.14/GConf-2.14.0.zip"
+set_default GCONF_DEV_URL "$GNOME_WIN32_URL/GConf/2.14/GConf-dev-2.14.0.zip"
+set_default LIBBONOBO_URL "$GNOME_WIN32_URL/libbonobo/2.16/libbonobo-2.16.0.zip"
+set_default LIBBONOBO_DEV_URL "$GNOME_WIN32_URL/libbonobo/2.16/libbonobo-dev-2.16.0.zip"
+set_default GNOME_VFS_URL "$GNOME_WIN32_URL/gnome-vfs/2.14/gnome-vfs-2.14.2-no-openssl.zip"
+set_default GNOME_VFS_DEV_URL "$GNOME_WIN32_URL/gnome-vfs/2.14/gnome-vfs-dev-2.14.2-no-openssl.zip"
+set_default LIBGNOME_URL "$GNOME_WIN32_URL/libgnome/2.16/libgnome-2.16.0-1.zip"
+set_default LIBGNOME_DEV_URL "$GNOME_WIN32_URL/libgnome/2.16/libgnome-dev-2.16.0.zip"
+set_default LIBGNOMECANVAS_URL "$GNOME_WIN32_URL/libgnomecanvas/2.14/libgnomecanvas-2.14.0.zip"
+set_default LIBGNOMECANVAS_DEV_URL "$GNOME_WIN32_URL/libgnomecanvas/2.14/libgnomecanvas-dev-2.14.0.zip"
+set_default LIBBONOBOUI_URL "$GNOME_WIN32_URL/libbonoboui/2.16/libbonoboui-2.16.0.zip"
+set_default LIBBONOBOUI_DEV_URL "$GNOME_WIN32_URL/libbonoboui/2.16/libbonoboui-dev-2.16.0.zip"
+set_default LIBGNOMEUI_URL "$GNOME_WIN32_URL/libgnomeui/2.16/libgnomeui-2.16.0.zip"
+set_default LIBGNOMEUI_DEV_URL "$GNOME_WIN32_URL/libgnomeui/2.16/libgnomeui-dev-2.16.0.zip"
+set_default LIBGLADE_URL "$GNOME_WIN32_URL/libglade/2.6/libglade-2.6.0.zip"
+set_default LIBGLADE_DEV_URL "$GNOME_WIN32_URL/libglade/2.6/libglade-dev-2.6.0.zip"
+set_default LIBGNOMEPRINT_URL "$GNOME_WIN32_URL/libgnomeprint/2.12/libgnomeprint-2.12.1.zip"
+set_default LIBGNOMEPRINT_DEV_URL "$GNOME_WIN32_URL/libgnomeprint/2.12/libgnomeprint-dev-2.12.1.zip"
+set_default LIBGNOMEPRINTUI_URL "$GNOME_WIN32_URL/libgnomeprintui/2.12/libgnomeprintui-2.12.1.zip" # gnomeprint
+set_default LIBGNOMEPRINTUI_DEV_URL "$GNOME_WIN32_URL/libgnomeprintui/2.12/libgnomeprintui-dev-2.12.1.zip" # gnomeprint
+set_default GTKHTML_URL "$GNOME_WIN32_URL/gtkhtml/3.12/gtkhtml-3.12.2.zip" # gnomeprint
+set_default GTKHTML_DEV_URL "$GNOME_WIN32_URL/gtkhtml/3.12/gtkhtml-dev-3.12.2.zip" # gnomeprint
+#set_default GTKHTML_URL "$GNOME_WIN32_URL/gtkhtml/3.14/gtkhtml-3.14.0.zip" # not gnomeprint
+#set_default GTKHTML_DEV_URL "$GNOME_WIN32_URL/gtkhtml/3.14/gtkhtml-dev-3.14.0.zip" # not gnomeprint
+set_default GNOME_DIR $GLOBAL_DIR\\gnome
+
+set_default SWIG_URL "$SF_MIRROR/swig/swigwin-1.3.31.zip"
+set_default SWIG_DIR $GLOBAL_DIR\\swig
+
+set_default PCRE_BIN_URL "$SF_MIRROR/gnuwin32/pcre-6.4-1-bin.zip"
+set_default PCRE_LIB_URL "$SF_MIRROR/gnuwin32/pcre-6.4-1-lib.zip"
+set_default PCRE_DIR $GLOBAL_DIR\\pcre
+
+set_default LIBGSF_URL "$GNOME_MIRROR/sources/libgsf/1.14/libgsf-1.14.3.tar.bz2"
+set_default LIBGSF_DIR $GLOBAL_DIR\\libgsf
+
+set_default GOFFICE_URL "$GNOME_MIRROR/sources/goffice/0.3/goffice-0.3.7.tar.bz2"
+set_default GOFFICE_DIR $GLOBAL_DIR\\goffice
+set_default GOFFICE_PATCH `pwd`/goffice-0.3.7-patch.diff
+
+set_default GLADE_URL "$GNOME_MIRROR/sources/glade3/3.0/glade3-3.1.2.tar.bz2"
+set_default GLADE_DIR $GLOBAL_DIR\\glade
+
+set_default INNO_URL "http://files.jrsoftware.org/is/5/isetup-5.1.9.exe"
+set_default INNO_DIR $GLOBAL_DIR\\inno
+
+set_default HH_URL "http://download.microsoft.com/download/OfficeXPProf/Install/4.71.1015.0/W98NT42KMe/EN-US/HTMLHELP.EXE"
+set_default HH_DIR $GLOBAL_DIR\\hh
+
+set_default SVN_URL "http://subversion.tigris.org/files/documents/15/35379/svn-1.4.2-setup.exe"
+set_default SVN_DIR $GLOBAL_DIR\\svn
+
+# OFX import in gnucash and ofx directconnect support for aqbanking
+set_default OPENSP_URL "$SF_MIRROR/openjade/OpenSP-1.5.2.tar.gz"
+set_default OPENSP_DIR $GLOBAL_DIR\\opensp
+set_default OPENSP_PATCH `pwd`/opensp-1.5.2-patch.diff
+
+set_default LIBOFX_URL "$SF_MIRROR/libofx/libofx-0.8.3.tar.gz"
+set_default LIBOFX_DIR $GLOBAL_DIR\\libofx
+set_default LIBOFX_PATCH `pwd`/libofx-0.8.3-patch.diff
+
+## online banking: gwenhywfar+aqbanking
+set_default GWENHYWFAR_URL "$SF_MIRROR/gwenhywfar/gwenhywfar-2.5.4.tar.gz"
+set_default GWENHYWFAR_DIR $GLOBAL_DIR\\gwenhywfar
+
+set_default KTOBLZCHECK_URL "$SF_MIRROR/ktoblzcheck/ktoblzcheck-1.13.tar.gz"
+# ktoblzcheck is being installed into GWENHYWFAR_DIR
+
+set_default AQBANKING_URL "$SF_MIRROR/aqbanking/aqbanking-2.2.9.tar.gz"
+set_default AQBANKING_DIR $GLOBAL_DIR\\aqbanking
+set_default AQBANKING_WITH_QT yes
+# If set to yes, download Qt from http://www.trolltech.com/developer/downloads/qt/windows,
+# install it and set QTDIR in custom.sh, like "QTDIR=/c/Qt/4.2.3".
+
+set_default DOCBOOK_XSL_URL "$SF_MIRROR/docbook/docbook-xsl-1.72.0.zip"
+set_default DOCS_URL "http://svn.gnucash.org/repo/gnucash-docs/trunk"
+set_default DOCS_DIR $GLOBAL_DIR\\gnucash-docs
+##
+
+# There is no reason to ever need to comment these out!
+# * commented out glade, as it is not needed to run gnucash
+if test x$cross_compile != xyes ; then
+ add_step inst_wget
+ add_step inst_dtk
+ add_step inst_mingw
+ add_step inst_unzip
+fi
+add_step inst_regex
+add_step inst_readline
+if test x$cross_compile != xyes ; then
+ add_step inst_active_perl
+fi
+add_step inst_autotools
+add_step inst_guile
+if test x$cross_compile != xyes ; then
+ add_step inst_svn
+ add_step inst_openssl
+fi
+add_step inst_mingwutils
+add_step inst_exetype
+add_step inst_libxml2
+add_step inst_gnome
+add_step inst_swig
+add_step inst_pcre
+add_step inst_libgsf
+add_step inst_goffice
+#add_step inst_glade
+add_step inst_opensp
+add_step inst_libofx
+## Online banking:
+add_step inst_gwenhywfar
+add_step inst_ktoblzcheck
+add_step inst_aqbanking
+##
+if test x$cross_compile != xyes ; then
+ add_step inst_inno
+ add_step inst_hh
+fi
+if test x$UPDATE_SOURCES = xyes ; then
+ add_step svn_up
+fi
+add_step inst_gnucash
+add_step inst_docs
+
+# run commands registered with late_eval
+eval_now
Added: gnucash/branches/gda-dev/packaging/win32/functions.sh
===================================================================
--- gnucash/branches/gda-dev/packaging/win32/functions.sh 2007-04-28 03:03:37 UTC (rev 16004)
+++ gnucash/branches/gda-dev/packaging/win32/functions.sh 2007-04-28 03:05:27 UTC (rev 16005)
@@ -0,0 +1,148 @@
+[ "$__SOURCED_FUNCTIONS" ] && return
+__SOURCED_FUNCTIONS=1
+
+function set_default() {
+ local _varname=$1; shift
+ if [ -z "`eval echo '"$'"$_varname"'"'`" ]; then
+ eval "$_varname"'="'"$*"'"'
+ fi
+}
+
+function block_step() { blocked_steps=("${blocked_steps[@]}" "$@"); }
+function add_step() {
+ while [ "$1" ]; do
+ _is_blocked=
+ for blocked in "${blocked_steps[@]}"; do
+ if [ "$blocked" = "$1" ]; then
+ _is_blocked=yes
+ break
+ fi
+ done
+ if [ "$_is_blocked" != "yes" ]; then
+ steps=("${steps[@]}" "$1")
+ block_step "$1"
+ fi
+ shift
+ done
+}
+
+function late_eval() { late_cmds=("${late_cmds[@]}" "$@"); }
+function eval_now() {
+ for cmd in "${late_cmds[@]}"; do
+ eval $cmd
+ done
+}
+
+function quiet() { "$@" &>/dev/null; }
+
+# c:/dir/sub
+function win_fs_path() { echo "$*" | sed 's,\\,/,g'; }
+
+# usage: wpwd [rel]
+# rel can be any relative path
+function wpwd() {
+ qpushd `unix_path "${1:-.}"`
+ pwd -W
+ qpopd
+}
+
+# usage: smart_wget URL DESTDIR
+function smart_wget() {
+ _FILE=`basename $1`
+ _DLD=`unix_path $2`
+
+ # If the file already exists in the download directory ($2)
+ # then don't do anything. But if it does NOT exist then
+ # download the file to the tmpdir and then when that completes
+ # move it to the dest dir.
+ if [ ! -f $_DLD/$_FILE ] ; then
+ wget --passive-ftp -c $1 -P $TMP_DIR
+ mv $TMP_UDIR/$_FILE $_DLD
+ fi
+ LAST_FILE=$_DLD/$_FILE
+}
+
+# usage: wget_unpacked URL DOWNLOAD_DIR UNPACK_DIR
+function wget_unpacked() {
+ smart_wget $1 $2
+ _UPD=`unix_path $3`
+ echo -n "Extracting ${LAST_FILE##*/} ... "
+ case $LAST_FILE in
+ *.zip) unzip -q -o $LAST_FILE -d $_UPD;;
+ *.tar.gz) tar -xzpf $LAST_FILE -C $_UPD;;
+ *.tar.bz2) tar -xjpf $LAST_FILE -C $_UPD;;
+ *) die "Cannot unpack file $LAST_FILE!";;
+ esac
+ echo "done"
+}
+
+function setup() {
+ echo
+ echo "############################################################"
+ echo "### $*"
+ echo "############################################################"
+}
+
+function die() {
+ echo
+ [ "$*" ] && echo "!!! $* !!!"
+ echo "!!! ABORTING !!!"
+ exit -1
+}
+
+# usage: register_env_var NAME SEPARATOR [DEFAULT]
+function register_env_var() {
+ [ $# -ge 2 -a $# -le 3 ] || die hard
+ eval "SEPS_$1"'="'"$2"'"'
+ if [ $# -eq 3 ]; then
+ eval "$1_BASE=$3"
+ else
+ eval "$1_BASE"'=$'"$1"
+ fi
+ eval "$1_ADDS="
+ eval export "$1"
+ ENV_VARS="$ENV_VARS $1"
+}
+ENV_VARS=
+
+# usage: add_to_env VALUE NAME
+function add_to_env() {
+ _SEP=`eval echo '"$'"SEPS_$2"'"'`
+ _ENV=`eval echo '"$'"$2"'"'`
+ _SED=`eval echo '"s#.*'"${_SEP}$1${_SEP}"'.*##"'`
+ _TEST=`echo "${_SEP}${_ENV}${_SEP}" | sed "${_SED}"`
+ if [ "$_TEST" ]; then
+ if [ "$_ENV" ]; then
+ eval "$2_ADDS"'="'"$1${_SEP}"'$'"$2_ADDS"'"'
+ else
+ eval "$2_ADDS"'="'"$1"'"'
+ fi
+ eval "$2"'="$'"$2_ADDS"'$'"$2_BASE"'"'
+ fi
+}
+
+# usage: set_env_or_die VALUE NAME
+function set_env_or_die() {
+ _OLDADDS=`eval echo '"$'"$2_ADDS"'"'`
+ add_to_env "$1" "$2"
+ _NEWADDS=`eval echo '"$'"$2_ADDS"'"'`
+ if [ "$_OLDADDS" != "$_NEWADDS" ]; then
+ _BASE=`eval echo '"$'"$2_BASE"'"'`
+ if [ "$_BASE" ]; then
+ _ENV=`eval echo '"$'"$2"'"'`
+ echo "Must not overwrite environment variable '$2' (${_OLDADDS}${_BASE}) by '$1'."
+ echo "Try to remove the offending installed software or unset the variable."
+ die
+ fi
+ fi
+}
+
+function assert_one_dir() {
+ quiet [ -d "$@" ] || die "Detected multiple directories where only one was expected; please delete all but the latest one: $@"
+}
+
+### Local Variables: ***
+### mode: shell-script ***
+### sh-basic-offset: 4 ***
+### tab-width: 8 ***
+### End: ***
More information about the gnucash-changes
mailing list