#!/bin/bash ########################################################################### # Copyright 2018 IoT.bzh # # author: Clément Bénier # # 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