r15244 - gnucash/trunk/packaging/win32 - install.sh: Ease registration of environment variables. Fix dist.sh to
Andreas Köhler
andi5 at cvs.gnucash.org
Thu Dec 21 14:19:10 EST 2006
Author: andi5
Date: 2006-12-21 14:19:09 -0500 (Thu, 21 Dec 2006)
New Revision: 15244
Trac: http://svn.gnucash.org/trac/changeset/15244
Modified:
gnucash/trunk/packaging/win32/dist.sh
gnucash/trunk/packaging/win32/functions
gnucash/trunk/packaging/win32/install.sh
Log:
install.sh: Ease registration of environment variables. Fix dist.sh to
set PATH for unzip and gconftool-2.
Modified: gnucash/trunk/packaging/win32/dist.sh
===================================================================
--- gnucash/trunk/packaging/win32/dist.sh 2006-12-21 15:24:15 UTC (rev 15243)
+++ gnucash/trunk/packaging/win32/dist.sh 2006-12-21 19:19:09 UTC (rev 15244)
@@ -10,6 +10,8 @@
. functions
. custom.sh
+register_env_var PATH ":"
+
function prepare() {
DIST_DIR=${GNUCASH_DIR}\\dist
DIST_UDIR=`unix_path $DIST_DIR`
@@ -18,6 +20,18 @@
if [ -x $DIST_DIR ]; then
die "Please remove ${DIST_DIR} first"
fi
+ _UNZIP_UDIR=`unix_path $UNZIP_DIR`
+ _AUTOTOOLS_UDIR=`unix_path $AUTOTOOLS_DIR`
+ _GUILE_UDIR=`unix_path $GUILE_DIR`
+ _WIN_UDIR=`unix_path $WINDIR`
+ _LIBXML2_UDIR=`unix_path $LIBXML2_DIR`
+ _GNOME_UDIR=`unix_path $GNOME_DIR`
+ _LIBGSF_UDIR=`unix_path $LIBGSF_DIR`
+ _GOFFICE_UDIR=`unix_path $GOFFICE_DIR`
+ _GNUCASH_UDIR=`unix_path $GNUCASH_DIR`
+ _INNO_UDIR=`unix_path $INNO_DIR`
+ add_to_env $_UNZIP_UDIR/bin PATH # unzip
+ add_to_env $_GNOME_UDIR/bin PATH # gconftool-2
}
function dist_regex() {
@@ -28,14 +42,12 @@
function dist_autotools() {
setup Autotools
- _AUTOTOOLS_UDIR=`unix_path $AUTOTOOLS_DIR`
mkdir -p $DIST_UDIR/bin
cp $_AUTOTOOLS_UDIR/bin/*.dll $DIST_UDIR/bin
}
function dist_guile() {
setup Guile
- _GUILE_UDIR=`unix_path $GUILE_DIR`
mkdir -p $DIST_UDIR/bin
cp -a $_GUILE_UDIR/bin/libguile{.,-ltdl.,-srfi}*dll $DIST_UDIR/bin
mkdir -p $DIST_UDIR/share
@@ -45,21 +57,18 @@
function dist_openssl() {
setup OpenSSL
- _WIN_UDIR=`unix_path $WINDIR`
mkdir -p $DIST_UDIR/bin
cp $_WIN_UDIR/system32/lib{eay,ssl}*.dll $DIST_UDIR/bin
}
function dist_libxml2() {
setup LibXML2
- _LIBXML2_UDIR=`unix_path $LIBXML2_DIR`
mkdir -p $DIST_UDIR/bin
cp $_LIBXML2_UDIR/bin/libxml2.dll $DIST_UDIR/bin
}
function dist_gnome() {
setup Gnome platform
- _GNOME_UDIR=`unix_path $GNOME_DIR`
wget_unpacked $GETTEXT_URL $DOWNLOAD_DIR $DIST_DIR
smart_wget $LIBICONV_URL $DOWNLOAD_DIR
unzip -q $LAST_FILE bin/iconv.dll -d $DIST_DIR
@@ -96,7 +105,6 @@
function dist_libgsf() {
setup libGSF
- _LIBGSF_UDIR=`unix_path $LIBGSF_DIR`
mkdir -p $DIST_UDIR/bin
cp $_LIBGSF_UDIR/bin/libgsf*.dll $DIST_UDIR/bin
mkdir -p $DIST_UDIR/etc/gconf/schemas
@@ -107,7 +115,6 @@
function dist_goffice() {
setup GOffice
- _GOFFICE_UDIR=`unix_path $GOFFICE_DIR`
mkdir -p $DIST_UDIR/bin
cp $_GOFFICE_UDIR/bin/libgoffice*.dll $DIST_UDIR/bin
mkdir -p $DIST_UDIR/lib
@@ -118,7 +125,6 @@
function dist_gnucash() {
setup GnuCash
- _GNUCASH_UDIR=`unix_path $GNUCASH_DIR`
mkdir -p $DIST_UDIR/bin
cp $_GNUCASH_UDIR/bin/* $DIST_UDIR/bin
mkdir -p $DIST_UDIR/etc/gconf/schemas
@@ -142,7 +148,6 @@
echo "done"
done
- _INNO_UDIR=`unix_path $INNO_DIR`
echo "You can now run the Inno Setup Compiler for creating the setup.exe:"
echo ${_INNO_UDIR}/iscc ${_GNUCASH_UDIR}/packaging/win32/gnucash.iss
}
Modified: gnucash/trunk/packaging/win32/functions
===================================================================
--- gnucash/trunk/packaging/win32/functions 2006-12-21 15:24:15 UTC (rev 15243)
+++ gnucash/trunk/packaging/win32/functions 2006-12-21 19:19:09 UTC (rev 15244)
@@ -48,7 +48,38 @@
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
+}
+
+
### Local Variables: ***
### mode: shell-script ***
### sh-basic-offset: 4 ***
Modified: gnucash/trunk/packaging/win32/install.sh
===================================================================
--- gnucash/trunk/packaging/win32/install.sh 2006-12-21 15:24:15 UTC (rev 15243)
+++ gnucash/trunk/packaging/win32/install.sh 2006-12-21 19:19:09 UTC (rev 15244)
@@ -10,57 +10,23 @@
. functions
. custom.sh
-SEPS_ACLOCAL_FLAGS=" "
-SEPS_AUTOTOOLS_CPPFLAGS=" "
-SEPS_AUTOTOOLS_LDFLAGS=" "
-SEPS_GNOME_CPPFLAGS=" "
-SEPS_GNOME_LDFLAGS=" "
-SEPS_GUILE_LOAD_PATH=";"
-SEPS_GUILE_CPPFLAGS=" "
-SEPS_GUILE_LDFLAGS=" "
-SEPS_INTLTOOL_PERL=" "
-SEPS_PATH=":"
-SEPS_PKG_CONFIG=":"
-PKG_CONFIG=""
-SEPS_PKG_CONFIG_PATH=":"
-SEPS_READLINE_CPPFLAGS=" "
-SEPS_READLINE_LDFLAGS=" "
-SEPS_REGEX_CPPFLAGS=" "
-SEPS_REGEX_LDFLAGS=" "
-ENV_VARS="\
-ACLOCAL_FLAGS \
-AUTOTOOLS_CPPFLAGS \
-AUTOTOOLS_LDFLAGS \
-GNOME_CPPFLAGS \
-GNOME_LDFLAGS \
-GUILE_LOAD_PATH \
-GUILE_CPPFLAGS \
-GUILE_LDFLAGS \
-INTLTOOL_PERL \
-PATH \
-PKG_CONFIG \
-PKG_CONFIG_PATH \
-READLINE_CPPFLAGS \
-READLINE_LDFLAGS \
-REGEX_CPPFLAGS \
-REGEX_LDFLAGS \
-"
+register_env_var ACLOCAL_FLAGS " "
+register_env_var AUTOTOOLS_CPPFLAGS " "
+register_env_var AUTOTOOLS_LDFLAGS " "
+register_env_var GNOME_CPPFLAGS " "
+register_env_var GNOME_LDFLAGS " "
+register_env_var GUILE_LOAD_PATH ";"
+register_env_var GUILE_CPPFLAGS " "
+register_env_var GUILE_LDFLAGS " "
+register_env_var INTLTOOL_PERL " "
+register_env_var PATH ":"
+register_env_var PKG_CONFIG ":" ""
+register_env_var PKG_CONFIG_PATH ":"
+register_env_var READLINE_CPPFLAGS " "
+register_env_var READLINE_LDFLAGS " "
+register_env_var REGEX_CPPFLAGS " "
+register_env_var REGEX_LDFLAGS " "
-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
-}
-
function prepare() {
# Necessary so that intltoolize doesn't come up with some
# foolish AC_CONFIG_AUX_DIR; bug#362006
@@ -91,45 +57,10 @@
mkdir -p $TMP_DIR
mkdir -p $DOWNLOAD_DIR
- for _ENV in $ENV_VARS; do
- eval "${_ENV}_BASE"'=$'"${_ENV}"
- eval "${_ENV}_ADDS="
- eval export "${_ENV}"
- done
DOWNLOAD_UDIR=`unix_path $DOWNLOAD_DIR`
TMP_UDIR=`unix_path $TMP_DIR`
}
-# 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 inst_wget() {
setup Wget
_WGET_UDIR=`unix_path $WGET_DIR`
More information about the gnucash-changes
mailing list