diff --git a/usr.sbin/lpr/lp/Makefile b/usr.sbin/lpr/lp/Makefile new file mode 100644 index 000000000000..b23be958c65a --- /dev/null +++ b/usr.sbin/lpr/lp/Makefile @@ -0,0 +1,10 @@ +# @(#)Makefile 5.6 (Berkeley) 6/23/90 + +BINDIR = /usr/bin +MAN1 = lp.1 + +beforeinstall: + ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \ + ${.CURDIR}/lp.sh ${DESTDIR}${BINDIR}/lp + +.include diff --git a/usr.sbin/lpr/lp/lp b/usr.sbin/lpr/lp/lp new file mode 100644 index 000000000000..9f407f06f16c --- /dev/null +++ b/usr.sbin/lpr/lp/lp @@ -0,0 +1,71 @@ +#!/bin/sh +# +# +# Copyright (c) 1995 Joerg Wunsch +# +# All rights reserved. +# +# This program is free software. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. All advertising materials mentioning features or use of this software +# must display the following acknowledgement: +# This product includes software developed by Joerg Wunsch +# 4. The name of the developer may not be used to endorse or promote +# products derived from this software without specific prior written +# permission. +# +# THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# +# Posix 1003.2 compliant print spooler interface. +# +# $Id: lp,v 1.1.1.1 1997/10/05 12:40:42 mrg Exp $ +# + +ncopies="" +symlink="-s" + +# Posix says LPDEST gets precedence over PRINTER +dest=${LPDEST:-${PRINTER:-lp}} + +# +# XXX We include the -o flag as a dummy. Posix 1003.2 does not require +# it, but the rationale mentions it as a possible future extension. +# +while getopts "cd:n:o:" option +do + case $option in + + c) # copy files before printing + symlink="";; + d) # destination + dest="${OPTARG}";; + n) # number of copies + ncopies="-#${OPTARG}";; + o) # (printer option) + : ;; + *) # (error msg printed by getopts) + exit 2;; + esac +done + +shift $(($OPTIND - 1)) + +exec /usr/bin/lpr "-P${dest}" ${symlink} ${ncopies} "$@" diff --git a/usr.sbin/lpr/lp/lp.1 b/usr.sbin/lpr/lp/lp.1 new file mode 100644 index 000000000000..acaa501099e6 --- /dev/null +++ b/usr.sbin/lpr/lp/lp.1 @@ -0,0 +1,107 @@ +.\" +.\" Copyright (c) 1995 Joerg Wunsch +.\" +.\" All rights reserved. +.\" +.\" This program is free software. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by Joerg Wunsch +.\" 4. The name of the developer may not be used to endorse or promote +.\" products derived from this software without specific prior written +.\" permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.\" $Id: lp.1,v 1.1.1.1 1997/10/05 12:40:42 mrg Exp $ +.\" +.Dd January 22, 1995 +.Dt LP 1 +.Os +.Sh NAME +.Nm lp +.Nd front-end to the print spooler +.Sh SYNOPSIS +.Nm lp +.Op Fl c +.Op Fl d Ar printer +.Op Fl n Ar num +.Op Ar name ... +.Sh DESCRIPTION +.Nm Lp +is a front-end to the print spooler as required by the +.St -p1003.2 +specification. It effectively invokes +.Xr lpr 1 +with the proper set of arguments. + +It generally prints the named files on the destination printer. +.Pp +The following options are available: +.Bl -tag -width indent +.It Fl c +Make the +.Nm +command exit only after further access to any of the input files is no +longer required. The application can then safely delete or modify the +files without affecting the output operation. +.It Fl d Ar dest +Specify a particular printer. If no +.Fl d +is provided on the command line, the contents of the environment +variables +.Ev LPDEST +or +.Ev PRINTER +.Pq with this precedence +are taken as the destination printer. +.It Fl n Ar num +Specify that +.Ar num +copies of each of the named files shall be printed. +.El +.Sh ENVIRONMENT +As described above, the variables +.Ev LPDEST +and +.Ev PRINTER +are examined to select the destination printer. + +.Sh SEE ALSO +.Xr lpr 1 +.Sh STANDARDS +The +.Nm +command is expected to comply with the +.St -p1003.2 +specification. +.Sh AUTHOR +This implementation of the +.Nm +command has been written by +.if t J\(:org Wunsch. +.if n Joerg Wunsch. +.Sh BUGS +The +.St -p1003.2 +specification does not provide any means to print non-text files. It +rather requires the files to be printed to be text files limited to +reasonable line lengths and printable characters.