[sane-devel] Sane Release 1.1.0 ?

m. allan noah kitno455 at gmail.com
Thu Nov 6 16:40:42 UTC 2008


On Thu, Nov 6, 2008 at 11:12 AM, Julien BLACHE <jb at jblache.org> wrote:
> "m. allan noah" <kitno455 at gmail.com> wrote:
>
>> Please, describe for us how adding a new function to v2 backends is
>> going to make it easier for v1 and v2 backends to be installed at the
>> same time.
>
> Tweaks to dll are needed in both cases. Except in your case you're
> again trying to take an easy route that will only end with more
> problems.

Julien, I'm not trying to have an argument. I am trying to get input
from the ecosystem, by having this brainstorming session in public.
Please, dont tell me again to stop and think about it from your
perspective, HELP me think about it from your perspective, because I
am not you!

We all seem to be in agreement that the addition of new status and
frame types is an incompatible change to the API/ABI. The standard
says:

The SANE standard is expected to evolve over time. Whenever a change
to the SANE standard is made that
may render an existing frontend or backend incompatible with the new
standard, the major version number
must be increased. Thus, any frontend/backend pair is compatible
provided the major version number of
the SANE standard they implement is the same. A frontend may implement
backwards compatiblity by
allowing major numbers that are smaller than the expected major number
(provided the frontend really can
cope with the older version). In contrast, a backend always provides
support for one and only one version
of the standard. If a specific application does require that two
different versions of the same backend are
accessible at the same time, it is possible to do so by installing the
two versions under different names.

My biggest concerns are those raised by Olaf- how do the two versions
coexist. I will bet you that the solution we come up with will be
EXACTLY the same, whether we add your new function or not. So, i want
to leave the sane_status question aside for just a moment, and discuss
these big-picture issues.

How do we structure our package such that sane 1.0.19 could be
installed at the same time as the new sane, along with external
backends of either version?

allan
-- 
"The truth is an offense, but not a sin"


More information about the sane-devel mailing list