update xds-server package in docker
[src/xds/xds-server.git] / scripts / xds-utils / updateXdsServerPackage
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
30 function checkUpdateDebian() {
31     sudo apt update -o DIR::Etc::sourcelist="AGL.list" &> /dev/null
32     apt list --upgradable | grep ${PACKAGE_NAME}
33     if [ $? -eq 0 ]; then
34         sudo apt-get install ${PACKAGE_NAME}
35     fi
36 }
37
38 function checkUpdateFedora() {
39     sudo dnf check-update ${PACKAGE_NAME} --refresh
40     sudo dnf update -y ${PACKAGE_NAME}
41 }
42
43 function checkUpdateOpenSuse() {
44     REPOAGL=$(zypper info agl-xds-server | grep Repository | awk -F ":" '{print $2}'))
45     REPOAGL=$(zypper repos | grep "${REPOAGL}" | awk '{print $3}')
46     sudo zypper refresh -r ${REPOAGL}
47     sudo zypper update -y ${PACKAGE_NAME}
48 }
49
50 if [ -f /etc/os-release ]; then
51     source /etc/os-release
52 fi
53
54 case $ID in
55     "debian")
56         res=$(checkUpdateDebian);;
57     "fedora")
58         res=$(checkUpdateFedora);;
59     "opensuse")
60         res=$(checkUpdateOpenSuse);;
61     *)
62         exit 2;;
63 esac
64