Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 695178 - app-arch/bzip2 - files/bzip2-1.0.7-saneso.patch and files/bzip2-1.0.8-saneso.patch should change libbz2 soname from libbz2.so.1.0 to libbz2.so.1
Summary: app-arch/bzip2 - files/bzip2-1.0.7-saneso.patch and files/bzip2-1.0.8-saneso....
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: Normal normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 694246
  Show dependency tree
 
Reported: 2019-09-20 09:48 UTC by Mark Karpelès
Modified: 2020-04-11 23:21 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Patch (bzip2.patch,4.22 KB, patch)
2020-04-11 07:43 UTC, Arfrever Frehtes Taifersar Arahesis
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Karpelès 2019-09-20 09:48:53 UTC
In July 2019 ebuilds have been added for bzip2 1.0.7 and 1.0.8

The patch bzip2-1.0.6-saneso.patch was also added for those two versions, however it was not properly modified.

bzip2-1.0.6-saneso.patch does two things:
- add $(LDFLAGS) to the link command line
- change libbz2 soname from libbz2.so.1.0 to libbz2.so.1

That last change is missing for versions 1.0.7 and 1.0.8, meaning upgrading bz2 may cause linkage issues while it is not expected for the api to have become incompatible.

As version 1.0.6 has a soname of libbz2.so.1 I believe version 1.0.7 and 1.0.8 should too.
Comment 1 Arfrever Frehtes Taifersar Arahesis 2020-04-11 07:10:02 UTC
"libbz2.so.1" soname is also used by future version (current 9999) (both Meson and CMake):

https://gitlab.com/federicomenaquintero/bzip2/-/blob/master/meson.build:

bz2_lt_current  = 1                                        <<<
bz2_lt_revision = 7
bz2_lt_age      = 0                                        <<<

bz2_soversion   = bz2_lt_current - bz2_lt_age              <<<
...
  libbzip2 = library(
    'bz2',
    bz_sources,
    c_args : c_args,
    gnu_symbol_visibility : 'hidden',
    version : bz2_lt_version,
    soversion : bz2_soversion,                             <<<
    install : true,
  )


https://gitlab.com/federicomenaquintero/bzip2/-/blob/master/CMakeLists.txt:

set(LT_CURRENT  1)                                         <<<
set(LT_REVISION 7)
set(LT_AGE      0)                                         <<<
...
math(EXPR LT_SOVERSION "${LT_CURRENT} - ${LT_AGE}")        <<<
set(LT_VERSION "${LT_SOVERSION}.${LT_AGE}.${LT_REVISION}")
...
    add_library(bz2 SHARED ${BZ2_RES})
...
    set_target_properties(bz2 PROPERTIES
        COMPILE_FLAGS "${WARNCFLAGS}"
        VERSION ${LT_VERSION} SOVERSION ${LT_SOVERSION})
                              ^^^^^^^^^^^^^^^^^^^^^^^^^
Comment 2 Arfrever Frehtes Taifersar Arahesis 2020-04-11 07:43:45 UTC
Created attachment 632122 [details, diff]
Patch
Comment 3 Larry the Git Cow gentoo-dev 2020-04-11 11:08:42 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=98da0ad82192d21ad74ae52366ea8466e2acea24

commit 98da0ad82192d21ad74ae52366ea8466e2acea24
Author:     Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
AuthorDate: 2020-04-11 07:35:36 +0000
Commit:     Lars Wendler <polynomial-c@gentoo.org>
CommitDate: 2020-04-11 11:08:36 +0000

    app-arch/bzip2: Fix soname of library in 1.0.7 and 1.0.8.
    
    Change soname of library from "libbz2.so.1.0" to "libbz2.so.1".
    Soname "libbz2.so.1" is also used by previous version (1.0.6) and by
    new build systems (both Meson and CMake) available in next version.
    
    Closes: https://bugs.gentoo.org/695178
    Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org>
    Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>

 app-arch/bzip2/{bzip2-1.0.7.ebuild => bzip2-1.0.7-r1.ebuild} | 0
 app-arch/bzip2/{bzip2-1.0.8.ebuild => bzip2-1.0.8-r1.ebuild} | 0
 app-arch/bzip2/files/bzip2-1.0.7-out-of-tree-build.patch     | 2 +-
 app-arch/bzip2/files/bzip2-1.0.7-saneso.patch                | 2 +-
 app-arch/bzip2/files/bzip2-1.0.8-out-of-tree-build.patch     | 2 +-
 app-arch/bzip2/files/bzip2-1.0.8-saneso.patch                | 2 +-
 6 files changed, 4 insertions(+), 4 deletions(-)
Comment 4 Zac Medico gentoo-dev 2020-04-11 23:21:46 UTC
In case anyone sees this message similar to this, it's triggered by app-arch/bzip2 providing libbz2.so.1.0 instead of libbz2.so.1:

> * QA Notice: Unresolved soname dependencies:
> *
> *      /usr/lib/pypy2.7/pypy-c-7.3.1: libbz2.so.1