Skip to content

Commit cddc36f

Browse files
committed
add initfunction from redhat initscripts.
1 parent cf16840 commit cddc36f

File tree

1 file changed

+191
-0
lines changed

1 file changed

+191
-0
lines changed

bashrc/initfunction

Lines changed: 191 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,191 @@
1+
# -*-Shell-script-*-
2+
#
3+
# functions This file contains functions to be used by most or all
4+
# shell scripts in the /etc/init.d directory.
5+
#
6+
7+
TEXTDOMAIN=initscripts
8+
9+
# Make sure umask is sane
10+
umask 022
11+
12+
# Set up a default search path.
13+
PATH="/sbin:/usr/sbin:/bin:/usr/bin"
14+
export PATH
15+
16+
# Get a sane screen width
17+
[ -z "${COLUMNS:-}" ] && COLUMNS=80
18+
19+
if [ -z "${CONSOLETYPE:-}" ]; then
20+
if [ -c "/dev/stderr" -a -r "/dev/stderr" ]; then
21+
CONSOLETYPE="$(/sbin/consoletype < /dev/stderr 2>/dev/null)"
22+
else
23+
CONSOLETYPE="serial"
24+
fi
25+
fi
26+
27+
# Read in our configuration
28+
if [ -z "${BOOTUP:-}" ]; then
29+
if [ -f /etc/sysconfig/init ]; then
30+
. /etc/sysconfig/init
31+
else
32+
# This all seem confusing? Look in /etc/sysconfig/init,
33+
# or in /usr/share/doc/initscripts-*/sysconfig.txt
34+
BOOTUP=color
35+
RES_COL=60
36+
MOVE_TO_COL="echo -en \\033[${RES_COL}G"
37+
SETCOLOR_SUCCESS="echo -en \\033[1;32m"
38+
SETCOLOR_FAILURE="echo -en \\033[1;31m"
39+
SETCOLOR_WARNING="echo -en \\033[1;33m"
40+
SETCOLOR_NORMAL="echo -en \\033[0;39m"
41+
LOGLEVEL=1
42+
fi
43+
if [ "$CONSOLETYPE" = "serial" ]; then
44+
BOOTUP=serial
45+
MOVE_TO_COL=
46+
SETCOLOR_SUCCESS=
47+
SETCOLOR_FAILURE=
48+
SETCOLOR_WARNING=
49+
SETCOLOR_NORMAL=
50+
fi
51+
fi
52+
53+
# Check if any of $pid (could be plural) are running
54+
checkpid() {
55+
local i
56+
57+
for i in $* ; do
58+
[ -d "/proc/$i" ] && return 0
59+
done
60+
return 1
61+
}
62+
63+
echo_success() {
64+
[ "$BOOTUP" = "color" ] && $MOVE_TO_COL
65+
echo -n "["
66+
[ "$BOOTUP" = "color" ] && $SETCOLOR_SUCCESS
67+
echo -n $" OK "
68+
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
69+
echo -n "]"
70+
echo -ne "\r"
71+
return 0
72+
}
73+
74+
echo_failure() {
75+
[ "$BOOTUP" = "color" ] && $MOVE_TO_COL
76+
echo -n "["
77+
[ "$BOOTUP" = "color" ] && $SETCOLOR_FAILURE
78+
echo -n $"FAILED"
79+
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
80+
echo -n "]"
81+
echo -ne "\r"
82+
return 1
83+
}
84+
85+
echo_passed() {
86+
[ "$BOOTUP" = "color" ] && $MOVE_TO_COL
87+
echo -n "["
88+
[ "$BOOTUP" = "color" ] && $SETCOLOR_WARNING
89+
echo -n $"PASSED"
90+
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
91+
echo -n "]"
92+
echo -ne "\r"
93+
return 1
94+
}
95+
96+
echo_warning() {
97+
[ "$BOOTUP" = "color" ] && $MOVE_TO_COL
98+
echo -n "["
99+
[ "$BOOTUP" = "color" ] && $SETCOLOR_WARNING
100+
echo -n $"WARNING"
101+
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
102+
echo -n "]"
103+
echo -ne "\r"
104+
return 1
105+
}
106+
107+
# Inform the graphical boot of our current state
108+
update_boot_stage() {
109+
if [ -x /bin/plymouth ]; then
110+
/bin/plymouth --update="$1"
111+
fi
112+
return 0
113+
}
114+
115+
# Log that something succeeded
116+
success() {
117+
[ "$BOOTUP" != "verbose" -a -z "${LSB:-}" ] && echo_success
118+
return 0
119+
}
120+
121+
# Log that something failed
122+
failure() {
123+
local rc=$?
124+
[ "$BOOTUP" != "verbose" -a -z "${LSB:-}" ] && echo_failure
125+
[ -x /bin/plymouth ] && /bin/plymouth --details
126+
return $rc
127+
}
128+
129+
# Log that something passed, but may have had errors. Useful for fsck
130+
passed() {
131+
local rc=$?
132+
[ "$BOOTUP" != "verbose" -a -z "${LSB:-}" ] && echo_passed
133+
return $rc
134+
}
135+
136+
# Log a warning
137+
warning() {
138+
local rc=$?
139+
[ "$BOOTUP" != "verbose" -a -z "${LSB:-}" ] && echo_warning
140+
return $rc
141+
}
142+
143+
# Run some action. Log its output.
144+
action() {
145+
local STRING rc
146+
147+
STRING=$1
148+
echo -n "$STRING "
149+
shift
150+
"$@" && success $"$STRING" || failure $"$STRING"
151+
rc=$?
152+
echo
153+
return $rc
154+
}
155+
156+
# returns OK if $1 contains $2
157+
strstr() {
158+
[ "${1#*$2*}" = "$1" ] && return 1
159+
return 0
160+
}
161+
162+
# Check whether file $1 is a backup or rpm-generated file and should be ignored
163+
is_ignored_file() {
164+
case "$1" in
165+
*~ | *.bak | *.orig | *.rpmnew | *.rpmorig | *.rpmsave)
166+
return 0
167+
;;
168+
esac
169+
return 1
170+
}
171+
172+
# Evaluate shvar-style booleans
173+
is_true() {
174+
case "$1" in
175+
[tT] | [yY] | [yY][eE][sS] | [tT][rR][uU][eE])
176+
return 0
177+
;;
178+
esac
179+
return 1
180+
}
181+
182+
# Evaluate shvar-style booleans
183+
is_false() {
184+
case "$1" in
185+
[fF] | [nN] | [nN][oO] | [fF][aA][lL][sS][eE])
186+
return 0
187+
;;
188+
esac
189+
return 1
190+
}
191+

0 commit comments

Comments
 (0)