kipi -> digikam -> sane but sane overwrites my libsane.rules

I have to install Sane from the latest snapshot because the Leap version does not support the latest gensys backend. Even though the support has been there in Sane since early 2015!
I have a Cannon LiDE 220 so to get the support I have to uninstall the openSuse version of sane and install from the Sane snapshot (I am using sane-backends-git20151127).
To get the scanner recognised I have to copy the snapshot version of libsane.rules to /etc/udev/rules.d/ but if I want support for image manipulation I have to have kipi installed. This requires digikam and digikam requires sane so the openSuse version of sane is installed. This will overwrite my version of /etc/udev/rules.d/55-libsane.rules so my scanner is not recognised.

Is it possible to make kipi work without having to haul in the openSuse sane?

I would say this is a packaging bug.
openSUSE’s packages should not contain any /etc/udev/rules.d/55-libsane.rules file.
It is the purpose of /etc/udev/rules.d/ to allow the user/administrator to override the files from /usr/lib/udev/rules.d/ that are shipped in the packages.

But the filenames in /etc/udev/rules.d/ actually do not matter at all, only for the order in which they are read.

So you could just create your own file with your custom rule, /etc/udev/rules.d/55-mylibsane.rules e.g.

Is it possible to make kipi work without having to haul in the openSuse sane?

No.
Although you might try to lock the package sane-backends (to prevent it from being installed) and tell YaST/zypper to break the dependencies.

You could also install the latest libsane from some other repo though, instead of building it yourself, so that the dependencies are satisfied:
http://software.opensuse.org/package/sane-backends

Thanks for that wolfi323.

I have experimented and found that the simplest expedient is to copy the rules file from the sane source package to 60-libsane.rules.
The opensuse libsane install will then insert the 55-libsane.rules file but as that one does not include the USB signature of my scanner the udev checker ignores it.
It looks like a simple solution and I hope that it survives later updates.