commit 3ad0358391c793b607368eaf47efdaf9e55d7afb
parent 6b5f24598c42772f173ae48c6763215bda4b99f9
Author: Jan Pobříslo <ccx@te2000.cz>
Date: Thu, 16 Dec 2021 18:54:36 +0000
Install packages into Void.
Diffstat:
2 files changed, 61 insertions(+), 8 deletions(-)
diff --git a/zsh-functions/confz_containers_init b/zsh-functions/confz_containers_init
@@ -827,3 +827,27 @@ confz_container_void_image_check() {
require container_void_xbps :arch :mirror :repository \
:root user=container-$vars[image_name]
}
+
+confz_container_void_packages_installed_check() {
+ checkvars containers_dir image_name packages svscan_dir
+
+ require container_service_sysroot :containers_dir :svscan_dir \
+ :image_name
+
+ local root=$vars[containers_dir]/systems/$vars[image_name]
+ local -a missing
+ local pkg
+
+ for pkg in $=vars[packages]; do
+ [[ -f $root/var/db/xbps/.${pkg}-files.plist ]] || missing+=( $pkg )
+ done
+
+ do_command=(
+ $commands[cd] $vars[svscan_dir]/container.$vars[image_name].sysroot
+ container_sysroot_run
+ /usr/sbin/xbps-install --sync -- $missing
+ )
+
+ (( $#missing == 0 ))
+}
+
diff --git a/zsh-functions/confz_site_containers_init b/zsh-functions/confz_site_containers_init
@@ -41,9 +41,30 @@ confz_site_container_services_check() {
image_name=alpine-dev
}
+confz_site_container_alpine_check() {
+ checkvars containers_dir svscan_dir image_name packages
+ defvar arch x86_64
+
+ require container_alpine_image \
+ :containers_dir :arch :image_name
+ require container_alpine_packages_installed \
+ :containers_dir :svscan_dir :image_name :packages
+}
+
+confz_site_container_void_musl_check() {
+ checkvars containers_dir svscan_dir image_name packages
+ defvar arch x86_64-musl
+ defvar repository=current/musl
+
+ require container_void_image \
+ :containers_dir :arch :repository :image_name
+ require container_void_packages_installed \
+ :containers_dir :svscan_dir :image_name :packages
+}
+
confz_site_container_images_check() {
- defvar containers_dir /mnt/volumes/containers
- defvar svscan_dir /run/service
+ checkvars containers_dir svscan_dir
+
local -a alpine_core=(
# abduco
s6
@@ -53,19 +74,27 @@ confz_site_container_images_check() {
# rxvt-unicode-terminfo
zsh
)
- require container_alpine_image :containers_dir arch=x86_64 \
- image_name=alpine-sndio
- require container_alpine_packages_installed :containers_dir :svscan_dir \
+ require site_container_alpine :containers_dir :svscan_dir \
image_name=alpine-sndio packages="$alpine_core"
- require container_void_image :containers_dir arch=x86_64-musl \
- repository=current/musl image_name=void-browsers
+
+ local -a void_core=(
+ abduco
+ s6
+ s6-{rc,linux-utils,portable-utils}
+ execline
+ ncurses-base
+ rxvt-unicode-terminfo
+ zsh
+ )
+ require site_container_void_musl :containers_dir :svscan_dir \
+ image_name=void-browsers packages="$void_core"
}
confz_site_containers_check() {
defvar containers_dir /mnt/volumes/containers
defvar svscan_dir /run/service
require site_container_services :containers_dir :svscan_dir
- require site_container_images :containers_dir
+ require site_container_images :containers_dir :svscan_dir
}
confz_container_sysroot_rundir_check() {