[sane-devel] LSB DDK: Support for scanner drivers/SANE into LSB 3.2?

Olaf Meeuwissen olaf.meeuwissen at avasys.jp
Wed Jul 4 00:13:55 UTC 2007


Till Kamppeter <till.kamppeter at gmail.com> writes:

> Any news on SANE and LSB?

Oops, I had something stuck in my drafts ...

> Till Kamppeter wrote:
>> Till Kamppeter wrote:
>>>> Does the lsb project expect some testing code to be written?
>>>> What tests would be needed, or expected, if any?
>>>
>>> What we need is two interfaces of SANE, once the frontend/library 
>>> interface, so that one can have scanning functionality in LSB-packaged 
>>> applications, and second, the library/backend interface to allow 
>>> distribution-independent LSB-based scanner driver packages.
>>>
>> 
>> Am I right that these two interfaces are the same and that what I call 
>> "library", being the file /usr/lib/libsane.so.1 is a copy (why not a 
>> symlink?) of the dll backend (/usr/lib/sane/libsane-dll.so.1)?

Mostly yes.

You may remember the presentation at the Lexington Print Summit last
October about the Print Channel Manager (PCM)[1].  PCM uses the same
approach as SANE to provide both API users (applications) and API
providers (backends) with the same interface.  Underneath the covers
there is some preprocessor fiddling going on but this is transparent
to both parties.  As a result any of the SANE backends can be used as
/usr/lib/libsane.so.1.  That is, you can make /usr/lib/libsane.so.1 a
symlink pointing to any of the backends and a SANE compliant frontend
will still work.

# Yes, iscan is not SANE compliant :-{

[1] http://www.linux-foundation.org/en/OpenPrinting/SummitLexington

BTW, EPSON AVASYS Corporation has released[2] a sample implementation
of PCM that included a (severely limited) SANE backend.  The backend
only supports the EPSON LP-S6500CS TCP/IP interface and needs a (yuck)
proprietary PCM plugin.
# It ought to work with the ES-7000H and via USB as well ...

[2] http://avasys.jp/hp/menu000001000/hpg000000958.htm#a5
    Sorry in Japanese only :-{  You're looking for
    openprinting-pcm_0.7.3.tar.gz and pcm-esci-nt-0.0.2-0.i686.rpm

>> Then we 
>> would have only one interface to test, but we need to test both sides of 
>> it. We need to test whether a library with that interfaces is there for 
>> being linked by (LSB-built) frontends and we need to test whether there 
>> is a dll backend with the appropriate backend interface which will find 
>> an added (LSB-built) driver.

To test linking with a frontend all you need is a stubbed backend.
All an (LSB-built) driver needs to do is provide the SANE API.  It
doesn't matter whether a SANE frontend is talking to it or the SANE
dll backend.  The latter is just another SANE frontend from the POV
of the driver.

Hope this helps,
-- 
Olaf Meeuwissen             FLOSS Engineer -- EPSON AVASYS Corporation
FSF Associate Member #1962           sign up at http://member.fsf.org/
GnuPG key: 6BE37D90/AB6B 0D1F 99E7 1BF5 EB97  976A 16C7 F27D 6BE3 7D90
Penguin's lib!       -- I hack, therefore I am --               LPIC-2



More information about the sane-devel mailing list