commit e8af5d63401b99305286f0f00385b0b5c35bd109
parent c7af951991848a44838cfda01f30da335c8ab69c
Author: Jan Pobrislo <ccx@webprojekty.cz>
Date: Sat, 16 Jan 2021 00:38:59 +0100
Abstract out container name, use correct one for xsession.
Diffstat:
1 file changed, 21 insertions(+), 18 deletions(-)
diff --git a/zsh-functions/confz_containers_init b/zsh-functions/confz_containers_init
@@ -92,10 +92,12 @@ confz_container_service_preset_check() {
}
confz_container_service_generic_check() {
- local uid gid container_user_dir svc_dir
+ local uid gid container_user_dir svc_dir container
local -a fstab
checkvars containers_dir svscan_dir image_name user
defvar fstab_extra ''
+ defvar container_name "$vars[image_name]"
+ container=$vars[container_name]
uid="${${(s.:.)"$(getent passwd ccx)"}[3]}" \
gid="${${(s.:.)"$(getent group ccx)"}[3]}" \
@@ -104,7 +106,7 @@ confz_container_service_generic_check() {
require fs_m filename=$vars[containers_dir]/user/$vars[user] mode=751
require fs_o filename=$vars[containers_dir]/user/$vars[user] owner=0:$gid
- container_user_dir=$vars[containers_dir]/user/$vars[user]/$vars[image_name]
+ container_user_dir=$vars[containers_dir]/user/$vars[user]/$container
require fs_d filename=$container_user_dir
require fs_m filename=$container_user_dir mode=751
require fs_o filename=$container_user_dir owner=0:$gid
@@ -124,19 +126,19 @@ confz_container_service_generic_check() {
require fs_m filename=$vars[containers_dir]/home/$vars[user] mode=751
require fs_o filename=$vars[containers_dir]/home/$vars[user] owner=0:$gid
- require fs_l filename=$vars[containers_dir]/home/$vars[user]/$vars[image_name] \
- destination=../../user/$vars[user]/$vars[image_name]/home/$vars[user]
+ require fs_l filename=$vars[containers_dir]/home/$vars[user]/$container \
+ destination=../../user/$vars[user]/$container/home/$vars[user]
fstab=(
$vars[containers_dir]/$vars[image_name]$'\t'$container_user_dir/root$'\tnone\tbind,ro,nosuid,nodev\t0 0'
$container_user_dir/home$'\t'$container_user_dir/root/home$'\tnone\tbind,nosuid,nodev\t0 0'
- /run/containers/$vars[image_name].$vars[user]/run$'\t'$container_user_dir/root/run$'\tnone\tbind,nosuid,nodev\t0 0'
- /run/containers/$vars[image_name].$vars[user]/tmp$'\t'$container_user_dir/root/tmp$'\tnone\tbind,nosuid,nodev\t0 0'
- /run/containers/$vars[image_name].$vars[user]/inbox$'\t'$container_user_dir/root/.inbox$'\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'
+ /run/containers/$container.$vars[user]/inbox$'\t'$container_user_dir/root/.inbox$'\tnone\tbind,ro,nosuid,nodev\t0 0'
"${(f@)vars[fstab_extra]}"
)
- svc_dir=$vars[svscan_dir]/container.$vars[image_name].$vars[user]
+ svc_dir=$vars[svscan_dir]/container.$container.$vars[user]
require container_service_preset preset=generic \
svc_dir=$svc_dir control_user=$uid control_group=$gid \
root_link=$container_user_dir/root \
@@ -145,14 +147,15 @@ confz_container_service_generic_check() {
require fs_contentnl filename=$svc_dir/env/CONTAINER_USER \
content=$vars[user]
require fs_contentnl filename=$svc_dir/env/CONTAINER_NAME \
- content=$vars[image_name]
+ content=$container
}
confz_container_service_xsession_check() {
- local uid gid container_user_dir svc_dir
+ local uid gid container_user_dir svc_dir container
local -a fstab
checkvars containers_dir svscan_dir image_name user display_number
defvar fstab_extra ''
+ container=xsession.$vars[display_number]
uid="${${(s.:.)"$(getent passwd ccx)"}[3]}" \
gid="${${(s.:.)"$(getent group ccx)"}[3]}" \
@@ -161,7 +164,7 @@ confz_container_service_xsession_check() {
require fs_m filename=$vars[containers_dir]/user/$vars[user] mode=751
require fs_o filename=$vars[containers_dir]/user/$vars[user] owner=0:$gid
- container_user_dir=$vars[containers_dir]/user/$vars[user]/$vars[image_name]
+ container_user_dir=$vars[containers_dir]/user/$vars[user]/$container
require fs_d filename=$container_user_dir
require fs_m filename=$container_user_dir mode=751
require fs_o filename=$container_user_dir owner=0:$gid
@@ -174,15 +177,15 @@ confz_container_service_xsession_check() {
require fs_m filename=$vars[containers_dir]/home/$vars[user] mode=751
require fs_o filename=$vars[containers_dir]/home/$vars[user] owner=0:$gid
- require fs_l filename=$vars[containers_dir]/home/$vars[user]/$vars[image_name] \
- destination=../../user/$vars[user]/$vars[image_name]/root/home/$vars[user]
+ require fs_l filename=$vars[containers_dir]/home/$vars[user]/$container \
+ destination=../../user/$vars[user]/$container/root/home/$vars[user]
fstab=(
$vars[containers_dir]/$vars[image_name]$'\t'$container_user_dir/root$'\tnone\tbind,ro,nosuid,nodev\t0 0'
- /run/containers/$vars[image_name].$vars[user]/home$'\t'$container_user_dir/root/home$'\tnone\tbind,nosuid,nodev\t0 0'
- /run/containers/$vars[image_name].$vars[user]/run$'\t'$container_user_dir/root/run$'\tnone\tbind,nosuid,nodev\t0 0'
- /run/containers/$vars[image_name].$vars[user]/tmp$'\t'$container_user_dir/root/tmp$'\tnone\tbind,nosuid,nodev\t0 0'
- /run/containers/$vars[image_name].$vars[user]/inbox$'\t'$container_user_dir/root/.inbox$'\tnone\tbind,ro,nosuid,nodev\t0 0'
+ /run/containers/$container.$vars[user]/home$'\t'$container_user_dir/root/home$'\tnone\tbind,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'
+ /run/containers/$container.$vars[user]/inbox$'\t'$container_user_dir/root/.inbox$'\tnone\tbind,ro,nosuid,nodev\t0 0'
"${(f@)vars[fstab_extra]}"
)
@@ -195,7 +198,7 @@ confz_container_service_xsession_check() {
require fs_contentnl filename=$svc_dir/env/CONTAINER_USER \
content=$vars[user]
require fs_contentnl filename=$svc_dir/env/CONTAINER_NAME \
- content=xsession.$vars[display_number]
+ content=$container_name
}
# --- old