Bug#913125: missing requested rename of libsane
> 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
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
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
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
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
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
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
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
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
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
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
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
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
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-