summaryrefslogtreecommitdiff
path: root/hooks/build-os-post/40-ostree-demo-scripts
diff options
context:
space:
mode:
Diffstat (limited to 'hooks/build-os-post/40-ostree-demo-scripts')
-rwxr-xr-xhooks/build-os-post/40-ostree-demo-scripts36
1 files changed, 36 insertions, 0 deletions
diff --git a/hooks/build-os-post/40-ostree-demo-scripts b/hooks/build-os-post/40-ostree-demo-scripts
new file mode 100755
index 0000000..6ea5627
--- /dev/null
+++ b/hooks/build-os-post/40-ostree-demo-scripts
@@ -0,0 +1,36 @@
+#!/bin/bash -xe
+
+set -o pipefail
+
+cat > "${root:?}"/usr/sbin/halo-upgrade << EOF
+#!/bin/bash -e
+
+set -o pipefail
+
+remote="${remote:?}"
+branch="${branch:?}"
+
+remote_ref=\$(ostree remote refs -r "\$remote" | egrep ^"\$remote":"\$branch"'\\s' | awk '{print \$2}')
+local_ref=\$(ostree refs -r | egrep ^"\$remote":"\$branch"'\\s' | awk '{print \$2}')
+
+if [ "\$local_ref" != "\$remote_ref" -a -n "\$remote_ref" ]; then
+ echo "OS Update available. Installing..."
+
+ set -x
+
+ ostree admin upgrade
+
+ grub-mkconfig -o /boot/grub/grub.cfg
+
+ set +x
+
+ echo "OS Update Installed. Press Enter to Reboot..."
+
+ read
+
+ reboot
+else
+ echo "No OS Update found."
+fi
+EOF
+chmod 755 "${root:?}"/usr/sbin/halo-upgrade