--- smage/trunk/include/mtools.sminc 2013/09/24 09:05:43 5117 +++ smage/trunk/include/mtools.sminc 2013/12/16 10:20:15 5218 @@ -1,11 +1,7 @@ # $Id$ # some special build tools -# automatical inherit mtools.minc -# this will provide the service management functions -INHERITS="${INHERITS} mtools" - -# get the pname right with splitpackages +# get the pname right with split-packages mpname() { local pname="${PNAME}" @@ -14,262 +10,339 @@ echo "${pname}" } -# installs initscripts -# minstallrc /path/to/rc-script {destfilename} -minstallrc() +# installs given source to dest, but does not create any dest directories +# mcopy {[-r|-rf|-a]} /path/to/source /path/to/dest +mcopy() { - local rcscript - local file + local source="$1" + local dest="$2" + local opts - [[ -z "$1" ]] && die "No initscript given" + # recursive + if [[ $1 = -r ]] || [[ $1 = -R ]] + then + opts="-R" + source="$2" + dest="$3" + fi - # if no fullpath given use file from sourcedir - if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] + # recursive + if [[ $1 = -rf ]] || [[ $1 = -fr ]] || [[ $1 = -Rf ]] || [[ $1 = -fR ]] then - file="${SOURCEDIR}/$(mpname)/$1" - else - file="$1" + opts="-R -f" + source="$2" + dest="$3" fi - if [[ -n "$2" ]] + if [[ $1 = -a ]] then - rcscript="$2" - else - rcscript="$(basename ${file})" + opts="-a" + source="$2" + dest="$3" fi - # needed directory - install -d ${BINDIR}/etc/rc.d/init.d || die + [[ -z ${source} ]] && die "No source given." + [[ -z ${dest} ]] && die "No dest given." - # install our initscript - install -v -m 0755 -o root -g root ${file} ${BINDIR}/etc/rc.d/init.d/${rcscript} || die + cp -v ${opts} ${source} ${BINDIR}/${dest} || die } -# installs environment files -# minstallenv /path/to/envdfile {destfilename} -minstallenv() +# deletes given target +# mdelete {[-f|-r|-rf]} /path/to/target +mdelete() { - local envdfile - local file + local dest="$1" + local opts - [[ -z "$1" ]] && die "No envd file given" + # enforce + if [[ $1 = -f ]] + then + opts="-f" + dest="$2" + fi - # if no fullpath given use file from sourcedir - if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] + # recursive + if [[ $1 = -r ]] || [[ $1 = -R ]] then - file="${SOURCEDIR}/$(mpname)/$1" - else - file="$1" + opts="-r" + dest="$2" fi - if [[ -n "$2" ]] + # recursive + if [[ $1 = -rf ]] || [[ $1 = -fr ]] || [[ $1 = -Rf ]] || [[ $1 = -fR ]] then - envdfile="$2" - else - envdfile="$(basename ${file})" + opts="-r -f" + dest="$2" fi - # needed directory - install -d ${BINDIR}/etc/env.d || die + [[ -z ${dest} ]] && die "No dest given." + [[ ! -e ${BINDIR}/${dest} ]] && die "${BINDIR}/${dest} does not exist." - # install our envfile - install -v -m 0644 -o root -g root ${file} ${BINDIR}/etc/env.d/${envdfile} || die + rm -v ${opts} ${BINDIR}/${dest} || die } -# installs system configuration files -# minstallconf /path/to/confdfile {destfilename} -minstallconf() +# moves given source to dest, but does not create any dest directories +# mmove {-f} /path/to/source /path/to/dest +mmove() { - local confdfile - local file - - [[ -z "$1" ]] && die "No confd file given" - - # if no fullpath given use file from sourcedir - if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] - then - file="${SOURCEDIR}/$(mpname)/$1" - else - file="$1" - fi + local source="$1" + local dest="$2" + local opts - if [[ -n "$2" ]] + # force + if [[ $1 = -f ]] then - confdfile="$2" - else - confdfile="$(basename ${file})" + opts="-f" + source="$2" + dest="$3" fi - # needed directory - install -d ${BINDIR}/etc/conf.d || die + [[ -z ${source} ]] && die "No source given." + [[ -z ${dest} ]] && die "No dest given." - # install our configfile - install -v -m 0644 -o root -g root ${file} ${BINDIR}/etc/conf.d/${confdfile} || die + mv -v ${opts} ${source} ${BINDIR}/${dest} || die } -# installs system configuration files to etc -# minstalletc /path/to/etcfile {destfilename} {destdir path} -minstalletc() +# changes owner of destination +# mchown {-r} owner /path/to/dest +mchown() { - local etcfile - local file - local destdir - - [[ -z "$1" ]] && die "No etc file given" + local owner="$1" + local path="$2" + local recursive - # if no fullpath given use file from sourcedir - if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] + # recursive + if [[ $1 = -r ]] || [[ $1 = -R ]] then - file="${SOURCEDIR}/$(mpname)/$1" - else - file="$1" + local recursive="-R" + local owner="$2" + local path="$3" fi - if [[ -n "$2" ]] - then - etcfile="$2" - else - etcfile="$(basename ${file})" - fi + [[ -z ${owner} ]] && die "No owner given." + [[ -z ${path} ]] && die "No path given." - if [[ -n "$3" ]] + chown -v ${recursive} ${owner} ${BINDIR}/${path} || die +} + +# changes permission of destination +# mchmod {-r} permision /path/to/dest +mchmod() +{ + local posix="$1" + local path="$2" + local recursive + + # recursive + if [[ $1 = -r ]] || [[ $1 = -R ]] then - destdir="$3" - else - destdir="/etc" + local recursive="-R" + local posix="$2" + local path="$3" fi - # needed directory - install -d ${BINDIR}/${destdir} || die + [[ -z ${posix} ]] && die "No posix given." + [[ -z ${path} ]] && die "No path given." - # install our configfile - install -v -m 0644 -o root -g root ${file} ${BINDIR}/${destdir}/${etcfile} || die + chmod -v ${recursive} ${posix} ${BINDIR}/${path} || die } -minstalludevrule() +# creates a symlink of source to destination +# mlink /path/to/source /path/to/symlink +mlink() { - local udevrule - local file - local udevrulesddir="/usr/lib/udev/rules.d" + local symlink="$1" + local pathto="$2" + local verbose="-v" - [[ -z "$1" ]] && die "No udev rule given" + # check for busybox as it doesn't support 'ln -v' + need_busybox_support ln && verbose="" - # if no fullpath given use file from sourcedir - if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] - then - file="${SOURCEDIR}/$(mpname)/$1" - else - file="$1" - fi + [[ -z ${symlink} ]] && die "No symlink given." + [[ -z ${pathto} ]] && die "No path given." - if [[ -n "$2" ]] - then - udevrule="$2" - else - udevrule="$(basename ${file})" - fi + ln ${verbose} -snf ${symlink} ${BINDIR}/${pathto} || die +} - # needed directory - install -d ${BINDIR}${udevrulesddir} || die +# installs given directories +# minstalldir /path/to/dest/dir {/path/to/dest/dirN} +minstalldir() +{ + local argv="$@" + local dest - # install our udev rule - install -v -m 0644 -o root -g root ${file} ${BINDIR}${udevrulesddir}/${udevrule} || die + [[ -z ${argv} ]] && die "No dest dir given" + for dest in ${argv} + do + [[ -d ${BINDIR}${dest} ]] && continue + install -v -d ${BINDIR}/${dest} || die + done } -minstalludevhelper() +# install files to given path (defaults to /usr/bin) +# minstallfile {-s} /path/to/file {/path/to/dest} +minstallfile() { - local udevhelper local file - local udevdir="/usr/lib/udev" + local dest - [[ -z "$1" ]] && die "No udev helper given" + [[ -z $1 ]] && die "No etc file given" - # if no fullpath given use file from sourcedir - if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] + if [[ $1 = -s ]] then - file="${SOURCEDIR}/$(mpname)/$1" + file="${SOURCEDIR}/$(mpname)/$2" + dest="$3" + if [[ -z $3 ]] + then + dest=/usr/bin + fi else file="$1" - fi - - if [[ -n "$2" ]] - then - udevhelper="$2" - else - udevhelper="$(basename ${file})" + dest="$2" + if [[ -z $2 ]] + then + dest=/usr/bin + fi fi # needed directory - install -d ${BINDIR}${udevdir} || die + minstalldir ${dest} || die - # install our udev-helper - install -v -m 0755 -o root -g root ${file} ${BINDIR}${udevdir}/${udevhelper} || die + # install our configfile + install -v -m 0644 -o root -g root ${file} ${BINDIR}/${dest} || die } -minstallhalinformation() +# installs executables to given path +# minstallexec {-s} /path/to/exec {/path/to/dest} +minstallexec() { - local halrule local file + local dest - [[ -z "$1" ]] && die "No hal rule given" + [[ -z $1 ]] && die "No file given" - # if no fullpath given use file from sourcedir - if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] + if [[ $1 = -s ]] then - file="${SOURCEDIR}/$(mpname)/$1" + file="${SOURCEDIR}/$(mpname)/$2" + dest="$3" + if [[ -z $3 ]] + then + dest=/usr/bin + fi else file="$1" - fi - - if [[ -n "$2" ]] - then - halrule="$2" - else - halrule="$(basename ${file})" + dest="$2" + if [[ -z $2 ]] + then + dest=/usr/bin + fi fi # needed directory - install -d ${BINDIR}/usr/share/hal/fdi/information/20thirdparty || die + minstalldir ${dest} || die - # install our udev rule - install -v -m 0644 -o root -g root ${file} ${BINDIR}/usr/share/hal/fdi/information/20thirdparty/${halrule} || die + # install our configfile + install -v -m 0755 -o root -g root ${file} ${BINDIR}/${dest} || die } -minstallhalpolicy() +# installs executables to given path +# minstalllib {-s} /path/to/exec {/path/to/dest} +minstalllib() { - local halrule local file + local dest - [[ -z "$1" ]] && die "No hal rule given" + [[ -z $1 ]] && die "No file given" - # if no fullpath given use file from sourcedir - if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] + if [[ $1 = -s ]] then - file="${SOURCEDIR}/$(mpname)/$1" - else - file="$1" - fi + file="${SOURCEDIR}/$(mpname)/$2" + dest="$3" + if [[ -z $3 ]] + then + dest=/usr/$(mlibdir) + fi + else + file="$1" + dest="$2" + if [[ -z $2 ]] + then + dest=/usr/$(mlibdir) + fi + fi + + # needed directory + minstalldir ${dest} || die + + # install our library + minstallexec ${file} ${dest} || die + + # prefer scanelf + if [[ -x $(type -P scanelf) ]] + then + local soname="$(scanelf -qBF '%S#p' ${file})" + mlink $(basename ${file}) ${dest}/${soname} || die + else + echo -e "${COLYELLOW}minstalllib(): Warning: scanelf not found, using fallback symlink method${COLDEFAULT}" + + # create libtool symlinks + # 1. - library.so.1.0.0 -> library.so.1.0 + if [ "${file%.*}" != *.so ] + then + mlink $(basename ${file}) ${dest}/$(basename ${file%.*}) || die + fi + # 2. - library.so.1.0.0 -> library.so.1 + if [ "${file%.*.*}" != *.so ] + then + mlink $(basename ${file}) ${dest}/$(basename ${file%.*.*}) || die + fi + # 3. - library.so.1.0.0.0 -> library.so.1 + if [ "${file%.*.*.*}" != *.so ] + then + mlink $(basename ${file}) ${dest}/$(basename ${file%.*.*.*}) || die + fi + fi +} + +# installs environment files +# minstallenv /path/to/envdfile {destfilename} +minstallenv() +{ + local envdfile + local file + + [[ -z "$1" ]] && die "No envd file given" + + # if no fullpath given use file from sourcedir + if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] + then + file="${SOURCEDIR}/$(mpname)/$1" + else + file="$1" + fi if [[ -n "$2" ]] then - halrule="$2" + envdfile="$2" else - halrule="$(basename ${file})" + envdfile="$(basename ${file})" fi # needed directory - install -d ${BINDIR}/usr/share/hal/fdi/policy/20thirdparty || die + minstalldir /etc/env.d || die - # install our udev rule - install -v -m 0644 -o root -g root ${file} ${BINDIR}/usr/share/hal/fdi/policy/20thirdparty/${halrule} || die + # install our envfile + minstallfile ${file} /etc/env.d/${envdfile} || die } -minstallhalpreprobe() +# installs system configuration files +# minstallconf /path/to/confdfile {destfilename} +minstallconf() { - local halrule + local confdfile local file - [[ -z "$1" ]] && die "No hal rule given" + [[ -z "$1" ]] && die "No confd file given" # if no fullpath given use file from sourcedir if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] @@ -281,16 +354,55 @@ if [[ -n "$2" ]] then - halrule="$2" + confdfile="$2" else - halrule="$(basename ${file})" + confdfile="$(basename ${file})" fi # needed directory - install -d ${BINDIR}/usr/share/hal/fdi/preprobe/10osvendor || die + minstalldir /etc/conf.d || die + + # install our configfile + minstallfile ${file} /etc/conf.d/${confdfile} || die +} - # install our udev rule - install -v -m 0644 -o root -g root ${file} ${BINDIR}/usr/share/hal/fdi/preprobe/10osvendor/${halrule} || die +# installs system configuration files to etc +# minstalletc /path/to/etcfile {destfilename} {destdir path} +minstalletc() +{ + local etcfile + local file + local destdir + + [[ -z "$1" ]] && die "No etc file given" + + # if no fullpath given use file from sourcedir + if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] + then + file="${SOURCEDIR}/$(mpname)/$1" + else + file="$1" + fi + + if [[ -n "$2" ]] + then + etcfile="$2" + else + etcfile="$(basename ${file})" + fi + + if [[ -n "$3" ]] + then + destdir="$3" + else + destdir="/etc" + fi + + # needed directory + minstalldir ${destdir} || die + + # install our configfile + minstallfile ${file} ${destdir}/${etcfile} || die } # install man files to appropiate dirs @@ -308,8 +420,8 @@ manfile="$(basename ${file})" mandir="man${manfile##*.}" - install -d ${BINDIR}/usr/share/man/${mandir} || die - install -v -m0644 ${file} ${BINDIR}/usr/share/man/${mandir}/${manfile} || die + minstalldir /usr/share/man/${mandir} || die + minstallfile ${file} /usr/share/man/${mandir}/${manfile} || die done } @@ -323,8 +435,8 @@ for file in $@ do - install -d ${BINDIR}/usr/share/info || die - install -v -m0644 ${file} ${BINDIR}/usr/share/info/$(basename ${file}) || die + minstalldir /usr/share/info || die + minstallfile ${file} /usr/share/info/$(basename ${file}) || die done } @@ -346,7 +458,7 @@ for file in $@ do - install -d ${BINDIR}/usr/share/doc/${PNAME}-${PVER}/html${prefix} || die + minstalldir /usr/share/doc/${PNAME}-${PVER}/html${prefix} || die if [[ -d ${file} ]] then @@ -358,7 +470,7 @@ minstallhtml --prefix ${subprefix} ${subfile} || die done else - install -v -m0644 ${file} ${BINDIR}/usr/share/doc/${PNAME}-${PVER}/html/${prefix}$(basename ${file}) || die + minstallfile ${file} /usr/share/doc/${PNAME}-${PVER}/html/${prefix}$(basename ${file}) || die fi done } @@ -396,10 +508,10 @@ fi # needed directory - install -d ${BINDIR}/${destdir} || die + minstalldir ${destdir} || die # install our pixmap - install -v -m 0644 -o root -g root ${file} ${BINDIR}/${destdir}/${destfile} || die + minstallfile ${file} ${destdir}/${destfile} || die } # installs pam configuration files @@ -427,10 +539,10 @@ fi # needed directory - install -d ${BINDIR}/etc/pam.d || die + minstalldir /etc/pam.d || die # install our configfile - install -v -m 0644 -o root -g root ${file} ${BINDIR}/etc/pam.d/${pamfile} || die + minstallfile ${file} /etc/pam.d/${pamfile} || die } # installs cronjobs @@ -462,13 +574,14 @@ fi # needed directory - install -m0750 -d ${BINDIR}/etc/cron.${loop} || die + minstalldir /etc/cron.${loop} || die + mchmod 0750 /etc/cron.${loop} || die # install our cronfile - install -v -m 0750 -o root -g root ${file} ${BINDIR}/etc/cron.${loop}/${cronfile} || die + minstallexec ${file} /etc/cron.${loop}/${cronfile} || die + mchmod 0750 ${file} /etc/cron.${loop}/${cronfile} || die } - # installs logrotate configuration files # minstalllog /path/to/logrotatefile {destfilename} minstalllog() @@ -494,240 +607,10 @@ fi # needed directory - install -d ${BINDIR}/etc/logrotate.d || die + minstalldir /etc/logrotate.d || die # install our configfile - install -v -m 0644 -o root -g root ${file} ${BINDIR}/etc/logrotate.d/${logfile} || die -} - - -# installs given directories -# minstalldir /path/to/dest/dir {/path/to/dest/dirN} -minstalldir() -{ - local argv="$@" - local dest - - [[ -z ${argv} ]] && die "No dest dir given" - for dest in ${argv} - do - [[ -d ${BINDIR}${dest} ]] && continue - install -v -d ${BINDIR}/${dest} || die - done -} - - -# install files to given path (defaults to /usr/bin) -# minstallfile {-s} /path/to/file {/path/to/dest} -minstallfile() -{ - local file - local dest - - [[ -z $1 ]] && die "No etc file given" - - if [[ $1 = -s ]] - then - file="${SOURCEDIR}/$(mpname)/$2" - dest="$3" - if [[ -z $3 ]] - then - dest=/usr/bin - install -d ${BINDIR}/${dest} || die - fi - else - file="$1" - dest="$2" - if [[ -z $2 ]] - then - dest=/usr/bin - install -d ${BINDIR}/${dest} || die - fi - fi - - # install our configfile - install -v -m 0644 -o root -g root ${file} ${BINDIR}/${dest} || die -} - -# installs executables to given path -# minstallexec {-s} /path/to/exec {/path/to/dest} -minstallexec() -{ - local file - local dest - - [[ -z $1 ]] && die "No file given" - - if [[ $1 = -s ]] - then - file="${SOURCEDIR}/$(mpname)/$2" - dest="$3" - if [[ -z $3 ]] - then - dest=/usr/bin - install -d ${BINDIR}/${dest} || die - fi - else - file="$1" - dest="$2" - if [[ -z $2 ]] - then - dest=/usr/bin - install -d ${BINDIR}/${dest} || die - fi - fi - - # install our configfile - install -v -m 0755 -o root -g root ${file} ${BINDIR}/${dest} || die -} - -# installs executables to given path -# minstalllib {-s} /path/to/exec {/path/to/dest} -minstalllib() -{ - local file - local dest - local verbose="-v" - - # check for busybox as it doesn't support 'ln -v' - [[ $(readlink $(which ln)) = */busybox ]] && verbose="" - - [[ -z $1 ]] && die "No file given" - - if [[ $1 = -s ]] - then - file="${SOURCEDIR}/$(mpname)/$2" - dest="$3" - if [[ -z $3 ]] - then - dest=/usr/$(mlibdir) - install -d ${BINDIR}/${dest} || die - fi - else - file="$1" - dest="$2" - if [[ -z $2 ]] - then - dest=/usr/$(mlibdir) - install -d ${BINDIR}/${dest} || die - fi - fi - - # install our library - install -v -m 0755 -o root -g root ${file} ${BINDIR}/${dest} || die - - # prefer scanelf - if [[ -x $(type -P scanelf) ]] - then - local soname="$(scanelf -qBF '%S#p' ${file})" - ln ${verbose} -snf $(basename ${file}) ${BINDIR}/${dest}/${soname} || die - else - echo -e "${COLYELLOW}minstalllib(): Warning: scanelf not found, using fallback symlink method${COLDEFAULT}" - - # create libtool symlinks - # 1. - library.so.1.0.0 -> library.so.1.0 - if [ "${file%.*}" != *.so ] - then - ln ${verbose} -snf $(basename ${file}) ${BINDIR}/${dest}/$(basename ${file%.*}) || die - fi - # 2. - library.so.1.0.0 -> library.so.1 - if [ "${file%.*.*}" != *.so ] - then - ln ${verbose} -snf $(basename ${file}) ${BINDIR}/${dest}/$(basename ${file%.*.*}) || die - fi - # 3. - library.so.1.0.0.0 -> library.so.1 - if [ "${file%.*.*.*}" != *.so ] - then - ln ${verbose} -snf $(basename ${file}) ${BINDIR}/${dest}/$(basename ${file%.*.*.*}) || die - fi - fi -} - -mcopy() -{ - local source="$1" - local dest="$2" - local opts - - # recursive - if [[ $1 = -r ]] || [[ $1 = -R ]] - then - opts="-R" - source="$2" - dest="$3" - fi - - # recursive - if [[ $1 = -rf ]] || [[ $1 = -fr ]] || [[ $1 = -Rf ]] || [[ $1 = -fR ]] - then - opts="-R -f" - source="$2" - dest="$3" - fi - - if [[ $1 = -a ]] - then - opts="-a" - source="$2" - dest="$3" - fi - - [[ -z ${source} ]] && die "No source given." - [[ -z ${dest} ]] && die "No dest given." - - cp -v ${opts} ${source} ${BINDIR}/${dest} || die -} - -mdelete() -{ - local dest="$1" - local opts - - # enforce - if [[ $1 = -f ]] - then - opts="-f" - dest="$2" - fi - - # recursive - if [[ $1 = -r ]] || [[ $1 = -R ]] - then - opts="-r" - dest="$2" - fi - - # recursive - if [[ $1 = -rf ]] || [[ $1 = -fr ]] || [[ $1 = -Rf ]] || [[ $1 = -fR ]] - then - opts="-r -f" - dest="$2" - fi - - [[ -z ${dest} ]] && die "No dest given." - [[ ! -e ${BINDIR}/${dest} ]] && die "${BINDIR}/${dest} does not exist." - - rm -v ${opts} ${BINDIR}/${dest} || die -} - -mmove() -{ - local source="$1" - local dest="$2" - local opts - - # force - if [[ $1 = -f ]] - then - opts="-f" - source="$2" - dest="$3" - fi - - [[ -z ${source} ]] && die "No source given." - [[ -z ${dest} ]] && die "No dest given." - - mv -v ${opts} ${source} ${BINDIR}/${dest} || die + minstallfile ${file} /etc/logrotate.d/${logfile} || die } # mark directories undeletable @@ -737,7 +620,7 @@ [[ -z "$1" ]] && die "No directory given" keepdir="$1" - install -v -d ${BINDIR}/${keepdir} || die + minstalldir ${keepdir} || die touch ${BINDIR}/${keepdir}/.keep || die } @@ -752,128 +635,10 @@ file="$1" path="$(dirname ${file})" - install -d ${BINDIR}/${path} || die + minstalldir ${path} || die touch ${BINDIR}/${file} || die } -mchown() -{ - local owner="$1" - local path="$2" - local recursive - - # recursive - if [[ $1 = -r ]] || [[ $1 = -R ]] - then - local recursive="-R" - local owner="$2" - local path="$3" - fi - - [[ -z ${owner} ]] && die "No owner given." - [[ -z ${path} ]] && die "No path given." - - chown -v ${recursive} ${owner} ${BINDIR}/${path} || die -} - -mchmod() -{ - local posix="$1" - local path="$2" - local recursive - - # recursive - if [[ $1 = -r ]] || [[ $1 = -R ]] - then - local recursive="-R" - local posix="$2" - local path="$3" - fi - - [[ -z ${posix} ]] && die "No posix given." - [[ -z ${path} ]] && die "No path given." - - chmod -v ${recursive} ${posix} ${BINDIR}/${path} || die -} - -mlink() -{ - local symlink="$1" - local pathto="$2" - local verbose="-v" - - # check for busybox as it doesn'tz support 'ln -v' - [[ $(readlink $(which ln)) = */busybox ]] && verbose="" - - [[ -z ${symlink} ]] && die "No symlink given." - [[ -z ${pathto} ]] && die "No path given." - - ln ${verbose} -snf ${symlink} ${BINDIR}/${pathto} || die -} - -# installs systemd units -# minstallunit /path/to/unit-file {destfilename} -minstallunit() -{ - local unit - local file - local systemdunitdir="/usr/lib/systemd/system" - - [[ -z "$1" ]] && die "No unit given" - - # if no fullpath given use file from sourcedir - if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] - then - file="${SOURCEDIR}/$(mpname)/$1" - else - file="$1" - fi - - if [[ -n "$2" ]] - then - unit="$2" - else - unit="$(basename ${file})" - fi - - # needed directory - install -d ${BINDIR}${prefix}${systemdunitdir} || die - - # install our initscript - install -v -m 0644 -o root -g root ${file} ${BINDIR}${prefix}${systemdunitdir}/${unit} || die -} - -# installs systemd tmp configs to /etc/tmpfiles.d -# minstalltmp /path/to/tmpdfile {destfilename} -minstalltmp() -{ - local tmpdfile - local file - - [[ -z "$1" ]] && die "No tmpd file given" - - # if no fullpath given use file from sourcedir - if [[ -z $(dirname $1) ]] || [[ $(dirname $1) = . ]] - then - file="${SOURCEDIR}/$(mpname)/$1" - else - file="$1" - fi - - if [[ -n "$2" ]] - then - tmpdfile="$2" - else - tmpdfile="$(basename ${file})" - fi - - # needed directory - install -d ${BINDIR}/etc/tmpfiles.d || die - - # install our tmpdfile - install -v -m 0644 -o root -g root ${file} ${BINDIR}/etc/tmpfiles.d/${tmpdfile} || die -} - mclearconfig() { local confdir