12c4b5b16f
This is just the final bit required to make sure the vagrant and non-vagrant paths can work happily together. It's mostly minor fixes, though the most major change which also affects vagrant is that we now sync to the root home dir, rather than ~vagrant. Closes: #524 Approved by: cgwalters
52 lines
1.1 KiB
Bash
Executable File
52 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
# Execute this code path on the host
|
|
if test -z "${INSIDE_VM:-}"; then
|
|
. ${commondir}/libvm.sh
|
|
vm_setup
|
|
|
|
if ! vm_ssh_wait 30; then
|
|
echo "ERROR: A running VM is required for 'make vmcheck'."
|
|
exit 1
|
|
fi
|
|
|
|
set -x
|
|
|
|
topdir=$(git rev-parse --show-toplevel)
|
|
cd ${topdir}
|
|
rm insttree -rf
|
|
make install DESTDIR=$(pwd)/insttree
|
|
vm_rsync
|
|
|
|
$SSH "env INSIDE_VM=1 /var/roothome/sync/tests/vmcheck/overlay.sh"
|
|
vm_reboot
|
|
exit 0
|
|
fi
|
|
|
|
set -x
|
|
|
|
# And then this code path in the VM
|
|
|
|
commit=$(rpm-ostree status --json | \
|
|
python -c '
|
|
import sys, json;
|
|
deployments = json.load(sys.stdin)["deployments"]
|
|
for deployment in deployments:
|
|
if deployment["booted"]:
|
|
print deployment["checksum"]
|
|
exit()')
|
|
|
|
if [[ -z $commit ]] || ! ostree rev-parse $commit; then
|
|
echo "Error while determining current commit" >&2
|
|
exit 1
|
|
fi
|
|
|
|
cd /ostree/repo/tmp
|
|
rm vmcheck -rf
|
|
ostree checkout $commit vmcheck --fsync=0
|
|
rsync -rv /var/roothome/sync/insttree/usr/ vmcheck/usr/
|
|
ostree refs --delete vmcheck || true
|
|
ostree commit -b vmcheck -s '' --tree=dir=vmcheck --link-checkout-speedup
|
|
ostree admin deploy vmcheck
|