mrrl-containers

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

commit 77f534dabb30996f33e0935141540eabc0a65978
parent 5a83b9e5013d65a6f3a2116dd2ae9a9689acdf0c
Author: Jan Pobříslo <ccx@te2000.cz>
Date:   Thu, 23 Jun 2022 02:24:20 +0200

lstat() instead of stat(), handle relative symlinks
Diffstat:
Mzsh-functions/confz_containers_init | 5+++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/zsh-functions/confz_containers_init b/zsh-functions/confz_containers_init @@ -1048,14 +1048,15 @@ confz_container_nix_packages_installed_check() { local root=$vars[containers_dir]/systems/$vars[image_name] local profile_dir=$root/nix/var/nix/profiles/per-user/root/profile local -A stat_info - zstat -H stat_info $profile_dir + zstat -L -H stat_info $profile_dir # while it's a symlink while (( $fileset_stat_cur[mode] >> 12 == 10 )); do if [[ $stat_info[link] == /* ]]; then profile_dir=$root$stat_info[link] else - die "TODO? relative symlink: ${(qqq)profile_dir}" + profile_dir=${profile_dir:h}/$stat_info[link] fi + zstat -L -H stat_info $profile_dir done [[ -f $profile_dir/manifest.nix ]] || \ die "Could not find manifest.nix inside ${(qqq)profile_dir}"