$OpenBSD: README,v 1.16 2012/06/20 14:54:40 ajacoutot Exp $

+-----------------------------------------------------------------------
| Running cups-1.5.3p5 on OpenBSD
+-----------------------------------------------------------------------

Adding and/or configuring CUPS printers can be done with lpadmin(8), but
for a quick and easy (graphical) setup, after starting the CUPS daemon,
point your browser to:
    http://localhost:631

If you plan on printing non-Postscript files, the "ghostscript" package
must be installed.

By default, CUPS only supports a handful amount of printers -- you will
most probably want to install the "foomatic-filters" packages which
provides a universal filter script along with "foomatic-db-engine" which
will allow you to generate a PPD (Printer Postscript Description) file
for your printer.

Depending on your printer model you may also need to install some driver
package like (non-exhaustive list): hplip/hpijs, foo2zjs, splix,
gutenprint/foomatic-db-gutenprint...

To be able to use CUPS printers from GTK applications, the corresponding
package needs to be installed: "gtk+2-cups" and/or "gtk+3-cups".

USB
===
Since USB printing will be handled by libusb, you need to allow the
_cups user access to the corresponding USB endpoint. To do so, find
where your printer is attached to using `sudo usbdevs -vd` then change
the ownerships accordingly.

e.g.
Controller /dev/usb5:
addr 1: full speed, self powered, config 1, OHCI root hub(0x0000), ATI(0x1002), rev 1.00
  uhub5
 port 1 addr 2: full speed, self powered, config 1, USB MFP(0x082f), EPSON(0x04b8), rev 1.00, iSerialNumber L83010704250947490
   ugen0

$ sudo chown _cups /dev/ugen0.* /dev/usb3

Alternatively, hotplugd(4) attach/detach scripts can be used to automate
this.

The reason we are changing the user and not the group is that it will
allow for multi-function devices to work for both printing and scanning
(e.g. by being owned by _cups:_saned).

To preserve your changes after a system update, use rc.local(8).
e.g. for a multi-function printer/scanner add the following lines:
chown _cups:_saned /dev/ugen0.* /dev/usb1

*** WARNING ***
ulpt(4) needs to be disable in the kernel (see config(8)) or the printer
will not be available to libusb.

UPGRADING
=========
If you experience cups-driverd(8) crashes or printing issues after
upgrading, it may be necessary to remove the old CUPS cache and restart
cups(8):
    # rm /var/cache/cups/* 2>/dev/null
    # /etc/rc.d/cupsd restart
