summarylogtreecommitdiffstats
path: root/gosearch.install
diff options
context:
space:
mode:
Diffstat (limited to 'gosearch.install')
-rw-r--r--gosearch.install51
1 files changed, 45 insertions, 6 deletions
diff --git a/gosearch.install b/gosearch.install
index e069800ced3a..662dedec180a 100644
--- a/gosearch.install
+++ b/gosearch.install
@@ -1,17 +1,56 @@
+colorize() {
+ # prefer terminal safe colored and bold text when tput is supported
+ if tput setaf 0 &>/dev/null; then
+ ALL_OFF="$(tput sgr0)"
+ BOLD="$(tput bold)"
+ BLUE="${BOLD}$(tput setaf 4)"
+ GREEN="${BOLD}$(tput setaf 2)"
+ RED="${BOLD}$(tput setaf 1)"
+ YELLOW="${BOLD}$(tput setaf 3)"
+ else
+ ALL_OFF="\e[0m"
+ BOLD="\e[1m"
+ BLUE="${BOLD}\e[34m"
+ GREEN="${BOLD}\e[32m"
+ RED="${BOLD}\e[31m"
+ YELLOW="${BOLD}\e[33m"
+ fi
+ readonly ALL_OFF BOLD BLUE GREEN RED YELLOW
+}
+
+error() {
+ colorize
+ local mesg=$1; shift
+ printf "\n${RED}==> $(gettext "ERROR:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n\n" "$@" >&2
+}
+
+cmp_krnl_ver() {
+ # check kernel version installed
+ local krnl_ver="$(uname -r)"
+ local compare="$(printf "5.1\n$krnl_ver")"
+ if [ "$compare" != "$(sort --version-sort <<< "$compare")" ]; then
+ error "This program needs kernel version >= 5.1 \nand the current installed version is $krnl_ver"
+ fi
+}
+
post_install() {
- systemctl enable gosearch.service
- systemctl start gosearch.service
+ cmp_krnl_ver
+
+ systemctl enable gosearch.service
+ systemctl start gosearch.service
}
pre_upgrade() {
- systemctl stop gosearch.service
+ systemctl stop gosearch.service
}
post_upgrade() {
- systemctl daemon-reload
- systemctl start gosearch.service
+ cmp_krnl_ver
+
+ systemctl daemon-reload
+ systemctl start gosearch.service
}
pre_remove() {
- systemctl stop gosearch.service
+ systemctl stop gosearch.service
}