@@ -1,6 +1,6 @@
-From 067992f2d0b0ff6ca114031636eb0e1eac791892 Mon Sep 17 00:00:00 2001
-From: Paul Eggleton <paul.eggleton@linux.microsoft.com>
-Date: Tue, 16 Jun 2020 03:57:25 +0000
+From 5014728695639f33895feff9cabad199b0612c45 Mon Sep 17 00:00:00 2001
+From: Paul Eggleton <paul.eggleton@microsoft.com>
+Date: Sun, 8 Feb 2026 21:34:54 -0800
Subject: [PATCH] build.c: ignore return of 1 from tar -cf
When running do_package_write_deb, we have trees of hardlinked files
@@ -23,30 +23,36 @@ Upstream-Status: Inappropriate [OE specific]
Original patch by RP 2015/3/27, rebased by Paul Eggleton
Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com>
+
+Rebase to 1.23.5
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
src/deb/build.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/deb/build.c b/src/deb/build.c
-index 87bd4142e..e85fd7d0f 100644
+index f7a0156f1..67e758185 100644
--- a/src/deb/build.c
+++ b/src/deb/build.c
-@@ -481,6 +481,7 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder,
+@@ -526,6 +526,7 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder,
{
- int pipe_filenames[2], pipe_tarball[2];
- pid_t pid_tar, pid_comp;
-+ int rc;
+ int pipe_filenames[2], pipe_tarball[2];
+ pid_t pid_tar, pid_comp;
++ int rc;
- /* Fork off a tar. We will feed it a list of filenames on stdin later. */
- m_pipe(pipe_filenames);
-@@ -533,7 +534,9 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder,
- /* All done, clean up wait for tar and <compress> to finish their job. */
- close(pipe_filenames[1]);
- subproc_reap(pid_comp, _("<compress> from tar -cf"), 0);
-- subproc_reap(pid_tar, "tar -cf", 0);
-+ rc = subproc_reap(pid_tar, "tar -cf", SUBPROC_RETERROR);
-+ if (rc && rc != 1)
-+ ohshite(_("subprocess %s returned error exit status %d"), "tar -cf", rc);
+ /* Fork off a tar. We will feed it a list of filenames on stdin
+ * later. */
+@@ -591,7 +592,9 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder,
+ * job. */
+ close(pipe_filenames[1]);
+ subproc_reap(pid_comp, _("<compress> from tar -cf"), 0);
+- subproc_reap(pid_tar, "tar -cf", 0);
++ rc = subproc_reap(pid_tar, "tar -cf", SUBPROC_RETERROR);
++ if (rc && rc != 1)
++ ohshite(_("subprocess %s returned error exit status %d"), "tar -cf", rc);
}
static intmax_t
+--
+2.49.0
+
@@ -1,6 +1,6 @@
-From 5e5f06d396fe631990474ba6df83428987855365 Mon Sep 17 00:00:00 2001
+From 756513b01ba2d4f0ecfc95955dbe598591ad2d9e Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 26 Aug 2015 16:25:45 +0300
+Date: Sun, 8 Feb 2026 21:17:43 -0800
Subject: [PATCH] script.c: avoid use of chroot
Our pre/postinsts expect $D to be set when running in a sysroot and
@@ -17,22 +17,25 @@ KKang 2019/02/20
Refresh to apply on top of v1.22.10.
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
+
+Rebase to 1.23.5
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
- src/main/script.c | 52 +++--------------------------------------------
- 1 file changed, 3 insertions(+), 49 deletions(-)
+ src/main/script.c | 56 +++--------------------------------------------
+ 1 file changed, 3 insertions(+), 53 deletions(-)
diff --git a/src/main/script.c b/src/main/script.c
-index e9aee0bf9..181e7c710 100644
+index dd3f3a4bb..9782d0140 100644
--- a/src/main/script.c
+++ b/src/main/script.c
-@@ -97,57 +97,11 @@ static const char *
+@@ -99,60 +99,10 @@ static const char *
maintscript_pre_exec(struct command *cmd)
{
const char *instdir = dpkg_fsys_get_dir();
- const char *admindir = dpkg_db_get_dir();
- const char *changedir;
- size_t instdirlen = strlen(instdir);
-
+-
- if (instdirlen > 0 && in_force(FORCE_SCRIPT_CHROOTLESS))
- changedir = instdir;
- else
@@ -54,12 +57,14 @@ index e9aee0bf9..181e7c710 100644
- "directory with --force-not-root, consider "
- "using --force-script-chrootless?"));
- else if (rc)
-- ohshite(_("failed to chroot to '%.250s'"), instdir);
+- ohshite(_("failed to chroot to '%s'"), instdir);
- }
+-
- /* Switch to a known good directory to give the maintainer script
- * a saner environment, also needed after the chroot(). */
- if (chdir(changedir))
-- ohshite(_("failed to chdir to '%.255s'"), changedir);
+- ohshite(_("failed to chdir to '%s'"), changedir);
+-
- if (debug_has_flag(dbg_scripts)) {
- struct varbuf args = VARBUF_INIT;
- const char **argv = cmd->argv;
@@ -68,12 +73,13 @@ index e9aee0bf9..181e7c710 100644
- varbuf_add_char(&args, ' ');
- varbuf_add_str(&args, *argv);
- }
-- debug(dbg_scripts, "fork/exec %s (%s )", cmd->filename,
-- varbuf_str(&args));
+- debug(dbg_scripts, "fork/exec %s (%s )",
+- cmd->filename, varbuf_str(&args));
- varbuf_destroy(&args);
-+ if (*instdir) {
-+ setenv("D", instdir, 1);
++ if (*instdir) {
++ setenv("D", instdir, 1);
}
+-
- if (instdirlen == 0 || in_force(FORCE_SCRIPT_CHROOTLESS))
- return cmd->filename;
-
@@ -86,3 +92,6 @@ index e9aee0bf9..181e7c710 100644
}
/**
+--
+2.49.0
+
@@ -1,6 +1,6 @@
-From 6e88e8b7b6924751112966f329525956735de9b4 Mon Sep 17 00:00:00 2001
+From 3d27ccbc3409c473a4acba56df15e6b7e71f83fb Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 26 Aug 2015 16:16:16 +0300
+Date: Sun, 8 Feb 2026 21:11:56 -0800
Subject: [PATCH] Adapt to linux-wrs kernel version, which has character '_'
inside. Remove the first-char-digit-check (as the 1.15.8.5 version does).
@@ -8,28 +8,38 @@ Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Upstream-Status: Inappropriate [embedded specific]
+
+Rebase to 1.23.5
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
lib/dpkg/parsehelp.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/lib/dpkg/parsehelp.c b/lib/dpkg/parsehelp.c
-index a999b5e78..7be0378ab 100644
+index 307b7705a..82713c008 100644
--- a/lib/dpkg/parsehelp.c
+++ b/lib/dpkg/parsehelp.c
-@@ -291,14 +291,12 @@ parseversion(struct dpkg_version *rversion, const char *string,
- ptr = rversion->version;
- if (!*ptr)
- return dpkg_put_error(err, _("version number is empty"));
-- if (!c_isdigit(*ptr++))
-- return dpkg_put_warn(err, _("version number does not start with digit"));
- for (; *ptr; ptr++) {
-- if (!c_isdigit(*ptr) && !c_isalpha(*ptr) && strchr(".-+~:", *ptr) == NULL)
-+ if (!c_isdigit(*ptr) && !c_isalpha(*ptr) && strchr(".-+~:_", *ptr) == NULL)
- return dpkg_put_warn(err, _("invalid character in version number"));
- }
- for (ptr = rversion->revision; *ptr; ptr++) {
-- if (!c_isdigit(*ptr) && !c_isalpha(*ptr) && strchr(".+~", *ptr) == NULL)
-+ if (!c_isdigit(*ptr) && !c_isalpha(*ptr) && strchr(".-+~_", *ptr) == NULL)
- return dpkg_put_warn(err, _("invalid character in revision number"));
- }
+@@ -303,18 +303,16 @@ parseversion(struct dpkg_version *rversion, const char *string,
+ ptr = rversion->version;
+ if (!*ptr)
+ return dpkg_put_error(err, _("version number is empty"));
+- if (!c_isdigit(*ptr++))
+- return dpkg_put_warn(err, _("version number does not start with digit"));
+ for (; *ptr; ptr++) {
+ if (!c_isdigit(*ptr) &&
+ !c_isalpha(*ptr) &&
+- strchr(".-+~:", *ptr) == NULL)
++ strchr(".-+~:_", *ptr) == NULL)
+ return dpkg_put_warn(err, _("invalid character in version number"));
+ }
+ for (ptr = rversion->revision; *ptr; ptr++) {
+ if (!c_isdigit(*ptr) &&
+ !c_isalpha(*ptr) &&
+- strchr(".+~", *ptr) == NULL)
++ strchr(".-+~_", *ptr) == NULL)
+ return dpkg_put_warn(err, _("invalid character in revision number"));
+ }
+--
+2.49.0
+
@@ -1,27 +1,34 @@
-From 0fc90a3ed01a7fce34de925979460638b8a57402 Mon Sep 17 00:00:00 2001
+From 541260d2d954d53b2fddd20863cf473d53017de2 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 26 Aug 2015 16:27:45 +0300
+Date: Sun, 8 Feb 2026 21:21:43 -0800
Subject: [PATCH] The lutimes function doesn't work properly for all systems.
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Upstream-Status: Inappropriate [embedded specific]
+
+Rebase to 1.23.5
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
src/main/archives.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/main/archives.c b/src/main/archives.c
-index d7279e1f5..f9c6facc9 100644
+index b5c6f0356..6db2c712c 100644
--- a/src/main/archives.c
+++ b/src/main/archives.c
-@@ -490,8 +490,9 @@ tarobject_set_mtime(struct tar_entry *te, const char *path)
+@@ -526,9 +526,10 @@ tarobject_set_mtime(struct tar_entry *te, const char *path)
- if (te->type == TAR_FILETYPE_SYMLINK) {
+ if (te->type == TAR_FILETYPE_SYMLINK) {
#ifdef HAVE_LUTIMES
-- if (lutimes(path, tv) && errno != ENOSYS)
-+/* if (lutimes(path, tv) && errno != ENOSYS)
- ohshite(_("error setting timestamps of '%.255s'"), path);
+- if (lutimes(path, tv) && errno != ENOSYS)
++/* if (lutimes(path, tv) && errno != ENOSYS)
+ ohshite(_("error setting timestamps of '%s'"),
+ path);
+*/
#endif
- } else {
- if (utimes(path, tv))
+ } else {
+ if (utimes(path, tv))
+--
+2.49.0
+
@@ -1,7 +1,9 @@
-From 20ba7fd8939e97bec3d70a67c0aac76ddc67898d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal.limon@linux.intel.com>
-Date: Tue, 21 Feb 2017 11:23:27 -0600
+From 5c9c44274ecf0e704e1aadb1001d6df9f3ce403a Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Sun, 8 Feb 2026 21:25:06 -0800
Subject: [PATCH] dpkg-deb/build.c: Remove usage of --clamp-mtime in tar
+ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8
+ Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -22,20 +24,25 @@ Upstream-Status: Inappropriate [Configuration]
Update patch context for dpkg 1.19.4.
Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+Rebase to 1.23.5
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
- src/deb/build.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ src/deb/build.c | 1 -
+ 1 file changed, 1 deletion(-)
diff --git a/src/deb/build.c b/src/deb/build.c
-index a418dd122..87bd4142e 100644
+index 259c6251c..f7a0156f1 100644
--- a/src/deb/build.c
+++ b/src/deb/build.c
-@@ -504,7 +504,7 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder,
-
- command_init(&cmd, TAR, "tar -cf");
- command_add_args(&cmd, "tar", "-cf", "-", "--format=gnu",
-- "--mtime", mtime, "--clamp-mtime", NULL);
-+ "--mtime", mtime, NULL);
- /* Mode might become a positional argument, pass it before -T. */
- if (options->mode)
- command_add_args(&cmd, "--mode", options->mode, NULL);
+@@ -553,7 +553,6 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder,
+ "-cf", "-",
+ "--format=gnu",
+ "--mtime", mtime,
+- "--clamp-mtime",
+ NULL);
+ /* Mode might become a positional argument, pass it
+ * before -T. */
+--
+2.49.0
+
@@ -1,6 +1,6 @@
-From 812dbb64f2805a3257ef9c9a61abbd10e0b3a08c Mon Sep 17 00:00:00 2001
+From 961482eef79e90f9be6f60f48a063b66221a8ea1 Mon Sep 17 00:00:00 2001
From: Joe Slater <jslater@windriver.com>
-Date: Mon, 26 Aug 2013 23:38:45 +0000
+Date: Sun, 8 Feb 2026 21:06:44 -0800
Subject: [PATCH] dpkg: fix configuration issue for mips64
configure cannot determine the proper cpu, os, or
@@ -11,21 +11,27 @@ release from upstream. We remove that code.
Upstream-Status: Inappropriate [not a debian architecture]
Signed-off-by: Joe Slater <jslater@windriver.com>
+
+Rebase to 1.23.5
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
scripts/Dpkg/Arch.pm | 3 ---
1 file changed, 3 deletions(-)
diff --git a/scripts/Dpkg/Arch.pm b/scripts/Dpkg/Arch.pm
-index 0d352eeb9..4ef5fa307 100644
+index 3d9e3e975..05c6debc3 100644
--- a/scripts/Dpkg/Arch.pm
+++ b/scripts/Dpkg/Arch.pm
-@@ -326,9 +326,6 @@ sub _load_tupletable()
- (my $dt = $debtuple) =~ s/<cpu>/$_cpu/;
- (my $da = $debarch) =~ s/<cpu>/$_cpu/;
+@@ -326,9 +326,6 @@ sub _load_tupletable
+ (my $dt = $debtuple) =~ s/<cpu>/$_cpu/;
+ (my $da = $debarch) =~ s/<cpu>/$_cpu/;
-- next if exists $debarch_to_debtuple{$da}
-- or exists $debtuple_to_debarch{$dt};
+- next if exists $debarch_to_debtuple{$da}
+- or exists $debtuple_to_debarch{$dt};
-
- $debarch_to_debtuple{$da} = $dt;
- $debtuple_to_debarch{$dt} = $da;
- }
+ $debarch_to_debtuple{$da} = $dt;
+ $debtuple_to_debarch{$dt} = $da;
+ }
+--
+2.49.0
+
@@ -1,25 +1,31 @@
-From 7d69de114aa696cfb5e31b491a657ca6b6cbbbd5 Mon Sep 17 00:00:00 2001
+From a559247b71ce44978b7dc49a6fdb51167e22c0bf Mon Sep 17 00:00:00 2001
From: Constantin Musca <constantinx.musca@intel.com>
-Date: Tue, 28 Aug 2012 17:02:40 +0300
+Date: Sun, 8 Feb 2026 21:03:30 -0800
Subject: [PATCH] busybox-1.19.4 tar utility doesn't support
--warning=no-timestamp
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Upstream-Status: Inappropriate [configuration]
+
+Rebase to 1.23.5
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
src/deb/extract.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/deb/extract.c b/src/deb/extract.c
-index 08b281564..c35a182ee 100644
+index e0234726a..e153f72ab 100644
--- a/src/deb/extract.c
+++ b/src/deb/extract.c
-@@ -338,7 +338,6 @@ extracthalf(const char *debar, const char *dir,
+@@ -353,7 +353,6 @@ extracthalf(const char *debar, const char *dir,
- command_add_arg(&cmd, "-f");
- command_add_arg(&cmd, "-");
-- command_add_arg(&cmd, "--warning=no-timestamp");
+ command_add_arg(&cmd, "-f");
+ command_add_arg(&cmd, "-");
+- command_add_arg(&cmd, "--warning=no-timestamp");
- m_dup2(p2[0],0);
- close(p2[0]);
+ m_dup2(p2[0], 0);
+ close(p2[0]);
+--
+2.49.0
+
similarity index 92%
rename from meta/recipes-devtools/dpkg/dpkg_1.22.21.bb
rename to meta/recipes-devtools/dpkg/dpkg_1.23.5.bb
@@ -1,7 +1,7 @@
require dpkg.inc
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-SRC_URI = "git://salsa.debian.org/dpkg-team/dpkg.git;protocol=https;branch=1.22.x;tag=${PV} \
+SRC_URI = "git://salsa.debian.org/dpkg-team/dpkg.git;protocol=https;branch=main;tag=${PV} \
file://noman.patch \
file://remove-tar-no-timestamp.patch \
file://arch_pm.patch \
@@ -19,4 +19,4 @@ SRC_URI = "git://salsa.debian.org/dpkg-team/dpkg.git;protocol=https;branch=1.22.
SRC_URI:append:class-native = " file://0001-build.c-ignore-return-of-1-from-tar-cf.patch"
-SRCREV = "d72b038fd2113cb62972e4071db03dd1388394d8"
+SRCREV = "89f266325cc8b5b7fd1ee417b78d498ee189565b"
Refresh patches: - 0001-build.c-ignore-return-of-1-from-tar-cf.patch - 0001-script.c-avoid-use-of-chroot.patch - 0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch - 0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch - 0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch - arch_pm.patch - remove-tar-no-timestamp.patch Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> --- ...ild.c-ignore-return-of-1-from-tar-cf.patch | 42 +++++++++------- .../0001-script.c-avoid-use-of-chroot.patch | 35 +++++++++----- ...rs-kernel-version-which-has-characte.patch | 48 +++++++++++-------- ...tion-doesn-t-work-properly-for-all-s.patch | 27 +++++++---- ...c-Remove-usage-of-clamp-mtime-in-tar.patch | 37 ++++++++------ meta/recipes-devtools/dpkg/dpkg/arch_pm.patch | 28 ++++++----- .../dpkg/dpkg/remove-tar-no-timestamp.patch | 24 ++++++---- .../dpkg/{dpkg_1.22.21.bb => dpkg_1.23.5.bb} | 4 +- 8 files changed, 148 insertions(+), 97 deletions(-) rename meta/recipes-devtools/dpkg/{dpkg_1.22.21.bb => dpkg_1.23.5.bb} (92%)