Annotation of /branches/R11-stable/include/mtools.sminc
Parent Directory | Revision Log
Revision 8642 -
(hide annotations)
(download)
Wed Jul 27 11:09:50 2011 UTC (13 years, 2 months ago) by niro
Original Path: branches/magellan-next/include/mtools.sminc
File size: 16357 byte(s)
Wed Jul 27 11:09:50 2011 UTC (13 years, 2 months ago) by niro
Original Path: branches/magellan-next/include/mtools.sminc
File size: 16357 byte(s)
-added mbindir() function to be split_package friendly
1 | niro | 2 | # $Header: /magellan-cvs/smage/include/mtools.sminc,v 1.39 2008/04/20 08:28:23 niro Exp $ |
2 | # some special build tools | ||
3 | |||
4 | # automatical inherit mtools.minc | ||
5 | # this will provide the service management functions | ||
6 | INHERITS="${INHERITS} mtools" | ||
7 | |||
8 | niro | 4804 | # get the pname right with splitpackages |
9 | mpname() | ||
10 | { | ||
11 | local pname="${PNAME}" | ||
12 | niro | 4807 | [[ ! -z ${SPLIT_PACKAGE_BASE} ]] && pname="${SPLIT_PACKAGE_BASE}" |
13 | niro | 4804 | |
14 | echo "${pname}" | ||
15 | } | ||
16 | |||
17 | niro | 8642 | # get the bindir right with splitpackages |
18 | mbindir() | ||
19 | { | ||
20 | echo "${BINDIR}" | ||
21 | } | ||
22 | |||
23 | niro | 2 | # installs initscripts |
24 | # minstallrc /path/to/rc-script {destfilename} | ||
25 | minstallrc() | ||
26 | { | ||
27 | local rcscript | ||
28 | local file | ||
29 | |||
30 | [[ -z "$1" ]] && die "No initscript given" | ||
31 | |||
32 | # if no fullpath given use file from sourcedir | ||
33 | if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] | ||
34 | then | ||
35 | niro | 4804 | file="${SOURCEDIR}/$(mpname)/$1" |
36 | niro | 2 | else |
37 | file="$1" | ||
38 | fi | ||
39 | |||
40 | if [[ -n "$2" ]] | ||
41 | then | ||
42 | rcscript="$2" | ||
43 | else | ||
44 | rcscript="$(basename ${file})" | ||
45 | fi | ||
46 | |||
47 | # needed directory | ||
48 | install -d ${BINDIR}/etc/rc.d/init.d || die | ||
49 | |||
50 | # install our initscript | ||
51 | niro | 1113 | install -v -m 0755 -o root -g root ${file} ${BINDIR}/etc/rc.d/init.d/${rcscript} || die |
52 | niro | 2 | } |
53 | |||
54 | # installs environment files | ||
55 | # minstallenv /path/to/envdfile {destfilename} | ||
56 | minstallenv() | ||
57 | { | ||
58 | local envdfile | ||
59 | local file | ||
60 | |||
61 | [[ -z "$1" ]] && die "No envd file given" | ||
62 | |||
63 | # if no fullpath given use file from sourcedir | ||
64 | if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] | ||
65 | then | ||
66 | niro | 4804 | file="${SOURCEDIR}/$(mpname)/$1" |
67 | niro | 2 | else |
68 | file="$1" | ||
69 | fi | ||
70 | |||
71 | if [[ -n "$2" ]] | ||
72 | then | ||
73 | envdfile="$2" | ||
74 | else | ||
75 | envdfile="$(basename ${file})" | ||
76 | fi | ||
77 | |||
78 | # needed directory | ||
79 | install -d ${BINDIR}/etc/env.d || die | ||
80 | |||
81 | # install our envfile | ||
82 | niro | 1113 | install -v -m 0644 -o root -g root ${file} ${BINDIR}/etc/env.d/${envdfile} || die |
83 | niro | 2 | } |
84 | |||
85 | # installs system configuration files | ||
86 | # minstallconf /path/to/confdfile {destfilename} | ||
87 | minstallconf() | ||
88 | { | ||
89 | local confdfile | ||
90 | local file | ||
91 | |||
92 | [[ -z "$1" ]] && die "No confd file given" | ||
93 | |||
94 | # if no fullpath given use file from sourcedir | ||
95 | if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] | ||
96 | then | ||
97 | niro | 4804 | file="${SOURCEDIR}/$(mpname)/$1" |
98 | niro | 2 | else |
99 | file="$1" | ||
100 | fi | ||
101 | |||
102 | if [[ -n "$2" ]] | ||
103 | then | ||
104 | confdfile="$2" | ||
105 | else | ||
106 | confdfile="$(basename ${file})" | ||
107 | fi | ||
108 | |||
109 | # needed directory | ||
110 | install -d ${BINDIR}/etc/conf.d || die | ||
111 | |||
112 | # install our configfile | ||
113 | niro | 1113 | install -v -m 0644 -o root -g root ${file} ${BINDIR}/etc/conf.d/${confdfile} || die |
114 | niro | 2 | } |
115 | |||
116 | # installs system configuration files to etc | ||
117 | # minstalletc /path/to/etcfile {destfilename} {destdir path} | ||
118 | minstalletc() | ||
119 | { | ||
120 | local etcfile | ||
121 | local file | ||
122 | local destdir | ||
123 | |||
124 | [[ -z "$1" ]] && die "No etc file given" | ||
125 | |||
126 | # if no fullpath given use file from sourcedir | ||
127 | if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] | ||
128 | then | ||
129 | niro | 4804 | file="${SOURCEDIR}/$(mpname)/$1" |
130 | niro | 2 | else |
131 | file="$1" | ||
132 | fi | ||
133 | |||
134 | if [[ -n "$2" ]] | ||
135 | then | ||
136 | etcfile="$2" | ||
137 | else | ||
138 | etcfile="$(basename ${file})" | ||
139 | fi | ||
140 | |||
141 | if [[ -n "$3" ]] | ||
142 | then | ||
143 | destdir="$3" | ||
144 | else | ||
145 | destdir="/etc" | ||
146 | fi | ||
147 | |||
148 | # needed directory | ||
149 | install -d ${BINDIR}/${destdir} || die | ||
150 | |||
151 | # install our configfile | ||
152 | niro | 1113 | install -v -m 0644 -o root -g root ${file} ${BINDIR}/${destdir}/${etcfile} || die |
153 | niro | 2 | } |
154 | |||
155 | niro | 2032 | minstalludevrule() |
156 | niro | 2031 | { |
157 | local udevrule | ||
158 | local file | ||
159 | |||
160 | [[ -z "$1" ]] && die "No udev rule given" | ||
161 | |||
162 | # if no fullpath given use file from sourcedir | ||
163 | if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] | ||
164 | then | ||
165 | niro | 4804 | file="${SOURCEDIR}/$(mpname)/$1" |
166 | niro | 2031 | else |
167 | file="$1" | ||
168 | fi | ||
169 | |||
170 | if [[ -n "$2" ]] | ||
171 | then | ||
172 | udevrule="$2" | ||
173 | else | ||
174 | udevrule="$(basename ${file})" | ||
175 | fi | ||
176 | |||
177 | # needed directory | ||
178 | install -d ${BINDIR}/etc/udev/rules.d || die | ||
179 | |||
180 | niro | 2032 | # install our udev rule |
181 | install -v -m 0644 -o root -g root ${file} ${BINDIR}/etc/udev/rules.d/${udevrule} || die | ||
182 | niro | 2031 | } |
183 | |||
184 | niro | 2032 | minstalludevhelper() |
185 | { | ||
186 | local udevhelper | ||
187 | local file | ||
188 | |||
189 | [[ -z "$1" ]] && die "No udev helper given" | ||
190 | |||
191 | # if no fullpath given use file from sourcedir | ||
192 | if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] | ||
193 | then | ||
194 | niro | 4804 | file="${SOURCEDIR}/$(mpname)/$1" |
195 | niro | 2032 | else |
196 | file="$1" | ||
197 | fi | ||
198 | |||
199 | if [[ -n "$2" ]] | ||
200 | then | ||
201 | udevhelper="$2" | ||
202 | else | ||
203 | udevhelper="$(basename ${file})" | ||
204 | fi | ||
205 | |||
206 | # needed directory | ||
207 | install -d ${BINDIR}/lib/udev || die | ||
208 | |||
209 | # install our udev-helper | ||
210 | install -v -m 0755 -o root -g root ${file} ${BINDIR}/lib/udev/${udevhelper} || die | ||
211 | } | ||
212 | |||
213 | niro | 4579 | minstallhalinformation() |
214 | { | ||
215 | local halrule | ||
216 | local file | ||
217 | |||
218 | [[ -z "$1" ]] && die "No hal rule given" | ||
219 | |||
220 | # if no fullpath given use file from sourcedir | ||
221 | if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] | ||
222 | then | ||
223 | niro | 4804 | file="${SOURCEDIR}/$(mpname)/$1" |
224 | niro | 4579 | else |
225 | file="$1" | ||
226 | fi | ||
227 | |||
228 | if [[ -n "$2" ]] | ||
229 | then | ||
230 | halrule="$2" | ||
231 | else | ||
232 | halrule="$(basename ${file})" | ||
233 | fi | ||
234 | |||
235 | # needed directory | ||
236 | install -d ${BINDIR}/usr/share/hal/fdi/information/20thirdparty || die | ||
237 | |||
238 | # install our udev rule | ||
239 | install -v -m 0644 -o root -g root ${file} ${BINDIR}/usr/share/hal/fdi/information/20thirdparty/${halrule} || die | ||
240 | } | ||
241 | |||
242 | minstallhalpolicy() | ||
243 | { | ||
244 | local halrule | ||
245 | local file | ||
246 | |||
247 | [[ -z "$1" ]] && die "No hal rule given" | ||
248 | |||
249 | # if no fullpath given use file from sourcedir | ||
250 | if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] | ||
251 | then | ||
252 | niro | 4804 | file="${SOURCEDIR}/$(mpname)/$1" |
253 | niro | 4579 | else |
254 | file="$1" | ||
255 | fi | ||
256 | |||
257 | if [[ -n "$2" ]] | ||
258 | then | ||
259 | halrule="$2" | ||
260 | else | ||
261 | halrule="$(basename ${file})" | ||
262 | fi | ||
263 | |||
264 | # needed directory | ||
265 | install -d ${BINDIR}/usr/share/hal/fdi/policy/20thirdparty || die | ||
266 | |||
267 | # install our udev rule | ||
268 | install -v -m 0644 -o root -g root ${file} ${BINDIR}/usr/share/hal/fdi/policy/20thirdparty/${halrule} || die | ||
269 | } | ||
270 | |||
271 | minstallhalpreprobe() | ||
272 | { | ||
273 | local halrule | ||
274 | local file | ||
275 | |||
276 | [[ -z "$1" ]] && die "No hal rule given" | ||
277 | |||
278 | # if no fullpath given use file from sourcedir | ||
279 | if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] | ||
280 | then | ||
281 | niro | 4804 | file="${SOURCEDIR}/$(mpname)/$1" |
282 | niro | 4579 | else |
283 | file="$1" | ||
284 | fi | ||
285 | |||
286 | if [[ -n "$2" ]] | ||
287 | then | ||
288 | halrule="$2" | ||
289 | else | ||
290 | halrule="$(basename ${file})" | ||
291 | fi | ||
292 | |||
293 | # needed directory | ||
294 | install -d ${BINDIR}/usr/share/hal/fdi/preprobe/10osvendor || die | ||
295 | |||
296 | # install our udev rule | ||
297 | install -v -m 0644 -o root -g root ${file} ${BINDIR}/usr/share/hal/fdi/preprobe/10osvendor/${halrule} || die | ||
298 | } | ||
299 | |||
300 | niro | 2 | # install man files to appropiate dirs |
301 | # minstallman /path/to/manfile.foo | ||
302 | minstallman() | ||
303 | { | ||
304 | local manfile | ||
305 | local mandir | ||
306 | local file | ||
307 | |||
308 | [[ -z "$@" ]] && die "No man file given" | ||
309 | |||
310 | for file in $@ | ||
311 | do | ||
312 | manfile="$(basename ${file})" | ||
313 | mandir="man${manfile##*.}" | ||
314 | |||
315 | install -d ${BINDIR}/usr/share/man/${mandir} || die | ||
316 | niro | 1113 | install -v -m0644 ${file} ${BINDIR}/usr/share/man/${mandir}/${manfile} || die |
317 | niro | 2 | done |
318 | } | ||
319 | |||
320 | # install info files to appropiate dirs | ||
321 | # minstallinfo /path/to/infofile.foo | ||
322 | minstallinfo() | ||
323 | { | ||
324 | local file | ||
325 | |||
326 | [[ -z "$@" ]] && die "No info file given" | ||
327 | |||
328 | for file in $@ | ||
329 | do | ||
330 | install -d ${BINDIR}/usr/share/info || die | ||
331 | niro | 1113 | install -v -m0644 ${file} ${BINDIR}/usr/share/info/$(basename ${file}) || die |
332 | niro | 2 | done |
333 | } | ||
334 | |||
335 | # install html files to appropiate dirs | ||
336 | # minstallhtml /path/to/infofile.foo | ||
337 | minstallhtml() | ||
338 | { | ||
339 | local file | ||
340 | local subfile | ||
341 | local prefix | ||
342 | local subprefix | ||
343 | |||
344 | # handle prefix | ||
345 | case "$1" in | ||
346 | --prefix|-p) shift; prefix="$1"; shift ;; | ||
347 | esac | ||
348 | |||
349 | [[ -z "$@" ]] && die "No html file given" | ||
350 | |||
351 | for file in $@ | ||
352 | do | ||
353 | install -d ${BINDIR}/usr/share/doc/${PNAME}-${PVER}/html${prefix} || die | ||
354 | |||
355 | if [[ -d ${file} ]] | ||
356 | then | ||
357 | for subfile in ${file}/* | ||
358 | do | ||
359 | subprefix="$(dirname ${subfile/$(dirname ${file})/})" | ||
360 | subprefix="${prefix}${subprefix}/" | ||
361 | |||
362 | minstallhtml --prefix ${subprefix} ${subfile} || die | ||
363 | done | ||
364 | else | ||
365 | niro | 1113 | install -v -m0644 ${file} ${BINDIR}/usr/share/doc/${PNAME}-${PVER}/html/${prefix}$(basename ${file}) || die |
366 | niro | 2 | fi |
367 | done | ||
368 | } | ||
369 | |||
370 | # install pixmaps to appropiate dirs | ||
371 | # minstallpixmap srcname destname {/path/to} | ||
372 | minstallpixmap() | ||
373 | { | ||
374 | local file | ||
375 | local destdir | ||
376 | local destfile | ||
377 | |||
378 | [[ -z "$1" ]] && die "No pixmap given" | ||
379 | |||
380 | # if no fullpath given use file from sourcedir | ||
381 | if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] | ||
382 | then | ||
383 | niro | 4804 | file="${SOURCEDIR}/$(mpname)/$1" |
384 | niro | 2 | else |
385 | file="$1" | ||
386 | fi | ||
387 | |||
388 | if [[ -n "$2" ]] | ||
389 | then | ||
390 | destfile="$2" | ||
391 | else | ||
392 | destfile="$(basename ${file})" | ||
393 | fi | ||
394 | |||
395 | if [[ -n "$3" ]] | ||
396 | then | ||
397 | destdir="$3" | ||
398 | else | ||
399 | destdir="/usr/share/pixmaps" | ||
400 | fi | ||
401 | |||
402 | # needed directory | ||
403 | install -d ${BINDIR}/${destdir} || die | ||
404 | |||
405 | # install our pixmap | ||
406 | niro | 1113 | install -v -m 0644 -o root -g root ${file} ${BINDIR}/${destdir}/${destfile} || die |
407 | niro | 2 | } |
408 | |||
409 | # installs pam configuration files | ||
410 | # minstallpam /path/to/pamfile {destfilename} | ||
411 | minstallpam() | ||
412 | { | ||
413 | local pamfile | ||
414 | local file | ||
415 | |||
416 | [[ -z "$1" ]] && die "No pam file given" | ||
417 | |||
418 | # if no fullpath given use file from sourcedir | ||
419 | if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] | ||
420 | then | ||
421 | niro | 4804 | file="${SOURCEDIR}/$(mpname)/$1" |
422 | niro | 2 | else |
423 | file="$1" | ||
424 | fi | ||
425 | |||
426 | if [[ -n "$2" ]] | ||
427 | then | ||
428 | pamfile="$2" | ||
429 | else | ||
430 | pamfile="$(basename ${file})" | ||
431 | fi | ||
432 | |||
433 | # needed directory | ||
434 | install -d ${BINDIR}/etc/pam.d || die | ||
435 | |||
436 | # install our configfile | ||
437 | niro | 1113 | install -v -m 0644 -o root -g root ${file} ${BINDIR}/etc/pam.d/${pamfile} || die |
438 | niro | 2 | } |
439 | |||
440 | # installs cronjobs | ||
441 | # minstallcron [hourly|daily|weekly|monthly] /path/to/cronfile {destfilename} | ||
442 | minstallcron() | ||
443 | { | ||
444 | local cronfile | ||
445 | local loop | ||
446 | local file | ||
447 | |||
448 | [[ -z "$1" ]] && die "No loop rythem given [hourly|daily|weekly|monthly]" | ||
449 | [[ -z "$2" ]] && die "No cronfile given" | ||
450 | |||
451 | loop="$1" | ||
452 | |||
453 | # if no fullpath given use file from sourcedir | ||
454 | if [[ -z $(dirname $2) ]] || [[ $(dirname $2) = . ]] | ||
455 | then | ||
456 | niro | 4804 | file="${SOURCEDIR}/$(mpname)/$2" |
457 | niro | 2 | else |
458 | file="$2" | ||
459 | fi | ||
460 | |||
461 | if [[ -n "$3" ]] | ||
462 | then | ||
463 | cronfile="$3" | ||
464 | else | ||
465 | cronfile="$(basename ${file})" | ||
466 | fi | ||
467 | |||
468 | # needed directory | ||
469 | install -m0750 -d ${BINDIR}/etc/cron.${loop} || die | ||
470 | |||
471 | # install our cronfile | ||
472 | niro | 1113 | install -v -m 0750 -o root -g root ${file} ${BINDIR}/etc/cron.${loop}/${cronfile} || die |
473 | niro | 2 | } |
474 | |||
475 | |||
476 | # installs logrotate configuration files | ||
477 | # minstallpam /path/to/logrotatefile {destfilename} | ||
478 | minstalllog() | ||
479 | { | ||
480 | local logfile | ||
481 | local file | ||
482 | |||
483 | [[ -z "$1" ]] && die "No logrotate file given" | ||
484 | |||
485 | # if no fullpath given use file from sourcedir | ||
486 | if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] | ||
487 | then | ||
488 | niro | 4804 | file="${SOURCEDIR}/$(mpname)/$1" |
489 | niro | 2 | else |
490 | file="$1" | ||
491 | fi | ||
492 | |||
493 | if [[ -n "$2" ]] | ||
494 | then | ||
495 | logfile="$2" | ||
496 | else | ||
497 | logfile="$(basename ${file})" | ||
498 | fi | ||
499 | |||
500 | # needed directory | ||
501 | install -d ${BINDIR}/etc/logrotate.d || die | ||
502 | |||
503 | # install our configfile | ||
504 | niro | 1113 | install -v -m 0644 -o root -g root ${file} ${BINDIR}/etc/logrotate.d/${logfile} || die |
505 | niro | 2 | } |
506 | |||
507 | |||
508 | # installs given directories | ||
509 | # minstalldir /path/to/dest/dir {/path/to/dest/dirN} | ||
510 | minstalldir() | ||
511 | { | ||
512 | local argv="$@" | ||
513 | local dest | ||
514 | |||
515 | [[ -z ${argv} ]] && die "No dest dir given" | ||
516 | for dest in ${argv} | ||
517 | do | ||
518 | [[ -d ${BINDIR}${dest} ]] && continue | ||
519 | niro | 1113 | install -v -d ${BINDIR}/${dest} || die |
520 | niro | 2 | done |
521 | } | ||
522 | |||
523 | |||
524 | # install files to given path (defaults to /usr/bin) | ||
525 | # minstallfile {-s} /path/to/file {/path/to/dest} | ||
526 | minstallfile() | ||
527 | { | ||
528 | local file | ||
529 | local dest | ||
530 | |||
531 | [[ -z $1 ]] && die "No etc file given" | ||
532 | |||
533 | if [[ $1 = -s ]] | ||
534 | then | ||
535 | niro | 4804 | file="${SOURCEDIR}/$(mpname)/$2" |
536 | niro | 2 | dest="$3" |
537 | if [[ -z $3 ]] | ||
538 | then | ||
539 | dest=/usr/bin | ||
540 | install -d ${BINDIR}/${dest} || die | ||
541 | fi | ||
542 | else | ||
543 | file="$1" | ||
544 | dest="$2" | ||
545 | if [[ -z $2 ]] | ||
546 | then | ||
547 | dest=/usr/bin | ||
548 | install -d ${BINDIR}/${dest} || die | ||
549 | fi | ||
550 | fi | ||
551 | |||
552 | # install our configfile | ||
553 | niro | 1113 | install -v -m 0644 -o root -g root ${file} ${BINDIR}/${dest} || die |
554 | niro | 2 | } |
555 | |||
556 | # installs executables to given path | ||
557 | # minstallexec {-s} /path/to/exec {/path/to/dest} | ||
558 | minstallexec() | ||
559 | { | ||
560 | local file | ||
561 | local dest | ||
562 | |||
563 | [[ -z $1 ]] && die "No file given" | ||
564 | |||
565 | if [[ $1 = -s ]] | ||
566 | then | ||
567 | niro | 4804 | file="${SOURCEDIR}/$(mpname)/$2" |
568 | niro | 2 | dest="$3" |
569 | if [[ -z $3 ]] | ||
570 | then | ||
571 | dest=/usr/bin | ||
572 | install -d ${BINDIR}/${dest} || die | ||
573 | fi | ||
574 | else | ||
575 | file="$1" | ||
576 | dest="$2" | ||
577 | if [[ -z $2 ]] | ||
578 | then | ||
579 | dest=/usr/bin | ||
580 | install -d ${BINDIR}/${dest} || die | ||
581 | fi | ||
582 | fi | ||
583 | |||
584 | # install our configfile | ||
585 | niro | 1113 | install -v -m 0755 -o root -g root ${file} ${BINDIR}/${dest} || die |
586 | niro | 2 | } |
587 | |||
588 | # installs executables to given path | ||
589 | # minstalllib {-s} /path/to/exec {/path/to/dest} | ||
590 | minstalllib() | ||
591 | { | ||
592 | local file | ||
593 | local dest | ||
594 | niro | 4806 | local verbose="-v" |
595 | niro | 2 | |
596 | niro | 4806 | # check for busybox as it doesn'tz support 'ln -v' |
597 | [[ $(readlink $(which ln)) = */busybox ]] && verbose="" | ||
598 | |||
599 | niro | 2 | [[ -z $1 ]] && die "No file given" |
600 | |||
601 | if [[ $1 = -s ]] | ||
602 | then | ||
603 | niro | 4804 | file="${SOURCEDIR}/$(mpname)/$2" |
604 | niro | 2 | dest="$3" |
605 | if [[ -z $3 ]] | ||
606 | then | ||
607 | dest=/usr/$(mlibdir) | ||
608 | install -d ${BINDIR}/${dest} || die | ||
609 | fi | ||
610 | else | ||
611 | file="$1" | ||
612 | dest="$2" | ||
613 | if [[ -z $2 ]] | ||
614 | then | ||
615 | dest=/usr/$(mlibdir) | ||
616 | install -d ${BINDIR}/${dest} || die | ||
617 | fi | ||
618 | fi | ||
619 | |||
620 | # install our library | ||
621 | niro | 1113 | install -v -m 0755 -o root -g root ${file} ${BINDIR}/${dest} || die |
622 | niro | 2 | |
623 | # create libtool symlinks | ||
624 | # 1. - library.so.1.0.0 -> library.so.1.0 | ||
625 | if [ "${file%.*}" != *.so ] | ||
626 | then | ||
627 | niro | 4806 | ln ${verbose} -snf $(basename ${file}) ${BINDIR}/${dest}/$(basename ${file%.*}) |
628 | niro | 2 | fi |
629 | # 2. - library.so.1.0.0 -> library.so.1 | ||
630 | if [ "${file%.*.*}" != *.so ] | ||
631 | then | ||
632 | niro | 4806 | ln ${verbose} -snf $(basename ${file}) ${BINDIR}/${dest}/$(basename ${file%.*.*}) |
633 | niro | 2 | fi |
634 | } | ||
635 | |||
636 | niro | 2166 | mcopy() |
637 | { | ||
638 | local source="$1" | ||
639 | local dest="$2" | ||
640 | local opts | ||
641 | |||
642 | # recursive | ||
643 | if [[ $1 = -r ]] || [[ $1 = -R ]] | ||
644 | then | ||
645 | opts="--recursive" | ||
646 | source="$2" | ||
647 | dest="$3" | ||
648 | fi | ||
649 | |||
650 | # recursive | ||
651 | if [[ $1 = -rf ]] || [[ $1 = -fr ]] || [[ $1 = -Rf ]] || [[ $1 = -fR ]] | ||
652 | then | ||
653 | opts="--recursive --force" | ||
654 | source="$2" | ||
655 | dest="$3" | ||
656 | fi | ||
657 | |||
658 | [[ -z ${source} ]] && die "No source given." | ||
659 | [[ -z ${dest} ]] && die "No dest given." | ||
660 | |||
661 | cp -v ${opts} ${source} ${BINDIR}/${dest} || die | ||
662 | } | ||
663 | |||
664 | mmove() | ||
665 | { | ||
666 | local source="$1" | ||
667 | local dest="$2" | ||
668 | local opts | ||
669 | |||
670 | # force | ||
671 | if [[ $1 = -f ]] | ||
672 | then | ||
673 | niro | 4805 | opts="--force" |
674 | niro | 2166 | source="$2" |
675 | dest="$3" | ||
676 | fi | ||
677 | |||
678 | [[ -z ${source} ]] && die "No source given." | ||
679 | [[ -z ${dest} ]] && die "No dest given." | ||
680 | |||
681 | mv -v ${opts} ${source} ${BINDIR}/${dest} || die | ||
682 | } | ||
683 | |||
684 | # mark directories undeletable | ||
685 | niro | 2 | mkeepdir() |
686 | { | ||
687 | local keepdir | ||
688 | [[ -z "$1" ]] && die "No directory given" | ||
689 | |||
690 | keepdir="$1" | ||
691 | niro | 1113 | install -v -d ${BINDIR}/${keepdir} || die |
692 | niro | 2 | touch ${BINDIR}/${keepdir}/.keep || die |
693 | } | ||
694 | |||
695 | # creates empty files | ||
696 | memptyfile() | ||
697 | { | ||
698 | local file | ||
699 | local path | ||
700 | |||
701 | [[ -z "$1" ]] && die "No file given" | ||
702 | |||
703 | file="$1" | ||
704 | path="$(dirname ${file})" | ||
705 | |||
706 | install -d ${BINDIR}/${path} || die | ||
707 | touch ${BINDIR}/${file} || die | ||
708 | } | ||
709 | |||
710 | mchown() | ||
711 | { | ||
712 | local owner="$1" | ||
713 | local path="$2" | ||
714 | local recursive | ||
715 | |||
716 | # recursive | ||
717 | if [[ $1 = -r ]] || [[ $1 = -R ]] | ||
718 | then | ||
719 | local recursive="--recursive" | ||
720 | local owner="$2" | ||
721 | local path="$3" | ||
722 | fi | ||
723 | |||
724 | [[ -z ${owner} ]] && die "No owner given." | ||
725 | [[ -z ${path} ]] && die "No path given." | ||
726 | |||
727 | niro | 1113 | chown -v ${recursive} ${owner} ${BINDIR}/${path} || die |
728 | niro | 2 | } |
729 | |||
730 | mchmod() | ||
731 | { | ||
732 | local posix="$1" | ||
733 | local path="$2" | ||
734 | local recursive | ||
735 | |||
736 | # recursive | ||
737 | if [[ $1 = -r ]] || [[ $1 = -R ]] | ||
738 | then | ||
739 | local recursive="--recursive" | ||
740 | local posix="$2" | ||
741 | local path="$3" | ||
742 | fi | ||
743 | |||
744 | [[ -z ${posix} ]] && die "No posix given." | ||
745 | [[ -z ${path} ]] && die "No path given." | ||
746 | |||
747 | niro | 1113 | chmod -v ${recursive} ${posix} ${BINDIR}/${path} || die |
748 | niro | 2 | } |
749 | |||
750 | mlink() | ||
751 | { | ||
752 | local symlink="$1" | ||
753 | local pathto="$2" | ||
754 | niro | 4806 | local verbose="-v" |
755 | niro | 2 | |
756 | niro | 4806 | # check for busybox as it doesn'tz support 'ln -v' |
757 | [[ $(readlink $(which ln)) = */busybox ]] && verbose="" | ||
758 | |||
759 | niro | 2 | [[ -z ${symlink} ]] && die "No symlink given." |
760 | [[ -z ${pathto} ]] && die "No path given." | ||
761 | |||
762 | niro | 4806 | ln ${verbose} -snf ${symlink} ${BINDIR}/${pathto} || die |
763 | niro | 2 | } |
764 | niro | 7874 | |
765 | # installs systemd units | ||
766 | # minstallunit /path/to/unit-file {destfilename} | ||
767 | minstallunit() | ||
768 | { | ||
769 | local unit | ||
770 | local file | ||
771 | |||
772 | [[ -z "$1" ]] && die "No unit given" | ||
773 | |||
774 | # if no fullpath given use file from sourcedir | ||
775 | if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] | ||
776 | then | ||
777 | file="${SOURCEDIR}/$(mpname)/$1" | ||
778 | else | ||
779 | file="$1" | ||
780 | fi | ||
781 | |||
782 | if [[ -n "$2" ]] | ||
783 | then | ||
784 | unit="$2" | ||
785 | else | ||
786 | unit="$(basename ${file})" | ||
787 | fi | ||
788 | |||
789 | # needed directory | ||
790 | install -d ${BINDIR}/lib/systemd/system || die | ||
791 | |||
792 | # install our initscript | ||
793 | install -v -m 0644 -o root -g root ${file} ${BINDIR}/lib/systemd/system/${unit} || die | ||
794 | } | ||
795 | |||
796 | # installs systemd tmp configs to /etc/tmpfiles.d | ||
797 | # minstalltmp /path/to/tmpdfile {destfilename} | ||
798 | minstalltmp() | ||
799 | { | ||
800 | local tmpdfile | ||
801 | local file | ||
802 | |||
803 | [[ -z "$1" ]] && die "No tmpd file given" | ||
804 | |||
805 | # if no fullpath given use file from sourcedir | ||
806 | if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] | ||
807 | then | ||
808 | file="${SOURCEDIR}/$(mpname)/$1" | ||
809 | else | ||
810 | file="$1" | ||
811 | fi | ||
812 | |||
813 | if [[ -n "$2" ]] | ||
814 | then | ||
815 | tmpdfile="$2" | ||
816 | else | ||
817 | tmpdfile="$(basename ${file})" | ||
818 | fi | ||
819 | |||
820 | # needed directory | ||
821 | install -d ${BINDIR}/etc/tmpfiles.d || die | ||
822 | |||
823 | # install our tmpdfile | ||
824 | niro | 7876 | install -v -m 0644 -o root -g root ${file} ${BINDIR}/etc/tmpfiles.d/${tmpdfile} || die |
825 | niro | 7874 | } |
826 | niro | 8469 | |
827 | mclearconfig() | ||
828 | { | ||
829 | local confdir | ||
830 | local prefix="${BINDIR}" | ||
831 | [[ -z ${MCONFIG} ]] && die "No \$MCONFIG given!" | ||
832 | |||
833 | # no bindir prefix if requested | ||
834 | case $1 in | ||
835 | -b|--no-bindir) prefix="";; | ||
836 | esac | ||
837 | |||
838 | confdir="$(dirname ${MCONFIG})" | ||
839 | if [[ ! -d ${prefix}/${confdir} ]] | ||
840 | then | ||
841 | install -d ${prefix}/${confdir} || die | ||
842 | fi | ||
843 | : > ${prefix}/${MCONFIG} | ||
844 | } | ||
845 | |||
846 | maddconfig() | ||
847 | { | ||
848 | local argv="$1" | ||
849 | local confdir | ||
850 | local prefix="${BINDIR}" | ||
851 | |||
852 | [[ -z ${MCONFIG} ]] && die "No \$MCONFIG given!" | ||
853 | |||
854 | # no bindir prefix if requested | ||
855 | case $1 in | ||
856 | -b|--no-bindir) prefix=""; argv="$2" ;; | ||
857 | esac | ||
858 | |||
859 | [[ -z ${argv} ]] && die "No argument given!" | ||
860 | |||
861 | confdir="$(dirname ${MCONFIG})" | ||
862 | if [[ ! -d ${prefix}/${confdir} ]] | ||
863 | then | ||
864 | install -d ${prefix}/${confdir} || die | ||
865 | fi | ||
866 | echo "${argv}" >> ${prefix}/${MCONFIG} || die | ||
867 | } |