Contents of /mcore-src/trunk/mcore-tools/src/include/common.global.class.in
Parent Directory | Revision Log
Revision 2227 -
(show annotations)
(download)
Fri Jan 10 23:50:18 2014 UTC (10 years, 5 months ago) by niro
File size: 4061 byte(s)
Fri Jan 10 23:50:18 2014 UTC (10 years, 5 months ago) by niro
File size: 4061 byte(s)
-renamed common.global.class -> common.global.class.in
1 | # $Id$ |
2 | |
3 | # message only echo | disabled in quiet mode |
4 | mecho() |
5 | { |
6 | local COLCYAN="\033[1;36m" |
7 | local COLDEFAULT="\033[0m" |
8 | local opts |
9 | local webcrlf |
10 | |
11 | # print nothing if quiet mode was requested |
12 | [[ ${QUIET} = true ]] && return |
13 | |
14 | if [[ ${NOCOLORS} = true ]] |
15 | then |
16 | COLCYAN="" |
17 | COLDEFAULT="" |
18 | fi |
19 | |
20 | [[ ${WEBCRLF} = true ]] && webcrlf="<br>" |
21 | |
22 | # respect -n |
23 | case $1 in |
24 | -n) shift; opts="n" ;; |
25 | esac |
26 | |
27 | echo -e${opts} "${COLCYAN}$@${COLDEFAULT}${webcrlf}" |
28 | } |
29 | |
30 | # prints error messages | enabled even in quiet mode |
31 | eecho() |
32 | { |
33 | local COLRED="\033[1;31m" |
34 | local COLDEFAULT="\033[0m" |
35 | local opts |
36 | local webcrlf |
37 | |
38 | if [[ ${NOCOLORS} = true ]] |
39 | then |
40 | COLRED="" |
41 | COLDEFAULT="" |
42 | fi |
43 | |
44 | [[ ${WEBCRLF} = true ]] && webcrlf="<br>" |
45 | |
46 | # respect -n |
47 | case $1 in |
48 | -n) shift; opts="n" ;; |
49 | esac |
50 | |
51 | echo -e${opts} "${COLRED}$@${COLDEFAULT}${webcrlf}" |
52 | } |
53 | |
54 | # prints return values of get | enabled even in quiet mode |
55 | rvecho() |
56 | { |
57 | local COLPURPLE="\033[1;35m" |
58 | local COLDEFAULT="\033[0m" |
59 | local opts |
60 | local webcrlf |
61 | |
62 | if [[ ${NOCOLORS} = true ]] |
63 | then |
64 | COLPURPLE="" |
65 | COLDEFAULT="" |
66 | fi |
67 | |
68 | [[ ${WEBCRLF} = true ]] && webcrlf="<br>" |
69 | |
70 | # respect -n |
71 | case $1 in |
72 | -n) shift; opts="n" ;; |
73 | esac |
74 | |
75 | echo -e${opts} "${COLPURPLE}$@${COLDEFAULT}${webcrlf}" |
76 | } |
77 | |
78 | # prints debug messages if requested | enabled even in quiet mode |
79 | decho() |
80 | { |
81 | # print nothing if debug mode was *not* requested |
82 | [[ ${DEBUG} != 1 ]] && return |
83 | |
84 | eecho "DEBUG: ${@}" |
85 | } |
86 | |
87 | # adds a line to a configuration file defined by the $CONFIG variable |
88 | # $CONFIG="/etc/conf.d/mcore" addconfig 'LIBDIR="/usr/lib"' |
89 | addconfig() |
90 | { |
91 | local opts |
92 | |
93 | if [[ -z ${CONFIG} ]] |
94 | then |
95 | eecho "You must define \$CONFIG varibale first!" |
96 | return 1 |
97 | fi |
98 | |
99 | if [[ ! -d $(dirname ${CONFIG}) ]] |
100 | then |
101 | install -d $(dirname ${CONFIG}) |
102 | fi |
103 | |
104 | # check for opts |
105 | case $1 in |
106 | -n) shift; opts=" -n" ;; |
107 | -e) shift; opts=" -e" ;; |
108 | esac |
109 | |
110 | echo ${opts} "$@" >> ${CONFIG} |
111 | } |
112 | |
113 | # creates or clears a configuration file defined by the $CONFIG variable |
114 | # CONFIG="/etc/conf.d/mcore" clearconfig |
115 | clearconfig() |
116 | { |
117 | if [[ -z ${CONFIG} ]] |
118 | then |
119 | eecho "You must define \$CONFIG varibale first!" |
120 | return 1 |
121 | fi |
122 | |
123 | if [[ ! -d $(dirname ${CONFIG}) ]] |
124 | then |
125 | install -d $(dirname ${CONFIG}) |
126 | fi |
127 | : > ${CONFIG} |
128 | } |
129 | |
130 | # root is not allowed to run progs in a user session with newer xorg-servers |
131 | # this wrapper runs a command in the xsession of the unpriv_user |
132 | x11runas() |
133 | { |
134 | if [[ -n $(pidof X) ]] |
135 | then |
136 | su - "${MCORE_UNPRIV_USER}" -c "DISPLAY=${MCORE_XORG_DISPLAY} $@" |
137 | fi |
138 | } |
139 | |
140 | # no_duplicate $list $item |
141 | no_duplicate() |
142 | { |
143 | local i |
144 | local list="$1" |
145 | local item="$2" |
146 | |
147 | for i in ${list} |
148 | do |
149 | [[ ${i} = ${item} ]] && return 1 |
150 | done |
151 | |
152 | return 0 |
153 | } |
154 | |
155 | # checks if given path is empty |
156 | path_not_empty() |
157 | { |
158 | local path="$1" |
159 | [[ -z ${path} ]] && eecho "path_not_empty(): no path given!" && return 1 |
160 | |
161 | # return ERR if path does not exist |
162 | [[ ! -d ${path} ]] && return 1 |
163 | # return ERR if path empty |
164 | [[ -z $(find "${path}" -mindepth 1 -maxdepth 1) ]] && return 1 |
165 | |
166 | # every thing went ok, directory not empty |
167 | return 0 |
168 | } |
169 | |
170 | # list all files in a given directory |
171 | list_files_in_directory() |
172 | { |
173 | local i |
174 | local retval |
175 | local path |
176 | local opts |
177 | local type |
178 | |
179 | # basic getops |
180 | for i in $* |
181 | do |
182 | case $1 in |
183 | -mindepth) shift; opts+=" -mindepth $1" ;; |
184 | -maxdepth) shift; opts+=" -maxdepth $1" ;; |
185 | -type) shift; type="$1" ;; |
186 | -name) shift; opts+=" -name $1" ;; |
187 | '') continue ;; |
188 | *) path="$1" ;; |
189 | esac |
190 | shift |
191 | done |
192 | |
193 | if [[ -z ${path} ]] |
194 | then |
195 | eecho "No path given." |
196 | return 1 |
197 | fi |
198 | |
199 | if [[ ! -d ${path} ]] |
200 | then |
201 | eecho "Directory '${path}' does not exist." |
202 | return 1 |
203 | fi |
204 | |
205 | # default to files |
206 | [[ -z ${type} ]] && type=f |
207 | |
208 | for i in $(find ${path} ${opts} -type ${type} -printf '%f\n' | sort) |
209 | do |
210 | if [[ -z ${retval} ]] |
211 | then |
212 | retval="${i}" |
213 | else |
214 | retval+=" ${i}" |
215 | fi |
216 | done |
217 | |
218 | rvecho "${retval}" |
219 | } |
220 | |
221 | # runs a command in the chroot of $MROOT |
222 | system_chroot() |
223 | { |
224 | local cmd="$@" |
225 | if [[ -z ${MROOT} ]] |
226 | then |
227 | echo "system_chroot(): \$MROOT was not set, doing nothing!" |
228 | return 1 |
229 | fi |
230 | if [ ! -d ${MROOT} ] |
231 | then |
232 | eecho "system_chroot(): MROOT='${MROOT}' does not exist." |
233 | return 1 |
234 | fi |
235 | |
236 | chroot ${MROOT} ${cmd} |
237 | } |