update xds-server package in docker
[src/xds/xds-server.git] / scripts / xds-utils / getXdsServerPackage
1 #!/bin/bash
2  ###########################################################################
3 # Copyright 2018 IoT.bzh
4 #
5 # author: Clément Bénier <sebastien@iot.bzh>
6 #
7 # Licensed under the Apache License, Version 2.0 (the "License");
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
10 #
11 #     http://www.apache.org/licenses/LICENSE-2.0
12 #
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
18 ###########################################################################
19
20 XDSSERVER="xds-server"
21 PACKAGE_NAME="agl-${XDSSERVER}"
22
23 #test if sudoers without PASSWD
24 sudo -n true
25 if [ ! $? -eq 0 ]; then
26     exit 1
27 fi
28
29 function getUpdateDebian() {
30     sudo apt update -o DIR::Etc::sourcelist="AGL.list" &> /dev/null
31     sudo apt-cache policy ${PACKAGE_NAME} |grep -e 'Installed' -e 'Candidate'
32 }
33
34 function getUpdateFedora() {
35     sudo dnf check-update ${PACKAGE_NAME} --refresh
36     sudo dnf info --installed ${PACKAGE_NAME} | grep Version | sed "s/Version */Installed/g"
37     sudo dnf info --updates ${PACKAGE_NAME} | grep Version | sed "s/Version */Candidate/g"
38 }
39
40 function getUpdateOpenSuse() {
41     REPOAGL=$(zypper info agl-xds-server | grep Repository | awk -F ":" '{print $2}'))
42     REPOAGL=$(zypper repos | grep "${REPOAGL}" | awk '{print $3}')
43     sudo zypper refresh -r ${REPOAGL}
44     sudo zypper list-updates -r ${REPOAGL} | awk '{if ($3 == "${PACKAGE_NAME}") print "Installed: "$5 "\nCandidate: "$7}'
45 }
46
47 if [ -f /etc/os-release ]; then
48     source /etc/os-release
49 fi
50
51 case $ID in
52     "debian")
53         getUpdateDebian;;
54     "fedora")
55         getUpdateFedora;;
56     "opensuse")
57         getUpdateOpenSuse;;
58     *)
59         exit 2;;
60 esac
61