* [PATCH 1/2] lzlib: add a recipe
@ 2024-02-05 15:11 Alexander Kanavin
2024-02-05 15:11 ` [PATCH 2/2] file: enable additional internal compressor support Alexander Kanavin
2024-02-06 8:29 ` [OE-core] [PATCH 1/2] lzlib: add a recipe Richard Purdie
0 siblings, 2 replies; 5+ messages in thread
From: Alexander Kanavin @ 2024-02-05 15:11 UTC (permalink / raw)
To: openembedded-core; +Cc: Alexander Kanavin
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"
--
2.39.2
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH 2/2] file: enable additional internal compressor support
2024-02-05 15:11 [PATCH 1/2] lzlib: add a recipe Alexander Kanavin
@ 2024-02-05 15:11 ` Alexander Kanavin
2024-02-06 8:29 ` [OE-core] [PATCH 1/2] lzlib: add a recipe Richard Purdie
1 sibling, 0 replies; 5+ messages in thread
From: Alexander Kanavin @ 2024-02-05 15:11 UTC (permalink / raw)
To: openembedded-core; +Cc: Alexander Kanavin
This is an extension of
https://git.yoctoproject.org/poky/commit/meta/recipes-devtools/file?h=master&id=52a31bd5ba90713af82822047c3813afc31421f8
and the rationale is the same.
The issue was exposed by recent ptest support in xz, which packages .lz files
into the xz-ptest package which resulted in reproducibility fails:
http://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20240203-fdpg888c/packages/diff-html/
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
meta/recipes-devtools/file/file_5.45.bb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta/recipes-devtools/file/file_5.45.bb b/meta/recipes-devtools/file/file_5.45.bb
index 8477668658d..fa8dc576dcc 100644
--- a/meta/recipes-devtools/file/file_5.45.bb
+++ b/meta/recipes-devtools/file/file_5.45.bb
@@ -20,12 +20,12 @@ S = "${WORKDIR}/git"
inherit autotools update-alternatives
-PACKAGECONFIG ??= "bz2 lzma zlib"
+PACKAGECONFIG ??= "bz2 lzma zlib zstdlib lzlib"
PACKAGECONFIG[bz2] = "--enable-bzlib, --disable-bzlib, bzip2"
PACKAGECONFIG[lzma] = "--enable-xzlib, --disable-xzlib, xz"
PACKAGECONFIG[zlib] = "--enable-zlib, --disable-zlib, zlib"
PACKAGECONFIG[zstdlib] = "--enable-zstdlib, --disable-zstdlib, zstd"
-PACKAGECONFIG[lzlib] = "--enable-lzlib, --disable-lzlib, lzip"
+PACKAGECONFIG[lzlib] = "--enable-lzlib, --disable-lzlib, lzlib"
PACKAGECONFIG[seccomp] = "--enable-libseccomp, --disable-libseccomp, libseccomp"
ALTERNATIVE:${PN} = "file"
--
2.39.2
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [OE-core] [PATCH 1/2] lzlib: add a recipe
2024-02-05 15:11 [PATCH 1/2] lzlib: add a recipe Alexander Kanavin
2024-02-05 15:11 ` [PATCH 2/2] file: enable additional internal compressor support Alexander Kanavin
@ 2024-02-06 8:29 ` Richard Purdie
2024-02-06 9:14 ` Alexander Kanavin
1 sibling, 1 reply; 5+ messages in thread
From: Richard Purdie @ 2024-02-06 8:29 UTC (permalink / raw)
To: Alexander Kanavin, openembedded-core; +Cc: Alexander Kanavin
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
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-02-06 10:13 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-05 15:11 [PATCH 1/2] lzlib: add a recipe Alexander Kanavin
2024-02-05 15:11 ` [PATCH 2/2] file: enable additional internal compressor support Alexander Kanavin
2024-02-06 8:29 ` [OE-core] [PATCH 1/2] lzlib: add a recipe Richard Purdie
2024-02-06 9:14 ` Alexander Kanavin
2024-02-06 10:13 ` Richard Purdie
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox