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 trunk/include/mtools.sminc revision 17041 by niro, Sun Apr 7 13:24:55 2013 UTC
# Line 1  Line 1 
1  # $Header: /magellan-cvs/smage/include/mtools.sminc,v 1.39 2008/04/20 08:28:23 niro Exp $  # $Id$
2  # some special build tools  # some special build tools
3    
4  # automatical inherit mtools.minc  # automatical inherit mtools.minc
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  # installs initscripts  # installs initscripts
18  # minstallrc /path/to/rc-script {destfilename}  # minstallrc /path/to/rc-script {destfilename}
19  minstallrc()  minstallrc()
# Line 17  minstallrc() Line 26  minstallrc()
26   # if no fullpath given use file from sourcedir   # if no fullpath given use file from sourcedir
27   if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]   if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]
28   then   then
29   file="${SOURCEDIR}/${PNAME}/$1"   file="${SOURCEDIR}/$(mpname)/$1"
30   else   else
31   file="$1"   file="$1"
32   fi   fi
# Line 33  minstallrc() Line 42  minstallrc()
42   install -d ${BINDIR}/etc/rc.d/init.d || die   install -d ${BINDIR}/etc/rc.d/init.d || die
43    
44   # install our initscript   # install our initscript
45   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
46  }  }
47    
48  # installs environment files  # installs environment files
# Line 48  minstallenv() Line 57  minstallenv()
57   # if no fullpath given use file from sourcedir   # if no fullpath given use file from sourcedir
58   if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]   if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]
59   then   then
60   file="${SOURCEDIR}/${PNAME}/$1"   file="${SOURCEDIR}/$(mpname)/$1"
61   else   else
62   file="$1"   file="$1"
63   fi   fi
# Line 64  minstallenv() Line 73  minstallenv()
73   install -d ${BINDIR}/etc/env.d || die   install -d ${BINDIR}/etc/env.d || die
74    
75   # install our envfile   # install our envfile
76   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
77  }  }
78    
79  # installs system configuration files  # installs system configuration files
# Line 79  minstallconf() Line 88  minstallconf()
88   # if no fullpath given use file from sourcedir   # if no fullpath given use file from sourcedir
89   if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]   if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]
90   then   then
91   file="${SOURCEDIR}/${PNAME}/$1"   file="${SOURCEDIR}/$(mpname)/$1"
92   else   else
93   file="$1"   file="$1"
94   fi   fi
# Line 95  minstallconf() Line 104  minstallconf()
104   install -d ${BINDIR}/etc/conf.d || die   install -d ${BINDIR}/etc/conf.d || die
105    
106   # install our configfile   # install our configfile
107   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
108  }  }
109    
110  # installs system configuration files to etc  # installs system configuration files to etc
# Line 111  minstalletc() Line 120  minstalletc()
120   # if no fullpath given use file from sourcedir   # if no fullpath given use file from sourcedir
121   if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]   if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]
122   then   then
123   file="${SOURCEDIR}/${PNAME}/$1"   file="${SOURCEDIR}/$(mpname)/$1"
124   else   else
125   file="$1"   file="$1"
126   fi   fi
# Line 134  minstalletc() Line 143  minstalletc()
143   install -d ${BINDIR}/${destdir} || die   install -d ${BINDIR}/${destdir} || die
144    
145   # install our configfile   # install our configfile
146   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
147    }
148    
149    minstalludevrule()
150    {
151     local udevrule
152     local file
153     local udevrulesddir="/usr/lib/udev/rules.d"
154    
155     [[ -z "$1" ]] && die "No udev rule given"
156    
157     # if no fullpath given use file from sourcedir
158     if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]
159     then
160     file="${SOURCEDIR}/$(mpname)/$1"
161     else
162     file="$1"
163     fi
164    
165     if [[ -n "$2" ]]
166     then
167     udevrule="$2"
168     else
169     udevrule="$(basename ${file})"
170     fi
171    
172     # needed directory
173     install -d ${BINDIR}${udevrulesddir} || die
174    
175     # install our udev rule
176     install -v -m 0644 -o root -g root ${file} ${BINDIR}${udevrulesddir}/${udevrule} || die
177    }
178    
179    minstalludevhelper()
180    {
181     local udevhelper
182     local file
183     local udevdir="/usr/lib/udev"
184    
185     [[ -z "$1" ]] && die "No udev helper given"
186    
187     # if no fullpath given use file from sourcedir
188     if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]
189     then
190     file="${SOURCEDIR}/$(mpname)/$1"
191     else
192     file="$1"
193     fi
194    
195     if [[ -n "$2" ]]
196     then
197     udevhelper="$2"
198     else
199     udevhelper="$(basename ${file})"
200     fi
201    
202     # needed directory
203     install -d ${BINDIR}${udevdir} || die
204    
205     # install our udev-helper
206     install -v -m 0755 -o root -g root ${file} ${BINDIR}${udevdir}/${udevhelper} || die
207    }
208    
209    minstallhalinformation()
210    {
211     local halrule
212     local file
213    
214     [[ -z "$1" ]] && die "No hal rule given"
215    
216     # if no fullpath given use file from sourcedir
217     if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]
218     then
219     file="${SOURCEDIR}/$(mpname)/$1"
220     else
221     file="$1"
222     fi
223    
224     if [[ -n "$2" ]]
225     then
226     halrule="$2"
227     else
228     halrule="$(basename ${file})"
229     fi
230    
231     # needed directory
232     install -d ${BINDIR}/usr/share/hal/fdi/information/20thirdparty || die
233    
234     # install our udev rule
235     install -v -m 0644 -o root -g root ${file} ${BINDIR}/usr/share/hal/fdi/information/20thirdparty/${halrule} || die
236    }
237    
238    minstallhalpolicy()
239    {
240     local halrule
241     local file
242    
243     [[ -z "$1" ]] && die "No hal rule given"
244    
245     # if no fullpath given use file from sourcedir
246     if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]
247     then
248     file="${SOURCEDIR}/$(mpname)/$1"
249     else
250     file="$1"
251     fi
252    
253     if [[ -n "$2" ]]
254     then
255     halrule="$2"
256     else
257     halrule="$(basename ${file})"
258     fi
259    
260     # needed directory
261     install -d ${BINDIR}/usr/share/hal/fdi/policy/20thirdparty || die
262    
263     # install our udev rule
264     install -v -m 0644 -o root -g root ${file} ${BINDIR}/usr/share/hal/fdi/policy/20thirdparty/${halrule} || die
265    }
266    
267    minstallhalpreprobe()
268    {
269     local halrule
270     local file
271    
272     [[ -z "$1" ]] && die "No hal rule given"
273    
274     # if no fullpath given use file from sourcedir
275     if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]
276     then
277     file="${SOURCEDIR}/$(mpname)/$1"
278     else
279     file="$1"
280     fi
281    
282     if [[ -n "$2" ]]
283     then
284     halrule="$2"
285     else
286     halrule="$(basename ${file})"
287     fi
288    
289     # needed directory
290     install -d ${BINDIR}/usr/share/hal/fdi/preprobe/10osvendor || die
291    
292     # install our udev rule
293     install -v -m 0644 -o root -g root ${file} ${BINDIR}/usr/share/hal/fdi/preprobe/10osvendor/${halrule} || die
294  }  }
295    
296  # install man files to appropiate dirs  # install man files to appropiate dirs
# Line 153  minstallman() Line 309  minstallman()
309   mandir="man${manfile##*.}"   mandir="man${manfile##*.}"
310    
311   install -d ${BINDIR}/usr/share/man/${mandir} || die   install -d ${BINDIR}/usr/share/man/${mandir} || die
312   install -m0644 ${file} ${BINDIR}/usr/share/man/${mandir}/${manfile} || die   install -v -m0644 ${file} ${BINDIR}/usr/share/man/${mandir}/${manfile} || die
313   done   done
314  }  }
315    
# Line 168  minstallinfo() Line 324  minstallinfo()
324   for file in $@   for file in $@
325   do   do
326   install -d ${BINDIR}/usr/share/info || die   install -d ${BINDIR}/usr/share/info || die
327   install -m0644 ${file} ${BINDIR}/usr/share/info/$(basename ${file}) || die   install -v -m0644 ${file} ${BINDIR}/usr/share/info/$(basename ${file}) || die
328   done   done
329  }  }
330    
# Line 202  minstallhtml() Line 358  minstallhtml()
358   minstallhtml --prefix ${subprefix} ${subfile} || die   minstallhtml --prefix ${subprefix} ${subfile} || die
359   done   done
360   else   else
361   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
362   fi   fi
363   done   done
364  }  }
# Line 220  minstallpixmap() Line 376  minstallpixmap()
376   # if no fullpath given use file from sourcedir   # if no fullpath given use file from sourcedir
377   if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]   if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]
378   then   then
379   file="${SOURCEDIR}/${PNAME}/$1"   file="${SOURCEDIR}/$(mpname)/$1"
380   else   else
381   file="$1"   file="$1"
382   fi   fi
# Line 243  minstallpixmap() Line 399  minstallpixmap()
399   install -d ${BINDIR}/${destdir} || die   install -d ${BINDIR}/${destdir} || die
400    
401   # install our pixmap   # install our pixmap
402   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
403  }  }
404    
405  # installs pam configuration files  # installs pam configuration files
# Line 258  minstallpam() Line 414  minstallpam()
414   # if no fullpath given use file from sourcedir   # if no fullpath given use file from sourcedir
415   if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]   if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]
416   then   then
417   file="${SOURCEDIR}/${PNAME}/$1"   file="${SOURCEDIR}/$(mpname)/$1"
418   else   else
419   file="$1"   file="$1"
420   fi   fi
# Line 274  minstallpam() Line 430  minstallpam()
430   install -d ${BINDIR}/etc/pam.d || die   install -d ${BINDIR}/etc/pam.d || die
431    
432   # install our configfile   # install our configfile
433   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
434  }  }
435    
436  # installs cronjobs  # installs cronjobs
# Line 293  minstallcron() Line 449  minstallcron()
449   # if no fullpath given use file from sourcedir   # if no fullpath given use file from sourcedir
450   if [[ -z $(dirname $2) ]] || [[ $(dirname $2) = . ]]   if [[ -z $(dirname $2) ]] || [[ $(dirname $2) = . ]]
451   then   then
452   file="${SOURCEDIR}/${PNAME}/$2"   file="${SOURCEDIR}/$(mpname)/$2"
453   else   else
454   file="$2"   file="$2"
455   fi   fi
# Line 309  minstallcron() Line 465  minstallcron()
465   install -m0750 -d ${BINDIR}/etc/cron.${loop} || die   install -m0750 -d ${BINDIR}/etc/cron.${loop} || die
466    
467   # install our cronfile   # install our cronfile
468   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
469  }  }
470    
471    
472  # installs logrotate configuration files  # installs logrotate configuration files
473  # minstallpam /path/to/logrotatefile {destfilename}  # minstalllog /path/to/logrotatefile {destfilename}
474  minstalllog()  minstalllog()
475  {  {
476   local logfile   local logfile
# Line 325  minstalllog() Line 481  minstalllog()
481   # if no fullpath given use file from sourcedir   # if no fullpath given use file from sourcedir
482   if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]   if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]
483   then   then
484   file="${SOURCEDIR}/${PNAME}/$1"   file="${SOURCEDIR}/$(mpname)/$1"
485   else   else
486   file="$1"   file="$1"
487   fi   fi
# Line 341  minstalllog() Line 497  minstalllog()
497   install -d ${BINDIR}/etc/logrotate.d || die   install -d ${BINDIR}/etc/logrotate.d || die
498    
499   # install our configfile   # install our configfile
500   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
501  }  }
502    
503    
# Line 356  minstalldir() Line 512  minstalldir()
512   for dest in ${argv}   for dest in ${argv}
513   do   do
514   [[ -d ${BINDIR}${dest} ]] && continue   [[ -d ${BINDIR}${dest} ]] && continue
515   install -d ${BINDIR}/${dest} || die   install -v -d ${BINDIR}/${dest} || die
516   done   done
517  }  }
518    
# Line 372  minstallfile() Line 528  minstallfile()
528    
529   if [[ $1 = -s ]]   if [[ $1 = -s ]]
530   then   then
531   file="${SOURCEDIR}/${PNAME}/$2"   file="${SOURCEDIR}/$(mpname)/$2"
532   dest="$3"   dest="$3"
533   if [[ -z $3 ]]   if [[ -z $3 ]]
534   then   then
# Line 390  minstallfile() Line 546  minstallfile()
546   fi   fi
547    
548   # install our configfile   # install our configfile
549   install -m 0644 -o root -g root ${file} ${BINDIR}/${dest} || die   install -v -m 0644 -o root -g root ${file} ${BINDIR}/${dest} || die
550  }  }
551    
552  # installs executables to given path  # installs executables to given path
# Line 404  minstallexec() Line 560  minstallexec()
560    
561   if [[ $1 = -s ]]   if [[ $1 = -s ]]
562   then   then
563   file="${SOURCEDIR}/${PNAME}/$2"   file="${SOURCEDIR}/$(mpname)/$2"
564   dest="$3"   dest="$3"
565   if [[ -z $3 ]]   if [[ -z $3 ]]
566   then   then
# Line 422  minstallexec() Line 578  minstallexec()
578   fi   fi
579    
580   # install our configfile   # install our configfile
581   install -m 0755 -o root -g root ${file} ${BINDIR}/${dest} || die   install -v -m 0755 -o root -g root ${file} ${BINDIR}/${dest} || die
582  }  }
583    
584  # installs executables to given path  # installs executables to given path
# Line 431  minstalllib() Line 587  minstalllib()
587  {  {
588   local file   local file
589   local dest   local dest
590     local verbose="-v"
591    
592     # check for busybox as it doesn't support 'ln -v'
593     [[ $(readlink $(which ln)) = */busybox ]] && verbose=""
594    
595   [[ -z $1 ]] && die "No file given"   [[ -z $1 ]] && die "No file given"
596    
597   if [[ $1 = -s ]]   if [[ $1 = -s ]]
598   then   then
599   file="${SOURCEDIR}/${PNAME}/$2"   file="${SOURCEDIR}/$(mpname)/$2"
600   dest="$3"   dest="$3"
601   if [[ -z $3 ]]   if [[ -z $3 ]]
602   then   then
# Line 454  minstalllib() Line 614  minstalllib()
614   fi   fi
615    
616   # install our library   # install our library
617   install -m 0755 -o root -g root ${file} ${BINDIR}/${dest} || die   install -v -m 0755 -o root -g root ${file} ${BINDIR}/${dest} || die
618    
619     # prefer scanelf
620     if [[ -x $(type -P scanelf) ]]
621     then
622     local soname="$(scanelf -qBF '%S#p' ${file})"
623     ln ${verbose} -snf $(basename ${file}) ${BINDIR}/${dest}/${soname} || die
624     else
625     echo -e "${COLYELLOW}minstalllib(): Warning: scanelf not found, using fallback symlink method${COLDEFAULT}"
626    
627     # create libtool symlinks
628     # 1. - library.so.1.0.0 -> library.so.1.0
629     if [ "${file%.*}" != *.so ]
630     then
631     ln ${verbose} -snf $(basename ${file}) ${BINDIR}/${dest}/$(basename ${file%.*}) || die
632     fi
633     # 2. - library.so.1.0.0 -> library.so.1
634     if [ "${file%.*.*}" != *.so ]
635     then
636     ln ${verbose} -snf $(basename ${file}) ${BINDIR}/${dest}/$(basename ${file%.*.*}) || die
637     fi
638     # 3. - library.so.1.0.0.0 -> library.so.1
639     if [ "${file%.*.*.*}" != *.so ]
640     then
641     ln ${verbose} -snf $(basename ${file}) ${BINDIR}/${dest}/$(basename ${file%.*.*.*}) || die
642     fi
643     fi
644    }
645    
646    mcopy()
647    {
648     local source="$1"
649     local dest="$2"
650     local opts
651    
652     # recursive
653     if [[ $1 = -r ]] || [[ $1 = -R ]]
654     then
655     opts="-R"
656     source="$2"
657     dest="$3"
658     fi
659    
660   # create libtool symlinks   # recursive
661   # 1. - library.so.1.0.0 -> library.so.1.0   if [[ $1 = -rf ]] || [[ $1 = -fr ]] || [[ $1 = -Rf ]] || [[ $1 = -fR ]]
  if [ "${file%.*}" != *.so ]  
662   then   then
663   ln -snf $(basename ${file}) ${BINDIR}/${dest}/$(basename ${file%.*})   opts="-R -f"
664     source="$2"
665     dest="$3"
666   fi   fi
667   # 2. - library.so.1.0.0 -> library.so.1  
668   if [ "${file%.*.*}" != *.so ]   if [[ $1 = -a ]]
669   then   then
670   ln -snf $(basename ${file}) ${BINDIR}/${dest}/$(basename ${file%.*.*})   opts="-a"
671     source="$2"
672     dest="$3"
673   fi   fi
674    
675     [[ -z ${source} ]] && die "No source given."
676     [[ -z ${dest} ]] && die "No dest given."
677    
678     cp -v ${opts} ${source} ${BINDIR}/${dest} || die
679  }  }
680    
681  # mark directoris undeletable  mdelete()
682    {
683     local dest="$1"
684     local opts
685    
686     # enforce
687     if [[ $1 = -f ]]
688     then
689     opts="-f"
690     dest="$2"
691     fi
692    
693     # recursive
694     if [[ $1 = -r ]] || [[ $1 = -R ]]
695     then
696     opts="-r"
697     dest="$2"
698     fi
699    
700     # recursive
701     if [[ $1 = -rf ]] || [[ $1 = -fr ]] || [[ $1 = -Rf ]] || [[ $1 = -fR ]]
702     then
703     opts="-r -f"
704     dest="$2"
705     fi
706    
707     [[ -z ${dest} ]] && die "No dest given."
708     [[ ! -e ${BINDIR}/${dest} ]] && die "${BINDIR}/${dest} does not exist."
709    
710     rm -v ${opts} ${BINDIR}/${dest} || die
711    }
712    
713    mmove()
714    {
715     local source="$1"
716     local dest="$2"
717     local opts
718    
719     # force
720     if [[ $1 = -f ]]
721     then
722     opts="-f"
723     source="$2"
724     dest="$3"
725     fi
726    
727     [[ -z ${source} ]] && die "No source given."
728     [[ -z ${dest} ]] && die "No dest given."
729    
730     mv -v ${opts} ${source} ${BINDIR}/${dest} || die
731    }
732    
733    # mark directories undeletable
734  mkeepdir()  mkeepdir()
735  {  {
736   local keepdir   local keepdir
737   [[ -z "$1" ]] && die "No directory given"   [[ -z "$1" ]] && die "No directory given"
738    
739   keepdir="$1"   keepdir="$1"
740   install -d ${BINDIR}/${keepdir} || die   install -v -d ${BINDIR}/${keepdir} || die
741   touch ${BINDIR}/${keepdir}/.keep || die   touch ${BINDIR}/${keepdir}/.keep || die
742  }  }
743    
# Line 504  mchown() Line 765  mchown()
765   # recursive   # recursive
766   if [[ $1 = -r ]] || [[ $1 = -R ]]   if [[ $1 = -r ]] || [[ $1 = -R ]]
767   then   then
768   local recursive="--recursive"   local recursive="-R"
769   local owner="$2"   local owner="$2"
770   local path="$3"   local path="$3"
771   fi   fi
# Line 512  mchown() Line 773  mchown()
773   [[ -z ${owner} ]] && die "No owner given."   [[ -z ${owner} ]] && die "No owner given."
774   [[ -z ${path} ]] && die "No path given."   [[ -z ${path} ]] && die "No path given."
775    
776   chown ${recursive} ${owner} ${BINDIR}/${path} || die   chown -v ${recursive} ${owner} ${BINDIR}/${path} || die
777  }  }
778    
779  mchmod()  mchmod()
# Line 524  mchmod() Line 785  mchmod()
785   # recursive   # recursive
786   if [[ $1 = -r ]] || [[ $1 = -R ]]   if [[ $1 = -r ]] || [[ $1 = -R ]]
787   then   then
788   local recursive="--recursive"   local recursive="-R"
789   local posix="$2"   local posix="$2"
790   local path="$3"   local path="$3"
791   fi   fi
# Line 532  mchmod() Line 793  mchmod()
793   [[ -z ${posix} ]] && die "No posix given."   [[ -z ${posix} ]] && die "No posix given."
794   [[ -z ${path} ]] && die "No path given."   [[ -z ${path} ]] && die "No path given."
795    
796   chmod ${recursive} ${posix} ${BINDIR}/${path} || die   chmod -v ${recursive} ${posix} ${BINDIR}/${path} || die
797  }  }
798    
799  mlink()  mlink()
800  {  {
801   local symlink="$1"   local symlink="$1"
802   local pathto="$2"   local pathto="$2"
803     local verbose="-v"
804    
805     # check for busybox as it doesn'tz support 'ln -v'
806     [[ $(readlink $(which ln)) = */busybox ]] && verbose=""
807    
808   [[ -z ${symlink} ]] && die "No symlink given."   [[ -z ${symlink} ]] && die "No symlink given."
809   [[ -z ${pathto} ]] && die "No path given."   [[ -z ${pathto} ]] && die "No path given."
810    
811   ln -snf ${symlink} ${BINDIR}/${pathto} || die   ln ${verbose} -snf ${symlink} ${BINDIR}/${pathto} || die
812    }
813    
814    # installs systemd units
815    # minstallunit /path/to/unit-file {destfilename}
816    minstallunit()
817    {
818     local unit
819     local file
820     local systemdunitdir="/usr/lib/systemd/system"
821    
822     [[ -z "$1" ]] && die "No unit given"
823    
824     # if no fullpath given use file from sourcedir
825     if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]
826     then
827     file="${SOURCEDIR}/$(mpname)/$1"
828     else
829     file="$1"
830     fi
831    
832     if [[ -n "$2" ]]
833     then
834     unit="$2"
835     else
836     unit="$(basename ${file})"
837     fi
838    
839     # needed directory
840     install -d ${BINDIR}${prefix}${systemdunitdir} || die
841    
842     # install our initscript
843     install -v -m 0644 -o root -g root ${file} ${BINDIR}${prefix}${systemdunitdir}/${unit} || die
844    }
845    
846    # installs systemd tmp configs to /etc/tmpfiles.d
847    # minstalltmp /path/to/tmpdfile {destfilename}
848    minstalltmp()
849    {
850     local tmpdfile
851     local file
852    
853     [[ -z "$1" ]] && die "No tmpd file given"
854    
855     # if no fullpath given use file from sourcedir
856     if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]]
857     then
858     file="${SOURCEDIR}/$(mpname)/$1"
859     else
860     file="$1"
861     fi
862    
863     if [[ -n "$2" ]]
864     then
865     tmpdfile="$2"
866     else
867     tmpdfile="$(basename ${file})"
868     fi
869    
870     # needed directory
871     install -d ${BINDIR}/etc/tmpfiles.d || die
872    
873     # install our tmpdfile
874     install -v -m 0644 -o root -g root ${file} ${BINDIR}/etc/tmpfiles.d/${tmpdfile} || die
875    }
876    
877    mclearconfig()
878    {
879     local confdir
880     local prefix="${BINDIR}"
881     [[ -z ${MCONFIG} ]] && die "No \$MCONFIG given!"
882    
883     # no bindir prefix if requested
884     case $1 in
885     -b|--no-bindir) prefix="";;
886     esac
887    
888     confdir="$(dirname ${MCONFIG})"
889     if [[ ! -d ${prefix}/${confdir} ]]
890     then
891     install -d ${prefix}/${confdir} || die
892     fi
893     : > ${prefix}/${MCONFIG}
894    }
895    
896    maddconfig()
897    {
898     local argv="$1"
899     local confdir
900     local prefix="${BINDIR}"
901    
902     [[ -z ${MCONFIG} ]] && die "No \$MCONFIG given!"
903    
904     # no bindir prefix if requested
905     case $1 in
906     -b|--no-bindir) prefix=""; argv="$2" ;;
907     esac
908    
909     #[[ -z ${argv} ]] && die "No  argument given!"
910    
911     confdir="$(dirname ${MCONFIG})"
912     if [[ ! -d ${prefix}/${confdir} ]]
913     then
914     install -d ${prefix}/${confdir} || die
915     fi
916     echo "${argv}" >> ${prefix}/${MCONFIG} || die
917  }  }

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