[Desktop_printing] Re: [Printing-architecture] Re: Building PAPI implementation

Norm Jacobs Norm.Jacobs at Sun.COM
Thu May 18 20:35:54 PDT 2006


Till Kamppeter wrote:
> I tried the trick with the links. I did
>
> -------------------------------------------------------------------------
> [root at majax c]# mv /usr/lib/libpapi.so.0.0.0 /usr/lib/libpapi.so.0.0.0.orig
> [root at majax c]# ln -s /usr/lib/psm-ipp.so /usr/lib/libpapi.so.0.0.0
> -------------------------------------------------------------------------
>
> And then I got a lot of output with "printer-query", all CUPS-specific
> options and settings, but still one important thing missing: The options
> in the PPD file. So I cannot build a complete printing dialog with the
> info which I can poll with PAPI and this is very important for the
> standard to be adopted.
>   
The PPD file data via a capabilities interface is something that Wendy
is working on.  I don't know that there is an ETA yet.
> Another thing is taht if I have queues which are broadcasted from remote
> machines to my local CUPS daemon, "printer-query" cannot poll info about
> them at all. It tells that these queues do not exist.
>   
The PAPI implementation in psm-ipp.so will contact the IPP server
that is either the "default" compiled in service, specified via environment
variable (IPP_SERVER, CUPS_SERVER) or via the destination name. Eg.

    papiPrinterQuery(svc, "ipp://server/printers/queue", ...);

    $ lpstat -p ipp://server/printers/queue -l 2

Part of the attraction of the libpapi-dynamic implementation is that it will
enumerate print queues from a configuration db/name service and resolve
names to uri's on a variety of print services across multiple hosts.  To 
solve
the update problem with CUPS browse protocol, I prototyped a CUPS browse
listener that can be run to keep /etc/printers.conf up to date.  The right
way to do this on systems with CUPS running would be to have CUPS make
the configuration updates via the "PrintcapFormat" directive.  I can supply
diffs for this as well.  I run both Solaris LP and CUPS on my laptop 
side by side
with a mod for this.


> Printing with the PAPI "lpr" command works, but "print-test" complains
> with the following error:
>
> -------------------------------------------------------------------------
> [root at majax c]# print-test -d LJ4050
> print-test: relocation error: print-test: symbol papiJobCreate, version
> SUNWprivate_1.0 not defined in file libpapi.so.0 with link time reference
> [root at majax c]#
> -------------------------------------------------------------------------
>
>   
I will look into this.

          -Norm




More information about the Printing-architecture mailing list