You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
2.5 KiB
103 lines
2.5 KiB
dnl |
|
dnl Macros for creating the SysV init scripts with nice or raw output |
|
dnl |
|
dnl --- SDE-COPYRIGHT-NOTE-BEGIN --- |
|
dnl This copyright note is auto-generated by ./scripts/Create-CopyPatch. |
|
dnl |
|
dnl Filename: package/.../sysvinit/init_macros.m4 |
|
dnl Copyright (C) 2010 The OpenSDE Project |
|
dnl Copyright (C) 2004 - 2006 The T2 SDE Project |
|
dnl Copyright (C) 1998 - 2003 Clifford Wolf |
|
dnl |
|
dnl More information can be found in the files COPYING and README. |
|
dnl |
|
dnl This program is free software; you can redistribute it and/or modify |
|
dnl it under the terms of the GNU General Public License as published by |
|
dnl the Free Software Foundation; version 2 of the License. A copy of the |
|
dnl GNU General Public License can be found in the file COPYING. |
|
dnl --- SDE-COPYRIGHT-NOTE-END --- |
|
dnl |
|
divert(-1) |
|
|
|
initstyle = sysv_nice ....... Nice colored output |
|
initstyle = sysv_text ....... Raw text output |
|
|
|
ifelse(initstyle, `sysv_nice', |
|
`define(`IT', `dnl') |
|
define(`IN', `')' |
|
, |
|
`define(`IT', `') |
|
define(`IN', `dnl')' |
|
) |
|
|
|
define(`this_is_not_the_first_option', `') |
|
define(`default_restart', ` restart) |
|
`$'0 stop; `$'0 start |
|
;; |
|
|
|
') |
|
|
|
define(`end_restart', ` | restart') |
|
|
|
ifelse(initstyle, `sysv_nice', ` |
|
define(`main_begin', `title() { |
|
local x w="`$'( stty size 2>/dev/null </dev/tty | cut -d" " -f2 )" |
|
[ -z "`$'w" ] && w="`$'( stty size </dev/console | cut -d" " -f2 )" |
|
for (( x=1; x<w; x++ )) do echo -n .; done |
|
echo -e "\e[222G\e[3D v \r\e[36m`$'* \e[0m" |
|
error=0 |
|
} |
|
|
|
status() { |
|
if [ `$'error -eq 0 ] |
|
then |
|
echo -e "\e[1A\e[222G\e[4D\e[32m [OK]\e[0m" |
|
else |
|
echo -e "\e[1A\e[222G\e[8D\a\e[1;31m [FAILED]\e[0m" |
|
fi |
|
} |
|
|
|
case "`$'1" in') |
|
' , ` |
|
define(`main_begin', `case "`$'1" in') |
|
') |
|
define(`main_end', `default_restart *) |
|
echo "Usage: `$'0 { undivert(1)end_restart }" |
|
exit 1 ;; |
|
|
|
esac |
|
|
|
exit 0') |
|
|
|
ifelse(initstyle, `sysv_nice', ` |
|
|
|
define(`echo_title', `ifelse(`$1', `', `define(`dostatus', 0)dnl', `define(`dostatus', 1) title "$1"')') |
|
|
|
define(`echo_status', `ifelse(dostatus, 1, ` status', `dnl')') |
|
|
|
define(`check', `ifelse(dostatus, 1, `$* || error=$?', `$*')') |
|
|
|
' , ` |
|
|
|
define(`echo_title', `ifelse(`$1', `', `dnl', ` echo "$1"')') |
|
define(`echo_status', `dnl') |
|
define(`check', `$*') |
|
') |
|
|
|
define(`block_begin', `$1) |
|
divert(1)dnl |
|
this_is_not_the_first_option`$1'dnl |
|
define(`this_is_not_the_first_option',` | ')dnl |
|
define(`default_$1', `')dnl |
|
define(`end_$1', `')dnl |
|
divert(0)dnl |
|
echo_title(`$2')') |
|
|
|
define(`block_split', `echo_status |
|
|
|
echo_title(`$1')') |
|
|
|
define(`block_end', `echo_status |
|
;;') |
|
|
|
divert(0)dnl
|
|
|