Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/core/include/mtools.sminc revision 2 by niro, Fri Oct 10 13:29:42 2008 UTC branches/magellan-next/include/mtools.sminc revision 8642 by niro, Wed Jul 27 11:09:50 2011 UTC
# Line 5  Line 5 
5  # this will provide the service management functions  # this will provide the service management functions
6  INHERITS="${INHERITS} mtools"  INHERITS="${INHERITS} mtools"
7    
8    # get the pname right with splitpackages
9    mpname()
10    {
11     local pname="${PNAME}"
12     [[ ! -z ${SPLIT_PACKAGE_BASE} ]] && pname="${SPLIT_PACKAGE_BASE}"
13    
14     echo "${pname}"
15    }
16    
17    # get the bindir right with splitpackages
18    mbindir()
19    {
20     echo "${BINDIR}"
21    }
22    
23  # installs initscripts  # installs initscripts
24  # minstallrc /path/to/rc-script {destfilename}  # minstallrc /path/to/rc-script {destfilename}
25  minstallrc()  minstallrc()
# Line 17  minstallrc() Line 32  minstallrc()
32   # if no fullpath given use file from sourcedir   # if no fullpath given use file from sourcedir
33   if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]   if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]
34   then   then
35   file="${SOURCEDIR}/${PNAME}/$1"   file="${SOURCEDIR}/$(mpname)/$1"
36   else   else
37   file="$1"   file="$1"
38   fi   fi
# Line 33  minstallrc() Line 48  minstallrc()
48   install -d ${BINDIR}/etc/rc.d/init.d || die   install -d ${BINDIR}/etc/rc.d/init.d || die
49    
50   # install our initscript   # install our initscript
51   install -m 0755 -o root -g root ${file} ${BINDIR}/etc/rc.d/init.d/${rcscript} || die   install -v -m 0755 -o root -g root ${file} ${BINDIR}/etc/rc.d/init.d/${rcscript} || die
52  }  }
53    
54  # installs environment files  # installs environment files
# Line 48  minstallenv() Line 63  minstallenv()
63   # if no fullpath given use file from sourcedir   # if no fullpath given use file from sourcedir
64   if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]   if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]
65   then   then
66   file="${SOURCEDIR}/${PNAME}/$1"   file="${SOURCEDIR}/$(mpname)/$1"
67   else   else
68   file="$1"   file="$1"
69   fi   fi
# Line 64  minstallenv() Line 79  minstallenv()
79   install -d ${BINDIR}/etc/env.d || die   install -d ${BINDIR}/etc/env.d || die
80    
81   # install our envfile   # install our envfile
82   install -m 0644 -o root -g root ${file} ${BINDIR}/etc/env.d/${envdfile} || die   install -v -m 0644 -o root -g root ${file} ${BINDIR}/etc/env.d/${envdfile} || die
83  }  }
84    
85  # installs system configuration files  # installs system configuration files
# Line 79  minstallconf() Line 94  minstallconf()
94   # if no fullpath given use file from sourcedir   # if no fullpath given use file from sourcedir
95   if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]   if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]
96   then   then
97   file="${SOURCEDIR}/${PNAME}/$1"   file="${SOURCEDIR}/$(mpname)/$1"
98   else   else
99   file="$1"   file="$1"
100   fi   fi
# Line 95  minstallconf() Line 110  minstallconf()
110   install -d ${BINDIR}/etc/conf.d || die   install -d ${BINDIR}/etc/conf.d || die
111    
112   # install our configfile   # install our configfile
113   install -m 0644 -o root -g root ${file} ${BINDIR}/etc/conf.d/${confdfile} || die   install -v -m 0644 -o root -g root ${file} ${BINDIR}/etc/conf.d/${confdfile} || die
114  }  }
115    
116  # installs system configuration files to etc  # installs system configuration files to etc
# Line 111  minstalletc() Line 126  minstalletc()
126   # if no fullpath given use file from sourcedir   # if no fullpath given use file from sourcedir
127   if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]   if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]
128   then   then
129   file="${SOURCEDIR}/${PNAME}/$1"   file="${SOURCEDIR}/$(mpname)/$1"
130   else   else
131   file="$1"   file="$1"
132   fi   fi
# Line 134  minstalletc() Line 149  minstalletc()
149   install -d ${BINDIR}/${destdir} || die   install -d ${BINDIR}/${destdir} || die
150    
151   # install our configfile   # install our configfile
152   install -m 0644 -o root -g root ${file} ${BINDIR}/${destdir}/${etcfile} || die   install -v -m 0644 -o root -g root ${file} ${BINDIR}/${destdir}/${etcfile} || die
153    }
154    
155    minstalludevrule()
156    {
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     file="${SOURCEDIR}/$(mpname)/$1"
166     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     # install our udev rule
181     install -v -m 0644 -o root -g root ${file} ${BINDIR}/etc/udev/rules.d/${udevrule} || die
182    }
183    
184    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     file="${SOURCEDIR}/$(mpname)/$1"
195     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    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     file="${SOURCEDIR}/$(mpname)/$1"
224     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     file="${SOURCEDIR}/$(mpname)/$1"
253     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     file="${SOURCEDIR}/$(mpname)/$1"
282     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  # install man files to appropiate dirs  # install man files to appropiate dirs
# Line 153  minstallman() Line 313  minstallman()
313   mandir="man${manfile##*.}"   mandir="man${manfile##*.}"
314    
315   install -d ${BINDIR}/usr/share/man/${mandir} || die   install -d ${BINDIR}/usr/share/man/${mandir} || die
316   install -m0644 ${file} ${BINDIR}/usr/share/man/${mandir}/${manfile} || die   install -v -m0644 ${file} ${BINDIR}/usr/share/man/${mandir}/${manfile} || die
317   done   done
318  }  }
319    
# Line 168  minstallinfo() Line 328  minstallinfo()
328   for file in $@   for file in $@
329   do   do
330   install -d ${BINDIR}/usr/share/info || die   install -d ${BINDIR}/usr/share/info || die
331   install -m0644 ${file} ${BINDIR}/usr/share/info/$(basename ${file}) || die   install -v -m0644 ${file} ${BINDIR}/usr/share/info/$(basename ${file}) || die
332   done   done
333  }  }
334    
# Line 202  minstallhtml() Line 362  minstallhtml()
362   minstallhtml --prefix ${subprefix} ${subfile} || die   minstallhtml --prefix ${subprefix} ${subfile} || die
363   done   done
364   else   else
365   install -m0644 ${file} ${BINDIR}/usr/share/doc/${PNAME}-${PVER}/html/${prefix}$(basename ${file}) || die   install -v -m0644 ${file} ${BINDIR}/usr/share/doc/${PNAME}-${PVER}/html/${prefix}$(basename ${file}) || die
366   fi   fi
367   done   done
368  }  }
# Line 220  minstallpixmap() Line 380  minstallpixmap()
380   # if no fullpath given use file from sourcedir   # if no fullpath given use file from sourcedir
381   if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]   if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]
382   then   then
383   file="${SOURCEDIR}/${PNAME}/$1"   file="${SOURCEDIR}/$(mpname)/$1"
384   else   else
385   file="$1"   file="$1"
386   fi   fi
# Line 243  minstallpixmap() Line 403  minstallpixmap()
403   install -d ${BINDIR}/${destdir} || die   install -d ${BINDIR}/${destdir} || die
404    
405   # install our pixmap   # install our pixmap
406   install -m 0644 -o root -g root ${file} ${BINDIR}/${destdir}/${destfile} || die   install -v -m 0644 -o root -g root ${file} ${BINDIR}/${destdir}/${destfile} || die
407  }  }
408    
409  # installs pam configuration files  # installs pam configuration files
# Line 258  minstallpam() Line 418  minstallpam()
418   # if no fullpath given use file from sourcedir   # if no fullpath given use file from sourcedir
419   if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]   if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]
420   then   then
421   file="${SOURCEDIR}/${PNAME}/$1"   file="${SOURCEDIR}/$(mpname)/$1"
422   else   else
423   file="$1"   file="$1"
424   fi   fi
# Line 274  minstallpam() Line 434  minstallpam()
434   install -d ${BINDIR}/etc/pam.d || die   install -d ${BINDIR}/etc/pam.d || die
435    
436   # install our configfile   # install our configfile
437   install -m 0644 -o root -g root ${file} ${BINDIR}/etc/pam.d/${pamfile} || die   install -v -m 0644 -o root -g root ${file} ${BINDIR}/etc/pam.d/${pamfile} || die
438  }  }
439    
440  # installs cronjobs  # installs cronjobs
# Line 293  minstallcron() Line 453  minstallcron()
453   # if no fullpath given use file from sourcedir   # if no fullpath given use file from sourcedir
454   if [[ -z $(dirname $2) ]] || [[ $(dirname $2) = . ]]   if [[ -z $(dirname $2) ]] || [[ $(dirname $2) = . ]]
455   then   then
456   file="${SOURCEDIR}/${PNAME}/$2"   file="${SOURCEDIR}/$(mpname)/$2"
457   else   else
458   file="$2"   file="$2"
459   fi   fi
# Line 309  minstallcron() Line 469  minstallcron()
469   install -m0750 -d ${BINDIR}/etc/cron.${loop} || die   install -m0750 -d ${BINDIR}/etc/cron.${loop} || die
470    
471   # install our cronfile   # install our cronfile
472   install -m 0750 -o root -g root ${file} ${BINDIR}/etc/cron.${loop}/${cronfile} || die   install -v -m 0750 -o root -g root ${file} ${BINDIR}/etc/cron.${loop}/${cronfile} || die
473  }  }
474    
475    
# Line 325  minstalllog() Line 485  minstalllog()
485   # if no fullpath given use file from sourcedir   # if no fullpath given use file from sourcedir
486   if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]   if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]
487   then   then
488   file="${SOURCEDIR}/${PNAME}/$1"   file="${SOURCEDIR}/$(mpname)/$1"
489   else   else
490   file="$1"   file="$1"
491   fi   fi
# Line 341  minstalllog() Line 501  minstalllog()
501   install -d ${BINDIR}/etc/logrotate.d || die   install -d ${BINDIR}/etc/logrotate.d || die
502    
503   # install our configfile   # install our configfile
504   install -m 0644 -o root -g root ${file} ${BINDIR}/etc/logrotate.d/${logfile} || die   install -v -m 0644 -o root -g root ${file} ${BINDIR}/etc/logrotate.d/${logfile} || die
505  }  }
506    
507    
# Line 356  minstalldir() Line 516  minstalldir()
516   for dest in ${argv}   for dest in ${argv}
517   do   do
518   [[ -d ${BINDIR}${dest} ]] && continue   [[ -d ${BINDIR}${dest} ]] && continue
519   install -d ${BINDIR}/${dest} || die   install -v -d ${BINDIR}/${dest} || die
520   done   done
521  }  }
522    
# Line 372  minstallfile() Line 532  minstallfile()
532    
533   if [[ $1 = -s ]]   if [[ $1 = -s ]]
534   then   then
535   file="${SOURCEDIR}/${PNAME}/$2"   file="${SOURCEDIR}/$(mpname)/$2"
536   dest="$3"   dest="$3"
537   if [[ -z $3 ]]   if [[ -z $3 ]]
538   then   then
# Line 390  minstallfile() Line 550  minstallfile()
550   fi   fi
551    
552   # install our configfile   # install our configfile
553   install -m 0644 -o root -g root ${file} ${BINDIR}/${dest} || die   install -v -m 0644 -o root -g root ${file} ${BINDIR}/${dest} || die
554  }  }
555    
556  # installs executables to given path  # installs executables to given path
# Line 404  minstallexec() Line 564  minstallexec()
564    
565   if [[ $1 = -s ]]   if [[ $1 = -s ]]
566   then   then
567   file="${SOURCEDIR}/${PNAME}/$2"   file="${SOURCEDIR}/$(mpname)/$2"
568   dest="$3"   dest="$3"
569   if [[ -z $3 ]]   if [[ -z $3 ]]
570   then   then
# Line 422  minstallexec() Line 582  minstallexec()
582   fi   fi
583    
584   # install our configfile   # install our configfile
585   install -m 0755 -o root -g root ${file} ${BINDIR}/${dest} || die   install -v -m 0755 -o root -g root ${file} ${BINDIR}/${dest} || die
586  }  }
587    
588  # installs executables to given path  # installs executables to given path
# Line 431  minstalllib() Line 591  minstalllib()
591  {  {
592   local file   local file
593   local dest   local dest
594     local verbose="-v"
595    
596     # check for busybox as it doesn'tz support 'ln -v'
597     [[ $(readlink $(which ln)) = */busybox ]] && verbose=""
598    
599   [[ -z $1 ]] && die "No file given"   [[ -z $1 ]] && die "No file given"
600    
601   if [[ $1 = -s ]]   if [[ $1 = -s ]]
602   then   then
603   file="${SOURCEDIR}/${PNAME}/$2"   file="${SOURCEDIR}/$(mpname)/$2"
604   dest="$3"   dest="$3"
605   if [[ -z $3 ]]   if [[ -z $3 ]]
606   then   then
# Line 454  minstalllib() Line 618  minstalllib()
618   fi   fi
619    
620   # install our library   # install our library
621   install -m 0755 -o root -g root ${file} ${BINDIR}/${dest} || die   install -v -m 0755 -o root -g root ${file} ${BINDIR}/${dest} || die
622    
623   # create libtool symlinks   # create libtool symlinks
624   # 1. - library.so.1.0.0 -> library.so.1.0   # 1. - library.so.1.0.0 -> library.so.1.0
625   if [ "${file%.*}" != *.so ]   if [ "${file%.*}" != *.so ]
626   then   then
627   ln -snf $(basename ${file}) ${BINDIR}/${dest}/$(basename ${file%.*})   ln ${verbose} -snf $(basename ${file}) ${BINDIR}/${dest}/$(basename ${file%.*})
628   fi   fi
629   # 2. - library.so.1.0.0 -> library.so.1   # 2. - library.so.1.0.0 -> library.so.1
630   if [ "${file%.*.*}" != *.so ]   if [ "${file%.*.*}" != *.so ]
631   then   then
632   ln -snf $(basename ${file}) ${BINDIR}/${dest}/$(basename ${file%.*.*})   ln ${verbose} -snf $(basename ${file}) ${BINDIR}/${dest}/$(basename ${file%.*.*})
633     fi
634    }
635    
636    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     opts="--force"
674     source="$2"
675     dest="$3"
676   fi   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 directoris undeletable  # mark directories undeletable
685  mkeepdir()  mkeepdir()
686  {  {
687   local keepdir   local keepdir
688   [[ -z "$1" ]] && die "No directory given"   [[ -z "$1" ]] && die "No directory given"
689    
690   keepdir="$1"   keepdir="$1"
691   install -d ${BINDIR}/${keepdir} || die   install -v -d ${BINDIR}/${keepdir} || die
692   touch ${BINDIR}/${keepdir}/.keep || die   touch ${BINDIR}/${keepdir}/.keep || die
693  }  }
694    
# Line 512  mchown() Line 724  mchown()
724   [[ -z ${owner} ]] && die "No owner given."   [[ -z ${owner} ]] && die "No owner given."
725   [[ -z ${path} ]] && die "No path given."   [[ -z ${path} ]] && die "No path given."
726    
727   chown ${recursive} ${owner} ${BINDIR}/${path} || die   chown -v ${recursive} ${owner} ${BINDIR}/${path} || die
728  }  }
729    
730  mchmod()  mchmod()
# Line 532  mchmod() Line 744  mchmod()
744   [[ -z ${posix} ]] && die "No posix given."   [[ -z ${posix} ]] && die "No posix given."
745   [[ -z ${path} ]] && die "No path given."   [[ -z ${path} ]] && die "No path given."
746    
747   chmod ${recursive} ${posix} ${BINDIR}/${path} || die   chmod -v ${recursive} ${posix} ${BINDIR}/${path} || die
748  }  }
749    
750  mlink()  mlink()
751  {  {
752   local symlink="$1"   local symlink="$1"
753   local pathto="$2"   local pathto="$2"
754     local verbose="-v"
755    
756     # check for busybox as it doesn'tz support 'ln -v'
757     [[ $(readlink $(which ln)) = */busybox ]] && verbose=""
758    
759   [[ -z ${symlink} ]] && die "No symlink given."   [[ -z ${symlink} ]] && die "No symlink given."
760   [[ -z ${pathto} ]] && die "No path given."   [[ -z ${pathto} ]] && die "No path given."
761    
762   ln -snf ${symlink} ${BINDIR}/${pathto} || die   ln ${verbose} -snf ${symlink} ${BINDIR}/${pathto} || die
763    }
764    
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     install -v -m 0644 -o root -g root ${file} ${BINDIR}/etc/tmpfiles.d/${tmpdfile} || die
825    }
826    
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  }  }

Legend:
Removed from v.2  
changed lines
  Added in v.8642