The Samba-Bugzilla – Attachment 8087 Details for
Bug 9301
The printcap smbprint script has multiple copies in the tree
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
v4-0-test patch
0001-packaging-Move-smbprint-to-a-comman-location.patch (text/plain), 11.64 KB, created by
Andreas Schneider
on 2012-10-18 12:16:19 UTC
(
hide
)
Description:
v4-0-test patch
Filename:
MIME Type:
Creator:
Andreas Schneider
Created:
2012-10-18 12:16:19 UTC
Size:
11.64 KB
patch
obsolete
>From 32ffbe8ed4c7a036594e4b23ad28a3932c084270 Mon Sep 17 00:00:00 2001 >From: Andreas Schneider <asn@samba.org> >Date: Wed, 17 Oct 2012 18:25:41 +0200 >Subject: [PATCH] packaging: Move smbprint to a comman location. > >This also removes all the duplicate smbprint scripts. > >This fixes bug #9301. > >Signed-off-by: Andreas Schneider <asn@samba.org> >--- > examples/printing/smbprint | 176 ---------------------------- > packaging/RHEL-CTDB/samba.spec.tmpl | 2 +- > packaging/RHEL-CTDB/setup/smbprint | 84 ------------- > packaging/RHEL/samba.spec.tmpl | 2 +- > packaging/printing/README | 3 + > packaging/{RHEL/setup => printing}/smbprint | 14 +-- > 6 files changed, 12 insertions(+), 269 deletions(-) > delete mode 100755 examples/printing/smbprint > delete mode 100644 packaging/RHEL-CTDB/setup/smbprint > create mode 100644 packaging/printing/README > rename packaging/{RHEL/setup => printing}/smbprint (91%) > >diff --git a/examples/printing/smbprint b/examples/printing/smbprint >deleted file mode 100755 >index 375f29f..0000000 >--- a/examples/printing/smbprint >+++ /dev/null >@@ -1,176 +0,0 @@ >-#!/bin/bash >- >-# This script is an input filter for printcap printing on a unix machine. It >-# uses the smbclient program to print the file to the specified smb-based >-# server and service. >-# For example you could have a printcap entry like this >-# >-# smb:lp=/dev/null:sd=/usr/spool/smb:sh:if=/usr/local/samba/smbprint >-# >-# which would create a unix printer called "smb" that will print via this >-# script. You will need to create the spool directory /usr/spool/smb with >-# appropriate permissions and ownerships for your system. >- >-# Set these to the server and service you wish to print to >-# In this example I have a WfWg PC called "lapland" that has a printer >-# exported called "printer" with no password. >- >-# >-# Script further altered by hamiltom@ecnz.co.nz (Michael Hamilton) >-# so that the server, service, and password can be read from >-# a /usr/var/spool/lpd/PRINTNAME/.config file. >-# >-# Script further modified by Richard Sharpe to fix some things. >-# Get rid of the -x on the first line, and add parameters >-# >-# -t now causes translate to be used when sending files >-# >-# Further modifications by Alfred Perlstein to fix some problems and >-# improve the quality of the code (3-Dec-2001). >-# >-# More hacking by Richard Sharpe to improve portability. 9-Dec-2001. >-# >-# In order for this to work the /etc/printcap entry must include an >-# accounting file (af=...): >-# >-# cdcolour:\ >-# :cm=CD IBM Colorjet on 6th:\ >-# :sd=/var/spool/lpd/cdcolour:\ >-# :af=/var/spool/lpd/cdcolour/acct:\ >-# :if=/usr/local/etc/smbprint:\ >-# :mx=0:\ >-# :lp=/dev/null: >-# >-# The /usr/var/spool/lpd/PRINTNAME/.config file should contain: >-# server=PC_SERVER >-# service=PR_SHARENAME >-# password="password" >-# >-# E.g. >-# server=PAULS_PC >-# service=CJET_371 >-# password="" >- >-#smbclient=/usr/pkg/bin/smbclient >-# Assume that smbclient will be in the same place as smbprint >- >-smbclient="`dirname $0`/smbclient" >- >-# >-# The last parameter to the filter is the accounting file name. >-# Extract the directory name from the file name. >-# Concat this with /.config to get the config file. >-# >-TRANS=0 >-eval acct_file=\${$#} >-spool_dir=`dirname $acct_file` >-config_file=$spool_dir/.config >- >-# Should read the following variables set in the config file: >-# server >-# service >-# password >-# username (optional) >-# IP (optional) >-# debug (optional) >-# debugsmb (optional) >-# debugfile (optional) >-. $config_file >- >-if [ "x$password" = "x" ] ; then >- password="-N" >-fi >- >-if [ "x$username" = "x" ] ; then >- username="$server"; >-fi >- >-while test $# -gt 0; do >- case "$1" in >- -t) >- TRANS=1 >- ;; >- >- *) # Bad Parameters, ignore them ... >- ;; >- esac >- shift >-done >- >-command="print - ;" >-if [ $TRANS -eq 1 ]; then >- command="translate;$command"; >-fi >- >-## >-## Some security checks on the logfile if we are using it >-## >-## make the directory containing the logfile is necessary >-## and set the permissions to be rwx for owner only >-## >- >-debugfile="/tmp/smb-print/logfile" >-logdir=`dirname $debugfile` >-if [ ! -d $logdir ]; then >- mkdir -m 0700 $logdir >-fi >- >-## >-## check ownership. If I don't own it refuse to >-## create the logfile >-## >-if [ ! -O $logdir ]; then >- echo "user running script does not own $logdir. Ignoring any debug options." >- debug="" >-fi >- >-touch $debugfile >-if [ -h $debugfile ]; then >- echo "$debugful is a symlink. Turning off debugging!" >- debug="" >-fi >- >-## >-## We should be safe at this point to create the log file >-## without fear of a symlink attack -- move on to more script work. >-## >- >-if [ "x$debug" = "x" ] ; then >- debugfile=/dev/null debugargs= >-else >- if [ $debug -eq 0 ] ; then >- debugfile=/dev/null debugargs= >- else >- set -x; exec >>$debugfile 2>&1 >- debugargs="$debugfile." >- #[ "x$debugsmb" = "x" ] || debugargs="$debugargs -d $debugsmb" >- fi >-fi >- >-if [ "x$smbconf" != "x" ]; then >- >- smbconf="-s $smbconf" >- >-fi >- >-if [ "x$IP" != "x" ]; then >- >- IP="-I $IP" >- >-fi >- >-if [ "x$debugargs" != "x" ]; then >- >- debugargs="-l $debugargs" >- >-fi >- >-$smbclient \ >- "\\\\$server\\$service" \ >- $password \ >- $smbconf \ >- $IP \ >- $debugargs \ >- -U $username \ >- -c "$command" >-# >diff --git a/packaging/RHEL-CTDB/samba.spec.tmpl b/packaging/RHEL-CTDB/samba.spec.tmpl >index 61a5bdd..16d2fa4 100644 >--- a/packaging/RHEL-CTDB/samba.spec.tmpl >+++ b/packaging/RHEL-CTDB/samba.spec.tmpl >@@ -290,7 +290,7 @@ install -m644 setup/samba.sysconfig $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/samb > install -m755 setup/smb.init $RPM_BUILD_ROOT%{initdir}/smb > install -m755 setup/winbind.init $RPM_BUILD_ROOT%{initdir}/winbind > install -m644 setup/samba.pamd $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/samba >-install -m755 setup/smbprint $RPM_BUILD_ROOT%{_bindir} >+install -m755 packaging/printing/smbprint $RPM_BUILD_ROOT%{_bindir} > install -m644 setup/smbusers $RPM_BUILD_ROOT%{_sysconfdir}/samba/smbusers > install -m644 setup/smb.conf $RPM_BUILD_ROOT%{_sysconfdir}/samba/smb.conf > install -m755 source3/script/mksmbpasswd.sh $RPM_BUILD_ROOT%{_bindir} >diff --git a/packaging/RHEL-CTDB/setup/smbprint b/packaging/RHEL-CTDB/setup/smbprint >deleted file mode 100644 >index 1c3959d..0000000 >--- a/packaging/RHEL-CTDB/setup/smbprint >+++ /dev/null >@@ -1,84 +0,0 @@ >-#!/bin/sh >-# This script is an input filter for printcap printing on a unix machine. It >-# uses the smbclient program to print the file to the specified smb-based >-# server and service. >-# For example you could have a printcap entry like this >-# >-# smb:lp=/dev/null:sd=/usr/spool/smb:sh:if=/usr/local/samba/smbprint >-# >-# which would create a unix printer called "smb" that will print via this >-# script. You will need to create the spool directory /usr/spool/smb with >-# appropriate permissions and ownerships for your system. >- >-# Set these to the server and service you wish to print to >-# In this example I have a WfWg PC called "lapland" that has a printer >-# exported called "printer" with no password. >- >-# >-# Script further altered by hamiltom@ecnz.co.nz (Michael Hamilton) >-# so that the server, service, and password can be read from >-# a /usr/var/spool/lpd/PRINTNAME/.config file. >-# >-# In order for this to work the /etc/printcap entry must include an >-# accounting file (af=...): >-# >-# cdcolour:\ >-# :cm=CD IBM Colorjet on 6th:\ >-# :sd=/var/spool/lpd/cdcolour:\ >-# :af=/var/spool/lpd/cdcolour/acct:\ >-# :if=/usr/local/etc/smbprint:\ >-# :mx=0:\ >-# :lp=/dev/null: >-# >-# The /usr/var/spool/lpd/PRINTNAME/.config file should contain: >-# share=PC_SERVER >-# user="user" >-# password="password" >-# >-# Please, do not modify the order in the file. >-# Example: >-# share=\\server\deskjet >-# user="fred" >-# password="" >- >-# >-# The last parameter to the filter is the accounting file name. >-# Extract the directory name from the file name. >-# Concat this with /.config to get the config file. >-# >-eval acct_file=\${$#} >-spool_dir=`dirname $acct_file` >-config_file=$spool_dir/.config >- >-# Should read the following variables set in the config file: >-# share >-# hostip >-# user >-# password >- >-eval `cat $config_file` >- >-share=`echo $share | sed "s/[\]/\//g"` >- >-if [ "$user" != "" ]; then >- usercmd="-U" >-else >- usercmd="" >-fi >- >-if [ "$workgroup" != "" ]; then >- workgroupcmd="-W" >-else >- workgroupcmd="" >-fi >- >-if [ "$translate" = "yes" ]; then >- command="translate ; print -" >-else >- command="print -" >-fi >-#echo $share $password $translate $x_command > /tmp/smbprint.log >- >-cat | /usr/bin/smbclient "$share" "$password" -E ${hostip:+-I} \ >- $hostip -N -P $usercmd "$user" $workgroupcmd "$workgroup" \ >- -c "$command" 2>/dev/null >diff --git a/packaging/RHEL/samba.spec.tmpl b/packaging/RHEL/samba.spec.tmpl >index adbc6df..8439256 100644 >--- a/packaging/RHEL/samba.spec.tmpl >+++ b/packaging/RHEL/samba.spec.tmpl >@@ -242,7 +242,7 @@ install -m644 setup/samba.sysconfig $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/samb > install -m755 setup/smb.init $RPM_BUILD_ROOT%{initdir}/smb > install -m755 setup/winbind.init $RPM_BUILD_ROOT%{initdir}/winbind > install -m644 setup/samba.pamd $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/samba >-install -m755 setup/smbprint $RPM_BUILD_ROOT%{_bindir} >+install -m755 packaging/printing/smbprint $RPM_BUILD_ROOT%{_bindir} > install -m644 setup/smbusers $RPM_BUILD_ROOT%{_sysconfdir}/samba/smbusers > install -m644 setup/smb.conf $RPM_BUILD_ROOT%{_sysconfdir}/samba/smb.conf > install -m755 source3/script/mksmbpasswd.sh $RPM_BUILD_ROOT%{_bindir} >diff --git a/packaging/printing/README b/packaging/printing/README >new file mode 100644 >index 0000000..0dfcc3c >--- /dev/null >+++ b/packaging/printing/README >@@ -0,0 +1,3 @@ >+The smbprint script is an input filter for printcap printing on a unix machine. >+It uses the smbclient program to print the file to the specified smb-based >+server and service. >diff --git a/packaging/RHEL/setup/smbprint b/packaging/printing/smbprint >similarity index 91% >rename from packaging/RHEL/setup/smbprint >rename to packaging/printing/smbprint >index 1c3959d..a02d754 100644 >--- a/packaging/RHEL/setup/smbprint >+++ b/packaging/printing/smbprint >@@ -1,25 +1,25 @@ > #!/bin/sh > # This script is an input filter for printcap printing on a unix machine. It >-# uses the smbclient program to print the file to the specified smb-based >+# uses the smbclient program to print the file to the specified smb-based > # server and service. > # For example you could have a printcap entry like this > # > # smb:lp=/dev/null:sd=/usr/spool/smb:sh:if=/usr/local/samba/smbprint > # >-# which would create a unix printer called "smb" that will print via this >+# which would create a unix printer called "smb" that will print via this > # script. You will need to create the spool directory /usr/spool/smb with > # appropriate permissions and ownerships for your system. > >-# Set these to the server and service you wish to print to >-# In this example I have a WfWg PC called "lapland" that has a printer >+# Set these to the server and service you wish to print to >+# In this example I have a WfWg PC called "lapland" that has a printer > # exported called "printer" with no password. > > # > # Script further altered by hamiltom@ecnz.co.nz (Michael Hamilton) >-# so that the server, service, and password can be read from >+# so that the server, service, and password can be read from > # a /usr/var/spool/lpd/PRINTNAME/.config file. > # >-# In order for this to work the /etc/printcap entry must include an >+# In order for this to work the /etc/printcap entry must include an > # accounting file (af=...): > # > # cdcolour:\ >@@ -47,7 +47,7 @@ > # Concat this with /.config to get the config file. > # > eval acct_file=\${$#} >-spool_dir=`dirname $acct_file` >+spool_dir=`dirname $acct_file` > config_file=$spool_dir/.config > > # Should read the following variables set in the config file: >-- >1.7.12.3 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Flags:
metze
:
review+
Actions:
View
Attachments on
bug 9301
: 8087