--- mcore-src/trunk/mcore-tools/src/modules/lprng/printing.client.class.in 2015/09/17 14:02:24 2582 +++ mcore-src/trunk/mcore-tools/src/modules/lprng/printing.client.class.in 2015/11/10 16:43:26 2660 @@ -1,6 +1,7 @@ # $Id$ provide printing lprng +require basic-kernel help_printing_printer() { @@ -15,16 +16,16 @@ mecho mecho " name - name of the printer" mecho " port - printing port (lpt1, usb1, com1 ... lptN, usbN, comN" - mecho " ip - ip of the remote printer - optional" - mecho " share - share/port name of the remote printer - optional" +# mecho " ip - ip of the remote printer - optional" +# mecho " share - share/port name of the remote printer - optional" } helper_addprinter() { local name="$1" local port="$2" - local ip="$3" - local share="$4" +# local ip="$3" +# local share="$4" [[ -z ${name} ]] && help_printing_printer && return 1 [[ -z ${port} ]] && help_printing_printer && return 1 @@ -44,7 +45,6 @@ addconfig "${name}|${name}" addconfig " :lp=${port}" addconfig " :sd=/var/spool/lpd/${name}" - addconfig " :sd=/var/spool/lpd/${name}" addconfig " :lf=/var/log/lprng/${name}" # regenerate printcap @@ -81,11 +81,12 @@ local action="${CLASS_ARGV[0]}" local name="${CLASS_ARGV[1]}" local port="${CLASS_ARGV[2]}" - local ip="${CLASS_ARGV[3]}" - local share="${CLASS_ARGV[4]}" +# local ip="${CLASS_ARGV[3]}" +# local share="${CLASS_ARGV[4]}" case "${action}" in - add) helper_addprinter "${name}" "${port}" "${ip}" "${share}" ;; +# add) helper_addprinter "${name}" "${port}" "${ip}" "${share}" ;; + add) helper_addprinter "${name}" "${port}";; del) helper_delprinter "${name}" ;; *) help_printing_printer && return 1 ;; esac @@ -101,6 +102,13 @@ local i local prn + # install required kernel modules as well + if is_provided basic-kernel + then + ${MCORE_LIBDIR}/mcore-kernel-modules --add --module lp + ${MCORE_LIBDIR}/mcore-kernel-modules --add --module usblp + fi + CONFIG="${MROOT}@@SYSCONFDIR@@/printcap" clearconfig @@ -115,12 +123,23 @@ prn=$(basename ${i} .conf) # install spooler directories - install -o lp -g lp -m0700 -d ${MROOT}@@LOCALSTATEDIR@@/spool/lpd/${prn} + install -o @@LPRNG_SPOOLER_USER@@ -g @@LPRNG_SPOOLER_USER@@ -m0700 -d ${MROOT}@@LOCALSTATEDIR@@/spool/lpd/${prn} # create empty log files install -d ${MROOT}@@LOCALSTATEDIR@@/log/lprng touch ${MROOT}@@LOCALSTATEDIR@@/log/lprng/${prn} - chown lp:lp ${MROOT}@@LOCALSTATEDIR@@/log/lprng/${prn} + chown @@LPRNG_SPOOLER_USER@@:@@LPRNG_SPOOLER_USER@@ ${MROOT}@@LOCALSTATEDIR@@/log/lprng/${prn} chmod 0600 ${MROOT}@@LOCALSTATEDIR@@/log/lprng/${prn} done + + # restart lpd + if is_provided systemd + then + decho "systemd: restarting lpd service" + ${MCORE_LIBDIR}/mcore-system-service --restart --service lpd.service + fi + if is_provided sysvinit + decho "sysvinit: restarting lprng service" + ${MCORE_LIBDIR}/mcore-system-service --restart --service lprng + fi }