Recently, BarryK enquired about samba-tng's non-existent smbspool and whether printing through smbclient will work. I've advised him that it is indeed possible to do raw/postcript printing with smbclient and the smbc script (from http://willem.engen.nl/projects/cupssmb/) is what he can use or base upon.

I've taken a closer look at the whole smbspool thingy and have scribbled a drop-in replacement script for smbspool by sending print job(s) to smbclient. This script is loosely based on samba's smbspool internal logics, uses smbspool input parameter format and attempts to mimic smbspool behaviour. This script is designed to work with existing CUPS device URI.

Automatic installation:
1. Install the pet file. The script will be at /usr/lib/cups/backend.
2. Configure smb printer if required & do a test print

Final notes:
- This script is designed to run on puppy >= 4.0 platform with cups >= 1.1.x.
- Development and testing is done on puppy412 with cups-1.3.11, samba-3.0.37 and samba-tng-0.5rc1
- and yes, if anyone's wondering, I am able to print raw/ps using either samba or samba-tng smbclient.