mrrl-containers

MRRL version of container scripts
git clone https://ccx.te2000.cz/git/mrrl-containers
Log | Files | Refs

commit 1fb4bdd02311f6b5618ca0a495ee6079cf14a409
parent b121943e7567bf0dd790f909aac81d4f44ac1043
Author: ccx <ccx@te2000.cz>
Date:   Mon, 18 Mar 2024 14:17:57 +0000

Make fstab file optional

Diffstat:
Mzsh-functions/confz_containers_init | 24+++++++++++++-----------
1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/zsh-functions/confz_containers_init b/zsh-functions/confz_containers_init @@ -28,7 +28,7 @@ # o0:0 m644 confz_container_service_check() { - checkvars svc_dir root_link run_link finish_link fstab + checkvars svc_dir root_link run_link finish_link defvar down true defvar control_user root defvar control_group root @@ -51,9 +51,13 @@ confz_container_service_check() { require fs_l filename=$vars[svc_dir]/data/root \ destination=$vars[root_link] - require fs_contentnl filename=$vars[svc_dir]/data/fstab \ - content=$vars[fstab] - require fs_m filename=$vars[svc_dir]/data/fstab mode=644 + if (($+vars[fstab])); then + require fs_contentnl filename=$vars[svc_dir]/data/fstab \ + content=$vars[fstab] + require fs_m filename=$vars[svc_dir]/data/fstab mode=644 + else + require fs_r filename=$vars[svc_dir]/data/fstab + fi require fs_d filename=$vars[svc_dir]/env if [[ -n $vars[fstab_post] ]]; then @@ -128,13 +132,13 @@ confz_container_service_log_check() { confz_container_service_preset_check() { local preset_dir=$container_service_script_dir - checkvars svc_dir preset root_link fstab + checkvars svc_dir preset root_link [[ -x $preset_dir/$vars[preset]/run ]] || die "not an executable file: $preset_dir/$vars[preset]/run" [[ -x $preset_dir/$vars[preset]/finish ]] || die "not an executable file: $preset_dir/$vars[preset]/finish" require container_service \ run_link=$preset_dir/$vars[preset]/run \ finish_link=$preset_dir/$vars[preset]/finish \ - :svc_dir :root_link :fstab \?down \?control_user \?control_group \?fstab_post \ + :svc_dir :root_link \?fstab \?down \?control_user \?control_group \?fstab_post \ \?log_dir \?log_uid \?log_gid } () { @@ -498,10 +502,8 @@ confz_container_service_xorg_check() { require fs_d filename=$container_user_dir/root fstab_post=( - $vars[containers_dir]/systems/$vars[image_name]$'\t'$container_user_dir/root$'\tnone\tbind,ro,nosuid,nodev\t0 0' - /run/containers/$container.$vars[user]/run$'\t'$container_user_dir/root/run$'\tnone\tbind,nosuid,nodev\t0 0' - /run/containers/$container.$vars[user]/tmp$'\t'$container_user_dir/root/tmp$'\tnone\tbind,nosuid,nodev\t0 0' - "${(f@)vars[fstab_extra]}" + /run/containers/$container.$vars[user]/run$'\t/mnt/chroot/run\tnone\tbind,nosuid,nodev\t0 0' + /run/containers/$container.$vars[user]/tmp$'\t/mnt/chroot/tmp\tnone\tbind,nosuid,nodev\t0 0' ) svc_dir=$vars[svscan_dir]/container.$container @@ -510,7 +512,7 @@ confz_container_service_xorg_check() { log_dir=/run/container-logs/$container \ log_uid=0 log_gid=0 \ root_link=$vars[containers_dir]/systems/$vars[image_name] \ - fstab_post=${(F)fstab_post} \?down \?fstab + fstab_post=${(F)fstab_post} \?down \?fstab=fstab_extra require fs_d filename=$svc_dir/env require fs_contentnl filename=$svc_dir/env/CONTAINER_USER \ content=$vars[user]