* [OE-core][master][PATCH v2] groff: upgrade 1.23.0 -> 1.24.0
@ 2026-03-09 15:08 peng.zhang1.cn
2026-03-11 6:03 ` Mathieu Dubois-Briand
0 siblings, 1 reply; 5+ messages in thread
From: peng.zhang1.cn @ 2026-03-09 15:08 UTC (permalink / raw)
To: openembedded-core
From: Zhang Peng <peng.zhang1.cn@windriver.com>
Upgrade to latest revision of 1.24.0.
- Drop patches included in this release.
- Add patch to fix test-groff not found in cross-compilation.
- Add patch to use SOURCE_DATE_EPOCH in gropdf for reproducible PDF generation.
- COPYING, LICENSES: Refresh GPLv3 text.
Release Note:[https://lists.gnu.org/r/groff/2026-02/msg00149.html]
Signed-off-by: Zhang Peng <peng.zhang1.cn@windriver.com>
---
...d-Fix-Savannah-64681-webpage.ps-deps.patch | 51 ------------
...1-build-meintro_fr.ps-depends-on-tbl.patch | 31 -------
...tbl.am-Fix-race-issues-for-parallel-.patch | 31 -------
...getopt-Fix-type-signature-for-getenv.patch | 27 ------
...groff-not-found-in-cross-compilation.patch | 82 +++++++++++++++++++
...E_DATE_EPOCH-for-reproducible-builds.patch | 39 +++++++++
...l-Fix-Savannah-66316-missing-grn-dep.patch | 38 ---------
...groff-not-search-fonts-on-build-host.patch | 10 ++-
.../{groff_1.23.0.bb => groff_1.24.0.bb} | 11 +--
9 files changed, 131 insertions(+), 189 deletions(-)
delete mode 100644 meta/recipes-extended/groff/files/0001-build-Fix-Savannah-64681-webpage.ps-deps.patch
delete mode 100644 meta/recipes-extended/groff/files/0001-build-meintro_fr.ps-depends-on-tbl.patch
delete mode 100644 meta/recipes-extended/groff/files/0001-contrib-hdtbl-hdtbl.am-Fix-race-issues-for-parallel-.patch
delete mode 100644 meta/recipes-extended/groff/files/0001-getopt-Fix-type-signature-for-getenv.patch
create mode 100644 meta/recipes-extended/groff/files/0001-groff-fix-test-groff-not-found-in-cross-compilation.patch
create mode 100644 meta/recipes-extended/groff/files/0001-gropdf-use-SOURCE_DATE_EPOCH-for-reproducible-builds.patch
delete mode 100644 meta/recipes-extended/groff/files/0001-hdtbl-Fix-Savannah-66316-missing-grn-dep.patch
rename meta/recipes-extended/groff/{groff_1.23.0.bb => groff_1.24.0.bb} (82%)
diff --git a/meta/recipes-extended/groff/files/0001-build-Fix-Savannah-64681-webpage.ps-deps.patch b/meta/recipes-extended/groff/files/0001-build-Fix-Savannah-64681-webpage.ps-deps.patch
deleted file mode 100644
index eae5dc9998..0000000000
--- a/meta/recipes-extended/groff/files/0001-build-Fix-Savannah-64681-webpage.ps-deps.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From c75965053124149381ada3c394da74be078076cf Mon Sep 17 00:00:00 2001
-From: "G. Branden Robinson" <g.branden.robinson@gmail.com>
-Date: Sat, 16 Sep 2023 16:28:00 -0500
-Subject: [PATCH] [build]: Fix Savannah #64681 (webpage.ps deps).
-
-* doc/doc.am (doc/webpage.ps, doc/webpage.html): Update and parallelize
- target dependencies. Resolve race by requiring "grn" and "soelim" to
- be built first. Also add dependency on `$(TMAC_PACKAGE_MS)`.
-
-Fixes <https://savannah.gnu.org/bugs/?64681>. Thanks to Alexander
-Kanavin for the report.
-
-ANNOUNCE: Acknowledge Alexander.
-
-Upstream-Status: Backport
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- doc/doc.am | 12 ++++++++----
- 1 file changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/doc/doc.am b/doc/doc.am
-index cddc51907..d3c9ab6b7 100644
---- a/doc/doc.am
-+++ b/doc/doc.am
-@@ -346,6 +346,9 @@ doc/pic.ps: $(doc_srcdir)/pic.ms eqn pic tbl
- $(GROFF_V)$(MKDIR_P) `dirname $@` \
- && $(DOC_GROFF) -pet -Tps -ms $(doc_srcdir)/pic.ms >$@
-
-+# groff(1)'s `-I` implies `-g` and `-s`, so we must depend on grn and
-+# soelim even though the document doesn't require them.
-+doc/webpage.ps: grn soelim
- doc/webpage.ps: $(DOC_GNU_EPS) tmac/www.tmac tbl
- doc/webpage.ps: $(doc_srcdir)/webpage.ms
- $(GROFF_V)$(MKDIR_P) `dirname $@` \
-@@ -365,11 +368,12 @@ doc/pic.html: $(doc_srcdir)/pic.ms
- && $(DOC_GROFF) -pet -P-Ipic -P-Dimg -P-jpic -Thtml -ms \
- $(doc_srcdir)/pic.ms > pic.html
-
--doc/webpage.html: tbl
--doc/webpage.html: tmac/www.tmac
--doc/webpage.html: $(DOC_GNU_EPS)
-+# groff(1)'s `-I` implies `-g` and `-s`, so we must depend on grn and
-+# soelim even though the document doesn't require them.
-+doc/webpage.html: grn soelim
-+doc/webpage.html: $(DOC_GNU_EPS) tmac/www.tmac tbl
- doc/webpage.html: $(doc_srcdir)/groff.css
--doc/webpage.html: $(doc_srcdir)/webpage.ms
-+doc/webpage.html: $(doc_srcdir)/webpage.ms $(TMAC_PACKAGE_MS)
- $(GROFF_V)$(MKDIR_P) $(doc_builddir) \
- && cd $(doc_builddir) \
- && $(DOC_GROFF) -t -I $(doc_srcdir) -P-jwebpage -P-nrb \
diff --git a/meta/recipes-extended/groff/files/0001-build-meintro_fr.ps-depends-on-tbl.patch b/meta/recipes-extended/groff/files/0001-build-meintro_fr.ps-depends-on-tbl.patch
deleted file mode 100644
index 3e81b86ac8..0000000000
--- a/meta/recipes-extended/groff/files/0001-build-meintro_fr.ps-depends-on-tbl.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From f21e9f13beb57a1e0666edf9693d7c83f2189897 Mon Sep 17 00:00:00 2001
-From: "G. Branden Robinson" <g.branden.robinson@gmail.com>
-Date: Fri, 22 Sep 2023 01:27:57 -0500
-Subject: [PATCH] [build]: meintro_fr.ps depends on tbl.
-
-* doc/doc.am (doc/meintro_fr.ps): Depend on tbl, resolving race in
- sufficiently parallelized builds. Overlooked in commit 92349ae223,
- 2022-05-30.
-
-Fixes <https://savannah.gnu.org/bugs/?64695>. Thanks to Alexander
-Kanavin for the report.
-
-Upstream-Status: Backport
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- doc/doc.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/doc/doc.am b/doc/doc.am
-index d3c9ab6b7..0f95c7774 100644
---- a/doc/doc.am
-+++ b/doc/doc.am
-@@ -334,7 +334,7 @@ SUFFIXES += .me.in .me
-
- # Use '-K utf8', not '-k', in case 'configure' didn't find uchardet.
- # The French translation uses tbl; its English counterpart does not.
--doc/meintro_fr.ps: doc/meintro_fr.me preconv
-+doc/meintro_fr.ps: doc/meintro_fr.me preconv tbl
- $(GROFF_V)$(MKDIR_P) `dirname $@` \
- && $(DOC_GROFF) -K utf8 -t -Tps -me -mfr $< >$@
-
diff --git a/meta/recipes-extended/groff/files/0001-contrib-hdtbl-hdtbl.am-Fix-race-issues-for-parallel-.patch b/meta/recipes-extended/groff/files/0001-contrib-hdtbl-hdtbl.am-Fix-race-issues-for-parallel-.patch
deleted file mode 100644
index de4a55bbab..0000000000
--- a/meta/recipes-extended/groff/files/0001-contrib-hdtbl-hdtbl.am-Fix-race-issues-for-parallel-.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 771686c042d5f494550d0399f36e00b1ca557b2d Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Mon, 11 Nov 2024 14:12:51 +0000
-Subject: [PATCH] contrib/hdtbl/hdtbl.am: Fix race issues for parallel build
-
-Fixed race issues for parallel build:
-groff: error: couldn't exec soelim: Permission
-
-And:
-groff: error: couldn't exec grn: Permission denied
-
-Upstream-Status: Submitted [https://lists.gnu.org/archive/html/groff/2024-11/msg00097.html]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- contrib/hdtbl/hdtbl.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/contrib/hdtbl/hdtbl.am b/contrib/hdtbl/hdtbl.am
-index 9384fac..70f7bc9 100644
---- a/contrib/hdtbl/hdtbl.am
-+++ b/contrib/hdtbl/hdtbl.am
-@@ -119,7 +119,7 @@ SUFFIXES += .roff .in .ps
- -e "s|[@]EGREP[@]|$(EGREP)|" $< >$@
-
- $(HDTBLPROCESSEDEXAMPLEFILES): $(DOC_GNU_EPS) groff troff eqn pic tbl \
-- grops grn font/devps/stamp contrib/hdtbl/examples/common.roff
-+ grops grn soelim font/devps/stamp contrib/hdtbl/examples/common.roff
-
- uninstall_groffdirs: uninstall-hdtbl-hook
- uninstall-hdtbl-hook:
diff --git a/meta/recipes-extended/groff/files/0001-getopt-Fix-type-signature-for-getenv.patch b/meta/recipes-extended/groff/files/0001-getopt-Fix-type-signature-for-getenv.patch
deleted file mode 100644
index c69a2b4f67..0000000000
--- a/meta/recipes-extended/groff/files/0001-getopt-Fix-type-signature-for-getenv.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From b68b3c6157c531bdcf5812fd93aadff9c18de6bd Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 22 Mar 2025 14:41:23 -0700
-Subject: [PATCH] getopt: Fix type signature for getenv()
-
-This fixes build on musl with GCC 15
-
-Upstream-Status: Inappropriate [Next version is use getopt.c from gnulib]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/libs/libgroff/getopt.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/libs/libgroff/getopt.c b/src/libs/libgroff/getopt.c
-index 6efa529..ce39115 100644
---- a/src/libs/libgroff/getopt.c
-+++ b/src/libs/libgroff/getopt.c
-@@ -122,7 +122,7 @@ static struct _getopt_data getopt_data;
- whose names are inconsistent. */
-
- #ifndef getenv
--extern char *getenv ();
-+extern char *getenv (const char *);
- #endif
-
- #endif /* not __GNU_LIBRARY__ */
diff --git a/meta/recipes-extended/groff/files/0001-groff-fix-test-groff-not-found-in-cross-compilation.patch b/meta/recipes-extended/groff/files/0001-groff-fix-test-groff-not-found-in-cross-compilation.patch
new file mode 100644
index 0000000000..e9214519e7
--- /dev/null
+++ b/meta/recipes-extended/groff/files/0001-groff-fix-test-groff-not-found-in-cross-compilation.patch
@@ -0,0 +1,82 @@
+From c0f835a59d7b33452f280c8a73c3214e0a3a3d9f Mon Sep 17 00:00:00 2001
+From: Zhang Peng <peng.zhang1.cn@windriver.com>
+Date: Fri, 6 Mar 2026 05:18:33 +0000
+Subject: [PATCH] groff: fix test-groff not found in cross-compilation
+
+In groff 1.24.0, pdfmom uses GROFF_COMMAND=test-groff to invoke the
+build-tree groff wrapper during document generation. This fails in
+cross-compilation because:
+
+1. GROFF_COMMAND=test-groff is a relative name not in PATH.
+2. test-groff overrides GROFF_BIN_PATH to $builddir and then runs
+ $builddir/groff, which is a target binary.
+
+Fix by:
+- Using $(abs_top_builddir)/test-groff in .am files.
+- When the caller provides a GROFF_BIN_PATH with a usable groff
+ (cross-compilation with groff-native), keep it instead of
+ overriding to $builddir.
+- Run $GROFF_BIN_PATH/groff instead of $builddir/groff so the
+ correct (native or build-tree) binary is always used.
+
+Upstream-Status: Inappropriate [yocto specific]
+
+Signed-off-by: Zhang Peng <peng.zhang1.cn@windriver.com>
+---
+ contrib/mom/mom.am | 2 +-
+ doc/doc.am | 2 +-
+ test-groff.in | 8 ++++++--
+ 3 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/contrib/mom/mom.am b/contrib/mom/mom.am
+index b99e869..120d3ee 100644
+--- a/contrib/mom/mom.am
++++ b/contrib/mom/mom.am
+@@ -24,7 +24,7 @@ mom_srcdir = $(top_srcdir)/contrib/mom
+ #
+ # Use '-K utf8', not '-k', in case 'configure' didn't find uchardet.
+ MOMPDFMOM = \
+- GROFF_COMMAND=test-groff \
++ GROFF_COMMAND=$(abs_top_builddir)/test-groff \
+ GROFF_COMMAND_PREFIX= \
+ GROFF_BIN_PATH="$(GROFF_BIN_PATH)" \
+ $(PDFMOMBIN) $(FFLAG) $(MFLAG) -M$(mom_srcdir) -K utf8 -p -e -t \
+diff --git a/doc/doc.am b/doc/doc.am
+index 6cf9db5..906a989 100644
+--- a/doc/doc.am
++++ b/doc/doc.am
+@@ -54,7 +54,7 @@ groffmanpagesoption = -P-e
+ endif
+
+ DOC_PDFMOM = \
+- GROFF_COMMAND=test-groff \
++ GROFF_COMMAND=$(abs_top_builddir)/test-groff \
+ GROFF_COMMAND_PREFIX= \
+ GROFF_BIN_PATH="$(GROFF_BIN_PATH)" \
+ $(PDFMOMBIN) $(MFLAG) $(FFLAG) -ww -b $(pdfmomoption) --roff
+diff --git a/test-groff.in b/test-groff.in
+index a65898a..9c6a8b6 100644
+--- a/test-groff.in
++++ b/test-groff.in
+@@ -23,7 +23,11 @@ SEP='@PATH_SEPARATOR@'
+ builddir=@abs_top_builddir@
+ srcdir=@abs_top_srcdir@
+
+-GROFF_BIN_PATH=$builddir
++# Keep caller's GROFF_BIN_PATH if it contains a usable groff (e.g.
++# groff-native during cross-compilation); otherwise use builddir.
++if [ -z "$GROFF_BIN_PATH" ] || [ ! -x "$GROFF_BIN_PATH/groff" ]; then
++ GROFF_BIN_PATH=$builddir
++fi
+
+ XENVIRONMENT=$srcdir/src/devices/xditview/GXditview.ad
+ export XENVIRONMENT
+@@ -52,4 +56,4 @@ $SEP$builddir/contrib/sboxes\
+ export GROFF_COMMAND_PREFIX
+ export GROFF_BIN_PATH GROFF_FONT_PATH GROFF_TMAC_PATH
+
+-exec $builddir/groff "$@"
++exec $GROFF_BIN_PATH/groff "$@"
+--
+2.51.2
+
diff --git a/meta/recipes-extended/groff/files/0001-gropdf-use-SOURCE_DATE_EPOCH-for-reproducible-builds.patch b/meta/recipes-extended/groff/files/0001-gropdf-use-SOURCE_DATE_EPOCH-for-reproducible-builds.patch
new file mode 100644
index 0000000000..8ab3668edc
--- /dev/null
+++ b/meta/recipes-extended/groff/files/0001-gropdf-use-SOURCE_DATE_EPOCH-for-reproducible-builds.patch
@@ -0,0 +1,39 @@
+From f28f0c4d8dfdfb1c173d21df6ffbe35448fada9f Mon Sep 17 00:00:00 2001
+From: Zhang Peng <peng.zhang1.cn@windriver.com>
+Date: Mon, 9 Mar 2026 20:10:00 +0800
+Subject: [PATCH] gropdf: use SOURCE_DATE_EPOCH for reproducible builds
+
+gropdf uses rand() to generate random font subset tags in SubTag().
+Without a deterministic seed, each build produces different PDF output.
+
+Initialize srand() with SOURCE_DATE_EPOCH when available to ensure
+reproducible builds.
+
+Upstream-Status: Submitted [https://savannah.gnu.org/bugs/?68136]
+
+Signed-off-by: Zhang Peng <peng.zhang1.cn@windriver.com>
+---
+ src/devices/gropdf/gropdf.pl | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/src/devices/gropdf/gropdf.pl b/src/devices/gropdf/gropdf.pl
+index f519a53..3a79b4c 100644
+--- a/src/devices/gropdf/gropdf.pl
++++ b/src/devices/gropdf/gropdf.pl
+@@ -30,6 +30,13 @@ use POSIX qw(mktime);
+ use File::Spec;
+ use File::Path;
+
++# Initialize random seed for reproducible builds.
++if (defined($ENV{SOURCE_DATE_EPOCH})) {
++ srand($ENV{SOURCE_DATE_EPOCH});
++} else {
++ srand();
++}
++
+ use constant
+ {
+ WIDTH => 0,
+--
+2.50.0
+
diff --git a/meta/recipes-extended/groff/files/0001-hdtbl-Fix-Savannah-66316-missing-grn-dep.patch b/meta/recipes-extended/groff/files/0001-hdtbl-Fix-Savannah-66316-missing-grn-dep.patch
deleted file mode 100644
index d9455af2ac..0000000000
--- a/meta/recipes-extended/groff/files/0001-hdtbl-Fix-Savannah-66316-missing-grn-dep.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 12169aa269341753d491a69e9adb86c58dca039a Mon Sep 17 00:00:00 2001
-From: "G. Branden Robinson" <g.branden.robinson@gmail.com>
-Date: Thu, 10 Oct 2024 18:17:08 -0500
-Subject: [PATCH] [hdtbl]: Fix Savannah #66316 (missing `grn` dep).
-
-* hdtbl.am (HDTBLPROCESSEDEXAMPLEFILES): Declare dependency on `grn`;
- because `-I` flags are used, it is dragged in even though not
- explicitly needed. Resolves race against `grn`'s availability in the
- build tree.
-
-Fixes <https://savannah.gnu.org/bugs/?66316>. Thanks to Ross Burton for
-the report.
-
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
----
- contrib/hdtbl/ChangeLog | 10 ++++++++++
- contrib/hdtbl/hdtbl.am | 3 +--
- 2 files changed, 11 insertions(+), 2 deletions(-)
-
-diff --git a/contrib/hdtbl/hdtbl.am b/contrib/hdtbl/hdtbl.am
-index b6c334c18..3c37174f2 100644
---- a/contrib/hdtbl/hdtbl.am
-+++ b/contrib/hdtbl/hdtbl.am
-@@ -119,9 +119,8 @@ SUFFIXES += .roff .in .ps
- && sed -e "s|[@]fontdir[@]|$(fontdir)|" \
- -e "s|[@]EGREP[@]|$(EGREP)|" $< >$@
-
--
- $(HDTBLPROCESSEDEXAMPLEFILES): $(DOC_GNU_EPS) groff troff eqn pic tbl \
-- grops font/devps/stamp contrib/hdtbl/examples/common.roff
-+ grops grn font/devps/stamp contrib/hdtbl/examples/common.roff
-
- uninstall_groffdirs: uninstall-hdtbl-hook
- uninstall-hdtbl-hook:
---
-2.34.1
-
diff --git a/meta/recipes-extended/groff/files/groff-not-search-fonts-on-build-host.patch b/meta/recipes-extended/groff/files/groff-not-search-fonts-on-build-host.patch
index 23992576f9..111dbd385e 100644
--- a/meta/recipes-extended/groff/files/groff-not-search-fonts-on-build-host.patch
+++ b/meta/recipes-extended/groff/files/groff-not-search-fonts-on-build-host.patch
@@ -11,6 +11,9 @@ Signed-off-by: Kai Kang <kai.kang@windriver.com>
Rebase to 1.22.4
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+Rebase to 1.24.0
+Signed-off-by: Zhang Peng <peng.zhang1.cn@windriver.com>
+
---
font/devpdf/Foundry.in | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -19,16 +22,16 @@ diff --git a/font/devpdf/Foundry.in b/font/devpdf/Foundry.in
index e5aba65..5441734 100644
--- a/font/devpdf/Foundry.in
+++ b/font/devpdf/Foundry.in
-@@ -20,7 +20,7 @@
+@@ -23,7 +23,7 @@
#=======================================================================
#Foundry|Name|Search path
--foundry||@urwfontsdir@:(gs):/usr/share/fonts/type1/gsfonts:/usr/share/fonts/default/Type1:/usr/share/fonts/default/Type1/adobestd35:/usr/share/fonts/type1/urw-base35:/opt/local/share/fonts/urw-fonts:/usr/local/share/fonts/ghostscript
+-foundry||@urwfontsdir@:(gs):/usr/share/fonts/type1/urw-base35/:/usr/share/fonts/urw-base35:/opt/local/share/fonts/urw-fonts/:/usr/local/share/fonts/ghostscript/:/usr/share/fonts/type1/gsfonts/:/usr/share/fonts/type1/:/usr/share/fonts/default/Type1/adobestd35/:/usr/share/fonts/default/Type1/:/usr/share/ghostscript/Resource/Font
+foundry||(gs)
# Enable the font description files for grops (generated from Adobe
# foundry font files) to be used with gropdf. afmtodit must not be
-@@ -72,7 +72,7 @@ EURO|N||||*../devps/freeeuro.pfa
+@@ -79,7 +79,7 @@ EURO|N||||*../devps/freeeuro.pfa
# URW fonts are typically shipped with Ghostscript, but can be replaced.
#Foundry|Name|Search path
@@ -36,4 +39,3 @@ index e5aba65..5441734 100644
+foundry|U|(gs)
# Define flags for afmtodit.
-
diff --git a/meta/recipes-extended/groff/groff_1.23.0.bb b/meta/recipes-extended/groff/groff_1.24.0.bb
similarity index 82%
rename from meta/recipes-extended/groff/groff_1.23.0.bb
rename to meta/recipes-extended/groff/groff_1.24.0.bb
index 0c2ef61758..102cf9029d 100644
--- a/meta/recipes-extended/groff/groff_1.23.0.bb
+++ b/meta/recipes-extended/groff/groff_1.24.0.bb
@@ -5,19 +5,16 @@ SECTION = "base"
HOMEPAGE = "http://www.gnu.org/software/groff/"
LICENSE = "GPL-3.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
SRC_URI = "${GNU_MIRROR}/groff/groff-${PV}.tar.gz \
file://groff-not-search-fonts-on-build-host.patch \
file://0001-Make-manpages-mulitlib-identical.patch \
- file://0001-build-Fix-Savannah-64681-webpage.ps-deps.patch \
- file://0001-build-meintro_fr.ps-depends-on-tbl.patch \
- file://0001-hdtbl-Fix-Savannah-66316-missing-grn-dep.patch \
- file://0001-contrib-hdtbl-hdtbl.am-Fix-race-issues-for-parallel-.patch \
- file://0001-getopt-Fix-type-signature-for-getenv.patch \
+ file://0001-groff-fix-test-groff-not-found-in-cross-compilation.patch \
+ file://0001-gropdf-use-SOURCE_DATE_EPOCH-for-reproducible-builds.patch \
"
-SRC_URI[sha256sum] = "6b9757f592b7518b4902eb6af7e54570bdccba37a871fddb2d30ae3863511c13"
+SRC_URI[sha256sum] = "e79bbcd8ff3ed0200e7ac55d3962a15e118c1229990213025f2fc8b264727570"
DEPENDS = "bison-native groff-native"
RDEPENDS:${PN} += "perl sed"
--
2.50.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [OE-core][master][PATCH v2] groff: upgrade 1.23.0 -> 1.24.0
2026-03-09 15:08 [OE-core][master][PATCH v2] groff: upgrade 1.23.0 -> 1.24.0 peng.zhang1.cn
@ 2026-03-11 6:03 ` Mathieu Dubois-Briand
2026-03-11 13:57 ` Zhang Peng
0 siblings, 1 reply; 5+ messages in thread
From: Mathieu Dubois-Briand @ 2026-03-11 6:03 UTC (permalink / raw)
To: peng.zhang1.cn, openembedded-core
On Mon Mar 9, 2026 at 4:08 PM CET, Peng (Paul) (CN) via lists.openembedded.org Zhang wrote:
> From: Zhang Peng <peng.zhang1.cn@windriver.com>
>
> Upgrade to latest revision of 1.24.0.
> - Drop patches included in this release.
> - Add patch to fix test-groff not found in cross-compilation.
> - Add patch to use SOURCE_DATE_EPOCH in gropdf for reproducible PDF generation.
> - COPYING, LICENSES: Refresh GPLv3 text.
>
> Release Note:[https://lists.gnu.org/r/groff/2026-02/msg00149.html]
>
> Signed-off-by: Zhang Peng <peng.zhang1.cn@windriver.com>
Hi,
Thanks for the new version. It looks a bit better, reproducibility test
passed at least once, but we still have failures in some builds. It
seems to be a similar one:
AssertionError: The following deb packages are different and not in exclusion list:
/srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/deb/./x86-64-v3/groff-doc_1.24.0-r0_amd64.deb
The following rpm packages are different and not in exclusion list:
/srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/rpm/./x86_64_v3/groff-doc-1.24.0-r0.x86_64_v3.rpm
https://autobuilder.yoctoproject.org/valkyrie/#/builders/37/builds/3554
Diffoscope output:
https://valkyrie.yocto.io/pub/repro-fail/oe-reproducible-20260310-jxtz43x1/packages/diff-html/
Thanks,
Mathieu
--
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [OE-core][master][PATCH v2] groff: upgrade 1.23.0 -> 1.24.0
2026-03-11 6:03 ` Mathieu Dubois-Briand
@ 2026-03-11 13:57 ` Zhang Peng
2026-03-11 15:02 ` Mathieu Dubois-Briand
0 siblings, 1 reply; 5+ messages in thread
From: Zhang Peng @ 2026-03-11 13:57 UTC (permalink / raw)
To: Mathieu Dubois-Briand, openembedded-core
On 3/11/26 14:03, Mathieu Dubois-Briand wrote:
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender and know the content is safe.
>
> On Mon Mar 9, 2026 at 4:08 PM CET, Peng (Paul) (CN) via lists.openembedded.org Zhang wrote:
>> From: Zhang Peng <peng.zhang1.cn@windriver.com>
>>
>> Upgrade to latest revision of 1.24.0.
>> - Drop patches included in this release.
>> - Add patch to fix test-groff not found in cross-compilation.
>> - Add patch to use SOURCE_DATE_EPOCH in gropdf for reproducible PDF generation.
>> - COPYING, LICENSES: Refresh GPLv3 text.
>>
>> Release Note:[https://lists.gnu.org/r/groff/2026-02/msg00149.html]
>>
>> Signed-off-by: Zhang Peng <peng.zhang1.cn@windriver.com>
> Hi,
>
> Thanks for the new version. It looks a bit better, reproducibility test
> passed at least once, but we still have failures in some builds. It
> seems to be a similar one:
>
> AssertionError: The following deb packages are different and not in exclusion list:
> /srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/deb/./x86-64-v3/groff-doc_1.24.0-r0_amd64.deb
> The following rpm packages are different and not in exclusion list:
> /srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/rpm/./x86_64_v3/groff-doc-1.24.0-r0.x86_64_v3.rpm
>
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/37/builds/3554
>
> Diffoscope output:
> https://valkyrie.yocto.io/pub/repro-fail/oe-reproducible-20260310-jxtz43x1/packages/diff-html/
HI, Mathieu
It's very strange - I cannot reproduce this issue on my local Ubuntu
22.04 system. From the Yocto autobuilder system logs, I can't find any
useful hints to analyze the failure.
My suspicion is related to the host environment. The autobuilder uses
Fedora 40 while I'm testing on Ubuntu, but I don't think this difference
should cause the failure.
Any help or insights on this would be greatly appreciated.
Logs from my site:
2026-03-11 20:48:01,918 - oe-selftest - INFO - Adding: "include
selftest.inc" in
/buildarea2/project/poky-latest/groff-repo/bitbake-builds/poky-master/build-st/conf/local.conf
2026-03-11 20:48:01,918 - oe-selftest - INFO - Adding: "include
bblayers.inc" in bblayers.conf
2026-03-11 20:48:01,918 - oe-selftest - INFO - test_reproducible_builds
(reproducible.ReproducibleTests)
2026-03-11 21:03:11,734 - oe-selftest - INFO - Building reproducibleA
(sstate allowed)...
2026-03-11 21:17:05,330 - oe-selftest - INFO - Building prebuild for
reproducibleB-extended (sstate allowed)...
2026-03-11 21:29:33,140 - oe-selftest - INFO - Building
reproducibleB-extended (sstate NOT allowed)...
2026-03-11 21:33:26,758 - oe-selftest - INFO - Checking deb packages for
differences...
2026-03-11 21:33:26,897 - oe-selftest - INFO - Reproducibility summary
for deb: same=866 different=0 different_excluded=0 missing=153 total=1019
unused_exclusions=[]
2026-03-11 21:33:26,898 - oe-selftest - INFO - Checking ipk packages for
differences...
2026-03-11 21:33:27,024 - oe-selftest - INFO - Reproducibility summary
for ipk: same=866 different=0 different_excluded=0 missing=153 total=1019
unused_exclusions=[]
2026-03-11 21:33:27,025 - oe-selftest - INFO - Checking rpm packages for
differences...
2026-03-11 21:33:27,158 - oe-selftest - INFO - Reproducibility summary
for rpm: same=866 different=0 different_excluded=0 missing=153 total=1019
unused_exclusions=[]
2026-03-11 21:33:27,159 - oe-selftest - INFO - ... ok
2026-03-11 21:34:10,657 - oe-selftest - INFO -
----------------------------------------------------------------------
2026-03-11 21:34:10,657 - oe-selftest - INFO - Ran 1 test in 2768.831s
2026-03-11 21:34:10,657 - oe-selftest - INFO - OK
2026-03-11 21:34:15,023 - oe-selftest - INFO - RESULTS:
2026-03-11 21:34:15,023 - oe-selftest - INFO - RESULTS -
reproducible.ReproducibleTests.test_reproducible_builds: PASSED (2725.24s)
2026-03-11 21:34:15,025 - oe-selftest - INFO - SUMMARY:
2026-03-11 21:34:15,025 - oe-selftest - INFO - oe-selftest () - Ran 1
test in 2768.831s
2026-03-11 21:34:15,025 - oe-selftest - INFO - oe-selftest - OK - All
required tests passed (successes=1, skipped=0, failures=0, errors=0)
> rg -C2 groff ./tmp/log/oeqa/testresults.json
205- ],
206- "same": [
207: "x86-64-v3/groff-dbg_1.24.0-r0_amd64.deb",
208: "x86-64-v3/groff-dev_1.24.0-r0_amd64.deb",
209: "x86-64-v3/groff-doc_1.24.0-r0_amd64.deb",
210: "x86-64-v3/groff-src_1.24.0-r0_amd64.deb",
211: "x86-64-v3/groff_1.24.0-r0_amd64.deb",
212- "x86-64-v3/perl-dbg_5.42.0-r0_amd64.deb",
213- "x86-64-v3/perl-dev_5.42.0-r0_amd64.deb",
--
1232- ],
1233- "same": [
1234: "x86-64-v3/groff-dbg_1.24.0-r0_x86-64-v3.ipk",
1235: "x86-64-v3/groff-dev_1.24.0-r0_x86-64-v3.ipk",
1236: "x86-64-v3/groff-doc_1.24.0-r0_x86-64-v3.ipk",
1237: "x86-64-v3/groff-src_1.24.0-r0_x86-64-v3.ipk",
1238: "x86-64-v3/groff_1.24.0-r0_x86-64-v3.ipk",
1239- "x86-64-v3/perl-dbg_5.42.0-r0_x86-64-v3.ipk",
1240- "x86-64-v3/perl-dev_5.42.0-r0_x86-64-v3.ipk",
--
2259- ],
2260- "same": [
2261: "x86_64_v3/groff-1.24.0-r0.x86_64_v3.rpm",
2262: "x86_64_v3/groff-dbg-1.24.0-r0.x86_64_v3.rpm",
2263: "x86_64_v3/groff-dev-1.24.0-r0.x86_64_v3.rpm",
2264: "x86_64_v3/groff-doc-1.24.0-r0.x86_64_v3.rpm",
2265: "x86_64_v3/groff-src-1.24.0-r0.x86_64_v3.rpm",
2266- "x86_64_v3/perl-5.42.0-r0.x86_64_v3.rpm",
2267- "x86_64_v3/perl-dbg-5.42.0-r0.x86_64_v3.rpm",
//Peng
>
> Thanks,
> Mathieu
>
> --
> Mathieu Dubois-Briand, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [OE-core][master][PATCH v2] groff: upgrade 1.23.0 -> 1.24.0
2026-03-11 13:57 ` Zhang Peng
@ 2026-03-11 15:02 ` Mathieu Dubois-Briand
2026-04-03 11:08 ` Peng Zhang
0 siblings, 1 reply; 5+ messages in thread
From: Mathieu Dubois-Briand @ 2026-03-11 15:02 UTC (permalink / raw)
To: Zhang Peng, openembedded-core
On Wed Mar 11, 2026 at 2:57 PM CET, Zhang Peng wrote:
>
> On 3/11/26 14:03, Mathieu Dubois-Briand wrote:
>> CAUTION: This email comes from a non Wind River email account!
>> Do not click links or open attachments unless you recognize the sender and know the content is safe.
>>
>> On Mon Mar 9, 2026 at 4:08 PM CET, Peng (Paul) (CN) via lists.openembedded.org Zhang wrote:
>>> From: Zhang Peng <peng.zhang1.cn@windriver.com>
>>>
>>> Upgrade to latest revision of 1.24.0.
>>> - Drop patches included in this release.
>>> - Add patch to fix test-groff not found in cross-compilation.
>>> - Add patch to use SOURCE_DATE_EPOCH in gropdf for reproducible PDF generation.
>>> - COPYING, LICENSES: Refresh GPLv3 text.
>>>
>>> Release Note:[https://lists.gnu.org/r/groff/2026-02/msg00149.html]
>>>
>>> Signed-off-by: Zhang Peng <peng.zhang1.cn@windriver.com>
>> Hi,
>>
>> Thanks for the new version. It looks a bit better, reproducibility test
>> passed at least once, but we still have failures in some builds. It
>> seems to be a similar one:
>>
>> AssertionError: The following deb packages are different and not in exclusion list:
>> /srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/deb/./x86-64-v3/groff-doc_1.24.0-r0_amd64.deb
>> The following rpm packages are different and not in exclusion list:
>> /srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/rpm/./x86_64_v3/groff-doc-1.24.0-r0.x86_64_v3.rpm
>>
>> https://autobuilder.yoctoproject.org/valkyrie/#/builders/37/builds/3554
>>
>> Diffoscope output:
>> https://valkyrie.yocto.io/pub/repro-fail/oe-reproducible-20260310-jxtz43x1/packages/diff-html/
>
> HI, Mathieu
>
> It's very strange - I cannot reproduce this issue on my local Ubuntu
> 22.04 system. From the Yocto autobuilder system logs, I can't find any
> useful hints to analyze the failure.
> My suspicion is related to the host environment. The autobuilder uses
> Fedora 40 while I'm testing on Ubuntu, but I don't think this difference
> should cause the failure.
> Any help or insights on this would be greatly appreciated.
>
Hi Peng,
So on the autobuilder we are testing with multiple distributions. This
reproducibility issue did happen with multiple workers, with different
distributions.
One first note about the reproducibility test. As you might have seen,
we are comparing the output of two builds:
- The first build, left side of diffoscope, is made using the
sstate-cache, so the document might have been built on any worker.
- The second build, right side of diffoscope is made without the
sstate-cache: the pdf have been generated on the worker used for the
build.
We had 3 test failures so far:
- One on fedora 40:
https://autobuilder.yoctoproject.org/valkyrie/#/builders/37/builds/3554
- One on alma 8:
https://autobuilder.yoctoproject.org/valkyrie/#/builders/37/builds/3553
- One on debian 12:
https://autobuilder.yoctoproject.org/valkyrie/#/builders/37/builds/3556
One interesting thing is, the output of both alma 8 and debian 12 looks
the same, if we compare the right side of the diffoscope output.
So, depending on something, probably the distribution, we have at least
3 different outputs:
- A first version (A), generated on an unknown distribution has reached the
sstate-cache: this is the one we see on the diffoscope output on
each builds.
- A second version (B), generated on Fedora 40 worker. Output differs
with A on the ipk generation.
- A third version (C), generated either on alma 8 or Debian 12. Output
differs with A on the deb generation.
So one idea might be to try to build the package in two different
dockers, one Fedora 40, one Debian 12. If you are a bit lucky, you might
get some different output.
Thanks,
Mathieu
--
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [OE-core][master][PATCH v2] groff: upgrade 1.23.0 -> 1.24.0
2026-03-11 15:02 ` Mathieu Dubois-Briand
@ 2026-04-03 11:08 ` Peng Zhang
0 siblings, 0 replies; 5+ messages in thread
From: Peng Zhang @ 2026-04-03 11:08 UTC (permalink / raw)
To: Mathieu Dubois-Briand, openembedded-core
On 3/11/26 23:02, Mathieu Dubois-Briand wrote:
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender and know the content is safe.
>
> On Wed Mar 11, 2026 at 2:57 PM CET, Zhang Peng wrote:
>> On 3/11/26 14:03, Mathieu Dubois-Briand wrote:
>>> CAUTION: This email comes from a non Wind River email account!
>>> Do not click links or open attachments unless you recognize the sender and know the content is safe.
>>>
>>> On Mon Mar 9, 2026 at 4:08 PM CET, Peng (Paul) (CN) via lists.openembedded.org Zhang wrote:
>>>> From: Zhang Peng <peng.zhang1.cn@windriver.com>
>>>>
>>>> Upgrade to latest revision of 1.24.0.
>>>> - Drop patches included in this release.
>>>> - Add patch to fix test-groff not found in cross-compilation.
>>>> - Add patch to use SOURCE_DATE_EPOCH in gropdf for reproducible PDF generation.
>>>> - COPYING, LICENSES: Refresh GPLv3 text.
>>>>
>>>> Release Note:[https://lists.gnu.org/r/groff/2026-02/msg00149.html]
>>>>
>>>> Signed-off-by: Zhang Peng <peng.zhang1.cn@windriver.com>
>>> Hi,
>>>
>>> Thanks for the new version. It looks a bit better, reproducibility test
>>> passed at least once, but we still have failures in some builds. It
>>> seems to be a similar one:
>>>
>>> AssertionError: The following deb packages are different and not in exclusion list:
>>> /srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/deb/./x86-64-v3/groff-doc_1.24.0-r0_amd64.deb
>>> The following rpm packages are different and not in exclusion list:
>>> /srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/rpm/./x86_64_v3/groff-doc-1.24.0-r0.x86_64_v3.rpm
>>>
>>> https://autobuilder.yoctoproject.org/valkyrie/#/builders/37/builds/3554
>>>
>>> Diffoscope output:
>>> https://valkyrie.yocto.io/pub/repro-fail/oe-reproducible-20260310-jxtz43x1/packages/diff-html/
>> HI, Mathieu
>>
>> It's very strange - I cannot reproduce this issue on my local Ubuntu
>> 22.04 system. From the Yocto autobuilder system logs, I can't find any
>> useful hints to analyze the failure.
>> My suspicion is related to the host environment. The autobuilder uses
>> Fedora 40 while I'm testing on Ubuntu, but I don't think this difference
>> should cause the failure.
>> Any help or insights on this would be greatly appreciated.
>>
> Hi Peng,
>
> So on the autobuilder we are testing with multiple distributions. This
> reproducibility issue did happen with multiple workers, with different
> distributions.
>
> One first note about the reproducibility test. As you might have seen,
> we are comparing the output of two builds:
> - The first build, left side of diffoscope, is made using the
> sstate-cache, so the document might have been built on any worker.
> - The second build, right side of diffoscope is made without the
> sstate-cache: the pdf have been generated on the worker used for the
> build.
>
> We had 3 test failures so far:
> - One on fedora 40:
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/37/builds/3554
> - One on alma 8:
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/37/builds/3553
> - One on debian 12:
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/37/builds/3556
>
> One interesting thing is, the output of both alma 8 and debian 12 looks
> the same, if we compare the right side of the diffoscope output.
>
> So, depending on something, probably the distribution, we have at least
> 3 different outputs:
> - A first version (A), generated on an unknown distribution has reached the
> sstate-cache: this is the one we see on the diffoscope output on
> each builds.
> - A second version (B), generated on Fedora 40 worker. Output differs
> with A on the ipk generation.
> - A third version (C), generated either on alma 8 or Debian 12. Output
> differs with A on the deb generation.
>
> So one idea might be to try to build the package in two different
> dockers, one Fedora 40, one Debian 12. If you are a bit lucky, you might
> get some different output.
thanks very much for your informaion.
V3 send
> Thanks,
> Mathieu
>
> --
> Mathieu Dubois-Briand, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-04-03 11:09 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-09 15:08 [OE-core][master][PATCH v2] groff: upgrade 1.23.0 -> 1.24.0 peng.zhang1.cn
2026-03-11 6:03 ` Mathieu Dubois-Briand
2026-03-11 13:57 ` Zhang Peng
2026-03-11 15:02 ` Mathieu Dubois-Briand
2026-04-03 11:08 ` Peng Zhang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox