You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.2 KiB
33 lines
1.2 KiB
#!/bin/bash
|
|
|
|
set -Eeuo pipefail
|
|
|
|
if [[ -d /opt/debian-bash ]]; then
|
|
local_release=$(cat /opt/debian-bash/.semver_git_tag)
|
|
fi
|
|
|
|
echo -n "debian-bash: collecting latest release from server url ... "
|
|
remote_release=$(wget_semver artcode pvincent/debian-bash)
|
|
echo -n "$remote_release"
|
|
|
|
if [[ $local_release != $remote_release ]]; then
|
|
echo " , upgrading from <$local_release> to <$remote_release> ..."
|
|
curl https://git.artcode.re/pvincent/debian-bash/raw/branch/master/install.sh | sudo bash -s -- --full
|
|
else
|
|
echo " up-to-date!"
|
|
# install inside active LXC containers
|
|
if [[ -f '/snap/bin/lxc' ]]; then
|
|
echo "debian-bash: refreshing containers ..."
|
|
for container in $(lxc list --format=json | yq '.[] | select(.state.status == "Running") | .name' -); do
|
|
container_release=$(lxc exec $container -- cat /opt/debian-bash/.semver_git_tag)
|
|
if [[ $container_release != $remote_release ]]; then
|
|
echo "upgrade container <$container> from <$container_release> to <$remote_release>"
|
|
/snap/bin/lxc file push /opt/debian-bash "${container}/opt/" -r
|
|
else
|
|
echo -e "\\tcontainer <$container> already up-to-date!"
|
|
fi
|
|
done
|
|
echo DONE
|
|
fi
|
|
|
|
fi
|