summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorMarkus Heiser <markus.heiser@darmarit.de>2020-03-18 15:34:46 +0100
committerMarkus Heiser <markus.heiser@darmarit.de>2020-03-18 15:34:46 +0100
commitd2cfe9ce5bb409472f10590aa1ae069b2a971a49 (patch)
tree81b689c72bd180aae410c6bf822f46980a43458c /utils
parent86e79488aab3ff434c6682a9464ba2eee49158e9 (diff)
downloadsearxng-d2cfe9ce5bb409472f10590aa1ae069b2a971a49.tar.gz
searxng-d2cfe9ce5bb409472f10590aa1ae069b2a971a49.zip
LXC: add /.lxcenv
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Diffstat (limited to 'utils')
-rwxr-xr-xutils/lib.sh23
-rw-r--r--utils/lxc-searx.env1
-rwxr-xr-xutils/lxc.sh6
3 files changed, 23 insertions, 7 deletions
diff --git a/utils/lib.sh b/utils/lib.sh
index e13acca3e..e9bfc929f 100755
--- a/utils/lib.sh
+++ b/utils/lib.sh
@@ -1065,18 +1065,31 @@ EOF
in_container() {
# Test if shell runs in a container.
#
- # hint: Reads init process environment, therefore root access is required!
- #
# usage: in_container && echo "process running inside a LXC container"
# in_container || echo "process is not running inside a LXC container"
#
-
- sudo_or_exit
+ # sudo_or_exit
+ # hint: Reads init process environment, therefore root access is required!
# to be safe, take a look at the environment of process 1 (/sbin/init)
- grep -qa 'container=lxc' /proc/1/environ
+ # grep -qa 'container=lxc' /proc/1/environ
+
+ # see lxc_init_container
+ [[ -f /.lxcenv ]]
}
+lxc_init_container() {
+ # Create a /.lxcenv file in the root folder. Call this once after container
+ # is inital started.
+
+ # usage: lxc_create_root_dot_lxcenv <name>
+
+ info_msg "create /.lxcenv in container $1"
+ cat <<EOF | lxc exec "${1}" -- bash | prefix_stdout "[${_BBlue}${1}${_creset}] "
+touch "/.lxcenv"
+ls -l "/.lxcenv"
+EOF
+}
lxc_exists(){
# usage: lxc_exists <name> || echo "container <name> does not exists"
diff --git a/utils/lxc-searx.env b/utils/lxc-searx.env
index a5ef5712c..f81ee1c08 100644
--- a/utils/lxc-searx.env
+++ b/utils/lxc-searx.env
@@ -51,6 +51,7 @@ lxc_suite_prepare_buildhost() {
(
lxc_set_suite_env
export FORCE_TIMEOUT=0
+ # "${LXC_REPO_ROOT}/utils/searx.sh* install packages
"${LXC_REPO_ROOT}/utils/searx.sh" install buildhost
rst_title "buildhost installation finished ($(hostname))" part
echo
diff --git a/utils/lxc.sh b/utils/lxc.sh
index 64805272e..56450c4db 100755
--- a/utils/lxc.sh
+++ b/utils/lxc.sh
@@ -82,7 +82,7 @@ usage::
$_cmd [start|stop] [containers|<name>]
$_cmd show [info|config|suite|images]
$_cmd cmd [--|<name>] '...'
- $_cmd install [suite]
+ $_cmd install [suite|buildhost]
build
:containers: build & launch all LXC containers of the suite
@@ -443,10 +443,12 @@ lxc_boilerplate_containers() {
boilerplate_script="${image_name}_boilerplate"
boilerplate_script="${!boilerplate_script}"
- info_msg "[${_BBlue}${container_name}${_creset}] install /.lxcenv.mk .."
+ info_msg "[${_BBlue}${container_name}${_creset}] init .."
if lxc start -q "${container_name}" &>/dev/null; then
sleep 5 # guest needs some time to come up and get an IP
fi
+ lxc_init_container "${container_name}"
+ info_msg "[${_BBlue}${container_name}${_creset}] install /.lxcenv.mk .."
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"