diff options
author | Clément Bénier <clement.benier@iot.bzh> | 2018-10-01 11:51:47 +0200 |
---|---|---|
committer | Clément Bénier <clement.benier@iot.bzh> | 2018-10-16 14:57:58 +0200 |
commit | 5e979f0ba451e64fc44ffaa8b79d714d9ad75a57 (patch) | |
tree | 6fb6ba51e034ba361fd833b482fb061d4f918da7 /scripts/xds-utils/getXdsServerPackage | |
parent | 4982769bd48b5c67c5eff4d9c6f297fa2a7531a4 (diff) |
update xds-server package in docker
scripts/package-update: bash scripts to update xds-server package in docker
monitor updates: default time is 24h, a update is tried at startup
api/v1: 2 new requests:
- get(updates): return various information about xds-server packages
- post(updates): update xds-server packages
Change-Id: I1673f7860e57cfe1d4abe5a24609ee46a90b67d8
Signed-off-by: Clément Bénier <clement.benier@iot.bzh>
Diffstat (limited to 'scripts/xds-utils/getXdsServerPackage')
-rwxr-xr-x | scripts/xds-utils/getXdsServerPackage | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/scripts/xds-utils/getXdsServerPackage b/scripts/xds-utils/getXdsServerPackage new file mode 100755 index 0000000..8b00ac4 --- /dev/null +++ b/scripts/xds-utils/getXdsServerPackage @@ -0,0 +1,61 @@ +#!/bin/bash + ########################################################################### +# Copyright 2018 IoT.bzh +# +# author: Clément Bénier <sebastien@iot.bzh> +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +########################################################################### + +XDSSERVER="xds-server" +PACKAGE_NAME="agl-${XDSSERVER}" + +#test if sudoers without PASSWD +sudo -n true +if [ ! $? -eq 0 ]; then + exit 1 +fi + +function getUpdateDebian() { + sudo apt update -o DIR::Etc::sourcelist="AGL.list" &> /dev/null + sudo apt-cache policy ${PACKAGE_NAME} |grep -e 'Installed' -e 'Candidate' +} + +function getUpdateFedora() { + sudo dnf check-update ${PACKAGE_NAME} --refresh + sudo dnf info --installed ${PACKAGE_NAME} | grep Version | sed "s/Version */Installed/g" + sudo dnf info --updates ${PACKAGE_NAME} | grep Version | sed "s/Version */Candidate/g" +} + +function getUpdateOpenSuse() { + REPOAGL=$(zypper info agl-xds-server | grep Repository | awk -F ":" '{print $2}')) + REPOAGL=$(zypper repos | grep "${REPOAGL}" | awk '{print $3}') + sudo zypper refresh -r ${REPOAGL} + sudo zypper list-updates -r ${REPOAGL} | awk '{if ($3 == "${PACKAGE_NAME}") print "Installed: "$5 "\nCandidate: "$7}' +} + +if [ -f /etc/os-release ]; then + source /etc/os-release +fi + +case $ID in + "debian") + getUpdateDebian;; + "fedora") + getUpdateFedora;; + "opensuse") + getUpdateOpenSuse;; + *) + exit 2;; +esac + |