[sane-devel] Sane-backends is open for development

Olaf Meeuwissen paddy-hack at member.fsf.org
Fri May 26 11:38:25 UTC 2017

Hi Rolf,

Rolf Bensch writes:

> Hi Allan,
> If I'm checking the version with scanimage, I get this back:
> $ scanimage -V
> scanimage (sane-backends) 1.0.27git; backend version 1.0.27
> Maybe the backend version should also show 1.0.27git?

The backend version bit shows whatever sane_init gets back as the
version of the backend.  In most situations that will be the dll
backend but you could set up your system to have scanimage use a
specific backend directly.  So for the pixma backend that becomes
1.0.17, if I got my maths right.

This is compliant with the SANE spec.  You're supposed to return the
*backend* version in the sane_init() call.  The *backend* version is
defined in section 4.1:

  SANE version control also includes a minor version number and a build
  revision.  While control of these numbers remains with the implementor
  of a backend, the recommended use is as follows. The minor version is
  incremented with each official release of a backend.  The build
  revision is increased with each build of a backend.

So a backend could even return something like 1.5.123, as long as the
major version matches the major version of the SANE API it provides.

There is actually quite a bit of misunderstanding of the use of version
numbers in sane-backends but that's a long story.  It involves package
version, SANE API version, dynamic library versioning as well as backend
versions.  The problem is that people tend to assume it's all the same
thing while in fact they are all very different and mostly independent.

Hope this helps,
Olaf Meeuwissen, LPIC-2            FSF Associate Member since 2004-01-27
 GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13  F43E B8A4 A88A F84A 2DD9
 Support Free Software                        https://my.fsf.org/donate
 Join the Free Software Foundation              https://my.fsf.org/join

More information about the sane-devel mailing list