Hi,
I currently have a few minor things I do to fenics-install.sh after downloading
it and I thought I’d share. I’m not sure if these ideas apply to the way
fenics-install.sh is supposed to work, but neither patch should change the
behaviour of the script if used “normally”.
First I apply the following patch to allow my paths from my current hashdist
config to work:
--- fenics-install.sh 2015-02-04 10:45:02.000000000 +0100
+++ fenics-install.sh.local 2015-02-06 12:53:45.623543000 +0100
@@ -147,12 +147,17 @@
PROFILE=default
PROFILE=$(readlink $PROFILE)
PROFILE=$(basename $PROFILE)
+BUILD_STORE=$( grep build_stores: -A1 ~/.hashdist/config.yaml | tail -1 | cut
-f2 -d: )
+if [ "$BUILD_STORE" == "./bld" ]; then
+ BUILD_STORE="\$HOME/.hashdist/bld/profile"
+fi
+
cat << EOF > $CONFIG_FILE
# FEniCS configuration file created by fenics-install.sh on $(date)
# Build type: $BUILD_TYPE
$FENICS_CHANGESETS
export PROFILE=$PROFILE
-export PROFILE_INSTALL_DIR=\$HOME/.hashdist/bld/profile/\$PROFILE
+export PROFILE_INSTALL_DIR=${BUILD_STORE}/\$PROFILE
export PATH=\$PROFILE_INSTALL_DIR/bin:\$PATH
export PYTHONPATH=\$PROFILE_INSTALL_DIR/lib/python2.7/site-packages:\$PYTHONPATH
export CMAKE_PREFIX_PATH=\$PROFILE_INSTALL_DIR:\$CMAKE_PREFIX_PATH
This gets the PROFILE_INSTALL_DIR correct for me as I alter the build_stores in
the config-file for hashdist. fenlics-install.sh currently assumes that the
config file has default values.
I also use a local yam file (called “local.yaml”) as a build spec, and I apply
the following patch to use it. It might be more user friendly to allow this
file to reside somewhere outside of the directory that holds fenics-install.sh
(like ~), but that’s easy enough to solve.
--- fenics-install.sh 2015-02-04 10:45:02.000000000 +0100
+++ fenics-install.sh.local 2015-02-06 13:05:59.132022000 +0100
@@ -3,6 +3,8 @@
# This script installs FEniCS via HashDist.
# See README.rst for details.
+ORIGINAL_DIR=$( pwd )
+
# Tell script to exit on first error
trap 'exit' ERR
@@ -88,8 +90,14 @@
PROFILE=fenics-deps${PROFILE:6}
fi
cd hashstack
-cp ../fenics-developer-tools/install/profiles/$PROFILE default.yaml
-echo "Using HashStack profile $PROFILE."
+# If the user has a local.yaml file already present, use that as the default
yaml file.
+if [ -r "${ORIGINAL_DIR}/local.yaml" ]; then
+ echo "Using HashStack profile local.yaml"
+ cp "${ORIGINAL_DIR}/local.yaml" default.yaml
+else
+ echo "Using HashStack profile $PROFILE."
+ cp ../fenics-developer-tools/install/profiles/$PROFILE default.yaml
+fi
echo ""
# Use latest changesets from master if development build is requested
I don’t know if these are of any interest to others out there, but it makes my
life with the new installer much easier. It combines the ease of install with
the flexibility to modify the build as I see fit and allows me to quickly and
easily reproduce my builds with a new installer.
--
Terje Kvernes
Head sysadmin
Department of Mathematics
University of Oslo
_______________________________________________
fenics mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics