Magellan Linux

Annotation of /branches/R11-unstable/include/mtools.sminc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 8642 - (hide annotations) (download)
Wed Jul 27 11:09:50 2011 UTC (12 years, 9 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     }