[sane-devel] 1.0.25 is out, now what?

Johannes Meixner jsmeix at suse.de
Wed Oct 21 11:43:17 UTC 2015

Hello Olaf,

first and foremost many thanks for all your
"SANE Project Janitor" work.

On Oct 19 22:20 Olaf Meeuwissen wrote (excerpt):
>> ... unofficial ... goals for sane-backends-1.0.26.
>>  - modernize the autofoo bits
>>  - fix all compiler warnings
>>  - bump language level to C99
>>  - default to libusb-1.0
>> ... release by early February 2016.
> Feedback and suggestions are welcome.

Suggestion for an additional goal for sane-backends-1.0.26:

- drop support for parallel port scanners

My plan is to do this for sane-backends-1.0.25
for openSUSE Tumbleweed but currently I provide
sane-backends-1.0.25 with parallel port scanner support
because I simply had no time yet to do it.
My current plan how to drop it is to keep the backends
for parallel port scanners but to only remove the
entries for parallel port scanners from the description
files which results that the YaST scanner setup no longer
shows parallel port scanners. This way I could get end-user
feedback if parallel port scanners are still of any interest
and if yes, I could tell the user how to enable the matching
backend manually without the need to install a different
sane-backends package to get a parallel port scanner working.

RFC for an additional goal for sane-backends-1.0.26:

- switch to group "lp" instead of "scanner"

Currently SANE upstream creates udev rules with
MODE="0664", GROUP="scanner".

Hereby I ask for comments whether or not SANE upstream
should switch to group "lp" instead of "scanner".

The reason for using "lp" instead of "scanner" is described
at "USB scanner access permissions via udev" in
For USB multifunction devices the multifunction aspect could
make it troublesome in other Linux distributions that may
use the SANE upstream way to set scanner device nodes to
group "scanner" and add the users to that "scanner" group
which conflicts with the CUPS backend that usually needs
"lp" group read/write access to access the printer unit
so that special setup is needed to make printing work.

In openSUSE there is no group "scanner". Only the "lp" group
exists and is used in /etc/udev/rules.d/55-libsane.rules as
MODE="0664", GROUP="lp".

It is sufficiently secure and reasonable easy to use by default
the same group "lp" for printers and scanners because both kind
of devices usually require physical user access (to get the
printed paper or to place a paper on the scanner) so that both
kind of devices should usually require the same kind of security
and for multifunction devices only one group can be set and
then the "lp" group is the more reasonable default setting. 

I do not know how read/write access for USB scanners is done
in other Linux distributions. If also other Linux distributions
set normal-user read/write access for the device node by the
udev "uaccess" tool that sets device node user ACLs, then the
"scanner" group should be no longer actually needed because
normal-user read/write access via ACL is independent of the
device node group so that the device node group could be changed
to "lp" without regressions for normal-user read/write access.

Kind Regards
Johannes Meixner
SUSE LINUX GmbH - GF: Felix Imendoerffer, Jane Smithard,
Graham Norton - HRB 21284 (AG Nuernberg)

More information about the sane-devel mailing list