diff mbox series

bzip2: add libbz2.so.1.0 link for compat

Message ID 20240316001943.3733687-1-rs@ti.com
State New
Headers show
Series bzip2: add libbz2.so.1.0 link for compat | expand

Commit Message

Randolph Sapp March 16, 2024, 12:19 a.m. UTC
From: Randolph Sapp <rs@ti.com>

Add a link from libbz2.so.1.0 to libbz2.so.${PV} for compatibility with
other distributions.

A handfull of distributions are still using the "Makefile-libbz2_so" to
generate libbz2 and bzip2-shared. This creates a library with a soname
of "libbz2.so.1.0". This library link is not provide by default in
autotools builds so add one here as Gentoo does now [1].

This has been addressed upstream already, but there hasn't been a stable
release since then [2].

[1] https://bugs.gentoo.org/338321
[2] https://gitlab.com/bzip2/bzip2/-/merge_requests/42

Signed-off-by: Randolph Sapp <rs@ti.com>
---
 meta/recipes-extended/bzip2/bzip2_1.0.8.bb | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Alexander Kanavin March 16, 2024, 4:52 p.m. UTC | #1
It's better to backport the upstream patch, as nobody's going to
remember why do_install snippet is there, or to remove it when there's
a new release (if it doesn't cause installation conflicts).

Alex

On Sat, 16 Mar 2024 at 01:19, Randolph Sapp via lists.openembedded.org
<rs=ti.com@lists.openembedded.org> wrote:
>
> From: Randolph Sapp <rs@ti.com>
>
> Add a link from libbz2.so.1.0 to libbz2.so.${PV} for compatibility with
> other distributions.
>
> A handfull of distributions are still using the "Makefile-libbz2_so" to
> generate libbz2 and bzip2-shared. This creates a library with a soname
> of "libbz2.so.1.0". This library link is not provide by default in
> autotools builds so add one here as Gentoo does now [1].
>
> This has been addressed upstream already, but there hasn't been a stable
> release since then [2].
>
> [1] https://bugs.gentoo.org/338321
> [2] https://gitlab.com/bzip2/bzip2/-/merge_requests/42
>
> Signed-off-by: Randolph Sapp <rs@ti.com>
> ---
>  meta/recipes-extended/bzip2/bzip2_1.0.8.bb | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/meta/recipes-extended/bzip2/bzip2_1.0.8.bb b/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
> index 4e3a06f240..4453171701 100644
> --- a/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
> +++ b/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
> @@ -62,6 +62,11 @@ do_install_ptest () {
>         sed -i -e "s|^Makefile:|_Makefile:|" ${D}${PTEST_PATH}/Makefile
>  }
>
> +# add the following link for cross-distro compatibility
> +do_install:append () {
> +       ln -s libbz2.so.${PV} "${D}${libdir}/libbz2.so.1.0"
> +}
> +
>  FILES:libbz2 = "${libdir}/lib*${SOLIBS}"
>
>  RDEPENDS:${PN}-ptest += "make bash"
> --
> 2.44.0
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#197252): https://lists.openembedded.org/g/openembedded-core/message/197252
> Mute This Topic: https://lists.openembedded.org/mt/104959821/1686489
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Richard Purdie March 17, 2024, 9:28 a.m. UTC | #2
On Fri, 2024-03-15 at 19:19 -0500, rs@ti.com wrote:
> From: Randolph Sapp <rs@ti.com>
> 
> Add a link from libbz2.so.1.0 to libbz2.so.${PV} for compatibility
> with
> other distributions.
> 
> A handfull of distributions are still using the "Makefile-libbz2_so" to
> generate libbz2 and bzip2-shared. This creates a library with a soname
> of "libbz2.so.1.0". This library link is not provide by default in
> autotools builds so add one here as Gentoo does now [1].
> 
> This has been addressed upstream already, but there hasn't been a stable
> release since then [2].
> 
> [1] https://bugs.gentoo.org/338321
> [2] https://gitlab.com/bzip2/bzip2/-/merge_requests/42
> 
> Signed-off-by: Randolph Sapp <rs@ti.com>
> ---
>  meta/recipes-extended/bzip2/bzip2_1.0.8.bb | 5 +++++
>  1 file changed, 5 insertions(+)

I guess by "cross distro", you mean that you have some binaries which
need to run on multiple distros, some of which have this naming and
some of which do not?

I am a bit worried about this as it is the kind of thing we add, then
totally forget about removing so it gets carried even after it no
longer makes sense (and the library name/version changes again for
example).

Ugly as it may be, I'm wondering if there should be a separate recipe
to handle this link which the binaries could depend upon. Even a
separate package for it and an error if the target lib doesn't exist
might be better.

Cheers,

Richard
Randolph Sapp March 18, 2024, 7:13 p.m. UTC | #3
On Sun Mar 17, 2024 at 4:28 AM CDT, Richard Purdie wrote:
> On Fri, 2024-03-15 at 19:19 -0500, rs@ti.com wrote:
> > From: Randolph Sapp <rs@ti.com>
> > 
> > Add a link from libbz2.so.1.0 to libbz2.so.${PV} for compatibility
> > with
> > other distributions.
> > 
> > A handfull of distributions are still using the "Makefile-libbz2_so" to
> > generate libbz2 and bzip2-shared. This creates a library with a soname
> > of "libbz2.so.1.0". This library link is not provide by default in
> > autotools builds so add one here as Gentoo does now [1].
> > 
> > This has been addressed upstream already, but there hasn't been a stable
> > release since then [2].
> > 
> > [1] https://bugs.gentoo.org/338321
> > [2] https://gitlab.com/bzip2/bzip2/-/merge_requests/42
> > 
> > Signed-off-by: Randolph Sapp <rs@ti.com>
> > ---
> >  meta/recipes-extended/bzip2/bzip2_1.0.8.bb | 5 +++++
> >  1 file changed, 5 insertions(+)
>
> I guess by "cross distro", you mean that you have some binaries which
> need to run on multiple distros, some of which have this naming and
> some of which do not?
>
> I am a bit worried about this as it is the kind of thing we add, then
> totally forget about removing so it gets carried even after it no
> longer makes sense (and the library name/version changes again for
> example).
>
> Ugly as it may be, I'm wondering if there should be a separate recipe
> to handle this link which the binaries could depend upon. Even a
> separate package for it and an error if the target lib doesn't exist
> might be better.
>
> Cheers,
>
> Richard

Yeah, anything compiled on Debian/Arch will run into issues looking up that so
name when running under Yocto.

Oddly enough though, both Fedora and Gentoo seem to be using the new soname. I'm
not entirely sure if this is actually that common now. Maybe this should be
ignored.
Randolph Sapp March 18, 2024, 7:15 p.m. UTC | #4
On Sat Mar 16, 2024 at 11:52 AM CDT, Alexander Kanavin wrote:
> It's better to backport the upstream patch, as nobody's going to
> remember why do_install snippet is there, or to remove it when there's
> a new release (if it doesn't cause installation conflicts).
>
> Alex

I would backport the upstream patch, if it wasn't dependant on a migration to
Cmake. I feel like that's a bit much.

Randolph

> On Sat, 16 Mar 2024 at 01:19, Randolph Sapp via lists.openembedded.org
> <rs=ti.com@lists.openembedded.org> wrote:
> >
> > From: Randolph Sapp <rs@ti.com>
> >
> > Add a link from libbz2.so.1.0 to libbz2.so.${PV} for compatibility with
> > other distributions.
> >
> > A handfull of distributions are still using the "Makefile-libbz2_so" to
> > generate libbz2 and bzip2-shared. This creates a library with a soname
> > of "libbz2.so.1.0". This library link is not provide by default in
> > autotools builds so add one here as Gentoo does now [1].
> >
> > This has been addressed upstream already, but there hasn't been a stable
> > release since then [2].
> >
> > [1] https://bugs.gentoo.org/338321
> > [2] https://gitlab.com/bzip2/bzip2/-/merge_requests/42
> >
> > Signed-off-by: Randolph Sapp <rs@ti.com>
> > ---
> >  meta/recipes-extended/bzip2/bzip2_1.0.8.bb | 5 +++++
> >  1 file changed, 5 insertions(+)
> >
> > diff --git a/meta/recipes-extended/bzip2/bzip2_1.0.8.bb b/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
> > index 4e3a06f240..4453171701 100644
> > --- a/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
> > +++ b/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
> > @@ -62,6 +62,11 @@ do_install_ptest () {
> >         sed -i -e "s|^Makefile:|_Makefile:|" ${D}${PTEST_PATH}/Makefile
> >  }
> >
> > +# add the following link for cross-distro compatibility
> > +do_install:append () {
> > +       ln -s libbz2.so.${PV} "${D}${libdir}/libbz2.so.1.0"
> > +}
> > +
> >  FILES:libbz2 = "${libdir}/lib*${SOLIBS}"
> >
> >  RDEPENDS:${PN}-ptest += "make bash"
> > --
> > 2.44.0
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#197252): https://lists.openembedded.org/g/openembedded-core/message/197252
> > Mute This Topic: https://lists.openembedded.org/mt/104959821/1686489
> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alex.kanavin@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
diff mbox series

Patch

diff --git a/meta/recipes-extended/bzip2/bzip2_1.0.8.bb b/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
index 4e3a06f240..4453171701 100644
--- a/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
+++ b/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
@@ -62,6 +62,11 @@  do_install_ptest () {
 	sed -i -e "s|^Makefile:|_Makefile:|" ${D}${PTEST_PATH}/Makefile
 }
 
+# add the following link for cross-distro compatibility
+do_install:append () {
+	ln -s libbz2.so.${PV} "${D}${libdir}/libbz2.so.1.0"
+}
+
 FILES:libbz2 = "${libdir}/lib*${SOLIBS}"
 
 RDEPENDS:${PN}-ptest += "make bash"