mrrl-containers

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

commit c77de03d8d4f5cbb9af244c00409f5ba73324496
parent e3e75a2b8e21092ff96ba0124cd5cf226d542223
Author: Jan Pobříslo <ccx@te2000.cz>
Date:   Thu, 23 Jun 2022 01:08:19 +0200

Use container_sysroot_run to run nix installation.
Diffstat:
Mzsh-functions/confz_containers_init | 39++++++++++++++++++++++++++++++++++-----
1 file changed, 34 insertions(+), 5 deletions(-)

diff --git a/zsh-functions/confz_containers_init b/zsh-functions/confz_containers_init @@ -933,7 +933,7 @@ confz_container_nix_image_from_release_check() { :checksum :checksum_algo \?hostname \?locale } -confz_container_nix_bootstrap_utils_check() { +confz_container_nix_bootstrap_utils_apk_check() { checkvars user root arch uid gid defvar keys_dir /etc/apk/keys defvar apk_executable apk @@ -961,9 +961,22 @@ confz_container_nix_bootstrap_utils_check() { --root $vars[root] --keys-dir $vars[keys_dir] --no-scripts - add alpine-keys busybox + add alpine-keys apk-tools busybox + ) + [[ -f $vars[root]/sbin/apk ]] +} + +confz_container_nix_bootstrap_utils_check() { + checkvars root svscan_dir image_name + + require container_nix_bootstrap_utils_apk :root \?arch \?uid \?gid \ + \?keys_dir \?apk_executable \?mirror \?release \?repositories + + do_command=( + $commands[cd] $vars[svscan_dir]/container.$vars[image_name].sysroot + container_sysroot_run + /bin/apk fix ) - [[ -f $vars[root]/bin/sh ]] } confz_container_nix_unpacked_check() { @@ -978,8 +991,19 @@ confz_container_nix_unpacked_check() { [[ -f $vars[root]/${vars[filename]%.tar.*}/install ]] } +confz_container_nix_image_installed_check() { + checkvars filename image_name svscan_dir root + + do_command=( + $commands[cd] $vars[svscan_dir]/container.$vars[image_name].sysroot + container_sysroot_run + $vars[root]/${vars[filename]%.tar.*}/install + ) + [[ -d $vars[root]/nix/store ]] +} + confz_container_nix_image_check() { - checkvars containers_dir image_name url checksum + checkvars containers_dir image_name url checksum svscan_dir defvar checksum_algo sha256 defvar hostname $vars[image_name] @@ -994,10 +1018,15 @@ confz_container_nix_image_check() { require container_sysroot_user %uid %gid :containers_dir :image_name require container_generic_layout :uid :gid :root - require container_nix_bootstrap_utils :user :root :uid :gid \ + require container_service_sysroot :containers_dir :svscan_dir \ + :image_name + + require container_nix_bootstrap_utils :user :root :uid :gid :svscan_dir \ arch=x86_64 # TODO: infer correct arch require container_nix_unpacked :containers_dir :filename :root :user + require container_nix_image_installed :filename :root :image_name \ + :svscan_dir } confz_container_nix_packages_installed_check() {