> On 09 Feb 2015, at 15:19 , Johannes Ring <[email protected]> wrote: > > On Fri, Feb 6, 2015 at 1:15 PM, Terje Kvernes <[email protected]> wrote: >> 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. > > Thanks for the patches. I have applied them with some modifications. > In particular, one can now (in addition to the local.yaml) specify the > profile on the command line: > > fenics-install.sh <profile> > > Please let me know if this works as you expected.
It looks good, apart from no longer being able to automatically get development versions built with a custom profile. -- Terje Kvernes Head sysadmin Department of Mathematics University of Oslo _______________________________________________ fenics mailing list [email protected] http://fenicsproject.org/mailman/listinfo/fenics
