rpm-ostree/tests/vmcheck/sync.sh
Jonathan Lebon 4297bdf263 vmsync: also pull ostree from build container
Copy the bits from `overlay.sh` that takes the ostree files from the
build container so that we also get updated ostree bits when we
`vmsync`.

Also make sure to `daemon-reload` before restarting the daemon.

Closes: #803
Approved by: cgwalters
2017-05-30 14:47:31 +00:00

50 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
set -euo pipefail
if test -z "${INSIDE_VM:-}"; then
# do this in the host
. ${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
cd ${topsrcdir}
export VMCHECK_INSTTREE=${VMCHECK_INSTTREE:-$(pwd)/insttree}
# Always pull ostree from the build container; we assume development and
# testing is against git master. See also overlay.sh and build.sh.
ostree --version
for pkg in ostree{,-libs,-grub2}; do
rpm -q $pkg
# We do not have perms to read /etc/grub2 as non-root
rpm -ql $pkg |grep -v '^/etc/'> list.txt
# In the prebuilt container case, manpages are missing. Ignore that.
# Also chown everything to writable, due to https://bugzilla.redhat.com/show_bug.cgi?id=517575
chmod -R u+w ${VMCHECK_INSTTREE}/
rsync -l --ignore-missing-args --files-from=list.txt / ${VMCHECK_INSTTREE}/
rm -f list.txt
done
make install DESTDIR=${VMCHECK_INSTTREE}
vm_rsync
$SSH "env INSIDE_VM=1 /var/roothome/sync/tests/vmcheck/sync.sh"
exit 0
else
# then do this in the VM
set -x
ostree admin unlock || :
rsync -rlv /var/roothome/sync/insttree/usr/ /usr/
restorecon -v /usr/bin/rpm-ostree
restorecon -v /usr/libexec/rpm-ostreed
systemctl daemon-reload
systemctl restart rpm-ostreed
fi