[sane-devel] Patch to make XSane work with SANE 1.1

m. allan noah kitno455 at gmail.com
Mon Oct 13 19:45:37 UTC 2008


On Mon, Oct 13, 2008 at 2:49 PM, Louis Lagendijk
<louis at lagendijk.xs4all.nl> wrote:
> On Mon, 2008-10-13 at 13:55 -0400, m. allan noah wrote:
>> On Mon, Oct 13, 2008 at 11:45 AM, René Rebe <rene at exactcode.de> wrote:
>> > Hi,
>> >
>> > Julien BLACHE wrote:
>> >> stef <stef.dev at free.fr> wrote:
>> >>
>> >> Hi,
>
>
>> pseudocode:
>>
>> ret = sane_start()
>> if(ret){
>>   die("bad status");
>> }
>>
>> that works in sane 1.0, and fails in sane 1.1, both with the original
>> binary, and with a new binary compiled against 1.1 headers. Thus, it
>> is both a source and a binary incompatibility, which calls for a
>> soversion bump. We knew this going in, yet some folks were very much
>> against the bump, so we split hairs, and tried to say it was not big
>> enough to matter. That was a foolish choice, which drove some
>> developers away. I take a great measure of personal responsibility for
>> that.
>>
>> We have several choices as i see it:
>>
>> 1. Remove new status values and release sane 1.1. (do we need to
>> remove other things?)
>>
>> 2. Release this as sane 2.0.
>>
>> 3. Reopen the sane 2.0 discussion, and make more drastic changes to the API.
>>
> Is there not a option 4:
> 4. Leave sane_start as it is now with the same returncodes as it has in
> sane-1.0, and add a sane_start2 that has the new returncode(s) in
> addition to the old one?

binary compatibility generally works both ways- a binary that uses
sane_start2, could not be used with sane 1.0, even if rebuilt from
source.

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



More information about the sane-devel mailing list