cups-package

For people who wish to completely replace the Solaris printing system with Cups, the following snippet is an example of how this can be done. It removes all the relevant Sun packages, installs the CSW cups packages and for all cups binaries places symlinks in /usr/bin. If you think you might need to rollback, please have your Solaris release media ready. Beware: there is likely a bit more to it, as Xprt seems to rely on lpget to provide a list of printers and the cups packages don't have lpget (example wrapper can be found here).

Example script snippet: replace Sun printing system with Cups

#!/bin/sh
#
# Substitute stock Solaris 10 cups installation with OpenCSW
# cups. Plain cups submitted all file types as text/plain
# to our Cups server (might have changed) ...
#
# ref. http://forums.sun.com/thread.jspa?threadID=5375841&tstart=0

http_proxy=http://proxy.example.com:8001
export http_proxy

printserver=printsrv.example.com
defaultprinter=myexampleprinter

ADMIN_FILE=/var/opt/csw/pkgutil/admin

/usr/sbin/svcadm disable print/ppd-cache-update
/usr/sbin/svcadm disable print/rfc1179

# pkgrm pkgs one by one. If we would pkgrm all at once and
# just one of them is not present (or other errors occur) the
# whole pkgrm would abort
SUNCUPS_PKGS="
        SUNWctlu SUNWmp SUNWpsu SUNWscplp
        SUNWppm SUNWpcu SUNWpsr SUNWpcr
        SUNWipplu SUNWipplr"

for p in $SUNCUPS_PKGS; do
        /usr/bin/yes | /usr/sbin/pkgrm -a $ADMIN_FILE $p
done

/opt/csw/bin/pkgutil -yi cupsclient
mkdir -p /opt/csw/etc/cups
echo "Servername $printserver" > /etc/opt/csw/cups/client.conf
/opt/csw/bin/lpoptions -d $defaultprinter

grep CSWcupsclient /var/sadm/install/contents | \
        grep /bin/ | awk '{ print $1 }' | \
        while read f; do ln -s $f /usr/bin/; done
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License