diff mbox series

[1/2] lzlib: add a recipe

Message ID 20240205151102.512785-1-alex@linutronix.de
State Superseded, archived
Headers show
Series [1/2] lzlib: add a recipe | expand

Commit Message

Alexander Kanavin Feb. 5, 2024, 3:11 p.m. UTC
This is needed for rpm reproducibility, as otherwise libmagic
will call an external lzip executable, which is both
non-threadsafe, and non-deterministic w.r.t sysroot presence.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 meta/conf/distro/include/maintainers.inc |  1 +
 meta/recipes-extended/lzip/lzlib_1.14.bb | 37 ++++++++++++++++++++++++
 2 files changed, 38 insertions(+)
 create mode 100644 meta/recipes-extended/lzip/lzlib_1.14.bb

Comments

Richard Purdie Feb. 6, 2024, 8:29 a.m. UTC | #1
On Mon, 2024-02-05 at 16:11 +0100, Alexander Kanavin wrote:
> This is needed for rpm reproducibility, as otherwise libmagic
> will call an external lzip executable, which is both
> non-threadsafe, and non-deterministic w.r.t sysroot presence.
> 
> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> ---
>  meta/conf/distro/include/maintainers.inc |  1 +
>  meta/recipes-extended/lzip/lzlib_1.14.bb | 37 ++++++++++++++++++++++++
>  2 files changed, 38 insertions(+)
>  create mode 100644 meta/recipes-extended/lzip/lzlib_1.14.bb
> 
> diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
> index f0e27b8380e..277e3b16363 100644
> --- a/meta/conf/distro/include/maintainers.inc
> +++ b/meta/conf/distro/include/maintainers.inc
> @@ -485,6 +485,7 @@ RECIPE_MAINTAINER:pn-lua = "Alexander Kanavin <alex.kanavin@gmail.com>"
>  RECIPE_MAINTAINER:pn-lz4 = "Denys Dmytriyenko <denis@denix.org>"
>  RECIPE_MAINTAINER:pn-lzo = "Denys Dmytriyenko <denis@denix.org>"
>  RECIPE_MAINTAINER:pn-lzip = "Denys Dmytriyenko <denis@denix.org>"
> +RECIPE_MAINTAINER:pn-lzlib = "Denys Dmytriyenko <denis@denix.org>"
>  RECIPE_MAINTAINER:pn-m4 = "Robert Yang <liezhi.yang@windriver.com>"
>  RECIPE_MAINTAINER:pn-m4-native = "Robert Yang <liezhi.yang@windriver.com>"
>  RECIPE_MAINTAINER:pn-make = "Robert Yang <liezhi.yang@windriver.com>"
> diff --git a/meta/recipes-extended/lzip/lzlib_1.14.bb b/meta/recipes-extended/lzip/lzlib_1.14.bb
> new file mode 100644
> index 00000000000..0fac508869f
> --- /dev/null
> +++ b/meta/recipes-extended/lzip/lzlib_1.14.bb
> @@ -0,0 +1,37 @@
> +SUMMARY = "Data compression library providing in-memory LZMA compression and decompression functions"
> +HOMEPAGE = "https://www.nongnu.org/lzip/lzlib.html"
> +DESCRIPTION = "Lzlib is a data compression library providing in-memory LZMA compression and decompression functions, including integrity checking of the decompressed data. The compressed data format used by the library is the lzip format. Lzlib is written in C. "
> +LICENSE = "BSD-2-Clause"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=04d943636aa1482e0a97d924d9f4f68f \
> +                    "
> +
> +SRC_URI = "${SAVANNAH_GNU_MIRROR}/lzip/lzlib/lzlib-${PV}.tar.gz"
> +SRC_URI[sha256sum] = "5acac8714ed4f306020bae660dddce706e5f8a795863679037da9fe6bf4dcf6f"
> +
> +B = "${WORKDIR}/build"
> +do_configure[cleandirs] = "${B}"
> +
> +CONFIGUREOPTS = "\
> +    '--srcdir=${S}' \
> +    '--prefix=${prefix}' \
> +    '--exec-prefix=${exec_prefix}' \
> +    '--bindir=${bindir}' \
> +    '--datadir=${datadir}' \
> +    '--infodir=${infodir}' \
> +    '--sysconfdir=${sysconfdir}' \
> +    '--enable-shared' \
> +    'CC=${CC}' \
> +    'CPPFLAGS=${CPPFLAGS}' \
> +    'CXXFLAGS=${CXXFLAGS}' \
> +    'LDFLAGS=${LDFLAGS}' \
> +"
> +
> +do_configure () {
> +    ${S}/configure ${CONFIGUREOPTS}
> +}
> +
> +do_install () {
> +    oe_runmake 'DESTDIR=${D}' install
> +}
> +
> +BBCLASSEXTEND = "native nativesdk"

There looks to be a multilib issue:

https://autobuilder.yoctoproject.org/typhoon/#/builders/44/builds/8577/steps/17/logs/stdio

and a reproducibility issue:

https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/4338/steps/12/logs/stdio

Cheers,

Richard
Alexander Kanavin Feb. 6, 2024, 9:14 a.m. UTC | #2
On Tue, 6 Feb 2024 at 09:29, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:

> There looks to be a multilib issue:
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/44/builds/8577/steps/17/logs/stdio
>
> and a reproducibility issue:
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/4338/steps/12/logs/stdio

I sent corrected patches.

Alex
Richard Purdie Feb. 6, 2024, 10:13 a.m. UTC | #3
On Tue, 2024-02-06 at 10:14 +0100, Alexander Kanavin wrote:
> On Tue, 6 Feb 2024 at 09:29, Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> 
> > There looks to be a multilib issue:
> > 
> > https://autobuilder.yoctoproject.org/typhoon/#/builders/44/builds/8577/steps/17/logs/stdio
> > 
> > and a reproducibility issue:
> > 
> > https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/4338/steps/12/logs/stdio
> 
> I sent corrected patches.

Thanks, very much appreciated!

Cheers,

Richard
diff mbox series

Patch

diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index f0e27b8380e..277e3b16363 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -485,6 +485,7 @@  RECIPE_MAINTAINER:pn-lua = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER:pn-lz4 = "Denys Dmytriyenko <denis@denix.org>"
 RECIPE_MAINTAINER:pn-lzo = "Denys Dmytriyenko <denis@denix.org>"
 RECIPE_MAINTAINER:pn-lzip = "Denys Dmytriyenko <denis@denix.org>"
+RECIPE_MAINTAINER:pn-lzlib = "Denys Dmytriyenko <denis@denix.org>"
 RECIPE_MAINTAINER:pn-m4 = "Robert Yang <liezhi.yang@windriver.com>"
 RECIPE_MAINTAINER:pn-m4-native = "Robert Yang <liezhi.yang@windriver.com>"
 RECIPE_MAINTAINER:pn-make = "Robert Yang <liezhi.yang@windriver.com>"
diff --git a/meta/recipes-extended/lzip/lzlib_1.14.bb b/meta/recipes-extended/lzip/lzlib_1.14.bb
new file mode 100644
index 00000000000..0fac508869f
--- /dev/null
+++ b/meta/recipes-extended/lzip/lzlib_1.14.bb
@@ -0,0 +1,37 @@ 
+SUMMARY = "Data compression library providing in-memory LZMA compression and decompression functions"
+HOMEPAGE = "https://www.nongnu.org/lzip/lzlib.html"
+DESCRIPTION = "Lzlib is a data compression library providing in-memory LZMA compression and decompression functions, including integrity checking of the decompressed data. The compressed data format used by the library is the lzip format. Lzlib is written in C. "
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=04d943636aa1482e0a97d924d9f4f68f \
+                    "
+
+SRC_URI = "${SAVANNAH_GNU_MIRROR}/lzip/lzlib/lzlib-${PV}.tar.gz"
+SRC_URI[sha256sum] = "5acac8714ed4f306020bae660dddce706e5f8a795863679037da9fe6bf4dcf6f"
+
+B = "${WORKDIR}/build"
+do_configure[cleandirs] = "${B}"
+
+CONFIGUREOPTS = "\
+    '--srcdir=${S}' \
+    '--prefix=${prefix}' \
+    '--exec-prefix=${exec_prefix}' \
+    '--bindir=${bindir}' \
+    '--datadir=${datadir}' \
+    '--infodir=${infodir}' \
+    '--sysconfdir=${sysconfdir}' \
+    '--enable-shared' \
+    'CC=${CC}' \
+    'CPPFLAGS=${CPPFLAGS}' \
+    'CXXFLAGS=${CXXFLAGS}' \
+    'LDFLAGS=${LDFLAGS}' \
+"
+
+do_configure () {
+    ${S}/configure ${CONFIGUREOPTS}
+}
+
+do_install () {
+    oe_runmake 'DESTDIR=${D}' install
+}
+
+BBCLASSEXTEND = "native nativesdk"