FDS/OS 1.0
This commit is contained in:
Executable
+25
@@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env bash
|
||||
source "$(dirname -- "${BASH_SOURCE[0]}")/lib.sh"
|
||||
[[ $# == 0 ]] || die 'Usage: tools/prepare-void'
|
||||
check_void_pin
|
||||
# xbps-src reads this ignored local configuration instead of user-global settings.
|
||||
if [[ -f $FDS_VOID/etc/conf ]] && ! cmp -s "$FDS_ROOT/config/xbps-src.conf" "$FDS_VOID/etc/conf"; then
|
||||
die 'vendor/void-packages/etc/conf differs from config/xbps-src.conf; reconcile it explicitly'
|
||||
fi
|
||||
cp -- "$FDS_ROOT/config/xbps-src.conf" "$FDS_VOID/etc/conf"
|
||||
# Only directories containing a template are active overlays.
|
||||
# Copies keep the source available inside xbps-src's /void-packages bind mount.
|
||||
for template in "$FDS_ROOT"/packages/*/template; do
|
||||
[[ -f $template ]] || continue
|
||||
package_dir=${template%/template}
|
||||
package=${package_dir##*/}
|
||||
[[ $package == fds-* ]] || die "Overlay name must start with fds-: $package"
|
||||
tracked=$(git -C "$FDS_VOID" ls-tree HEAD "srcpkgs/$package")
|
||||
[[ -z $tracked ]] || die "Overlay would replace an upstream package: $package"
|
||||
dest="$FDS_VOID/srcpkgs/$package"
|
||||
if [[ -e $dest ]]; then
|
||||
diff -qr "$package_dir" "$dest" >/dev/null || die "Stale overlay $dest; remove that generated copy and retry"
|
||||
else
|
||||
cp -a -- "$package_dir" "$dest"
|
||||
fi
|
||||
done
|
||||
Reference in New Issue
Block a user