blob: 344e0e398e6fdfd4543cb3a773a4bdb0338d924a [file] [log] [blame]
#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
# Description: Set of useful functions for zeppelin.
#
[ -z "${COLUMNS:-}" ] && COLUMNS=80
if [ -f /etc/sysconfig/i18n -a -z "${NOLOCALE:-}" -a -z "${LANGSH_SOURCED:-}" ]; then
. /etc/profile.d/lang.sh 2>/dev/null
unset LANGSH_SOURCED
fi
SET_OK=0
SET_ERROR=1
SET_WARNING=2
SET_PASSED=3
if [[ -z "${BOOTUP:-}" ]]; then
if [[ -f /etc/sysconfig/init ]]; then
. /etc/sysconfig/init
else
BOOTUP=color
RES_COL=60
MOVE_TO_COL="echo -en \\033[${RES_COL}G"
SETCOLOR_SUCCESS="echo -en \\033[1;32m"
SETCOLOR_FAILURE="echo -en \\033[1;31m"
SETCOLOR_WARNING="echo -en \\033[1;33m"
SETCOLOR_NORMAL="echo -en \\033[0;39m"
SETCOLOR_INFO="echo -en \\033[0;34m"
LOGLEVEL=1
fi
if [[ "$CONSOLETYPE" = "serial" ]]; then
BOOTUP=serial
MOVE_TO_COL=
SETCOLOR_SUCCESS=
SETCOLOR_FAILURE=
SETCOLOR_WARNING=
SETCOLOR_NORMAL=
fi
fi
echo_success_msg() {
[ "$BOOTUP" = "color" ] && $MOVE_TO_COL
echo -n "["
[ "$BOOTUP" = "color" ] && $SETCOLOR_SUCCESS
echo -n $" OK "
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
echo -n "]"
echo -ne "\r"
return 0
}
echo_failure_msg() {
[ "$BOOTUP" = "color" ] && $MOVE_TO_COL
echo -n "["
[ "$BOOTUP" = "color" ] && $SETCOLOR_FAILURE
echo -n $"FAILED"
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
echo -n "]"
echo -ne "\r"
return 1
}
echo_passed_msg() {
[ "$BOOTUP" = "color" ] && $MOVE_TO_COL
echo -n "["
[ "$BOOTUP" = "color" ] && $SETCOLOR_WARNING
echo -n $"PASSED"
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
echo -n "]"
echo -ne "\r"
return 1
}
echo_warning_msg() {
[ "$BOOTUP" = "color" ] && $MOVE_TO_COL
echo -n "["
[ "$BOOTUP" = "color" ] && $SETCOLOR_WARNING
echo -n $"WARNING"
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
echo -n "]"
echo -ne "\r"
return 1
}
echo_info_msg() {
[ "$BOOTUP" = "color" ] && $MOVE_TO_COL
echo -n "["
[ "$BOOTUP" = "color" ] && $SETCOLOR_INFO
echo -n $"STARTED"
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
echo -n "]"
echo -ne "\r"
return 1
}
# Log that something succeeded
success_msg() {
[ "$BOOTUP" != "verbose" -a -z "${LSB:-}" ] && echo_success_msg
return 0
}
information_msg() {
[ "$BOOTUP" != "verbose" -a -z "${LSB:-}" ] && echo_info_msg
return 0
}
# Log that something failed
failure_msg() {
local rc=$?
[ "$BOOTUP" != "verbose" -a -z "${LSB:-}" ] && echo_failure_msg
[ -x /bin/plymouth ] && /bin/plymouth --details
return $rc
}
passed_msg() {
local rc=$?
[ "$BOOTUP" != "verbose" -a -z "${LSB:-}" ] && echo_passed_msg
return $rc
}
warning_msg() {
local rc=$?
[ "$BOOTUP" != "verbose" -a -z "${LSB:-}" ] && echo_warning_msg
return $rc
}
action_msg() {
local STRING rc ACT
STRING=$1
ACT=$2
echo -n "$STRING "
shift
case $ACT in
$SET_OK)
success_msg $"$STRING"
;;
$SET_ERROR)
failure_msg $"$STRING"
;;
$SET_WARNING)
warning_msg $"$STRING"
;;
$SET_PASSED)
passed_msg $"$STRING"
;;
42)
information_msg $"$STRING"
;;
*)
esac
rc=$?
echo
return $rc
}