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