Wait for package manager process to finish
[infra/cicd.git] / jjb / cloud-infra / wait-for-pkg-manager.sh
1 #!/bin/bash
2
3 # ============LICENSE_START=======================================================
4 #  Copyright (C) 2019 The Nordix Foundation. All rights reserved.
5 # ================================================================================
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
9 #
10 #      http://www.apache.org/licenses/LICENSE-2.0
11 #
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 #
18 # SPDX-License-Identifier: Apache-2.0
19 # ============LICENSE_END=========================================================
20
21 set -o errexit
22 set -o nounset
23 set -o pipefail
24
25 source /etc/os-release || source /usr/lib/os-release
26 case ${ID,,} in
27   centos)
28     pkg_mgr_cmd="yum"
29     ;;
30   ubuntu)
31     pkg_mgr_cmd="apt"
32     ;;
33 esac
34
35 # just wait few seconds before attempting to check pkg manager process
36 sleep 10
37
38 echo "Checking for running package manager instance..."
39 while true; do
40   pkg_mgr_process=$(pgrep -f $pkg_mgr_cmd | cat)
41   if [[ -n $pkg_mgr_process ]]; then
42     echo "Waiting for $pkg_mgr_cmd process $pkg_mgr_process to finish..."
43     sleep 10
44   else
45     echo "$pkg_mgr_cmd process done. Continuing..."
46     break
47   fi
48 done
49
50 # vim: set ts=2 sw=2 expandtab: