From 2f79681ac643f43b8c4cfffd097f0c2da8c49ee7 Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Wed, 17 Mar 2021 17:23:41 +0100 Subject: [PATCH 1/7] module search: some not really required sanity checks removed --- Pmodules/modulecmd.bash.in | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Pmodules/modulecmd.bash.in b/Pmodules/modulecmd.bash.in index c7e6b8e..99a9268 100755 --- a/Pmodules/modulecmd.bash.in +++ b/Pmodules/modulecmd.bash.in @@ -21,7 +21,6 @@ declare -r getopt="${sbindir}/getopt" declare -r find="${sbindir}/find" source "${libdir}/libstd.bash" -source "${libdir}/libpmodules.bash" : ${PMODULES_DEFINED_RELEASES:=':unstable:stable:deprecated:'} @@ -1804,8 +1803,8 @@ subcommand_search() { opt_use_releases="${PMODULES_DEFINED_RELEASES}" ;; --src ) + # :FIXME: do we have to add some sanity checks here? src_prefix=$2 - pmodules::check_directories "${src_prefix}" shift ;; -v | --verbose ) From 04d6047cd0b1e21a571f696a4cba3fc8789021b0 Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Wed, 17 Mar 2021 17:58:54 +0100 Subject: [PATCH 2/7] move helper binaries to from sbin to libexec - remove installed header files etc - add substitution for @BASH@, @MODULECMD@, @MODMANANGE@ --- Pmodules/modmanage | 6 ----- Pmodules/modmanage.in | 5 ++++ Pmodules/modulecmd | 6 ----- Pmodules/modulecmd.bash.in | 31 +++++++++++++++-------- Pmodules/modulecmd.in | 5 ++++ Tools/Tcl/build | 4 +-- Tools/bash/build | 2 +- Tools/coreutils/build | 2 +- Tools/findutils/build | 2 +- Tools/getopt/build | 22 ++++++++++------ Tools/gettext/build | 2 +- build | 51 +++++++++++++++++++++++++------------- config/versions.conf | 4 +-- 13 files changed, 88 insertions(+), 54 deletions(-) delete mode 100644 Pmodules/modmanage create mode 100644 Pmodules/modmanage.in delete mode 100644 Pmodules/modulecmd create mode 100644 Pmodules/modulecmd.in diff --git a/Pmodules/modmanage b/Pmodules/modmanage deleted file mode 100644 index c4c9d74..0000000 --- a/Pmodules/modmanage +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -unset BASH_ENV - -bindir=$( cd $(dirname "$0")/../sbin && pwd -P ) -"${bindir}/bash" --noprofile --norc "${bindir}/../libexec/modmanage.bash" "$@" diff --git a/Pmodules/modmanage.in b/Pmodules/modmanage.in new file mode 100644 index 0000000..10508ad --- /dev/null +++ b/Pmodules/modmanage.in @@ -0,0 +1,5 @@ +#!/bin/sh + +unset BASH_ENV + +"@BASH@" --noprofile --norc "@MODMANAGE@ "$@" diff --git a/Pmodules/modulecmd b/Pmodules/modulecmd deleted file mode 100644 index eb82f13..0000000 --- a/Pmodules/modulecmd +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -unset BASH_ENV - -bindir=$( cd $(dirname "$0")/../sbin && pwd -P ) -"${bindir}/bash" --noprofile --norc "${bindir}/../libexec/modulecmd.bash" "$@" diff --git a/Pmodules/modulecmd.bash.in b/Pmodules/modulecmd.bash.in index 99a9268..8a70d54 100755 --- a/Pmodules/modulecmd.bash.in +++ b/Pmodules/modulecmd.bash.in @@ -1,4 +1,4 @@ -#!@PMODULES_HOME@/sbin/bash --noprofile +#!@BASH@ --noprofile # #set -o nounset @@ -10,15 +10,26 @@ declare -r CMD='module' declare -r mydir=$(cd $(dirname "$0") && pwd) declare prefix=$(dirname "${mydir}") -declare -r sbindir="${prefix}/sbin" declare -r libdir="${prefix}/lib" declare -r libexecdir="${prefix}/libexec" -declare -r base64="${sbindir}/base64" -declare -r mktemp="${sbindir}/mktemp" -declare -r sort="${sbindir}/sort" -declare -r getopt="${sbindir}/getopt" -declare -r find="${sbindir}/find" +base64=$(PATH=/bin:/usr/bin /usr/bin/which base64) +declare -r base64 +mktemp=$(PATH=/bin:/usr/bin /usr/bin/which mktemp) +declare -r mktemp +sort=$(PATH=/bin:/usr/bin /usr/bin/which sort) +declare -r sort +awk=$(PATH=/bin:/usr/bin /usr/bin/which awk) +declare -r awk +if [[ $(uname -s) == 'Darwin' ]]; then + declare -r getopt="${libexecdir}/getopt" + declare -r find="${libexecdir}/find" +else + getopt=$(PATH=/bin:/usr/bin /usr/bin/which getopt) + declare -r getopt + find=$(PATH=/bin:/usr/bin /usr/bin/which find) + declare -r find +fi source "${libdir}/libstd.bash" @@ -317,7 +328,7 @@ subcommand_load() { # can be used. # mapfile -t array < <("${modulecmd}" 'bash' show "$m" 2>&1 | \ - awk 'NR == 2 {print substr($0, 1, length($0)-1)}; /_PREFIX |_HOME / {print $3; exit}') + ${awk} 'NR == 2 {print substr($0, 1, length($0)-1)}; /_PREFIX |_HOME / {print $3; exit}') current_modulefile="${array[0]}" prefix="${array[1]}" test -n "${current_modulefile}" || return 1 @@ -1662,14 +1673,14 @@ subcommand_search() { while read -a toks; do ${func_print_line} "${toks[@]}" done < <("${sort}" -k 1,1 -k 4,4 -k 5,5 "${tmpfile}" | \ - awk "${with_modules}") + ${awk} "${with_modules}") } get_module_prefix() { local "$1" local modulefile="$2" local -r _prefix=$("${modulecmd}" bash show "${modulefile}" 2>&1 | \ - awk '/_PREFIX |_HOME / {print $3; exit}') + ${awk} '/_PREFIX |_HOME / {print $3; exit}') std::upvar $1 "${_prefix}" } diff --git a/Pmodules/modulecmd.in b/Pmodules/modulecmd.in new file mode 100644 index 0000000..bce0367 --- /dev/null +++ b/Pmodules/modulecmd.in @@ -0,0 +1,5 @@ +#!/bin/sh + +unset BASH_ENV + +"@BASH@" --noprofile --norc "@MODULECMD@" "$@" diff --git a/Tools/Tcl/build b/Tools/Tcl/build index ca7bfaf..47e53a8 100755 --- a/Tools/Tcl/build +++ b/Tools/Tcl/build @@ -14,12 +14,12 @@ pbuild::configure() { esac "${srcdir}"/configure \ --prefix="${PREFIX}" \ - --bindir="${PREFIX}/sbin" \ + --bindir="${PREFIX}/${UTILBIN_DIR}" \ --enable-shared=no \ || exit 1 } pbuild::post_install() { - { cd "${PREFIX}"/sbin && rm -f tclsh && ln -fs tclsh${V%.*} tclsh; }; + { cd "${PREFIX}/${UTILBIN_DIR}" && rm -f tclsh && ln -fs tclsh${V%.*} tclsh; }; } diff --git a/Tools/bash/build b/Tools/bash/build index 3319010..ff8489f 100755 --- a/Tools/bash/build +++ b/Tools/bash/build @@ -1,5 +1,5 @@ #!/usr/bin/env modbuild pbuild::set_download_url "https://ftp.gnu.org/gnu/$P/$P-$V.tar.gz" -pbuild::add_configure_args "--bindir=${PREFIX}/sbin" +pbuild::add_configure_args "--bindir=${PREFIX}/${UTILBIN_DIR}" diff --git a/Tools/coreutils/build b/Tools/coreutils/build index 5d261e5..c561e2a 100755 --- a/Tools/coreutils/build +++ b/Tools/coreutils/build @@ -1,4 +1,4 @@ #!/usr/bin/env modbuild pbuild::set_download_url "http://ftp.gnu.org/gnu/coreutils/$P-$V.tar.xz" -pbuild::add_configure_args "--bindir=${PREFIX}/sbin" +pbuild::add_configure_args "--bindir=${PREFIX}/${UTILBIN_DIR}" diff --git a/Tools/findutils/build b/Tools/findutils/build index 0f1fc2f..d63f114 100644 --- a/Tools/findutils/build +++ b/Tools/findutils/build @@ -1,4 +1,4 @@ #!/usr/bin/env modbuild pbuild::set_download_url "https://ftp.gnu.org/pub/gnu/$P/$P-$V.tar.xz" -pbuild::add_configure_args "--bindir=${PREFIX}/sbin" +pbuild::add_configure_args "--bindir=${PREFIX}/${UTILBIN_DIR}" diff --git a/Tools/getopt/build b/Tools/getopt/build index b5bd4c8..81d8433 100755 --- a/Tools/getopt/build +++ b/Tools/getopt/build @@ -17,22 +17,30 @@ pbuild::compile() { declare -x LIBRARY_PATH="${PREFIX}/lib" case ${OS} in Linux ) + declare -x C_INCLUDE_PATH="${PREFIX}/include" + declare -x LIBRARY_PATH="${PREFIX}/lib" declare -x LDFLAGS="-lintl -L${PREFIX}/lib" ;; Darwin ) - declare -x LDFLAGS="-lintl -liconv -framework CoreFoundation" + if [[ ! -d '/opt/local/bin' ]] || [[ ! -x '/opt/local/bin/msgfmt' ]]; then + std::die 1 "gettext port from Macports is required to build 'getopt'!" + fi + PATH+=':/opt/local/bin' + declare -x C_INCLUDE_PATH='/opt/local/include' + declare -x LDFLAGS="/opt/local/lib/libintl.a /opt/local/lib/libiconv.a -framework CoreFoundation" ;; esac - make -e all + make -e all || exit 1 + declare -x DESTDIR="${PREFIX}" + declare -x prefix='' || exit 1 + PATH="${PREFIX}/${UTILBIN_DIR}:${PATH}" + make -e install + mv "${PREFIX}/bin/getopt" "${PREFIX}/${UTILBIN_DIR}" } pbuild::install() { - declare -x DESTDIR="${PREFIX}" - declare -x prefix='' - make -e install - mkdir -p "${PREFIX}/sbin" - mv "${PREFIX}/bin/getopt" "${PREFIX}/sbin" + : } pbuild::cleanup_build() { diff --git a/Tools/gettext/build b/Tools/gettext/build index 9ed9b20..776185e 100755 --- a/Tools/gettext/build +++ b/Tools/gettext/build @@ -3,7 +3,7 @@ pbuild::set_download_url "https://ftp.gnu.org/pub/gnu/$P/$P-$V.tar.gz" pbuild::add_configure_args "--prefix=${PREFIX}" -pbuild::add_configure_args "--bindir=${PREFIX}/sbin" +pbuild::add_configure_args "--bindir=${PREFIX}/${UTILBIN_DIR}" pbuild::add_configure_args "--disable-java" pbuild::add_configure_args "--disable-threads" pbuild::add_configure_args "--disable-shared" diff --git a/build b/build index 163a928..c1f2f57 100755 --- a/build +++ b/build @@ -25,6 +25,9 @@ declare -rx DEFAULT_DISTFILES_DIR="var/distfiles" declare -rx DEFAULT_VERSIONS_CONFIG="${CONFIG_DIR}/versions.conf" declare -rx DEFAULT_TMPDIR='var/tmp/${USER}' +# directory where the required tools will be installed (like bash, tclsh, etc) +declare -rx UTILBIN_DIR='libexec' + #----------------------------------------------------------------------------- # get_version() { @@ -228,7 +231,6 @@ Use the option --force to override.\nAborting..." install -d -m 0755 "${PMODULES_HOME}/init" install -d -m 0755 "${PMODULES_HOME}/lib" install -d -m 0755 "${PMODULES_HOME}/libexec" - install -d -m 0755 "${PMODULES_HOME}/sbin" echo "Configuration:" echo " root of Pmodules environment: ${prefix}" echo " Pmodule prefix: ${PMODULES_HOME}" @@ -324,38 +326,47 @@ pmodules::compile() { local config_file="${prefix}/${CONFIG_DIR}/${CONFIG_FILE}" read_config_file config_file + install -d -m 0755 "${PMODULES_HOME}/bin" + install -d -m 0755 "${PMODULES_HOME}/config" + install -d -m 0755 "${PMODULES_HOME}/init" + install -d -m 0755 "${PMODULES_HOME}/lib" + install -d -m 0755 "${PMODULES_HOME}/libexec" echo "Configuration:" echo " root of Pmodules environment: ${prefix}" echo " Pmodule prefix: ${PMODULES_HOME}" - if [[ ! -f "${PMODULES_HOME}/sbin/base64" ]] || [[ ${opt_force} == 'yes' ]]; then - build coreutils - fi + #if [[ ! -f "${PMODULES_HOME}/${UTILBIN_DIR}/base64" ]] || [[ ${opt_force} == 'yes' ]]; then + # build coreutils + #fi - if [[ ! -f "${PMODULES_HOME}/sbin/xgettext" ]] || [[ ${opt_force} == 'yes' ]]; then - build gettext - fi - - if [[ ! -f "${PMODULES_HOME}/sbin/getopt" ]] || [[ ${opt_force} == 'yes' ]]; then + if [[ ! -f "${PMODULES_HOME}/${UTILBIN_DIR}/getopt" ]] || [[ ${opt_force} == 'yes' ]]; then build getopt fi - if [[ ! -f "${PMODULES_HOME}/sbin/bash" ]] || [[ ${opt_force} == 'yes' ]]; then + if [[ ! -f "${PMODULES_HOME}/${UTILBIN_DIR}/bash" ]] || [[ ${opt_force} == 'yes' ]]; then build bash fi - if [[ ! -f "${PMODULES_HOME}/sbin/find" ]] || [[ ${opt_force} == 'yes' ]]; then + if [[ ! -f "${PMODULES_HOME}/${UTILBIN_DIR}/find" ]] || [[ ${opt_force} == 'yes' ]]; then build findutils fi - if [[ ! -e "${PMODULES_HOME}/sbin/tclsh" ]] || [[ ${opt_force} == 'yes' ]]; then + if [[ ! -e "${PMODULES_HOME}/${UTILBIN_DIR}/tclsh" ]] || [[ ${opt_force} == 'yes' ]]; then build Tcl fi if [[ ! -e "${PMODULES_HOME}/libexec/modulecmd.bin" ]] || [[ ${opt_force} == 'yes' ]]; then build modules fi + rm -rf "${PMODULES_HOME}/include" + rm -rf "${PMODULES_HOME}/lib/"*.a + rm -rf "${PMODULES_HOME}/lib/"*.la + rm -rf "${PMODULES_HOME}/lib/bash" + rm -rf "${PMODULES_HOME}/lib/pkginfo" + rm -rf "${PMODULES_HOME}/man" + rm -rf "${PMODULES_HOME}/share" + echo "Done..." } @@ -439,7 +450,7 @@ pmodules::install() { sed_cmd+="s:@MODULES_VERSION@:${MODULES_VERSION}:g;" sed_cmd+="s:@PMODULES_DISTFILESDIR@:${PMODULES_DISTFILESDIR}:g;" sed_cmd+="s:@PMODULES_TMPDIR@:${PMODULES_TMPDIR}:g;" - sed_cmd+="s:@TCLSHDIR@:${PMODULES_HOME}/sbin:g;" + sed_cmd+="s:@TCLSHDIR@:${PMODULES_HOME}/${UTILBIN_DIR}:g;" sed_cmd+="s:@pager@::g;" sed_cmd+="s:@pageropts@::g;" sed_cmd+="s:@etcdir@:${PMODULES_ROOT}/${CONFIG_DIR}:g;" @@ -447,6 +458,9 @@ pmodules::install() { sed_cmd+="s:@prefix@:${PMODULES_HOME}:g;" sed_cmd+="s:@initdir@:${PMODULES_HOME}/init:g;" sed_cmd+="s:@MODULES_RELEASE@:${PMODULES_VERSION}:g;" + sed_cmd+="s:@BASH@:${PMODULES_HOME}/${UTILBIN_DIR}/bash:g;" + sed_cmd+="s:@MODULECMD@:${PMODULES_HOME}/${UTILBIN_DIR}/modulecmd.bash:g;" + sed_cmd+="s:@MODMANAGE@:${PMODULES_HOME}/${UTILBIN_DIR}/modmanage.bash:g;" sed "${sed_cmd}" "${SRC_DIR}/profile.bash.in" > "${PMODULES_ROOT}/${CONFIG_DIR}/profile.bash-${PMODULES_VERSION}" sed "${sed_cmd}" "${SRC_DIR}/profile.csh.in" > "${PMODULES_ROOT}/${CONFIG_DIR}/profile.csh-${PMODULES_VERSION}" @@ -462,18 +476,21 @@ pmodules::install() { test -e "${PMODULES_ROOT}/${CONFIG_DIR}/profile.zsh" || \ install -m 0644 "$_-${PMODULES_VERSION}" "$_" + sed "${sed_cmd}" "${SRC_DIR}/modulecmd.in" > "${PMODULES_HOME}/bin/modulecmd" + chmod 0755 "${PMODULES_HOME}/bin/modulecmd" sed "${sed_cmd}" "${SRC_DIR}/modulecmd.bash.in" > "${PMODULES_HOME}/libexec/modulecmd.bash" chmod 0755 "${PMODULES_HOME}/libexec/modulecmd.bash" sed "${sed_cmd}" "${SRC_DIR}/modulecmd.tcl.in" > "${PMODULES_HOME}/libexec/modulecmd.tcl" chmod 0755 "${PMODULES_HOME}/libexec/modulecmd.tcl" + sed "${sed_cmd}" "${SRC_DIR}/modbuild.in" > "${PMODULES_HOME}/bin/modbuild" chmod 0755 "${PMODULES_HOME}/bin/modbuild" + + sed "${sed_cmd}" "${SRC_DIR}/modmanage.in" > "${PMODULES_HOME}/bin/modmanage" + chmod 0755 "${PMODULES_HOME}/bin/modmanage" sed "${sed_cmd}" "${SRC_DIR}/modmanage.bash.in" > "${PMODULES_HOME}/libexec/modmanage.bash" chmod 0755 "${PMODULES_HOME}/libexec/modmanage.bash" - install -m 0755 "${SRC_DIR}/modulecmd" "${PMODULES_HOME}/bin" - install -m 0755 "${SRC_DIR}/modmanage" "${PMODULES_HOME}/bin" - install -m 0644 "${SRC_DIR}/bash" "${PMODULES_HOME}/init" install -m 0644 "${SRC_DIR}/bash_completion" "${PMODULES_HOME}/init" install -m 0644 "${SRC_DIR}/csh" "${PMODULES_HOME}/init" @@ -487,7 +504,7 @@ pmodules::install() { install -m 0644 "${SRC_DIR}/libmodules.tcl" "${PMODULES_HOME}/lib/Pmodules" { - PATH="${PMODULES_HOME}/sbin:${PATH}" + PATH="${PMODULES_HOME}/${UTILBIN_DIR}:${PATH}" cd "${PMODULES_HOME}/lib/Pmodules" "${BOOTSTRAP_DIR}/mkindex.tcl" } diff --git a/config/versions.conf b/config/versions.conf index 00777ad..2311805 100644 --- a/config/versions.conf +++ b/config/versions.conf @@ -1,8 +1,8 @@ -bash 5.1-rc3 +bash 5.1 coreutils 8.31 findutils 4.7.0 getopt 1.1.6 gettext 0.21 modules 3.2.10.1 -Pmodules 1.0.0rc7 +Pmodules 1.0.0rc8 Tcl 8.6.10 From d8815d2a29d59a1b0feb02b5accdc69c32f3e6b3 Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Thu, 18 Mar 2021 13:32:55 +0100 Subject: [PATCH 3/7] init files for unsupported shells removed --- Tools/modules/build | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/Tools/modules/build b/Tools/modules/build index 8aaaeae..8a1f45f 100755 --- a/Tools/modules/build +++ b/Tools/modules/build @@ -29,18 +29,19 @@ pbuild::configure() { } pbuild::post_install() { - rm -v ${PREFIX}/Modules/bin/add.modules - rm -v ${PREFIX}/Modules/bin/mkroot - rm -rfv ${PREFIX}/Modules/modulefiles - mv -v ${PREFIX}/Modules/share/man/man1/module.1 ${PREFIX}/share/man/man1 - mv -v ${PREFIX}/Modules/share/man/man4/modulefile.4 ${PREFIX}/share/man/man4 - rmdir ${PREFIX}/Modules/bin - rmdir ${PREFIX}/Modules/share/man/man1 - rmdir ${PREFIX}/Modules/share/man/man4 - rmdir ${PREFIX}/Modules/share/man - rmdir ${PREFIX}/Modules/share - rmdir ${PREFIX}/Modules - cp -v "${BUILD_DIR}/modulecmd" "${PREFIX}/libexec/modulecmd.bin" || exit 1 + rm -v "${PREFIX}/Modules/bin/add.modules" + rm -v "${PREFIX}/Modules/bin/mkroot" + rm -rfv "${PREFIX}/Modules/modulefiles" + mv -v "${PREFIX}/Modules/share/man/man1/module.1 ${PREFIX}/share/man/man1" + mv -v "${PREFIX}/Modules/share/man/man4/modulefile.4 ${PREFIX}/share/man/man4" + rmdir "${PREFIX}/Modules/bin" + rmdir "${PREFIX}/Modules/share/man/man1" + rmdir "${PREFIX}/Modules/share/man/man4" + rmdir "${PREFIX}/Modules/share/man" + rmdir "${PREFIX}/Modules/share" + rmdir "${PREFIX}/Modules" + rm -f "${PREIX}/init/{ksh,perl.pm,python.py,ruby.rb,cmake,.modulespath}" + cp -v "${BUILD_DIR}/modulecmd" "${PREFIX}/libexec/modulecmd.bin" || exit 1 } # fake module command From fcfbe187fdf23aefca196c7c4e0771cf63e00cee Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Thu, 18 Mar 2021 13:34:58 +0100 Subject: [PATCH 4/7] build and install findutils and getopt on macOS/Darwin only --- build | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/build b/build index c1f2f57..5f0b667 100755 --- a/build +++ b/build @@ -340,18 +340,20 @@ pmodules::compile() { # build coreutils #fi - if [[ ! -f "${PMODULES_HOME}/${UTILBIN_DIR}/getopt" ]] || [[ ${opt_force} == 'yes' ]]; then - build getopt + if [[ "${OS}" == 'Darwin' ]]; then + if [[ ! -f "${PMODULES_HOME}/${UTILBIN_DIR}/getopt" ]] || [[ ${opt_force} == 'yes' ]]; then + build getopt + fi + + if [[ ! -f "${PMODULES_HOME}/${UTILBIN_DIR}/find" ]] || [[ ${opt_force} == 'yes' ]]; then + build findutils + fi fi if [[ ! -f "${PMODULES_HOME}/${UTILBIN_DIR}/bash" ]] || [[ ${opt_force} == 'yes' ]]; then build bash fi - if [[ ! -f "${PMODULES_HOME}/${UTILBIN_DIR}/find" ]] || [[ ${opt_force} == 'yes' ]]; then - build findutils - fi - if [[ ! -e "${PMODULES_HOME}/${UTILBIN_DIR}/tclsh" ]] || [[ ${opt_force} == 'yes' ]]; then build Tcl fi From af0f8e9e0c9f513f4017222ce2220394142b59ae Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Thu, 18 Mar 2021 13:36:34 +0100 Subject: [PATCH 5/7] build and install findutils and getopt only for macOS/Darwin --- build | 1 + 1 file changed, 1 insertion(+) diff --git a/build b/build index 5f0b667..d882edc 100755 --- a/build +++ b/build @@ -5,6 +5,7 @@ if [ "${BASH_VERSINFO[0]}" -lt 4 ]; then exit 1 fi +declare -r OS=$(uname -s) declare BOOTSTRAP_DIR=$(dirname "$0") source "${BOOTSTRAP_DIR}/Pmodules/libstd.bash" || { echo "Oops!" 1>&2; exit 42; } From 7f5e6c75c36d2c5a47c1c7d05779336b19f81fcd Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Thu, 18 Mar 2021 13:37:42 +0100 Subject: [PATCH 6/7] install modulefile for Pmodules --- Pmodules/modulefile | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 Pmodules/modulefile diff --git a/Pmodules/modulefile b/Pmodules/modulefile new file mode 100644 index 0000000..65aa4c1 --- /dev/null +++ b/Pmodules/modulefile @@ -0,0 +1,10 @@ +#%Module1.0 + +module-whatis "Pmodules environment" +module-url "https://gitlab.psi.ch/Pmodules/src" +module-license "GNU GPL v2" +module-maintainer "Achim Gsell " + +module-help " +Pmodules are a hierarchical module environment based on Environment Modules. +" From 7dcb8744e5fa4ed4fe7c0b2a761484b2bbda0220 Mon Sep 17 00:00:00 2001 From: Achim Gsell Date: Thu, 18 Mar 2021 13:38:27 +0100 Subject: [PATCH 7/7] install modulefile for Pmodules --- build | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build b/build index d882edc..5e7febf 100755 --- a/build +++ b/build @@ -6,6 +6,7 @@ if [ "${BASH_VERSINFO[0]}" -lt 4 ]; then fi declare -r OS=$(uname -s) + declare BOOTSTRAP_DIR=$(dirname "$0") source "${BOOTSTRAP_DIR}/Pmodules/libstd.bash" || { echo "Oops!" 1>&2; exit 42; } @@ -228,7 +229,6 @@ Use the option --force to override.\nAborting..." read_config_file 'config_file' install -d -m 0755 "${PMODULES_HOME}/bin" - install -d -m 0755 "${PMODULES_HOME}/config" install -d -m 0755 "${PMODULES_HOME}/init" install -d -m 0755 "${PMODULES_HOME}/lib" install -d -m 0755 "${PMODULES_HOME}/libexec" @@ -328,7 +328,6 @@ pmodules::compile() { local config_file="${prefix}/${CONFIG_DIR}/${CONFIG_FILE}" read_config_file config_file install -d -m 0755 "${PMODULES_HOME}/bin" - install -d -m 0755 "${PMODULES_HOME}/config" install -d -m 0755 "${PMODULES_HOME}/init" install -d -m 0755 "${PMODULES_HOME}/lib" install -d -m 0755 "${PMODULES_HOME}/libexec" @@ -512,9 +511,10 @@ pmodules::install() { "${BOOTSTRAP_DIR}/mkindex.tcl" } - mkdir -p "${PMODULES_ROOT}/Tools/modulefiles" + install -m 0755 -d "${PMODULES_ROOT}/Tools/modulefiles/Pmodules" + install -m 0644 "${SRC_DIR}/modulefile" "${PMODULES_ROOT}/Tools/modulefiles/Pmodules/${PMODULES_VERSION}" mkdir -p "${PMODULES_ROOT}/Libraries/modulefiles" - + echo "Done..." }