-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathremote_bootstrap.sh
73 lines (56 loc) · 1.81 KB
/
remote_bootstrap.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#!/usr/bin/env bash
action() {
# source law wlcg tools
source "law_wlcg_tools{{file_postfix}}.sh" ""
#
# set env variables
#
exportHGCON_{{hgc_remote_type}}="1"
export HGC_DATA="$LAW_JOB_HOME/hgc_data"
export HGC_SOFTWARE="$HGC_DATA/software"
export HGC_STORE="$HGC_DATA/store"
export HGC_LOCAL_CACHE="$HGC_DATA/cache"
export HGC_GRID_USER="{{hgc_grid_user}}"
export HGC_CMSSW_BASE="$HGC_DATA/cmssw"
local skip_cmssw="{{hgc_skip_cmssw}}"
export SCRAM_ARCH="{{hgc_scram_arch}}"
export CMSSW_VERSION="{{hgc_cmssw_version}}"
mkdir -p "$HGC_DATA"
#
# load the software bundle
#
mkdir -p "$HGC_SOFTWARE"
cd "$HGC_SOFTWARE"
law_wlcg_download_file "{{hgc_software_uri}}" "software\.\d+\.tgz" "software.tgz" "3" || return "$?"
tar -xzf "software.tgz" || return "$?"
rm "software.tgz"
cd "$LAW_JOB_HOME"
#
# load the repo bundle
#
law_wlcg_download_file "{{hgc_repo_uri}}" "{{hgc_repo_name}}\.{{hgc_repo_checksum}}\.\d+\.tgz" "repo.tgz" "3" || return "$?"
tar -xzf "repo.tgz" || return "$?"
rm "repo.tgz"
# source the repo setup
source "{{hgc_repo_name}}/setup.sh" ""
#
# setup CMSSW
#
if [ "$skip_cmssw" != "1" ]; then
(
source "/cvmfs/cms.cern.ch/cmsset_default.sh" ""
mkdir -p "$HGC_CMSSW_BASE"
cd "$HGC_CMSSW_BASE"
scramv1 project CMSSW "$CMSSW_VERSION"
cd "$CMSSW_VERSION"
law_wlcg_download_file "{{hgc_cmssw_uri}}" "$CMSSW_VERSION\.{{hgc_cmssw_checksum}}\.\d+\.tgz" "cmssw.tgz" "3" || return "$?"
tar -xzf "cmssw.tgz" || return "$?"
rm "cmssw.tgz"
cd src
eval `scramv1 runtime -sh`
scram build || return "$?"
)
fi
return "0"
}
action "$@"