mrrl-containers

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

commit e391530ac4b6da386725c9256f1db0de62bf42cc
parent 13677c428c6d28a307fa572c737fc9ff8e94e1e6
Author: Jan Pobříslo <ccx@te2000.cz>
Date:   Thu, 11 Aug 2022 03:13:24 +0200

rewrite debootstrap action
Diffstat:
Mzsh-functions/confz_containers_init | 17++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/zsh-functions/confz_containers_init b/zsh-functions/confz_containers_init @@ -1270,23 +1270,26 @@ confz_container_debian_image_check() { require container_generic_layout :uid :gid :root #require container_debian_base_files :uid :gid :root require container_debootstrap :root :arch :mirror :suite \ - user=container-$vars[image_name] + user=container-$vars[image_name] :uid :gid } confz_container_debootstrap_check() { - checkvars user root arch mirror suite + checkvars user root arch mirror suite uid gid defvar variant minbase defvar debootstrap_executable debootstrap do_command=( # s6-setuidgid $vars[user] # TODO extra check for chown after debootstrap - $vars[debootstrap_executable] - --variant=$vars[variant] - $vars[suite] # SUITE - $vars[root] # TARGET - $vars[mirror] # MIRROR ) [[ -f $vars[root]/usr/bin/apt-get && -f $vars[root]/usr/bin/sh ]] } +confz_container_debootstrap_do() { + local tmp_root=${vars[root]:h}/.debootstrap.${vars[root]:t} + $vars[debootstrap_executable] --variant=$vars[variant] \ + $vars[suite] $tmp_root $vars[mirror] || return $? + chown -R $vars[uid]:$vars[gid] $tmp_root || return $? + s6-rename $tmp_root $vars[root] || return $? +} +typeset -f -t confz_container_debootstrap_do confz_container_debian_packages_installed_check() { checkvars containers_dir image_name packages svscan_dir