commit 1fb4bdd02311f6b5618ca0a495ee6079cf14a409
parent b121943e7567bf0dd790f909aac81d4f44ac1043
Author: ccx <ccx@te2000.cz>
Date: Mon, 18 Mar 2024 14:17:57 +0000
Make fstab file optional
Diffstat:
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]