Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
8e78694
Branch to build stack for nessi.uiocloud.no
poksumdo Jun 30, 2022
a97af5b
Changed connection mode
poksumdo Jun 30, 2022
11563e2
DIRECT is the correct value
poksumdo Jun 30, 2022
272f896
Updated easystack file
poksumdo Jun 30, 2022
90c61c1
Disabled easystack file check
poksumdo Jun 30, 2022
2e9874a
Added a bit more debug output
poksumdo Jun 30, 2022
e66f8d1
Moved determination of software subdir into create_tarball.sh
poksumdo Jun 30, 2022
fb74340
Removed one parameter from create_tarball.sh
poksumdo Jun 30, 2022
443ec75
Removed additional 'then'
poksumdo Jun 30, 2022
88c6eb7
Added setting of pilot_version
poksumdo Jun 30, 2022
d8db57a
Convert '/' to '_' in tgz filename
poksumdo Jun 30, 2022
daaaf66
Separate between software subdir use (dir or tgz)
poksumdo Jun 30, 2022
1c1efec
Add GCC 9.3.0 to repo
poksumdo Jun 30, 2022
61ab4ff
artificial change to trigger event
poksumdo Aug 3, 2022
93828b8
fake change to trigger new pull_request create event
poksumdo Aug 3, 2022
f37ba72
added missing exclamation mark in success message
poksumdo Aug 3, 2022
7daf78b
Addding CaDiCaL 1.3.0 to pilot.nessi
poksumdo Aug 11, 2022
fe15d07
PR for building Java 11.0.2 for generic arch
poksumdo Aug 17, 2022
8415e2e
Added customized startprefix for retaining EASYBUILD_OPTARCH
poksumdo Aug 17, 2022
0ce75aa
Revert "Added customized startprefix for retaining EASYBUILD_OPTARCH"
poksumdo Aug 17, 2022
8e3eca6
Adding handling of arguments
poksumdo Aug 17, 2022
fa78dae
Making create_tarball.sh aware of --generic
poksumdo Aug 17, 2022
e528056
Adding more debug output for software override
poksumdo Aug 17, 2022
67c154b
Export override variable
poksumdo Aug 17, 2022
ffc6d9e
Removing OS_TYPE from orverride variable
poksumdo Aug 17, 2022
9726a3f
Put comparison operands in double quotes
poksumdo Aug 17, 2022
e858cfb
Fixing bug in comparison: -le vs -lt
poksumdo Aug 17, 2022
57d6587
Polished code
poksumdo Aug 17, 2022
8f9a8c1
Removed debugging output
poksumdo Aug 17, 2022
0af6437
Adding a bit more debug output
poksumdo Aug 23, 2022
5dce8d4
More debug output (http*)
poksumdo Aug 23, 2022
b4f78b4
More command line arguments
poksumdo Aug 23, 2022
6af6fb1
Added a bit more debug output
poksumdo Aug 23, 2022
d04bf15
Improved command line parsing
poksumdo Aug 23, 2022
602cef6
Adding more debug output
poksumdo Aug 23, 2022
beeb927
Attempt to fix patch issue with trz42/PR11
truib Aug 31, 2022
6090cfe
Improved handling of command line parameters
truib Aug 26, 2022
4242150
Fixed order of scripts to set up env vars
truib Aug 27, 2022
4bd3af7
Removed --http(s)-proxy parameters
poksumdo Sep 2, 2022
4d431fb
Create ebtmp directory explicitly
truib Sep 6, 2022
60246e8
Last commit was to wrong branch
truib Sep 6, 2022
a8564ad
Revert "Create ebtmp directory explicitly"
truib Sep 6, 2022
527a3bf
Create $EB_TMPDIR explicitly
truib Sep 6, 2022
4c7dab2
Merge pull request #13 from poksumdo/add-Java-11.0.2-nessi-new
poksumdo Sep 7, 2022
467272a
Merge remote-tracking branch 'upstream/main' into main
truib Sep 7, 2022
7eba3bf
always exclude '.wh.*' files when creating tarball in overlay
boegel Jan 15, 2023
3874c84
Merge branch 'fix_create_tarball' of https://github.com/boegel/softwa…
truib Jan 15, 2023
724ffe4
Changed nessi to eessi, removed unneeded files
truib Jan 15, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 12 additions & 2 deletions EESSI-pilot-install-software.sh
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,11 @@ else
fi

TMPDIR=$(mktemp -d)
echo "TMPDIR=${TMPDIR}; size=$(df -h ${TMPDIR})"

# are proxies configured
echo "are proxies defined via http*?"
env | grep -i http

echo ">> Setting up environment..."

Expand Down Expand Up @@ -102,7 +107,7 @@ fi
# Set all the EESSI environment variables (respecting $EESSI_SOFTWARE_SUBDIR_OVERRIDE)
# $EESSI_SILENT - don't print any messages
# $EESSI_BASIC_ENV - give a basic set of environment variables
EESSI_SILENT=1 EESSI_BASIC_ENV=1 source $TOPDIR/init/eessi_environment_variables
EESSI_SILENT=0 EESSI_BASIC_ENV=1 source $TOPDIR/init/eessi_environment_variables

if [[ -z ${EESSI_SOFTWARE_SUBDIR} ]]; then
fatal_error "Failed to determine software subdirectory?!"
Expand Down Expand Up @@ -147,11 +152,16 @@ if [[ $? -eq 0 ]]; then
else
echo_yellow ">> No EasyBuild module yet, installing it..."

curl -I https://pypi.org/simple/easybuild/

EB_TMPDIR=${TMPDIR}/ebtmp
echo ">> Temporary installation (in ${EB_TMPDIR})..."
mkdir -p $EB_TMPDIR
echo ">> Temporary installation (in ${EB_TMPDIR}, $(df -h ${EB_TMPDIR}))..."
pip_install_out=${TMPDIR}/pip_install.out
pip3 install --prefix $EB_TMPDIR easybuild &> ${pip_install_out}

tail ${pip_install_out}

echo ">> Final installation in ${EASYBUILD_INSTALLPATH}..."
export PATH=${EB_TMPDIR}/bin:$PATH
export PYTHONPATH=$(ls -d ${EB_TMPDIR}/lib/python*/site-packages):$PYTHONPATH
Expand Down
2 changes: 1 addition & 1 deletion create_init_tarball.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash

SOFTWARE_LAYER_TARBALL_URL=https://github.com/EESSI/software-layer/tarball/main
SOFTWARE_LAYER_TARBALL_URL=https://github.com/trz42/software-layer/tarball/main

set -eo pipefail

Expand Down
82 changes: 74 additions & 8 deletions create_tarball.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,80 @@

set -e

if [ $# -ne 4 ]; then
echo "ERROR: Usage: $0 <EESSI tmp dir (example: /tmp/$USER/EESSI)> <pilot version (example: 2021.03)> <CPU arch subdir (example: x86_64/amd/zen2)> <path to tarball>" >&2
if [ $# -lt 3 ]; then
echo "ERROR: Usage: $0 <EESSI tmp dir (example: /tmp/$USER/EESSI)> <component (software or compat)> <dir to tarball> <any additional options (example: --generic)>" >&2
exit 1
fi
eessi_tmpdir=$1
pilot_version=$2
cpu_arch_subdir=$3
target_tgz=$4
component=$2
basedir=$3

# see example parsing of command line arguments at
# https://wiki.bash-hackers.org/scripting/posparams#using_a_while_loop
# https://stackoverflow.com/questions/192249/how-do-i-parse-command-line-arguments-in-bash

display_help() {
echo "usage: $0 <EESSI tmp dir (example: /tmp/$USER/EESSI)> <component (software or compat)> <dir to tarball> [OPTIONS]"
echo " OPTIONS"
echo " -g | --generic - instructs script to tar files of generic architecture target"
echo " -h | --help - display this usage information"
}

POSITIONAL_ARGS=()

while [[ $# -gt 0 ]]; do
case $1 in
-g|--generic)
EASYBUILD_OPTARCH="GENERIC"
shift
;;
-h|--help)
display_help # Call your function
# no shifting needed here, we're done.
exit 0
;;
-*|--*)
echo "Error: Unknown option: $1" >&2
exit 1
;;
*) # No more options
POSITIONAL_ARGS+=("$1") # save positional arg
shift
;;
esac
done

set -- "${POSITIONAL_ARGS[@]}"

TOPDIR=$(dirname $(realpath $0))

source $TOPDIR/utils.sh

# need to source minimal_eessi_env early to have EESSI_CPU_FAMILY defined
source $TOPDIR/init/minimal_eessi_env

if [ -d $EESSI_CVMFS_REPO ]; then
echo_green "$EESSI_CVMFS_REPO available, OK!"
else
fatal_error "$EESSI_CVMFS_REPO is not available!"
fi

if [[ "$EASYBUILD_OPTARCH" == "GENERIC" ]]; then
echo_yellow ">> Tar'ing GENERIC build, taking appropriate measures!"
export EESSI_SOFTWARE_SUBDIR_OVERRIDE=${EESSI_CPU_FAMILY}/generic
fi

# if EESSI_SOFTWARE_SUBDIR not set get it (note can be overridden by EESSI_SOFTWARE_SUBDIR_OVERRIDE)
if [ -z $EESSI_SOFTWARE_SUBDIR ]; then
source init/eessi_environment_variables
fi

cpu_arch_subdir=${EESSI_SOFTWARE_SUBDIR}
cpu_arch_subdir_converted=$(echo ${EESSI_SOFTWARE_SUBDIR} | tr '/' '-')
pilot_version=$EESSI_PILOT_VERSION

timestamp=$(date +%s)
export target_tgz=$(printf "%s/eessi-%s-%s-%s-%s-%d.tar.gz" ${basedir} ${EESSI_PILOT_VERSION} ${component} ${EESSI_OS_TYPE} ${cpu_arch_subdir_converted} ${timestamp})

tmpdir=`mktemp -d`
echo ">> tmpdir: $tmpdir"
Expand Down Expand Up @@ -43,13 +109,13 @@ if [ -d ${pilot_version}/software/${os}/${cpu_arch_subdir}/.lmod ]; then
fi
if [ -d ${pilot_version}/software/${os}/${cpu_arch_subdir}/modules ]; then
# module files
find ${pilot_version}/software/${os}/${cpu_arch_subdir}/modules -type f >> ${files_list}
find ${pilot_version}/software/${os}/${cpu_arch_subdir}/modules -type f | grep -v '/\.wh\.' >> ${files_list}
# module symlinks
find ${pilot_version}/software/${os}/${cpu_arch_subdir}/modules -type l >> ${files_list}
find ${pilot_version}/software/${os}/${cpu_arch_subdir}/modules -type l | grep -v '/\.wh\.' >> ${files_list}
fi
if [ -d ${pilot_version}/software/${os}/${cpu_arch_subdir}/software ]; then
# installation directories
ls -d ${pilot_version}/software/${os}/${cpu_arch_subdir}/software/*/* >> ${files_list}
ls -d ${pilot_version}/software/${os}/${cpu_arch_subdir}/software/*/* | grep -v '/\.wh\.' >> ${files_list}
fi

topdir=${cvmfs_repo}/versions/
Expand Down
2 changes: 2 additions & 0 deletions default.local
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
CVMFS_QUOTA_LIMIT=10000
CVMFS_HTTP_PROXY=DIRECT
2 changes: 2 additions & 0 deletions init/eessi_environment_variables
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ function error() {
# set up minimal environment: $EESSI_PREFIX, $EESSI_PILOT_VERSION, $EESSI_OS_TYPE, $EESSI_CPU_FAMILY, $EPREFIX
source $EESSI_INIT_DIR_PATH/minimal_eessi_env

echo "minimal_eessi_env: EESSI_PREFIX=${EESSI_PREFIX}= EESSI_OS_TYPE=${EESSI_OS_TYPE}= EESSI_CPU_FAMILY=${EESSI_CPU_FAMILY}=" >> $output

if [ -d $EESSI_PREFIX ]; then
echo "Found EESSI pilot repo @ $EESSI_PREFIX!" >> $output

Expand Down
2 changes: 2 additions & 0 deletions run_in_compat_layer_env.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#!/bin/bash
echo "is env var EASYBUILD_OPTARCH set?"
env | grep -i EASYBUILD_OPTARCH | sed -e 's/^/run_in_compat_layer.sh:/'
if [ -z $EESSI_PILOT_VERSION ]; then
echo "ERROR: \$EESSI_PILOT_VERSION must be set!" >&2
exit 1
Expand Down