Bug#913125: missing requested rename of libsane

2018-11-09 Thread Jeremy Bicha
> According to Debian Policy 8.6.2, renaming of the SONAME and the
> library package name is possible for non-backwards compatible ABI
> changes.

Respectfully, the soname was not bumped. If you think that it should
be, why don't you ask the sane-backends developers to do that?

But I agree with the analysis done in
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=913125#52 and I
think the sane-backends developers will agree that a soname bump isn't
necessary either.

It is unnecessary and unwanted to bump the Debian library package name
when symbols are changed or removed if they are not part of the public
API.

It feels to me like there is widespread agreement that the 1.0.27-3.1
packaging is the best way to handle this (although we should clean up
the symbols files in a future upload). Jörg, what can we do now to
make you happy with this situation so that we can let this version
migrate to Testing and end this dispute we've had for 3 months?

Thanks,
Jeremy Bicha



Bug#913125: missing requested rename of libsane

2018-11-07 Thread Michael Biebl
Am 07.11.18 um 16:49 schrieb Jörg Frings-Fürst:
> severity 913125 serious
> thanks
> 
> Hi,
> 
> Am Mittwoch, den 07.11.2018, 15:05 +0100 schrieb Michael Biebl:
>> Control: severity -1 normal
> 
>> Am 07.11.18 um 13:42 schrieb Michael Biebl:
>>> The removal of toupper_ascii is strictly speaking an ABI break, but
>>> this
>>> never was part of the public API (checking the header files of
>>> 1.0.25).
>>> So no bumping the soname for the removal of toupper_ascii is
>>> okayish.
> 
>> Given my findings, I'm downgrading the severity as there is not
>> really
>> an ABI break.
> 
> 
> - From [1]:
> 
>>   sanei_init_debug@Base 1.0.25
>> - toupper_ascii@Base 1.0.25
>> + sanei_lm983x_init@Base 1.0.27-3.1
> 
> and
> 
>> + sanei_w_word@Base 1.0.27-3.1
>> +#MISSING: 1.0.27-3.1# toupper_ascii@Base 1.0.25
> 
> CU
> Jörg
> 
> 
> [1]  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=913125#27
> 

Seems you have missed what I wrote there or you deliberately ignored it.

Since you bumped it back to serious, can you please elaborate where the
removal of the private symbol is causing issues?
afaics, toupper_ascii should have been marked as optional to begin with.

Quoting man dpkg-gensymbols

">optional
>   A symbol marked as optional can disappear from the library at 
> any time and that will never cause dpkg-gensymbols to  fail.  However,
>   disappeared optional symbols will continuously appear as 
> MISSING in the diff in each new package revision.  This behaviour serves as
>   a reminder for the maintainer that such a symbol needs to be 
> removed from the symbol file  or  readded  to  the  library.  When  the
>   optional  symbol, which was previously declared as MISSING, 
> suddenly reappears in the next revision, it will be upgraded back to the
>   "existing" status with its minimum version unchanged.
> 
>   This tag is useful for symbols which are private where their 
> disappearance do not cause ABI  breakage.  For  example,  most  of  C++
>   template  instantiations fall into this category. Like any 
> other tag, this one may also have an arbitrary value: it could be used to
>   indicate why the symbol is considered optional.




-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?



signature.asc
Description: OpenPGP digital signature


Processed: Re: Bug#913125: missing requested rename of libsane

2018-11-07 Thread Debian Bug Tracking System
Processing commands for cont...@bugs.debian.org:

> severity 913125 serious
Bug #913125 [src:sane-backends] missing requested rename of libsane
Severity set to 'serious' from 'normal'
> thanks
Stopping processing here.

Please contact me if you need assistance.
-- 
913125: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=913125
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



Bug#913125: missing requested rename of libsane

2018-11-07 Thread Michael Biebl
Control: severity -1 normal

Am 07.11.18 um 13:42 schrieb Michael Biebl:
> The removal of toupper_ascii is strictly speaking an ABI break, but this
> never was part of the public API (checking the header files of 1.0.25).
> So no bumping the soname for the removal of toupper_ascii is okayish.

Given my findings, I'm downgrading the severity as there is not really
an ABI break.

-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?



signature.asc
Description: OpenPGP digital signature


Processed: Re: Bug#913125: missing requested rename of libsane

2018-11-07 Thread Debian Bug Tracking System
Processing control commands:

> severity -1 normal
Bug #913125 [src:sane-backends] missing requested rename of libsane
Severity set to 'normal' from 'serious'

-- 
913125: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=913125
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



Bug#913125: missing requested rename of libsane

2018-11-07 Thread Michael Biebl
Am 07.11.18 um 14:40 schrieb Jörg Frings-Fürst:

> and extract the symbols files from the resulting *.deb files.
> 
> Both are attached.

The symbols files you attached include the symbols for the backends. You
need to exclude those.
Picking the first symbol in your list as an example:

backend/kvs1025_low.c:AllocateImageBuffer (PKV_DEV dev)

-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?



signature.asc
Description: OpenPGP digital signature


Bug#913125: missing requested rename of libsane

2018-11-07 Thread Jörg Frings-Fürst
Hello,

I have build the release 1.0.25-4.1 with

override_dh_makeshlibs-arch:
dh_makeshlibs -X/usr/lib/$(DEB_HOST_MULTIARCH)/sane/  -- 
-v$(DEB_VERSION_UPSTREAM)  -Pdebian/libsane -plibsane

and the release 1.0.27-4 with

override_dh_makeshlibs-arch:
dh_makeshlibs -X/usr/lib/$(DEB_HOST_MULTIARCH)/sane/  -- 
-v$(DEB_VERSION_UPSTREAM)  -Pdebian/libsane1 -plibsane1

and extract the symbols files from the resulting *.deb files.

Both are attached.

Am Mittwoch, den 07.11.2018, 13:42 +0100 schrieb Michael Biebl:
> On Wed, 07 Nov 2018 12:57:49 +0100
> =?ISO-8859-1?Q?J=F6rg_Frings-F=FCrst?=  wrote:
> > Hello,
> > 
> > Am Mittwoch, den 07.11.2018, 11:27 +0100 schrieb Gianfranco
> > Costamagna:
> > > control: tags -1 moreinfo
> > > 
> > > Hello Jörg
> > > 
> > > > with the upstream release 1.0.27 are some libraray functions
> > > > are removed.
> > > 
> > > Can you please share also some examples of such libraries?
> > > Are them public or private?
> > > 
> > I have build for testing the symbolsfiles from release 1.0.25-4.1
> > and 1.0.27-4 with --exclude=/sane/ to get only the public symbols.
> > 
> > The resulting diff (diff -Naur symbols_1.0.25-4.1 symbols_1.0.27-4
> > > 1.0.25-4.1_1.0.27-4.diff) is attached.
> 
> This diff doesn't look correct.
> 
> I've started with 1.0.25, excluding private symbols via
> 
> override_dh_makeshlibs-arch:
>dh_makeshlibs -plibsane -X/usr/lib/$(DEB_HOST_MULTIARCH)/sane/
> -V
> 
> The resulting libsane.symbols is attached.
> 
> I then built 1.0.27 with this symbols file, the result is:
> --- debian/libsane.symbols (libsane_1.0.27-3.1_amd64)
> +++ dpkg-gensymbolsTT8qtO 2018-11-07 13:36:52.052487084 +0100
> @@ -1,4 +1,13 @@
>  libsane.so.1 libsane #MINVER#
> + cmsg@Base 1.0.27-3.1
> + md5_buffer@Base 1.0.27-3.1
> + md5_finish_ctx@Base 1.0.27-3.1
> + md5_init_ctx@Base 1.0.27-3.1
> + md5_process_block@Base 1.0.27-3.1
> + md5_process_bytes@Base 1.0.27-3.1
> + md5_read_ctx@Base 1.0.27-3.1
> + md5_stream@Base 1.0.27-3.1
> + posix_dlsym@Base 1.0.27-3.1
>   sane_cancel@Base 1.0.25
>   sane_close@Base 1.0.25
>   sane_control_option@Base 1.0.25
> @@ -26,7 +35,19 @@
>   sane_set_io_mode@Base 1.0.25
>   sane_start@Base 1.0.25
>   sane_strstatus@Base 1.0.25
> + sanei_ab306_close@Base 1.0.27-3.1
> + sanei_ab306_cmd@Base 1.0.27-3.1
> + sanei_ab306_exit@Base 1.0.27-3.1
> + sanei_ab306_get_io_privilege@Base 1.0.27-3.1
> + sanei_ab306_open@Base 1.0.27-3.1
> + sanei_ab306_rdata@Base 1.0.27-3.1
> + sanei_ab306_test_ready@Base 1.0.27-3.1
> + sanei_access_init@Base 1.0.27-3.1
> + sanei_access_lock@Base 1.0.27-3.1
> + sanei_access_unlock@Base 1.0.27-3.1
>   sanei_check_value@Base 1.0.25
> + sanei_codec_bin_init@Base 1.0.27-3.1
> + sanei_config_attach_matching_devices@Base 1.0.27-3.1
>   sanei_config_get_paths@Base 1.0.25
>   sanei_config_get_string@Base 1.0.25
>   sanei_config_open@Base 1.0.25
> @@ -36,7 +57,174 @@
>   sanei_constrain_value@Base 1.0.25
>   sanei_debug_dll@Base 1.0.25
>   sanei_debug_msg@Base 1.0.25
> + sanei_debug_sanei_ab306@Base 1.0.27-3.1
> + sanei_debug_sanei_access@Base 1.0.27-3.1
>   sanei_debug_sanei_config@Base 1.0.25
>   sanei_debug_sanei_debug@Base 1.0.25
> + sanei_debug_sanei_lm983x@Base 1.0.27-3.1
> + sanei_debug_sanei_magic@Base 1.0.27-3.1
> + sanei_debug_sanei_pa4s2@Base 1.0.27-3.1
> + sanei_debug_sanei_pio@Base 1.0.27-3.1
> + sanei_debug_sanei_pp@Base 1.0.27-3.1
> + sanei_debug_sanei_pv8630@Base 1.0.27-3.1
> + sanei_debug_sanei_scsi@Base 1.0.27-3.1
> + sanei_debug_sanei_tcp@Base 1.0.27-3.1
> + sanei_debug_sanei_thread@Base 1.0.27-3.1
> + sanei_debug_sanei_udp@Base 1.0.27-3.1
> + sanei_debug_sanei_usb@Base 1.0.27-3.1
> + sanei_debug_sanei_wire@Base 1.0.27-3.1
>   sanei_init_debug@Base 1.0.25
> - toupper_ascii@Base 1.0.25
> + sanei_lm983x_init@Base 1.0.27-3.1
> + sanei_lm983x_read@Base 1.0.27-3.1
> + sanei_lm983x_reset@Base 1.0.27-3.1
> + sanei_lm983x_write@Base 1.0.27-3.1
> + sanei_lm983x_write_byte@Base 1.0.27-3.1
> + sanei_magic_crop@Base 1.0.27-3.1
> + sanei_magic_despeck@Base 1.0.27-3.1
> + sanei_magic_findEdges@Base 1.0.27-3.1
> + sanei_magic_findSkew@Base 1.0.27-3.1
> + sanei_magic_findTurn@Base 1.0.27-3.1
> + sanei_magic_getTransX@Base 1.0.27-3.1
> + sanei_magic_getTransY@Base 1.0.27-3.1
> + sanei_magic_init@Base 1.0.27-3.1
> + sanei_magic_isBlank2@Base 1.0.27-3.1
> + sanei_magic_isBlank@Base 1.0.27-3.1
> + sanei_magic_rotate@Base 1.0.27-3.1
> + sanei_magic_turn@Base 1.0.27-3.1
> + sanei_pa4s2_close@Base 1.0.27-3.1
> + sanei_pa4s2_devices@Base 1.0.27-3.1
> + sanei_pa4s2_enable@Base 1.0.27-3.1
> + sanei_pa4s2_open@Base 1.0.27-3.1
> + sanei_pa4s2_options@Base 1.0.27-3.1
> + sanei_pa4s2_readbegin@Base 1.0.27-3.1
> + sanei_pa4s2_readbyte@Base 1.0.27-3.1
> + sanei_pa4s2_readend@Base 1.0.27-3.1
> + sanei_pa4s2_scsi_pp_get_status@Base 1.0.27-3.1
> + sanei_pa4s2_scsi_pp_open@Base 1.0.27-3.1
> + sanei_pa4s2_scsi_pp_reg_select@Base 1.0.27-3.1
> + sanei_pa4s2_writebyte@Base 1.0.27-3.1
> + sanei_pio_close@Base 1.0.27-3.1
> + sanei_pio_open@Base 

Bug#913125: missing requested rename of libsane

2018-11-07 Thread Michael Biebl
Am 07.11.18 um 13:53 schrieb Michael Biebl:
> On Wed, 7 Nov 2018 13:42:00 +0100 Michael Biebl  wrote:
> 
>> I then built 1.0.27 with this symbols file, the result is:
> 
> Let me add here, that many of those (new) symbols are not part of the
> public API as declared in sane.h, so should probably be hidden upstream
> or at least marked as optional downstream. The former is preferrable.
> 

Attached is the list of symbols which are part of the ABI but not part
of the public API. Ideally those should not be exported by libsane.so.1

-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?
cmsg
md5_buffer
md5_finish_ctx
md5_init_ctx
md5_process_block
md5_process_bytes
md5_read_ctx
md5_stream
posix_dlsym
sane_dll_cancel
sane_dll_close
sane_dll_control_option
sane_dll_exit
sane_dll_get_devices
sane_dll_get_option_descriptor
sane_dll_get_parameters
sane_dll_get_select_fd
sane_dll_init
sane_dll_open
sane_dll_read
sane_dll_set_io_mode
sane_dll_start
sanei_ab306_close
sanei_ab306_cmd
sanei_ab306_exit
sanei_ab306_get_io_privilege
sanei_ab306_open
sanei_ab306_rdata
sanei_ab306_test_ready
sanei_access_init
sanei_access_lock
sanei_access_unlock
sanei_check_value
sanei_codec_bin_init
sanei_config_attach_matching_devices
sanei_config_get_paths
sanei_config_get_string
sanei_config_open
sanei_config_read
sanei_config_skip_whitespace
sanei_configure_attach
sanei_constrain_value
sanei_debug_dll
sanei_debug_msg
sanei_debug_sanei_ab306
sanei_debug_sanei_access
sanei_debug_sanei_config
sanei_debug_sanei_debug
sanei_debug_sanei_lm983x
sanei_debug_sanei_magic
sanei_debug_sanei_pa4s2
sanei_debug_sanei_pio
sanei_debug_sanei_pp
sanei_debug_sanei_pv8630
sanei_debug_sanei_scsi
sanei_debug_sanei_tcp
sanei_debug_sanei_thread
sanei_debug_sanei_udp
sanei_debug_sanei_usb
sanei_debug_sanei_wire
sanei_init_debug
sanei_lm983x_init
sanei_lm983x_read
sanei_lm983x_reset
sanei_lm983x_write
sanei_lm983x_write_byte
sanei_magic_crop
sanei_magic_despeck
sanei_magic_findEdges
sanei_magic_findSkew
sanei_magic_findTurn
sanei_magic_getTransX
sanei_magic_getTransY
sanei_magic_init
sanei_magic_isBlank2
sanei_magic_isBlank
sanei_magic_rotate
sanei_magic_turn
sanei_pa4s2_close
sanei_pa4s2_devices
sanei_pa4s2_enable
sanei_pa4s2_open
sanei_pa4s2_options
sanei_pa4s2_readbegin
sanei_pa4s2_readbyte
sanei_pa4s2_readend
sanei_pa4s2_scsi_pp_get_status
sanei_pa4s2_scsi_pp_open
sanei_pa4s2_scsi_pp_reg_select
sanei_pa4s2_writebyte
sanei_pio_close
sanei_pio_open
sanei_pio_read
sanei_pio_write
sanei_pp_claim
sanei_pp_close
sanei_pp_getmodes
sanei_pp_inb_ctrl
sanei_pp_inb_data
sanei_pp_inb_epp
sanei_pp_inb_stat
sanei_pp_init
sanei_pp_open
sanei_pp_outb_addr
sanei_pp_outb_ctrl
sanei_pp_outb_data
sanei_pp_outb_epp
sanei_pp_release
sanei_pp_set_datadir
sanei_pp_setmode
sanei_pp_udelay
sanei_pp_uses_directio
sanei_pv8630_bulkread
sanei_pv8630_bulkwrite
sanei_pv8630_flush_buffer
sanei_pv8630_init
sanei_pv8630_prep_bulkread
sanei_pv8630_prep_bulkwrite
sanei_pv8630_read_byte
sanei_pv8630_wait_byte
sanei_pv8630_write_byte
sanei_pv8630_xpect_byte
sanei_scsi_close
sanei_scsi_cmd2
sanei_scsi_cmd
sanei_scsi_find_devices
sanei_scsi_max_request_size
sanei_scsi_open
sanei_scsi_open_extended
sanei_scsi_req_enter2
sanei_scsi_req_enter
sanei_scsi_req_flush_all
sanei_scsi_req_flush_all_extended
sanei_scsi_req_wait
sanei_tcp_close
sanei_tcp_open
sanei_tcp_read
sanei_tcp_write
sanei_thread_begin
sanei_thread_get_status
sanei_thread_init
sanei_thread_is_forked
sanei_thread_is_valid
sanei_thread_kill
sanei_thread_sendsig
sanei_thread_waitpid
sanei_udp_close
sanei_udp_open
sanei_udp_open_broadcast
sanei_udp_read
sanei_udp_recvfrom
sanei_udp_set_nonblock
sanei_udp_write
sanei_udp_write_broadcast
sanei_usb_attach_matching_devices
sanei_usb_claim_interface
sanei_usb_clear_halt
sanei_usb_close
sanei_usb_control_msg
sanei_usb_exit
sanei_usb_find_devices
sanei_usb_get_descriptor
sanei_usb_get_endpoint
sanei_usb_get_vendor_product
sanei_usb_get_vendor_product_byname
sanei_usb_init
sanei_usb_open
sanei_usb_read_bulk
sanei_usb_read_int
sanei_usb_release_interface
sanei_usb_reset
sanei_usb_scan_devices
sanei_usb_set_altinterface
sanei_usb_set_configuration
sanei_usb_set_endpoint
sanei_usb_set_timeout
sanei_usb_write_bulk
sanei_w_action
sanei_w_array
sanei_w_authorization_req
sanei_w_bool
sanei_w_byte
sanei_w_call
sanei_w_char
sanei_w_constraint_type
sanei_w_control_option_reply
sanei_w_control_option_req
sanei_w_device
sanei_w_device_ptr
sanei_w_exit
sanei_w_frame
sanei_w_free
sanei_w_get_devices_reply
sanei_w_get_parameters_reply
sanei_w_init
sanei_w_init_reply
sanei_w_init_req
sanei_w_open_reply
sanei_w_option_descriptor
sanei_w_option_descriptor_array
sanei_w_option_descriptor_ptr
sanei_w_parameters
sanei_w_ptr
sanei_w_range
sanei_w_reply
sanei_w_set_dir
sanei_w_space
sanei_w_start_reply
sanei_w_status
sanei_w_string
sanei_w_unit
sanei_w_value_type
sanei_w_void
sanei_w_word


signature.asc
Description: OpenPGP digital signature


Bug#913125: missing requested rename of libsane

2018-11-07 Thread Michael Biebl
On Wed, 7 Nov 2018 13:42:00 +0100 Michael Biebl  wrote:

> I then built 1.0.27 with this symbols file, the result is:

Let me add here, that many of those (new) symbols are not part of the
public API as declared in sane.h, so should probably be hidden upstream
or at least marked as optional downstream. The former is preferrable.
-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?



signature.asc
Description: OpenPGP digital signature


Bug#913125: missing requested rename of libsane

2018-11-07 Thread Michael Biebl
On Wed, 07 Nov 2018 12:57:49 +0100
=?ISO-8859-1?Q?J=F6rg_Frings-F=FCrst?=  wrote:
> Hello,
> 
> Am Mittwoch, den 07.11.2018, 11:27 +0100 schrieb Gianfranco Costamagna:
> > control: tags -1 moreinfo
> > 
> > Hello Jörg
> > 
> > > with the upstream release 1.0.27 are some libraray functions
> > > are removed.
> > 
> > Can you please share also some examples of such libraries?
> > Are them public or private?
> > 
> I have build for testing the symbolsfiles from release 1.0.25-4.1
> and 1.0.27-4 with --exclude=/sane/ to get only the public symbols.
> 
> The resulting diff (diff -Naur symbols_1.0.25-4.1 symbols_1.0.27-4
> >1.0.25-4.1_1.0.27-4.diff) is attached.

This diff doesn't look correct.

I've started with 1.0.25, excluding private symbols via

override_dh_makeshlibs-arch:
   dh_makeshlibs -plibsane -X/usr/lib/$(DEB_HOST_MULTIARCH)/sane/ -V

The resulting libsane.symbols is attached.

I then built 1.0.27 with this symbols file, the result is:
--- debian/libsane.symbols (libsane_1.0.27-3.1_amd64)
+++ dpkg-gensymbolsTT8qtO   2018-11-07 13:36:52.052487084 +0100
@@ -1,4 +1,13 @@
 libsane.so.1 libsane #MINVER#
+ cmsg@Base 1.0.27-3.1
+ md5_buffer@Base 1.0.27-3.1
+ md5_finish_ctx@Base 1.0.27-3.1
+ md5_init_ctx@Base 1.0.27-3.1
+ md5_process_block@Base 1.0.27-3.1
+ md5_process_bytes@Base 1.0.27-3.1
+ md5_read_ctx@Base 1.0.27-3.1
+ md5_stream@Base 1.0.27-3.1
+ posix_dlsym@Base 1.0.27-3.1
  sane_cancel@Base 1.0.25
  sane_close@Base 1.0.25
  sane_control_option@Base 1.0.25
@@ -26,7 +35,19 @@
  sane_set_io_mode@Base 1.0.25
  sane_start@Base 1.0.25
  sane_strstatus@Base 1.0.25
+ sanei_ab306_close@Base 1.0.27-3.1
+ sanei_ab306_cmd@Base 1.0.27-3.1
+ sanei_ab306_exit@Base 1.0.27-3.1
+ sanei_ab306_get_io_privilege@Base 1.0.27-3.1
+ sanei_ab306_open@Base 1.0.27-3.1
+ sanei_ab306_rdata@Base 1.0.27-3.1
+ sanei_ab306_test_ready@Base 1.0.27-3.1
+ sanei_access_init@Base 1.0.27-3.1
+ sanei_access_lock@Base 1.0.27-3.1
+ sanei_access_unlock@Base 1.0.27-3.1
  sanei_check_value@Base 1.0.25
+ sanei_codec_bin_init@Base 1.0.27-3.1
+ sanei_config_attach_matching_devices@Base 1.0.27-3.1
  sanei_config_get_paths@Base 1.0.25
  sanei_config_get_string@Base 1.0.25
  sanei_config_open@Base 1.0.25
@@ -36,7 +57,174 @@
  sanei_constrain_value@Base 1.0.25
  sanei_debug_dll@Base 1.0.25
  sanei_debug_msg@Base 1.0.25
+ sanei_debug_sanei_ab306@Base 1.0.27-3.1
+ sanei_debug_sanei_access@Base 1.0.27-3.1
  sanei_debug_sanei_config@Base 1.0.25
  sanei_debug_sanei_debug@Base 1.0.25
+ sanei_debug_sanei_lm983x@Base 1.0.27-3.1
+ sanei_debug_sanei_magic@Base 1.0.27-3.1
+ sanei_debug_sanei_pa4s2@Base 1.0.27-3.1
+ sanei_debug_sanei_pio@Base 1.0.27-3.1
+ sanei_debug_sanei_pp@Base 1.0.27-3.1
+ sanei_debug_sanei_pv8630@Base 1.0.27-3.1
+ sanei_debug_sanei_scsi@Base 1.0.27-3.1
+ sanei_debug_sanei_tcp@Base 1.0.27-3.1
+ sanei_debug_sanei_thread@Base 1.0.27-3.1
+ sanei_debug_sanei_udp@Base 1.0.27-3.1
+ sanei_debug_sanei_usb@Base 1.0.27-3.1
+ sanei_debug_sanei_wire@Base 1.0.27-3.1
  sanei_init_debug@Base 1.0.25
- toupper_ascii@Base 1.0.25
+ sanei_lm983x_init@Base 1.0.27-3.1
+ sanei_lm983x_read@Base 1.0.27-3.1
+ sanei_lm983x_reset@Base 1.0.27-3.1
+ sanei_lm983x_write@Base 1.0.27-3.1
+ sanei_lm983x_write_byte@Base 1.0.27-3.1
+ sanei_magic_crop@Base 1.0.27-3.1
+ sanei_magic_despeck@Base 1.0.27-3.1
+ sanei_magic_findEdges@Base 1.0.27-3.1
+ sanei_magic_findSkew@Base 1.0.27-3.1
+ sanei_magic_findTurn@Base 1.0.27-3.1
+ sanei_magic_getTransX@Base 1.0.27-3.1
+ sanei_magic_getTransY@Base 1.0.27-3.1
+ sanei_magic_init@Base 1.0.27-3.1
+ sanei_magic_isBlank2@Base 1.0.27-3.1
+ sanei_magic_isBlank@Base 1.0.27-3.1
+ sanei_magic_rotate@Base 1.0.27-3.1
+ sanei_magic_turn@Base 1.0.27-3.1
+ sanei_pa4s2_close@Base 1.0.27-3.1
+ sanei_pa4s2_devices@Base 1.0.27-3.1
+ sanei_pa4s2_enable@Base 1.0.27-3.1
+ sanei_pa4s2_open@Base 1.0.27-3.1
+ sanei_pa4s2_options@Base 1.0.27-3.1
+ sanei_pa4s2_readbegin@Base 1.0.27-3.1
+ sanei_pa4s2_readbyte@Base 1.0.27-3.1
+ sanei_pa4s2_readend@Base 1.0.27-3.1
+ sanei_pa4s2_scsi_pp_get_status@Base 1.0.27-3.1
+ sanei_pa4s2_scsi_pp_open@Base 1.0.27-3.1
+ sanei_pa4s2_scsi_pp_reg_select@Base 1.0.27-3.1
+ sanei_pa4s2_writebyte@Base 1.0.27-3.1
+ sanei_pio_close@Base 1.0.27-3.1
+ sanei_pio_open@Base 1.0.27-3.1
+ sanei_pio_read@Base 1.0.27-3.1
+ sanei_pio_write@Base 1.0.27-3.1
+ sanei_pp_claim@Base 1.0.27-3.1
+ sanei_pp_close@Base 1.0.27-3.1
+ sanei_pp_getmodes@Base 1.0.27-3.1
+ sanei_pp_inb_ctrl@Base 1.0.27-3.1
+ sanei_pp_inb_data@Base 1.0.27-3.1
+ sanei_pp_inb_epp@Base 1.0.27-3.1
+ sanei_pp_inb_stat@Base 1.0.27-3.1
+ sanei_pp_init@Base 1.0.27-3.1
+ sanei_pp_open@Base 1.0.27-3.1
+ sanei_pp_outb_addr@Base 1.0.27-3.1
+ sanei_pp_outb_ctrl@Base 1.0.27-3.1
+ sanei_pp_outb_data@Base 1.0.27-3.1
+ sanei_pp_outb_epp@Base 1.0.27-3.1
+ sanei_pp_release@Base 1.0.27-3.1
+ sanei_pp_set_datadir@Base 1.0.27-3.1
+ sanei_pp_setmode@Base 1.0.27-3.1
+ sanei_pp_udelay@Base 1.0.27-3.1
+ sanei_pp_uses_directio@Base 1.0.27-3.1
+ sanei_pv8630_bulkread@Base 1.0.27-3.1
+ 

Bug#913125: missing requested rename of libsane

2018-11-07 Thread Jörg Frings-Fürst
Hello,

Am Mittwoch, den 07.11.2018, 11:27 +0100 schrieb Gianfranco Costamagna:
> control: tags -1 moreinfo
> 
> Hello Jörg
> 
> > with the upstream release 1.0.27 are some libraray functions
> > are removed.
> 
> Can you please share also some examples of such libraries?
> Are them public or private?
> 
I have build for testing the symbolsfiles from release 1.0.25-4.1
and 1.0.27-4 with --exclude=/sane/ to get only the public symbols.

The resulting diff (diff -Naur symbols_1.0.25-4.1 symbols_1.0.27-4
>1.0.25-4.1_1.0.27-4.diff) is attached.

> 
> > According to Debian Policy 8.6.2, renaming of the SONAME and the
> > library package name is possible for non-backwards compatible ABI
> > changes.
> > 
> > As the maintainer of this package, I object to the withdrawal
> > of my changes by the NMU in version 1.0.27-3.1.
> > 
> 
> this seems legit, if you can prove that the ABI changes are affecting
> the public library, I would say that a SONAME change is appropriate.
> 
> So far, everybody failed at it...
> 
> /me is not RT member, no hat on his head
> 
> For sure, we should cleanup symbols file wrt the public/private stuff
> inside them
> (cfr: #911597)
> 
> Gianfranco

CU
Jörg
-- 
New:
GPG Fingerprint: 63E0 075F C8D4 3ABB 35AB  30EE 09F8 9F3C 8CA1 D25D
GPG key (long) : 09F89F3C8CA1D25D
GPG Key: 8CA1D25D
CAcert Key S/N : 0E:D4:56

Old pgp Key: BE581B6E (revoked since 2014-12-31).

Jörg Frings-Fürst
D-54470 Lieser


git:  https://jff.email/cgit/

Threema:  SYR8SJXB
Wire: @joergfringsfuerst
Skype:joergpenguin
Ring: jff
Telegram: @joergfringsfuerst


My wish list: 
 - Please send me a picture from the nature at your home.

--- symbols_1.0.25-4.1	2018-11-07 12:36:00.0 +0100
+++ symbols_1.0.27-4	2018-11-07 12:36:00.0 +0100
@@ -1,519 +1,16 @@
-libsane.so.1 libsane #MINVER#
- AllocateImageBuffer@Base 1.0.25
- CMD_get_buff_status@Base 1.0.25
- CMD_get_document_existanse@Base 1.0.25
- CMD_read_image@Base 1.0.25
- CMD_read_pic_elements@Base 1.0.25
- CMD_read_support_info@Base 1.0.25
- CMD_request_sense@Base 1.0.25
- CMD_reset_window@Base 1.0.25
- CMD_scan@Base 1.0.25
- CMD_set_timeout@Base 1.0.25
- CMD_set_window@Base 1.0.25
- CMD_test_unit_ready@Base 1.0.25
- CMD_wait_buff_status@Base 1.0.25
- CMD_wait_document_existanse@Base 1.0.25
- MatchVersions@Base 1.0.25
- ProcessAvahiDevice@Base 1.0.25
- RTS_Debug@Base 1.0.25
- RawScan@Base 1.0.25
- RawScanPath@Base 1.0.25
- ReadImageData@Base 1.0.25
- ReadImageDataDuplex@Base 1.0.25
- ReadImageDataSimplex@Base 1.0.25
- WRef@Base 1.0.25
- acccurvecount@Base 1.0.25
- arrangeline2@Base 1.0.25
- arrangeline@Base 1.0.25
- attach@Base 1.0.25
- auto_binarization@Base 1.0.25
- auto_separation@Base 1.0.25
- available_transports@Base 1.0.25
- binarythresholdh@Base 1.0.25
- binarythresholdl@Base 1.0.25
- bjnp_protocol_defs@Base 1.0.25
- buffer_crop@Base 1.0.25
- buffer_deskew@Base 1.0.25
- buffer_despeck@Base 1.0.25
- buffer_isblank@Base 1.0.25
- buffer_rotate@Base 1.0.25
- bw_threshold@Base 1.0.25
- bytesperline@Base 1.0.25
- calibdata@Base 1.0.25
- camera@Base 1.0.25
- cmparray@Base 1.0.25
+libsane.so.1 libsane1 #MINVER#
  cmsg@Base 1.0.25
- compression@Base 1.0.25
- dataline_count@Base 1.0.25
- debug_options@Base 1.0.25
- deccurvecount@Base 1.0.25
- default_gain_offset@Base 1.0.25
- dir_buf2@Base 1.0.25
- dir_list@Base 1.0.25
- e2_ack@Base 1.0.25
- e2_ack_next@Base 1.0.25
- e2_add_depth@Base 1.0.25
- e2_add_resolution@Base 1.0.25
- e2_block_read@Base 1.0.25
- e2_cancel@Base 1.0.25
- e2_check_adf@Base 1.0.25
- e2_check_warm_up@Base 1.0.25
- e2_cmd_info_block@Base 1.0.25
- e2_cmd_simple@Base 1.0.25
- e2_copy_image_data@Base 1.0.25
- e2_dev_init@Base 1.0.25
- e2_dev_model@Base 1.0.25
- e2_dev_post_init@Base 1.0.25
- e2_discover_capabilities@Base 1.0.25
- e2_esc_cmd@Base 1.0.25
- e2_ext_read@Base 1.0.25
- e2_init_parameters@Base 1.0.25
- e2_recv@Base 1.0.25
- e2_recv_info_block@Base 1.0.25
- e2_scan_finish@Base 1.0.25
- e2_send@Base 1.0.25
- e2_set_adf_area@Base 1.0.25
- e2_set_cmd_level@Base 1.0.25
- e2_set_extended_scanning_parameters@Base 1.0.25
- e2_set_fbf_area@Base 1.0.25
- e2_set_model@Base 1.0.25
- e2_set_scanning_parameters@Base 1.0.25
- e2_set_tpu2_area@Base 1.0.25
- e2_set_tpu_area@Base 1.0.25
- e2_setup_block_mode@Base 1.0.25
- e2_start_ext_scan@Base 1.0.25
- e2_start_std_scan@Base 1.0.25
- e2_txrx@Base 1.0.25
- e2_wait_button@Base 1.0.25
- e2_wait_warm_up@Base 1.0.25
- eds_add_depth@Base 1.0.25
- eds_add_resolution@Base 1.0.25
- eds_control@Base 1.0.25
- eds_copy_image_from_ring@Base 1.0.25
- eds_dev_init@Base 1.0.25
- eds_dev_post_init@Base 1.0.25
- eds_fsx@Base 1.0.25
- eds_fsy@Base 1.0.25
- eds_init_parameters@Base 1.0.25
- eds_jpeg_finish@Base 1.0.25
- eds_jpeg_read@Base 1.0.25
- eds_jpeg_read_header@Base 1.0.25
- eds_jpeg_start@Base 1.0.25
- eds_lock@Base 1.0.25
- eds_recv@Base 1.0.25
- eds_ring_avail@Base 1.0.25
- eds_ring_flush@Base 1.0.25
- eds_ring_init@Base 1.0.25
- eds_ring_read@Base 1.0.25
- eds_ring_skip@Base 1.0.25
- 

Bug#913125: missing requested rename of libsane

2018-11-07 Thread Gianfranco Costamagna
Hello Jörg!

you might feel somewhat lost, at least I'm feeling that way, so I'll try to sum 
up what changed
(tl;dr, the current status quo seems to be appropriate and I think the package 
needs no changes right now).

You never answered to what Julien asked you, and his were legit questions:
"libsane was renamed to libsane1 for apparently no good reason.  Renames
for library packages should be tied to ABI breakage (and associated
SONAME changes).

Either there was ABI breakage and the SONAME should be bumped (and
Provides: libsane would be wrong), or there wasn't and the package name
change ought to be reverted."

I get your "hey, the soname was wrong and not matching upstream, change it and 
now they match" idea, and I think it had good reasons,
but the problem is really another.

You can't just change SONAME if you don't have good reasons to do it, and this 
was the reason for the whole mess.

The flow chart is usually when an upstream library gets ABI breakages:

1) check for ABI changes and in case upstream SONAME didn't change, well this 
is an upstream issue, so ask them to release
a new library and bump SONAME.

Bumping it in Debian, without upstream doing it, is a mess, because third party 
libraries might start crashing if they find the linked library in the system, 
but with different ABI.

2) if upstream didn't change SONAME, and ABI didn't change, upload as-is


in your case, what happened was a contradicting explanation for the renaming.

You said "ABI changed, so the renaming is appropriate", but you started 
providing the old binary name in the new one.

This is the error that has been pointed out by Release Team, and no answer has 
been provided for it (as far as I can see).

Claiming an ABI change, and provide the old package, is a good way to tell apt 
to not enforce the upgrade of reverse-dependencies, and the best way you can 
have to make reverse-dependencies crash if that code is run :)

So, to sum up, please provide some clear details about ABI changes, and in that 
case contact upstream to make them aware of the issue.
Otherwise, the current package might be ok as-is.

thanks for understanding, don't hesitate to contact me also privately in case I 
missed something, or I didn't explain my reasoning
correctly.

Gianfranco



Bug#913125: missing requested rename of libsane

2018-11-07 Thread Gianfranco Costamagna
control: tags -1 moreinfo

Hello Jörg

> with the upstream release 1.0.27 are some libraray functions
> are removed.

Can you please share also some examples of such libraries?
Are them public or private?


> According to Debian Policy 8.6.2, renaming of the SONAME and the
> library package name is possible for non-backwards compatible ABI
> changes.
> 
> As the maintainer of this package, I object to the withdrawal
> of my changes by the NMU in version 1.0.27-3.1.
> 

this seems legit, if you can prove that the ABI changes are affecting
the public library, I would say that a SONAME change is appropriate.

So far, everybody failed at it...

/me is not RT member, no hat on his head

For sure, we should cleanup symbols file wrt the public/private stuff inside 
them
(cfr: #911597)

Gianfranco



Bug#913125: missing requested rename of libsane

2018-11-07 Thread Jörg Frings-Fürst
Source: sane-backends
Version: 1.0.27-3.1
Severity: serious

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

Hello,

with the upstream release 1.0.27 are some libraray functions
are removed.

According to Debian Policy 8.6.2, renaming of the SONAME and the
library package name is possible for non-backwards compatible ABI
changes.

As the maintainer of this package, I object to the withdrawal
of my changes by the NMU in version 1.0.27-3.1.

CU
Jörg



- -- System Information:
Debian Release: buster/sid
  APT prefers testing-debug
  APT policy: (500, 'testing-debug'), (500, 'testing'), (300, 'unstable'), (1, 
'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.18.0-2-amd64 (SMP w/6 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), 
LANGUAGE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

-BEGIN PGP SIGNATURE-

iQIzBAEBCgAdFiEEY+AHX8jUOrs1qzDuCfifPIyh0l0FAlvisfEACgkQCfifPIyh
0l2VKA//corijAhDa3zJq+hG07HzCh2BZszjnzeE3eHWfjQybhuuvq0JwjDiBCUk
PB4V5JbzZ562b0yTaXGySNuT8lOm2BtQrw4CuE+8RXe0Ft3kY91vErEruos6EuNu
85R1IUG24RdaqdSkaxmCjVIQus1LBbxrkKmqJez8Mm0kmnp9cQBOedSQ2EDpJ3Up
1SurzaBSD9RLnYIVtZY+Vuf/kU34gKHHojHUT8pjKtxL5KHVxEoH7tCBkSBiRJTo
sw7qPkGirfQ0L4wjE831CRu6N+1Y5wD7Xf/N6vNuxioa8hr8Jz+sfrBqyWISwuW5
NNbvUvjMhXsDaY3GTW3Nof7695Y7QRGyhlVPiuR1hD6ADb3PGwMaSwVejuYn4eRh
9DTOq4RcaNAgAR15rsYSrLfGvvgTsp9Fcy9t8cBraCEjcR5XZh2d1Zg1WkqMnblX
0iaKcGlPfQZVjXL2A/CbboRE3UvVUuFCWDQWjJ4WcqV2O311D2/wgyYC28p533Qa
JOvJ71jkIZnGlRegSIG8xsQX1rnIowEq1+ogiHneLqan+eFeJunR13w2BB3KgwC2
xHIEU8K25HfI3OLXKIlhOHyPfrWmpLLgKuVy6xQj3+naF8fYJ2/rr6f1qiMNi52w
g0PumwWPPho9G7SKtuA06Ab+CuJm0cEfCHMqEsi1kjT2pgDDRM8=
=7kvt
-END PGP SIGNATURE-