Subject: Re: lpwrapper
To: Julio Merino <jmmv@menta.net>
From: Frederick Bruckman <fredb@immanent.net>
List: tech-userlevel
Date: 03/20/2003 08:29:58
On Thu, 20 Mar 2003, Julio Merino wrote:

> I've just installed cups on my system, and (obviously) binary programs
> conflict with the ones in the base system.  One needs to:
> 1) Remove lpd from the base system (acceptable when we have syspkg), but
>    for now it's a very ugly hack.
> 2) Set up path's so that lp* in /usr/pkg are found before /usr.  This
>    looks ugly too. Relying on path order is bad, imo.

The only place that matters is in the rc.d script that starts up "lp",
so I don't see why it's a problem. If it really bothers you, you could
rename the cups-installed binaries.

> Therefore I propose adding a 'lpwrapper' program, in the same direction
> as 'mailwrapper', configured to use lpd in the base system by default,
> of course. This program could use a /etc/lper.conf configuration file,
> just like mailer.conf (better names accepted). Implementing this program
> is trivial, based on mailwrapper sources (I've already got it, just need
> to review manpages).
>
> This means that all actual lp* tools should be moved to /usr/libexec/lp/*.
>
> Any objection to this? If not, I'll try to finish lpwrapper and post it
> here, along with all other patches needed.

CUPS is an ugly hack. The whole notion of parsing the content of the
print job to determine how to handle it is fundamentally flawed. In
the case of postscript (say, for the examples that come with
ghostscript), how can the daemon know if the user intends to print the
text, or to view the rendered job? Besides, all the programs that it
likes to invoke as filters are in the path, and most queue to the
printer as their default output, making the whole system unnecessary.
Therefore, I don't think we should mangle the base system to encourage
it.

Frederick