11#! /bin/bash
22
3+
4+
35set -eu
46
57function get_abs_filename() {
68 echo " $( cd " $( dirname " $1 " ) " && pwd) /$( basename " $1 " ) "
79}
810
9- if test " ${METWORK_PROFILE_LOADED:- 0} " = " 1" ; then
10- echo " ERROR: metwork environnement is already loaded"
11- echo " => use a terminal without metwork environnement loaded"
12- echo " to launch this script"
11+ function usage() {
12+ echo " usage: ./bootstrap.sh INSTALL_PREFIX_DIRECTORY MFCOM_INSTALL_ROOT_DIRECTORY"
13+ }
14+
15+ if test " ${1:- } " = " " -o " ${2:- } " = " " ; then
16+ usage
1317 exit 1
1418fi
15-
16-
17- function usage() {
18- echo " usage: ./bootstrap.sh INSTALL_PREFIX_DIRECTORY MFCOM_INSTALL_ROOT_DIRECTORY"
19- }
20- if test " ${1:- } " = " " -o " ${2:- } " = " " ; then
21- usage
22- exit 1
23- fi
24- if test " ${1:- } " = " " ; then
25- usage
26- exit 1
27- fi
28- MFCOM_HOME=$( get_abs_filename " $2 " )
29- export MFCOM_HOME
30- if ! test -d " ${MFCOM_HOME} " ; then
31- usage
32- echo " ERROR: ${MFCOM_HOME} is not a directory"
33- exit 1
34- fi
35- if ! test -r " ${MFCOM_HOME} /share/mfext_home" ; then
36- echo " ERROR: can't find mfext_home inside mfcom"
37- exit 1
38- fi
39- MFEXT_HOME=$( cat " ${MFCOM_HOME} /share/mfext_home" )
40- if ! test -d " ${MFEXT_HOME} " ; then
41- echo " ERROR: ${MFEXT_HOME} is not a directory"
42- exit 1
43- fi
44- export MFEXT_HOME
45- MFEXT_VERSION=$( cat " ${MFEXT_HOME} /config/version" )
46- export MFEXT_VERSION
47- MFCOM_VERSION=$( cat " ${MFCOM_HOME} /config/version" )
48- export MFCOM_VERSION
49- MFBASE_VERSION=$( " ${MFEXT_HOME} /bin/guess_version.sh" )
50- export MFBASE_VERSION
51- MODULE_VERSION=$( " ${MFEXT_HOME} /bin/guess_version.sh" )
52- export MODULE_VERSION
53-
54-
5519if test " ${1:- } " = " --help" ; then
5620 usage
21+ exit 0
22+ fi
23+
24+ MFCOM_HOME=$( get_abs_filename " $2 " )
25+ export MFCOM_HOME
26+ if ! test -d " ${MFCOM_HOME} " ; then
27+ usage
28+ echo " ERROR: ${MFCOM_HOME} is not a directory"
5729 exit 1
5830fi
31+ if ! test -r " ${MFCOM_HOME} /share/mfext_home" ; then
32+ echo " ERROR: can't find mfext_home inside mfcom"
33+ exit 1
34+ fi
35+ MFEXT_HOME=$( cat " ${MFCOM_HOME} /share/mfext_home" )
36+ if ! test -d " ${MFEXT_HOME} " ; then
37+ echo " ERROR: ${MFEXT_HOME} is not a directory"
38+ exit 1
39+ fi
40+ MFEXT_HOME=$( get_abs_filename " ${MFEXT_HOME} " )
41+ export MFEXT_HOME
42+ MFEXT_VERSION=$( cat " ${MFEXT_HOME} /config/version" )
43+ export MFEXT_VERSION
44+ MFCOM_VERSION=$( cat " ${MFCOM_HOME} /config/version" )
45+ export MFCOM_VERSION
46+ MFBASE_VERSION=$( " ${MFEXT_HOME} /bin/guess_version.sh" )
47+ export MFBASE_VERSION
48+ MODULE_VERSION=$( " ${MFEXT_HOME} /bin/guess_version.sh" )
49+ export MODULE_VERSION
5950
6051PREFIX=$( get_abs_filename " $1 " )
6152export PREFIX
@@ -64,41 +55,33 @@ if ! test -d "${PREFIX}"; then
6455 echo " ERROR: ${PREFIX} is not a directory"
6556 exit 1
6657fi
67- MFEXT_HOME=$( get_abs_filename " ${MFEXT_HOME} " )
68- export MFEXT_HOME
69-
70- if ! test -f " ${MFEXT_HOME} /bin/guess_version.sh" ; then
71- echo " ERROR: configured mfext home (${MFEXT_HOME} ) is not a mfext home"
72- exit 1
73- fi
74-
75-
76- MFCOM_HOME=$( get_abs_filename " ${MFCOM_HOME} " )
77- export MFCOM_HOME
78- if ! test -f " ${MFCOM_HOME} /bin/echo_ok" ; then
79- echo " ERROR: configured mfcom home (${MFCOM_HOME} ) is not a mfcom home"
80- exit 1
81- fi
8258
59+ if ! test -f " ${MFEXT_HOME} /bin/guess_version.sh" ; then
60+ echo " ERROR: configured mfext home (${MFEXT_HOME} ) is not a mfext home"
61+ exit 1
62+ fi
63+ if ! test -f " ${MFCOM_HOME} /bin/mfcom_wrapper" ; then
64+ echo " ERROR: configured mfcom home (${MFCOM_HOME} ) is not a mfcom home"
65+ exit 1
66+ fi
8367
8468MODULE_HOME=$( get_abs_filename " ${PREFIX} " )
8569export MODULE_HOME
8670export MODULE=MFBASE
87- export MODULE_LOWERCASE=mfdata
71+ export MODULE_LOWERCASE=mfbase
8872SRC_DIR=" $( cd " $( dirname " ${BASH_SOURCE[0]} " ) " && pwd ) "
8973export SRC_DIR
9074
75+ export MODULE_HAS_HOME_DIR=1
9176
92- export MODULE_HAS_HOME_DIR=1
93-
94-
77+ rm -f adm/root.mk
78+ touch adm/root.mk
9579
9680ROOT_PATH=${MODULE_HOME} /bin:${MFCOM_HOME} /bin:${MFEXT_HOME} /bin:${PATH:- }
9781ROOT_LD_LIBRARY_PATH=${MODULE_HOME} /lib:${MFCOM_HOME} /lib:${MFEXT_HOME} /lib
9882ROOT_PKG_CONFIG_PATH=${MODULE_HOME} /lib/pkgconfig:${MFCOM_HOME} /lib/pkgconfig:${MFEXT_HOME} /lib/pkgconfig
9983ROOT_METWORK_LAYERS_PATH=${MODULE_HOME} /opt:${MODULE_HOME} :${MFCOM_HOME} /opt:${MFCOM_HOME} :${MFEXT_HOME} /opt:${MFEXT_HOME}
10084
101-
10285echo " Making adm/root.mk..."
10386rm -f adm/root.mk
10487touch adm/root.mk
@@ -122,20 +105,12 @@ echo " export PKG_CONFIG_PATH := ${ROOT_PKG_CONFIG_PATH}/lib/pkgconfig" >>adm/r
122105echo " LAYER_ENVS:=\$ (shell env |grep '^METWORK_LAYER_.*_LOADED=1\$\$ ' |awk -F '=' '{print \$\$ 1;}')" >> adm/root.mk
123106echo " \$ (foreach LAYER_ENV, \$ (LAYER_ENVS), \$ (eval unexport \$ (LAYER_ENV)))" >> adm/root.mk
124107echo " endif" >> adm/root.mk
125-
126- echo " export MFCOM_HOME := ${MFCOM_HOME} " >> adm/root.mk
127- echo " export MFCOM_VERSION := ${MFCOM_VERSION} " >> adm/root.mk
128-
129- echo " export ${MODULE} _HOME := ${MODULE_HOME} " >> adm/root.mk
130- echo " export ${MODULE} _VERSION := ${MFBASE_VERSION} " >> adm/root.mk
131-
132- if test " ${MODULE_HAS_HOME_DIR:- } " = " 1" ; then
108+ echo " export MFCOM_HOME := ${MFCOM_HOME} " >> adm/root.mk
109+ echo " export MFCOM_VERSION := ${MFCOM_VERSION} " >> adm/root.mk
110+ echo " export ${MODULE} _HOME := ${MODULE_HOME} " >> adm/root.mk
111+ echo " export ${MODULE} _VERSION := ${MFBASE_VERSION} " >> adm/root.mk
112+ if test " ${MODULE_HAS_HOME_DIR:- } " = " 1" ; then
133113 echo " export MODULE_HAS_HOME_DIR := 1" >> adm/root.mk
134- fi
135- # echo "export PREFIX := ${MODULE_HOME}" >>adm/root.mk
136-
137- if test " ${ftp_proxy:- } " ! = " " ; then
138- echo " export ftp_proxy:=${ftp_proxy:- } " >> adm/root.mk
139114fi
140115if test " ${FTP_PROXY:- } " ! = " " ; then
141116 echo " export FTP_PROXY:=${FTP_PROXY:- } " >> adm/root.mk
152127if test " ${HTTP_PROXY:- } " ! = " " ; then
153128 echo " export HTTP_PROXY:=${HTTP_PROXY:- } " >> adm/root.mk
154129fi
155-
156- # FIXME: do not hardcode this
157- # FIXME: move to layer root extra_env ?
158130echo " export PYTHON2_SHORT_VERSION := 2.7" >> adm/root.mk
159131echo " export PYTHON3_SHORT_VERSION := 3.7" >> adm/root.mk
160132
161133echo " BOOTSTRAP DONE !"
162134echo " MFEXT_HOME=${MFEXT_HOME} "
163-
164- echo " MFCOM_HOME=${MFCOM_HOME} "
135+ echo " MFCOM_HOME=${MFCOM_HOME} "
0 commit comments