Bug#879176: transition: lz4

2018-04-11 Thread Nobuhiro Iwamatsu
Hi, all.

2017-10-23 10:04 GMT+09:00 Nobuhiro Iwamatsu :
> Hi, all.
>
> Thanks for your comment.
>
> 2017-10-22 1:37 GMT+09:00 Emilio Pozuelo Monfort :
>> Control: tags -1 moreinfo
>>
>> On 20/10/17 11:13, Mattia Rizzolo wrote:
>>> On Fri, Oct 20, 2017 at 12:32:06PM +0900, Nobuhiro Iwamatsu wrote:
 I'd like to push lz4 1.8.0 into unstable.
 The library packge name has not changed since the previous version. 
 However,
 some API have been removed . Therefore, lz4 1.8.0 requires transition
 processing,
>>>
>>> Since, as the symbols diff you attached, this version removes symbols,
>>> therefore breaking the ABI, shouldn't the SONAME be changed as well,
>>> together with the package name (i.e. liblz4-1 → liblz4-2).
>>
>> Yes, if symbols are removed, then the ABI is broken and the library needs to
>> bump the SONAME. Worst case, if upstream doesn't want to bump it, you can 
>> rename
>> the package to e.g. liblz4-1a, with Conflicts/Breaks/Replaces against 
>> liblz4-1.
>> The SONAME bump is preferred though so that liblz4-1 and liblz4-2 are
>> co-installable, which eases both the transition and upgrades.
>
> I see. I undetstood.
>
>>
>> We could ignore the fact that symbols were removed IF those symbols weren't 
>> part
>> of the public ABI (e.g. they weren't exported in the public headers). Which
>> seems to be the case here from a quick grep, but I don't know this library 
>> well
>> enough to affirm that...
>
> OK, I will check the dependencies of the library and the software that uses 
> it.
>

I checked the binary and source code of packages that depend on lz4 and
I confirmed that they do not affect the ABI changed this time.
Therefore, we do not need to do transition.
And Julian's comment, we can see that we do not need to do this.
Thanks, Julian.

Best regards,
  Nobuhiro

-- 
Nobuhiro Iwamatsu
   iwamatsu at {nigauri.org / debian.org}
   GPG ID: 40AD1FA6



Bug#879176: transition: lz4

2018-03-28 Thread Julian Andres Klode
On Fri, Oct 20, 2017 at 12:32:06PM +0900, Nobuhiro Iwamatsu wrote:
> Package: release.debian.org
> Severity: normal
> User: release.debian@packages.debian.org
> Usertags: transition
> 
> Dear release team,
> 
> I'd like to push lz4 1.8.0 into unstable.
> The library packge name has not changed since the previous version. However,
> some API have been removed . Therefore, lz4 1.8.0 requires transition
> processing,
> I think.
> 
> -
> index f0ecbd4..ce4cf98 100644
> --- a/debian/liblz4-1.symbols
> +++ b/debian/liblz4-1.symbols
> @@ -5,6 +5,7 @@ liblz4.so.1 liblz4-1 #MINVER#
>   LZ4F_compressFrame@Base 0.0~r127
>   LZ4F_compressFrameBound@Base 0.0~r127
>   LZ4F_compressUpdate@Base 0.0~r127
> + LZ4F_compressionLevel_max@Base 1.8.0
>   LZ4F_createCompressionContext@Base 0.0~r127
>   LZ4F_createDecompressionContext@Base 0.0~r127
>   LZ4F_decompress@Base 0.0~r127
> @@ -13,7 +14,9 @@ liblz4.so.1 liblz4-1 #MINVER#
>   LZ4F_freeDecompressionContext@Base 0.0~r127
>   LZ4F_getErrorName@Base 0.0~r127
>   LZ4F_getFrameInfo@Base 0.0~r127
> + LZ4F_getVersion@Base 1.7.5
>   LZ4F_isError@Base 0.0~r127
> + LZ4F_resetDecompressionContext@Base 1.8.0
>   LZ4_compress@Base 0.0~r113
>   LZ4_compressBound@Base 0.0~r114
>   LZ4_compressHC2@Base 0.0~r113
> @@ -37,8 +40,6 @@ liblz4.so.1 liblz4-1 #MINVER#
>   LZ4_compress_fast@Base 0.0~r130
>   LZ4_compress_fast_continue@Base 0.0~r130
>   LZ4_compress_fast_extState@Base 0.0~r130
> - LZ4_compress_fast_force@Base 0.0~r130
> - LZ4_compress_forceExtDict@Base 0.0~r119
>   LZ4_compress_limitedOutput@Base 0.0~r113
>   LZ4_compress_limitedOutput_continue@Base 0.0~r113
>   LZ4_compress_limitedOutput_withState@Base 0.0~r113
> @@ -54,7 +55,6 @@ liblz4.so.1 liblz4-1 #MINVER#
>   LZ4_decompress_fast_withPrefix64k@Base 0.0~r113
>   LZ4_decompress_safe@Base 0.0~r113
>   LZ4_decompress_safe_continue@Base 0.0~r119
> - LZ4_decompress_safe_forceExtDict@Base 0.0~r127
>   LZ4_decompress_safe_partial@Base 0.0~r113
>   LZ4_decompress_safe_usingDict@Base 0.0~r119
>   LZ4_decompress_safe_withPrefix64k@Base 0.0~r113
> @@ -80,15 +80,4 @@ liblz4.so.1 liblz4-1 #MINVER#
>   LZ4_uncompress@Base 0.0~r114
>   LZ4_uncompress_unknownOutputSize@Base 0.0~r114
>   LZ4_versionNumber@Base 0.0~r122
> - XXH32@Base 0.0~r127
> - XXH32_createState@Base 0.0~r127
> - XXH32_digest@Base 0.0~r127
> - XXH32_freeState@Base 0.0~r127
> - XXH32_reset@Base 0.0~r127
> - XXH32_update@Base 0.0~r127
> - XXH64@Base 0.0~r127
> - XXH64_createState@Base 0.0~r127
> - XXH64_digest@Base 0.0~r127
> - XXH64_freeState@Base 0.0~r127
> - XXH64_reset@Base 0.0~r127
> - XXH64_update@Base 0.0~r127
> + LZ4_versionString@Base 1.8.0

None of the removed symbols seem to be meant for public consumption
or even had a header file. Hence they were never part of the ABI, and thus
there is no ABI break, and therefore, no SONAME bump. Upstream just did not
use symbol visibility to hide them from the library.

-- 
debian developer - deb.li/jak | jak-linux.org - free software dev
ubuntu core developer  i speak de, en



Bug#879176: transition: lz4

2017-10-22 Thread Nobuhiro Iwamatsu
Hi, all.

Thanks for your comment.

2017-10-22 1:37 GMT+09:00 Emilio Pozuelo Monfort :
> Control: tags -1 moreinfo
>
> On 20/10/17 11:13, Mattia Rizzolo wrote:
>> On Fri, Oct 20, 2017 at 12:32:06PM +0900, Nobuhiro Iwamatsu wrote:
>>> I'd like to push lz4 1.8.0 into unstable.
>>> The library packge name has not changed since the previous version. However,
>>> some API have been removed . Therefore, lz4 1.8.0 requires transition
>>> processing,
>>
>> Since, as the symbols diff you attached, this version removes symbols,
>> therefore breaking the ABI, shouldn't the SONAME be changed as well,
>> together with the package name (i.e. liblz4-1 → liblz4-2).
>
> Yes, if symbols are removed, then the ABI is broken and the library needs to
> bump the SONAME. Worst case, if upstream doesn't want to bump it, you can 
> rename
> the package to e.g. liblz4-1a, with Conflicts/Breaks/Replaces against 
> liblz4-1.
> The SONAME bump is preferred though so that liblz4-1 and liblz4-2 are
> co-installable, which eases both the transition and upgrades.

I see. I undetstood.

>
> We could ignore the fact that symbols were removed IF those symbols weren't 
> part
> of the public ABI (e.g. they weren't exported in the public headers). Which
> seems to be the case here from a quick grep, but I don't know this library 
> well
> enough to affirm that...

OK, I will check the dependencies of the library and the software that uses it.

>
> Cheers,
> Emilio

Best regards,
  Nobuhiro

-- 
Nobuhiro Iwamatsu
   iwamatsu at {nigauri.org / debian.org}
   GPG ID: 40AD1FA6



Bug#879176: transition: lz4

2017-10-21 Thread Emilio Pozuelo Monfort
Control: tags -1 moreinfo

On 20/10/17 11:13, Mattia Rizzolo wrote:
> On Fri, Oct 20, 2017 at 12:32:06PM +0900, Nobuhiro Iwamatsu wrote:
>> I'd like to push lz4 1.8.0 into unstable.
>> The library packge name has not changed since the previous version. However,
>> some API have been removed . Therefore, lz4 1.8.0 requires transition
>> processing,
> 
> Since, as the symbols diff you attached, this version removes symbols,
> therefore breaking the ABI, shouldn't the SONAME be changed as well,
> together with the package name (i.e. liblz4-1 → liblz4-2).

Yes, if symbols are removed, then the ABI is broken and the library needs to
bump the SONAME. Worst case, if upstream doesn't want to bump it, you can rename
the package to e.g. liblz4-1a, with Conflicts/Breaks/Replaces against liblz4-1.
The SONAME bump is preferred though so that liblz4-1 and liblz4-2 are
co-installable, which eases both the transition and upgrades.

We could ignore the fact that symbols were removed IF those symbols weren't part
of the public ABI (e.g. they weren't exported in the public headers). Which
seems to be the case here from a quick grep, but I don't know this library well
enough to affirm that...

Cheers,
Emilio



Bug#879176: transition: lz4

2017-10-20 Thread Mattia Rizzolo
On Fri, Oct 20, 2017 at 12:32:06PM +0900, Nobuhiro Iwamatsu wrote:
> I'd like to push lz4 1.8.0 into unstable.
> The library packge name has not changed since the previous version. However,
> some API have been removed . Therefore, lz4 1.8.0 requires transition
> processing,

Since, as the symbols diff you attached, this version removes symbols,
therefore breaking the ABI, shouldn't the SONAME be changed as well,
together with the package name (i.e. liblz4-1 → liblz4-2).

-- 
regards,
Mattia Rizzolo

GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540  .''`.
more about me:  https://mapreri.org : :'  :
Launchpad user: https://launchpad.net/~mapreri  `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia  `-


signature.asc
Description: PGP signature


Bug#879176: transition: lz4

2017-10-19 Thread Nobuhiro Iwamatsu
Package: release.debian.org
Severity: normal
User: release.debian@packages.debian.org
Usertags: transition

Dear release team,

I'd like to push lz4 1.8.0 into unstable.
The library packge name has not changed since the previous version. However,
some API have been removed . Therefore, lz4 1.8.0 requires transition
processing,
I think.

-
index f0ecbd4..ce4cf98 100644
--- a/debian/liblz4-1.symbols
+++ b/debian/liblz4-1.symbols
@@ -5,6 +5,7 @@ liblz4.so.1 liblz4-1 #MINVER#
  LZ4F_compressFrame@Base 0.0~r127
  LZ4F_compressFrameBound@Base 0.0~r127
  LZ4F_compressUpdate@Base 0.0~r127
+ LZ4F_compressionLevel_max@Base 1.8.0
  LZ4F_createCompressionContext@Base 0.0~r127
  LZ4F_createDecompressionContext@Base 0.0~r127
  LZ4F_decompress@Base 0.0~r127
@@ -13,7 +14,9 @@ liblz4.so.1 liblz4-1 #MINVER#
  LZ4F_freeDecompressionContext@Base 0.0~r127
  LZ4F_getErrorName@Base 0.0~r127
  LZ4F_getFrameInfo@Base 0.0~r127
+ LZ4F_getVersion@Base 1.7.5
  LZ4F_isError@Base 0.0~r127
+ LZ4F_resetDecompressionContext@Base 1.8.0
  LZ4_compress@Base 0.0~r113
  LZ4_compressBound@Base 0.0~r114
  LZ4_compressHC2@Base 0.0~r113
@@ -37,8 +40,6 @@ liblz4.so.1 liblz4-1 #MINVER#
  LZ4_compress_fast@Base 0.0~r130
  LZ4_compress_fast_continue@Base 0.0~r130
  LZ4_compress_fast_extState@Base 0.0~r130
- LZ4_compress_fast_force@Base 0.0~r130
- LZ4_compress_forceExtDict@Base 0.0~r119
  LZ4_compress_limitedOutput@Base 0.0~r113
  LZ4_compress_limitedOutput_continue@Base 0.0~r113
  LZ4_compress_limitedOutput_withState@Base 0.0~r113
@@ -54,7 +55,6 @@ liblz4.so.1 liblz4-1 #MINVER#
  LZ4_decompress_fast_withPrefix64k@Base 0.0~r113
  LZ4_decompress_safe@Base 0.0~r113
  LZ4_decompress_safe_continue@Base 0.0~r119
- LZ4_decompress_safe_forceExtDict@Base 0.0~r127
  LZ4_decompress_safe_partial@Base 0.0~r113
  LZ4_decompress_safe_usingDict@Base 0.0~r119
  LZ4_decompress_safe_withPrefix64k@Base 0.0~r113
@@ -80,15 +80,4 @@ liblz4.so.1 liblz4-1 #MINVER#
  LZ4_uncompress@Base 0.0~r114
  LZ4_uncompress_unknownOutputSize@Base 0.0~r114
  LZ4_versionNumber@Base 0.0~r122
- XXH32@Base 0.0~r127
- XXH32_createState@Base 0.0~r127
- XXH32_digest@Base 0.0~r127
- XXH32_freeState@Base 0.0~r127
- XXH32_reset@Base 0.0~r127
- XXH32_update@Base 0.0~r127
- XXH64@Base 0.0~r127
- XXH64_createState@Base 0.0~r127
- XXH64_digest@Base 0.0~r127
- XXH64_freeState@Base 0.0~r127
- XXH64_reset@Base 0.0~r127
- XXH64_update@Base 0.0~r127
+ LZ4_versionString@Base 1.8.0
-

I tested building packages that depend on lz4 1.8.0.

apt
Build OK
borgbackup
Build OK
c-blosc
Build OK
dovecot
Build OK
groonga
Build OK
hhvm
Build OK
hilive
Build OK
imagevis3d
Build OK
libarchive
Build OK
librdkafka
Build OK
mtbl
FTBFS, Fixed in experimental.
Depend auto-mtbl transition.
mysql-5.7
FTBFS, not in testing. We can ignore this.
ocserv
Build OK
openconnect
Build OK
openvpn
Build OK
php-horde-lz4
Build OK
pytables
Build OK
python-lz4
Build OK
ros-ros-comm
Build OK
sambamba
FTBFS, ldc issue #878837. We can ignore this.
spice-gtk
Build OK
squashfs-tools
Build OK
systemd
Build OK
terminology
Build OK
spice
Build OK
wireshark
Build OK

Ben file:

title = "lz4";
is_affected = .depends ~ "/liblz4-1 \(>=/";
is_good = .depends ~ "/liblz4-1 \(>= 1.8.0\)/";
is_bad = .depends ~ "/liblz4-1 \(>= 0.0~r*\)/";

-- System Information:
Debian Release: buster/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

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

-- 
Nobuhiro Iwamatsu
   iwamatsu at {nigauri.org / debian.org}
   GPG ID: 40AD1FA6