diff --git a/configure b/configure index 06105894..60889c71 100755 --- a/configure +++ b/configure @@ -53,7 +53,8 @@ PACKAGES=$(echo $PACKAGES | xargs) -sed "s!^export QP_ROOT=.*\$!export QP_ROOT=\"$PWD\"!" quantum_package.rc.default > quantum_package.rc +sed "s!^export QP_ROOT=.*\$!export QP_ROOT=\"$PWD\"!" \ + quantum_package.rc.default > quantum_package.rc echo "quantum_package.rc created." @@ -81,7 +82,7 @@ function error() { } function download() { - wget --no-check-certificate $1 -O $2 || error "Unable to download $1" + wget --no-check-certificate $1 --output-document=$2 || error "Unable to download $1" } function find_exe() { @@ -149,21 +150,22 @@ for PACKAGE in ${PACKAGES} ; do download \ "https://github.com/scemama/irpf90/archive/v1.7.2.tar.gz" \ "${QP_ROOT}"/external/irpf90.tar.gz - cd "${QP_ROOT}"/external - tar -zxf irpf90.tar.gz - rm irpf90.tar.gz - cd irpf90-* - make - for i in irpf90 irpman irpf90_indent - do - cat << EOF > "${QP_ROOT}"/bin/$i + ( + cd "${QP_ROOT}"/external + tar --gunzip --extract --file irpf90.tar.gz + rm irpf90.tar.gz + cd irpf90-* + make + for i in irpf90 irpman irpf90_indent + do + cat << EOF > "${QP_ROOT}"/bin/$i #!/bin/sh exec $PWD/bin/$i \$@ EOF - chmod +x "${QP_ROOT}"/bin/$i - done - cd "${QP_ROOT}" + chmod +x "${QP_ROOT}"/bin/$i + done + ) elif [[ ${PACKAGE} = zeromq ]] ; then @@ -171,14 +173,15 @@ EOF download \ "https://github.com/zeromq/libzmq/releases/download/v4.2.5/zeromq-4.2.5.tar.gz" \ "${QP_ROOT}"/external/zeromq.tar.gz - cd "${QP_ROOT}"/external - tar -zxf zeromq.tar.gz - rm zeromq.tar.gz - cd zeromq-* - ./configure --prefix="$QP_ROOT" --without-libsodium --enable-libunwind=no - make - make install - cd "${QP_ROOT}" + ( + cd "${QP_ROOT}"/external + tar --gunzip --extract --file zeromq.tar.gz + rm zeromq.tar.gz + cd zeromq-* + ./configure --prefix="$QP_ROOT" --without-libsodium --enable-libunwind=no + make + make install + ) elif [[ ${PACKAGE} = f77zmq ]] ; then @@ -186,16 +189,17 @@ EOF download \ "https://github.com/scemama/f77_zmq/archive/v4.2.5.tar.gz" \ "${QP_ROOT}"/external/f77_zmq.tar.gz - cd "${QP_ROOT}"/external - tar -zxf f77_zmq.tar.gz - rm f77_zmq.tar.gz - cd f77_zmq-* - export ZMQ_H="$QP_ROOT"/include/zmq.h - make - cp libf77zmq.a "${QP_ROOT}"/lib - cp libf77zmq.so "${QP_ROOT}"/lib - cp f77_zmq_free.h "${QP_ROOT}"/include - cd "${QP_ROOT}" + ( + cd "${QP_ROOT}"/external + tar --gunzip --extract --file f77_zmq.tar.gz + rm f77_zmq.tar.gz + cd f77_zmq-* + export ZMQ_H="$QP_ROOT"/include/zmq.h + make + cp libf77zmq.a "${QP_ROOT}"/lib + cp libf77zmq.so "${QP_ROOT}"/lib + cp f77_zmq_free.h "${QP_ROOT}"/include + ) elif [[ ${PACKAGE} = ocaml ]] ; then @@ -204,7 +208,7 @@ EOF "https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh" \ "${QP_ROOT}"/external/opam_installer.sh chmod +x "${QP_ROOT}"/external/opam_installer.sh - rm -f ${QP_ROOT}/bin/opam + rm --force ${QP_ROOT}/bin/opam if [[ -n ${TRAVIS} ]] ; then # Special commands for Travis CI @@ -224,10 +228,12 @@ EOF source ${OPAMROOT}/opam-init/init.sh > /dev/null 2> /dev/null || true rm ${QP_ROOT}/external/opam_installer.sh - ${QP_ROOT}/bin/opam init --disable-sandboxing --verbose --yes --comp=4.07.0 + ${QP_ROOT}/bin/opam init --disable-sandboxing --verbose \ + --yes --comp=4.07.0 eval $(${QP_ROOT}/bin/opam env) - opam install -y ocamlbuild cryptokit zmq core sexplib ppx_sexp_conv ppx_deriving + opam install -y ocamlbuild cryptokit zmq core sexplib \ + ppx_sexp_conv ppx_deriving elif [[ ${PACKAGE} = ezfio ]] ; then @@ -235,10 +241,11 @@ EOF download \ "https://gitlab.com/scemama/EZFIO/-/archive/master/EZFIO-master.tar.gz" \ "${QP_ROOT}"/external/ezfio.tar.gz - cd "${QP_ROOT}"/external - tar -zxf ezfio.tar.gz - mv EZFIO-* ezfio - cd "${QP_ROOT}" + ( + cd "${QP_ROOT}"/external + tar --gunzip --extract --file ezfio.tar.gz + mv EZFIO-* ezfio + ) elif [[ ${PACKAGE} = emsl ]] ; then @@ -246,10 +253,11 @@ EOF download \ "https://github.com/LCPQ/EMSL_Basis_Set_Exchange_Local/archive/v1.0.tar.gz" \ "${QP_ROOT}"/external/EMSL.tar.gz - cd "${QP_ROOT}"/external - tar -zxf EMSL.tar.gz - mv EMSL_Basis* emsl - cd "${QP_ROOT}" + ( + cd "${QP_ROOT}"/external + tar --gunzip --extract --file EMSL.tar.gz + mv EMSL_Basis* emsl + ) elif [[ ${PACKAGE} = docopt ]] ; then @@ -257,11 +265,12 @@ EOF download \ "https://github.com/docopt/docopt/archive/0.6.2.tar.gz" \ "${QP_ROOT}"/external/docopt.tar.gz - cd "${QP_ROOT}"/external - tar -zxf docopt.tar.gz - mv docopt-*/docopt.py "${QP_ROOT}/external/Python" - rm -rf docopt-*/ docopt.tar.gz - cd "${QP_ROOT}" + ( + cd "${QP_ROOT}"/external + tar --gunzip --extract --file docopt.tar.gz + mv docopt-*/docopt.py "${QP_ROOT}/external/Python" + rm --recursive --force -- docopt-*/ docopt.tar.gz + ) elif [[ ${PACKAGE} = resultsFile ]] ; then @@ -269,24 +278,27 @@ EOF download \ "https://gitlab.com/scemama/resultsFile/-/archive/master/resultsFile-master.tar.gz" \ "${QP_ROOT}"/external/resultsFile.tar.gz - cd "${QP_ROOT}"/external - tar -zxf resultsFile.tar.gz - mv resultsFile-master/resultsFile "${QP_ROOT}/external/Python" - rm -rf resultsFile-master resultsFile.tar.gz - cd "${QP_ROOT}" + ( + cd "${QP_ROOT}"/external + tar --gunzip --extract --file resultsFile.tar.gz + mv resultsFile-master/resultsFile "${QP_ROOT}/external/Python" + rm --recursive --force resultsFile-master resultsFile.tar.gz + ) elif [[ ${PACKAGE} = bats ]] ; then download \ "https://github.com/bats-core/bats-core/archive/v1.1.0.tar.gz" \ "${QP_ROOT}"/external/bats.tar.gz - cd "${QP_ROOT}"/external - tar -zxf bats.tar.gz - cd bats-core-1.1.0/ - ./install.sh $QP_ROOT - cd .. - rm -rf bats-core-1.1.0 "${QP_ROOT}"/external/bats.tar.gz - cd "${QP_ROOT}" + ( + tar -zxf bats.tar.gz + ( + cd bats-core-1.1.0/ + ./install.sh $QP_ROOT + ) + rm --recursive --force -- bats-core-1.1.0 \ + "${QP_ROOT}"/external/bats.tar.gz + ) fi diff --git a/scripts/qp_export_as_tgz b/scripts/qp_export_as_tgz index 72371ef6..4ce2dd84 100755 --- a/scripts/qp_export_as_tgz +++ b/scripts/qp_export_as_tgz @@ -46,7 +46,7 @@ function find_libs () for i in $@ do ldd $i - done | sort | grep '/' | cut -d ' ' -f 3 | uniq + done | sort | grep '/' | cut --delimiter=' ' --fields=3 | uniq } function find_exec () @@ -60,8 +60,8 @@ function find_exec () echo "Creating root of static directory" # --------------------------------- -rm -rf -- ${QPACKAGE_STATIC} -mkdir -p -- ${QPACKAGE_STATIC}/{bin,lib,extra_lib,external} +rm --recursive --force -- "${QPACKAGE_STATIC}" +mkdir --parents -- ${QPACKAGE_STATIC}/{bin,lib,extra_lib,external} if [[ $? -ne 0 ]] ; then echo "Error creating ${QPACKAGE_STATIC}/{bin,lib,extra_lib,external}" @@ -94,21 +94,22 @@ then exit 1 fi +( cd ${QPACKAGE_STATIC}/bin for i in *.native do mv "$i" $(basename "$i" .native) done -cd - +) -cp -r ${QP_ROOT}/data ${QPACKAGE_STATIC}/data +cp --recursive -- ${QP_ROOT}/data ${QPACKAGE_STATIC}/data for i in ${FORTRAN_EXEC} do i=$(basename $i) echo $i \$QP_ROOT/bin/$i done > ${QPACKAGE_STATIC}/data/executables -mkdir -p ${QPACKAGE_STATIC}/src/Bitmask +mkdir --parents -- ${QPACKAGE_STATIC}/src/Bitmask cp ${QP_ROOT}/src/Bitmask/bitmasks_module.f90 ${QPACKAGE_STATIC}/src/Bitmask # @@ -140,10 +141,10 @@ cp -- ${QPACKAGE_STATIC}/extra_lib/lib{[gi]omp*,mkl*,lapack*,blas*,z*} ${QPACKAG echo "Copying scripts directory" # ------------------------- -cp -r -- ${QP_ROOT}/scripts ${QPACKAGE_STATIC}/ +cp --recursive -- ${QP_ROOT}/scripts ${QPACKAGE_STATIC}/ if [[ $? -ne 0 ]] ; then - echo 'cp -r -- ${QP_ROOT}/scripts ${QPACKAGE_STATIC}/' + echo 'cp --recursive -- ${QP_ROOT}/scripts ${QPACKAGE_STATIC}/' exit 1 fi # @@ -151,17 +152,17 @@ fi echo "Copying external libraries" # -------------------------- -cp -r -- ${QP_ROOT}/external/emsl ${QPACKAGE_STATIC}/external +cp --recursive -- ${QP_ROOT}/external/emsl ${QPACKAGE_STATIC}/external if [[ $? -ne 0 ]] ; then - echo 'cp -r -- ${QP_ROOT}/external/emsl ${QPACKAGE_STATIC}/' + echo 'cp --recursive -- ${QP_ROOT}/external/emsl ${QPACKAGE_STATIC}/' exit 1 fi -cp -r ${QP_ROOT}/external/Python ${QPACKAGE_STATIC}/external/ +cp --recursive -- ${QP_ROOT}/external/Python ${QPACKAGE_STATIC}/external/ mkdir ${QPACKAGE_STATIC}/external/ezfio -cp -r ${QP_ROOT}/external/ezfio/Python ${QPACKAGE_STATIC}/external/ezfio/ -cp -r ${QP_ROOT}/external/ezfio/Bash ${QPACKAGE_STATIC}/external/ezfio/ +cp --recursive -- ${QP_ROOT}/external/ezfio/Python ${QPACKAGE_STATIC}/external/ezfio/ +cp --recursive -- ${QP_ROOT}/external/ezfio/Bash ${QPACKAGE_STATIC}/external/ezfio/ # @@ -175,10 +176,10 @@ sed "s!^export QP_ROOT=.*\$!export QP_ROOT=\$( cd \$(dirname "\${BASH_SOURCE}") echo "Creating the archive" # -------------------- -tar -zcf "${QPACKAGE_STATIC}".tar.gz quantum_package_static && rm -rf -- "${QPACKAGE_STATIC}" +tar --gzip --compress --file "${QPACKAGE_STATIC}".tar.gz quantum_package_static && rm --recursive --force -- "${QPACKAGE_STATIC}" if [[ $? -ne 0 ]] ; then - echo 'tar -zcf "${QPACKAGE_STATIC}".tar.gz "${QPACKAGE_STATIC}" && rm -rf -- "${QPACKAGE_STATIC}"' + echo 'tar --gzip --compress --file "${QPACKAGE_STATIC}".tar.gz "${QPACKAGE_STATIC}" && rm --recursive --force -- "${QPACKAGE_STATIC}"' exit 1 fi diff --git a/scripts/qp_mpirun b/scripts/qp_mpirun index 0ace9b35..5c23ea8f 100755 --- a/scripts/qp_mpirun +++ b/scripts/qp_mpirun @@ -67,7 +67,7 @@ as a single-node job before re-submitting the current job. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ " fi -rm -f $INPUT/work/qp_run_address +rm --force "${INPUT}"/work/qp_run_address set -x mpiexec.hydra -n 1 -hosts "$MASTER_NODE" qp_run $PROG $INPUT & diff --git a/scripts/qp_srun b/scripts/qp_srun index 7caf1a8f..fb598743 100755 --- a/scripts/qp_srun +++ b/scripts/qp_srun @@ -67,7 +67,7 @@ as a single-node job before re-submitting the current job. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ " fi -rm -f $INPUT/work/qp_run_address +rm --force -- "${INPUT}"/work/qp_run_address set -x srun -N 1 -n 1 qp_run $PROG $INPUT &