diff options
author | Markus Heiser <markus.heiser@darmarit.de> | 2020-03-15 17:01:36 +0100 |
---|---|---|
committer | Markus Heiser <markus.heiser@darmarit.de> | 2020-03-15 17:01:36 +0100 |
commit | 86e79488aab3ff434c6682a9464ba2eee49158e9 (patch) | |
tree | 3ad002dc0c5467ab9fec9e2a65b8124304c1bac4 /utils/lxc.sh | |
parent | 26b85659c0b7c9bf545dfe4edeedc3ccf247bc97 (diff) | |
download | searxng-86e79488aab3ff434c6682a9464ba2eee49158e9.tar.gz searxng-86e79488aab3ff434c6682a9464ba2eee49158e9.zip |
LXC: utils/makefile.lxc (inital) add /.lxcenv.mk to contaiiners
Get LXC environment when building make targets.
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Diffstat (limited to 'utils/lxc.sh')
-rwxr-xr-x | utils/lxc.sh | 52 |
1 files changed, 28 insertions, 24 deletions
diff --git a/utils/lxc.sh b/utils/lxc.sh index 3c4d2016e..64805272e 100755 --- a/utils/lxc.sh +++ b/utils/lxc.sh @@ -104,7 +104,8 @@ cmd -- run command '...' in all containers of the LXC suite :<name>: run command '...' in container <name> install - :suite: install LXC suite, includes morty & filtron + :suite: install LXC suite; ${lxc_suite_install_info} + :buildhost: prepare LXC; buildhost EOF usage_images @@ -224,12 +225,7 @@ main() { sudo_or_exit shift case $1 in - --) - shift - for name in "${CONTAINERS[@]}"; do - lxc_exec_cmd "${name}" "$@" - done - ;; + --) shift; lxc_exec "$@" ;; ${LXC_HOST_PREFIX}-*) ! lxc_exists "$1" && usage_containers "unknown container: $1" && exit 42 local name=$1 @@ -242,13 +238,15 @@ main() { install) sudo_or_exit case $2 in - suite) install_suite ;; + suite) lxc_exec "${LXC_REPO_ROOT}/utils/lxc.sh" __install suite;; + buildhost) lxc_exec "${LXC_REPO_ROOT}/utils/lxc.sh" __install buildhost;; *) usage "$_usage"; exit 42 ;; esac ;; __install) case $2 in suite) lxc_suite_install ;; + buildhost) lxc_suite_prepare_buildhost ;; esac ;; doc) @@ -263,7 +261,6 @@ main() { build_instances() { rst_title "Build LXC instances" - echo lxc_copy_images_localy echo rst_title "build containers" section @@ -360,18 +357,6 @@ show_suite(){ done } -install_suite() { - for i in "${CONTAINERS[@]}"; do - if ! lxc_exists "$i"; then - warn_msg "container ${_BBlue}$i${_creset} does not yet exists" - else - info_msg "[${_BBlue}${i}${_creset}] ${_BGreen}${LXC_REPO_ROOT}/utils/lxc.sh install suite${_creset}" - lxc exec -t "${i}" -- "${LXC_REPO_ROOT}/utils/lxc.sh" __install suite \ - | prefix_stdout "[${_BBlue}${i}${_creset}] " - fi - done -} - lxc_cmd() { for i in "${CONTAINERS[@]}"; do if ! lxc_exists "$i"; then @@ -389,14 +374,23 @@ lxc_exec_cmd() { shift exit_val= info_msg "[${_BBlue}${name}${_creset}] ${_BGreen}${*}${_creset}" - lxc exec --cwd "${LXC_REPO_ROOT}" "${name}" -- bash -c "$*" + lxc exec -t --cwd "${LXC_REPO_ROOT}" "${name}" -- bash -c "$*" exit_val=$? if [[ $exit_val -ne 0 ]]; then warn_msg "[${_BBlue}${name}${_creset}] exit code (${_BRed}${exit_val}${_creset}) from ${_BGreen}${*}${_creset}" else info_msg "[${_BBlue}${name}${_creset}] exit code (${exit_val}) from ${_BGreen}${*}${_creset}" fi - echo +} + +lxc_exec() { + for i in "${CONTAINERS[@]}"; do + if ! lxc_exists "$i"; then + warn_msg "container ${_BBlue}$i${_creset} does not yet exists" + else + lxc_exec_cmd "${i}" "$@" | prefix_stdout "[${_BBlue}${i}${_creset}] " + fi + done } lxc_init_containers() { @@ -449,7 +443,17 @@ lxc_boilerplate_containers() { boilerplate_script="${image_name}_boilerplate" boilerplate_script="${!boilerplate_script}" - info_msg "[${_BBlue}${container_name}${_creset}] install boilerplate" + info_msg "[${_BBlue}${container_name}${_creset}] install /.lxcenv.mk .." + if lxc start -q "${container_name}" &>/dev/null; then + sleep 5 # guest needs some time to come up and get an IP + fi + cat <<EOF | lxc exec "${container_name}" -- bash | prefix_stdout "[${_BBlue}${container_name}${_creset}] " +rm -f "/.lxcenv.mk" +ln -s "${LXC_REPO_ROOT}/utils/makefile.lxc" "/.lxcenv.mk" +ls -l "/.lxcenv.mk" +EOF + + info_msg "[${_BBlue}${container_name}${_creset}] install boilerplate .." if lxc start -q "${container_name}" &>/dev/null; then sleep 5 # guest needs some time to come up and get an IP fi |