From c3965b969f1c2edc65cd0e48844ff547c8e8f90e Mon Sep 17 00:00:00 2001
From: Upgrade Helper <auh@yoctoproject.org>
Date: Sun, 2 Aug 2026 05:52:45 +0000
Subject: [PATCH] libpsl: upgrade 0.23.0 -> 0.23.1

Source: NEWS

01.08.2026 Release V0.23.1
  * configure: Allow explicitly disabling fuzzing
  * configure/meson: Fix reproducible builds (regression introduced in V0.23.0)
  * psl-make-dafsa: embed only the basename of the input file
  * meson: also rename cdata to _cdata in docs/libpsl/meson.build
---
 .../0001-Support-reproducible-builds.patch    | 50 -------------------
 ...mbed-only-the-basename-of-the-input-.patch | 46 -----------------
 ...ta-to-_cdata-in-docs-libpsl-meson.bu.patch | 38 --------------
 .../{libpsl_0.23.0.bb => libpsl_0.23.1.bb}    |  8 +--
 4 files changed, 2 insertions(+), 140 deletions(-)
 delete mode 100644 meta/recipes-support/libpsl/libpsl/0001-Support-reproducible-builds.patch
 delete mode 100644 meta/recipes-support/libpsl/libpsl/0002-psl-make-dafsa-embed-only-the-basename-of-the-input-.patch
 delete mode 100644 meta/recipes-support/libpsl/libpsl/0003-meson-rename-cdata-to-_cdata-in-docs-libpsl-meson.bu.patch
 rename meta/recipes-support/libpsl/{libpsl_0.23.0.bb => libpsl_0.23.1.bb} (70%)

diff --git a/meta/recipes-support/libpsl/libpsl/0001-Support-reproducible-builds.patch b/meta/recipes-support/libpsl/libpsl/0001-Support-reproducible-builds.patch
deleted file mode 100644
index 16a3ed37db..0000000000
--- a/meta/recipes-support/libpsl/libpsl/0001-Support-reproducible-builds.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From deaa74f9dea55d4dbf1ef98879049c02d23749e8 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Tim=20R=C3=BChsen?= <tim.ruehsen@gmx.de>
-Date: Thu, 16 Jul 2026 13:20:21 +0200
-Subject: [PATCH] Support reproducible builds
-
-Co-authored-by: Chris Lamb <lamby@debian.org>
-Upstream-Status: Backport [https://github.com/rockdaboot/libpsl/commit/1d28619bde704d5b5037e0680e72c1c326663234]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure.ac |  4 ++--
- meson.build  | 11 ++++++++++-
- 2 files changed, 12 insertions(+), 3 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 8b7ccc8..3f8158d 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -42,8 +42,8 @@ AC_SUBST([LIBPSL_VERSION_MAJOR], [$(echo $VERSION | cut -d'.' -f1)])
- AC_SUBST([LIBPSL_VERSION_MINOR], [$(echo $VERSION | cut -d'.' -f2)])
- AC_SUBST([LIBPSL_VERSION_PATCH], [$(echo $VERSION | cut -d'.' -f3)])
- AC_SUBST([LIBPSL_VERSION_NUMBER], [$(printf '0x%02x%02x%02x' $LIBPSL_VERSION_MAJOR $LIBPSL_VERSION_MINOR $LIBPSL_VERSION_PATCH)])
--AC_SUBST([COPYRIGHT_MONTH], [$(date +%B)])
--AC_SUBST([COPYRIGHT_YEAR], [$(date +%Y)])
-+AC_SUBST([COPYRIGHT_MONTH], [m4_esyscmd([LC_ALL=C date -u -d "@$SOURCE_DATE_EPOCH" +%B 2>/dev/null || LC_ALL=C date -u -r "$SOURCE_DATE_EPOCH" +%B 2>/dev/null || LC_ALL=C date -u +%B])])
-+AC_SUBST([COPYRIGHT_YEAR], [m4_esyscmd([LC_ALL=Cdate -u -d "@$SOURCE_DATE_EPOCH" +%Y 2>/dev/null || LC_ALL=C date -u -r "$SOURCE_DATE_EPOCH" +%Y 2>/dev/null || LC_ALL=C date -u +%Y])])
- AC_CONFIG_FILES([include/libpsl.h tools/psl.1])
-
- dnl
-diff --git a/meson.build b/meson.build
-index 1e46d06..06c36c6 100644
---- a/meson.build
-+++ b/meson.build
-@@ -157,7 +157,16 @@ endif
- # Shared configuration data for copyright date and version
- _cdata = configuration_data()
- _cdata.set('PACKAGE_VERSION', meson.project_version())
--copyright_date = run_command(['date', '+%B %Y'], check: true).stdout().strip()
-+date_exe = find_program('date')
-+epoch_cmd = run_command('sh', '-c', 'LC_ALL=C echo "${SOURCE_DATE_EPOCH:-$(date +%s)}"', check: true)
-+source_date_epoch = epoch_cmd.stdout().strip()
-+copyright_cmd = run_command('sh', '-c',
-+  'date -u -d "@' + source_date_epoch + '" "+%B %Y" 2>/dev/null || ' +
-+  'date -u -r "' + source_date_epoch + '" "+%B %Y" 2>/dev/null || ' +
-+  'date -u "+%B %Y"',
-+  check: true
-+)
-+copyright_date = copyright_cmd.stdout().strip()
- _cdata.set('COPYRIGHT_MONTH', copyright_date.split()[0])
- _cdata.set('COPYRIGHT_YEAR', copyright_date.split()[1])
-
diff --git a/meta/recipes-support/libpsl/libpsl/0002-psl-make-dafsa-embed-only-the-basename-of-the-input-.patch b/meta/recipes-support/libpsl/libpsl/0002-psl-make-dafsa-embed-only-the-basename-of-the-input-.patch
deleted file mode 100644
index 32dfc02983..0000000000
--- a/meta/recipes-support/libpsl/libpsl/0002-psl-make-dafsa-embed-only-the-basename-of-the-input-.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 20 Jul 2026 09:00:00 -0700
-Subject: [PATCH] psl-make-dafsa: embed only the basename of the input file
-
-The generated suffixes_dafsa.h records the path of the public suffix
-list it was built from in _psl_filename[]. meson passes this input as an
-absolute path (meson.current_source_dir()/list/public_suffix_list.dat),
-so the full build directory ends up baked into the header and, through
-it, into the compiled library and its -src/-dbg packages. This is not
-reproducible and trips the OE buildpaths QA check (references to TMPDIR
-and to the build host HOME directory) when the build tree lives under
-those prefixes on an autobuilder.
-
-The absolute path is useless on the target anyway: it is only consumed
-by psl_builtin_outdated(), which stat()s _psl_filename and compares its
-mtime; the build-host path never exists on the running system so the
-stat always fails. psl_builtin_filename() is documented to return "the
-file name of the Public Suffix List file", so a basename is in fact the
-more faithful value.
-
-Embed only os.path.basename() of the input. The unmodified path is still
-used to open, stat and checksum the file, so only the leaked string
-changes.
-
-Upstream-Status: Backport [https://github.com/rockdaboot/libpsl/commit/b16a2c4d66e94acc3388088c7a13ae62dbacb71d]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/psl-make-dafsa | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/psl-make-dafsa b/src/psl-make-dafsa
-index 1111111..2222222 100755
---- a/src/psl-make-dafsa
-+++ b/src/psl-make-dafsa
-@@ -518,7 +518,7 @@ def to_cxx_plus(data, codecs):
-   text += b'static int _psl_nexceptions = %d;\n' % psl_nexceptions
-   text += b'static int _psl_nwildcards = %d;\n' % psl_nwildcards
-   text += b'static const char _psl_sha1_checksum[] = "%s";\n' % bytes(sha1_file(psl_input_file), **codecs)
--  text += b'static const char _psl_filename[] = "%s";\n' % bytes(psl_input_file, **codecs)
-+  text += b'static const char _psl_filename[] = "%s";\n' % bytes(os.path.basename(psl_input_file), **codecs)
-   return text
-
- def words_to_whatever(words, converter, utf_mode, codecs):
---
-2.51.0
diff --git a/meta/recipes-support/libpsl/libpsl/0003-meson-rename-cdata-to-_cdata-in-docs-libpsl-meson.bu.patch b/meta/recipes-support/libpsl/libpsl/0003-meson-rename-cdata-to-_cdata-in-docs-libpsl-meson.bu.patch
deleted file mode 100644
index 8aecf34e4a..0000000000
--- a/meta/recipes-support/libpsl/libpsl/0003-meson-rename-cdata-to-_cdata-in-docs-libpsl-meson.bu.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 3e02f2cd038209e873c970709a9eeeead4d70afa Mon Sep 17 00:00:00 2001
-From: Tim Rühsen <tim.ruehsen@gmx.de>
-Date: Mon, 22 Jul 2026 09:00:00 +0200
-Subject: [PATCH] meson: also rename cdata to _cdata in docs/libpsl/meson.build
-
-The 0.23.0 release ships docs/libpsl/meson.build referencing a
-configuration data object named "cdata", but the top-level meson.build
-(and include/meson.build, which sets LIBPSL_VERSION on it) only defines
-"_cdata". Meson shares the interpreter scope across subdir(), so once the
-docs are enabled (get_option('docs'), which OE turns on via gtk-doc) the
-configure step fails with:
-
-  docs/libpsl/meson.build:7:20: ERROR: Unknown variable "cdata".
-
-Reference the existing "_cdata", which already carries LIBPSL_VERSION as
-needed by version.xml.in.
-
-Upstream-Status: Backport [https://github.com/rockdaboot/libpsl/commit/3e02f2cd038209e873c970709a9eeeead4d70afa]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- docs/libpsl/meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/docs/libpsl/meson.build b/docs/libpsl/meson.build
-index 1111111..2222222 100644
---- a/docs/libpsl/meson.build
-+++ b/docs/libpsl/meson.build
-@@ -4,7 +4,7 @@ if get_option('docs')
-   configure_file(
-     input : 'version.xml.in',
-     output : 'version.xml',
--    configuration : cdata)
-+    configuration : _cdata)
-
-   docs = gnome.gtkdoc('libpsl',
-     main_sgml: 'libpsl-docs.sgml',
---
-2.51.0
diff --git a/meta/recipes-support/libpsl/libpsl_0.23.0.bb b/meta/recipes-support/libpsl/libpsl_0.23.1.bb
similarity index 70%
rename from meta/recipes-support/libpsl/libpsl_0.23.0.bb
rename to meta/recipes-support/libpsl/libpsl_0.23.1.bb
index 193f560772..3baeb9d77a 100644
--- a/meta/recipes-support/libpsl/libpsl_0.23.0.bb
+++ b/meta/recipes-support/libpsl/libpsl_0.23.1.bb
@@ -11,12 +11,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=49296c1806ef92c28297fb264163d81e \
                     file://COPYING;md5=49296c1806ef92c28297fb264163d81e \
                     "
 
-SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BP}.tar.gz \
-           file://0001-Support-reproducible-builds.patch \
-           file://0002-psl-make-dafsa-embed-only-the-basename-of-the-input-.patch \
-           file://0003-meson-rename-cdata-to-_cdata-in-docs-libpsl-meson.bu.patch \
-           "
-SRC_URI[sha256sum] = "f39b9631b3d369a21259ea4654f8875c0ec6995ce9551c0eb5d423e4c011f911"
+SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BP}.tar.gz"
+SRC_URI[sha256sum] = "8fbb03054556498ba9c4cc48fcaa36a4483748c6504a65bdb9ba348f555b0e56"
 
 GITHUB_BASE_URI = "https://github.com/rockdaboot/libpsl/releases"
 
-- 
2.47.1

