pvincent
4 years ago
5 changed files with 84 additions and 5 deletions
-
5.vscode/extensions.json
-
3install.sh
-
28tools/debian_bash_upgrade
-
6tools/wget_release
-
47tools/wget_semver
@ -0,0 +1,5 @@ |
|||
{ |
|||
"recommendations": [ |
|||
"mads-hartmann.bash-ide-vscode", |
|||
] |
|||
} |
@ -1,3 +1,29 @@ |
|||
#!/bin/bash |
|||
|
|||
curl https://git.artcode.re/pvincent/debian-bash/raw/master/install.sh | sudo bash -s -- --full |
|||
if [[ -d /opt/debian-bash ]]; then |
|||
local_release=$(cat /opt/debian-bash/.semver_git_tag) |
|||
fi |
|||
remote_release=$(wget_semver artcode pvincent/debian-bash) |
|||
|
|||
if [[ $local_release != $remote_release ]];then |
|||
echo "upgrading from <$local_release> to <$remote_release> ..." |
|||
curl https://git.artcode.re/pvincent/debian-bash/raw/master/install.sh | sudo bash -s -- --full |
|||
else |
|||
|
|||
echo "debian-bash version $local_release already up-to-date!" |
|||
# install inside active LXC containers |
|||
if [[ -f '/snap/bin/lxc' ]]; then |
|||
echo "refreshing containers ..." |
|||
for container in `lxc list --format=json | jq -r '.[] | 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 |
|||
/snap/bin/lxc exec "$container" -- sh -c "cd /opt/debian-bash && ./install.sh --host" |
|||
else |
|||
echo "debian-bash version on container <$container> already up-to-date!" |
|||
fi |
|||
done |
|||
fi |
|||
|
|||
fi |
@ -0,0 +1,47 @@ |
|||
#!/bin/bash |
|||
|
|||
REPO_TYPE=$1 |
|||
REPO_NAME=$2 |
|||
|
|||
function usage { |
|||
local BASECMD=$(basename "$0") |
|||
echo 'usage: <REPO_TYPE> <REPO_NAME> [DESTINATION]' |
|||
echo 'example:' |
|||
echo -e '\t# REPO_TYPE=github' |
|||
echo -e "\t$BASECMD github Dolibarr/dolibarr\n" |
|||
echo -e '\t# REPO_TYPE=artcode' |
|||
echo -e "\t$BASECMD artcode pvincent/debian-gnome\n" |
|||
exit -1 |
|||
} |
|||
|
|||
function get_github { |
|||
release=$( git ls-remote --tags --sort="v:refname" \ |
|||
git://github.com/$REPO_NAME \ |
|||
| tail -n1 | cut -f2 | cut -d '/' -f3 ) |
|||
release=${release%^\{\}} # remove extra characters ^{} from github |
|||
echo $release |
|||
} |
|||
|
|||
function get_artcode { |
|||
release=$( git ls-remote --tags --sort="v:refname" \ |
|||
https://git.artcode.re/$REPO_NAME \ |
|||
| tail -n1 | cut -f2 | cut -d '/' -f3 ) |
|||
echo $release |
|||
} |
|||
|
|||
|
|||
[[ $# -ne 2 ]] && usage |
|||
|
|||
case $REPO_TYPE in |
|||
github ) |
|||
get_github |
|||
;; |
|||
artcode ) |
|||
get_artcode |
|||
;; |
|||
* ) |
|||
echo "repository type <${REPO_TYPE}> not yet supported!" && exit 1 |
|||
;; |
|||
esac |
|||
|
|||
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue