deleted file mode 100644
@@ -1,188 +0,0 @@
-From 50b585bb55484cdc70bd92852a477178dc43485c Mon Sep 17 00:00:00 2001
-From: Tobias Stoeckmann <tobias@stoeckmann.org>
-Date: Sun, 2 Aug 2026 14:27:17 +0200
-Subject: [PATCH] append_filter: Use last bidder for filter
-
-Appending a filter implies appending a bidder. Always use the last added
-bidder, since it was just added. This avoids desync situations where
-previously added bidders could erroneously match.
-
-Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
-
-Upstream-Status: Backport [https://github.com/libarchive/libarchive/commit/50b585bb]
----
- libarchive/archive_read_append_filter.c | 72 ++++++++-----------------
- 1 file changed, 22 insertions(+), 50 deletions(-)
-
-diff --git a/libarchive/archive_read_append_filter.c b/libarchive/archive_read_append_filter.c
-index 8de1b2ea..9dd9f536 100644
---- a/libarchive/archive_read_append_filter.c
-+++ b/libarchive/archive_read_append_filter.c
-@@ -33,14 +33,25 @@
- #include "archive_private.h"
- #include "archive_read_private.h"
-
-+static struct archive_read_filter_bidder *
-+get_last_bidder(struct archive_read *a)
-+{
-+ size_t i;
-+
-+ for (i = 0; i < sizeof(a->bidders) / sizeof(a->bidders[0]); i++)
-+ {
-+ if (a->bidders[i].vtable == NULL)
-+ break;
-+ }
-+
-+ return a->bidders + (i - 1);
-+}
-+
- int
- archive_read_append_filter(struct archive *_a, int code)
- {
-- int r1, r2, number_bidders, i;
-- const char *str;
-- struct archive_read_filter_bidder *b;
-- struct archive_read_filter *f;
- struct archive_read *a = (struct archive_read *)_a;
-+ int r1, r2;
-
- r2 = (ARCHIVE_OK);
- switch (code)
-@@ -53,15 +64,12 @@ archive_read_append_filter(struct archive *_a, int code)
- r1 = (ARCHIVE_OK);
- break;
- case ARCHIVE_FILTER_GZIP:
-- str = "gzip";
- r1 = archive_read_support_filter_gzip(_a);
- break;
- case ARCHIVE_FILTER_BZIP2:
-- str = "bzip2";
- r1 = archive_read_support_filter_bzip2(_a);
- break;
- case ARCHIVE_FILTER_COMPRESS:
-- str = "compress (.Z)";
- r1 = archive_read_support_filter_compress(_a);
- break;
- case ARCHIVE_FILTER_PROGRAM:
-@@ -69,43 +77,33 @@ archive_read_append_filter(struct archive *_a, int code)
- "Cannot append program filter using archive_read_append_filter");
- return (ARCHIVE_FATAL);
- case ARCHIVE_FILTER_LZMA:
-- str = "lzma";
- r1 = archive_read_support_filter_lzma(_a);
- break;
- case ARCHIVE_FILTER_XZ:
-- str = "xz";
- r1 = archive_read_support_filter_xz(_a);
- break;
- case ARCHIVE_FILTER_UU:
-- str = "uu";
- r1 = archive_read_support_filter_uu(_a);
- break;
- case ARCHIVE_FILTER_RPM:
-- str = "rpm";
- r1 = archive_read_support_filter_rpm(_a);
- break;
- case ARCHIVE_FILTER_LZ4:
-- str = "lz4";
- r1 = archive_read_support_filter_lz4(_a);
- break;
- case ARCHIVE_FILTER_ZSTD:
-- str = "zstd";
- r1 = archive_read_support_filter_zstd(_a);
- break;
- case ARCHIVE_FILTER_LZIP:
-- str = "lzip";
- r1 = archive_read_support_filter_lzip(_a);
- break;
- case ARCHIVE_FILTER_LZOP:
-- str = "lzop";
- r1 = archive_read_support_filter_lzop(_a);
- break;
- case ARCHIVE_FILTER_LRZIP:
-- str = "lrzip";
- r1 = archive_read_support_filter_lrzip(_a);
- break;
- case ARCHIVE_FILTER_GRZIP:
-- str = "grzip";
- r1 = archive_read_support_filter_grzip(_a);
- break;
- default:
-@@ -114,22 +112,10 @@ archive_read_append_filter(struct archive *_a, int code)
- return (ARCHIVE_FATAL);
- }
-
-- if (code != ARCHIVE_FILTER_NONE)
-+ if (r1 > ARCHIVE_FATAL && code != ARCHIVE_FILTER_NONE)
- {
-- number_bidders = sizeof(a->bidders) / sizeof(a->bidders[0]);
--
-- b = a->bidders;
-- for (i = 1; i < number_bidders; i++, b++)
-- {
-- if (!b->name || !strcmp(b->name, str))
-- break;
-- }
-- if (!b->name || strcmp(b->name, str))
-- {
-- archive_set_error(&a->archive, ARCHIVE_ERRNO_PROGRAMMER,
-- "Internal error: Unable to append filter");
-- return (ARCHIVE_FATAL);
-- }
-+ struct archive_read_filter_bidder *b;
-+ struct archive_read_filter *f;
-
- f = calloc(1, sizeof(*f));
- if (f == NULL)
-@@ -137,6 +123,7 @@ archive_read_append_filter(struct archive *_a, int code)
- archive_set_error(&a->archive, ENOMEM, "Out of memory");
- return (ARCHIVE_FATAL);
- }
-+ b = get_last_bidder(a);
- f->bidder = b;
- f->archive = a;
- f->upstream = a->filter;
-@@ -162,37 +149,22 @@ int
- archive_read_append_filter_program_signature(struct archive *_a,
- const char *cmd, const void *signature, size_t signature_len)
- {
-- int r, number_bidders, i;
-+ struct archive_read *a = (struct archive_read *)_a;
- struct archive_read_filter_bidder *b;
- struct archive_read_filter *f;
-- struct archive_read *a = (struct archive_read *)_a;
-+ int r;
-
- if (archive_read_support_filter_program_signature(_a, cmd, signature,
- signature_len) != (ARCHIVE_OK))
- return (ARCHIVE_FATAL);
-
-- number_bidders = sizeof(a->bidders) / sizeof(a->bidders[0]);
--
-- b = a->bidders;
-- for (i = 0; i < number_bidders; i++, b++)
-- {
-- /* Program bidder name set to filter name after initialization */
-- if (b->data && !b->name)
-- break;
-- }
-- if (!b->data)
-- {
-- archive_set_error(&a->archive, ARCHIVE_ERRNO_PROGRAMMER,
-- "Internal error: Unable to append program filter");
-- return (ARCHIVE_FATAL);
-- }
--
- f = calloc(1, sizeof(*f));
- if (f == NULL)
- {
- archive_set_error(&a->archive, ENOMEM, "Out of memory");
- return (ARCHIVE_FATAL);
- }
-+ b = get_last_bidder(a);
- f->bidder = b;
- f->archive = a;
- f->upstream = a->filter;
-2.54.0
-
deleted file mode 100644
@@ -1,103 +0,0 @@
-From db4fb440792278cd01e0829c93f6b62f567b704b Mon Sep 17 00:00:00 2001
-From: Tobias Stoeckmann <tobias@stoeckmann.org>
-Date: Sun, 2 Aug 2026 14:26:22 +0200
-Subject: [PATCH 1/3] append_filter: Verify that bidder and filter match
-
-Make sure that appending a filter always matches its supposed bidder.
-
-Upstream-Status: Submitted [https://github.com/libarchive/libarchive/pull/3346]
-Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
-Signed-off-by: Sumanth Gavini <sumanth.gavini@windriver.com>
----
- Makefile.am | 1 +
- libarchive/test/CMakeLists.txt | 1 +
- .../test/test_archive_read_append_filter.c | 54 +++++++++++++++++++
- 3 files changed, 56 insertions(+)
- create mode 100644 libarchive/test/test_archive_read_append_filter.c
-
-diff --git a/Makefile.am b/Makefile.am
-index 2fb4fdf4..c96b3bc6 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -404,6 +404,7 @@ libarchive_test_SOURCES= \
- libarchive/test/test_archive_pathmatch_oob.c \
- libarchive/test/test_archive_read.c \
- libarchive/test/test_archive_read_add_passphrase.c \
-+ libarchive/test/test_archive_read_append_filter.c \
- libarchive/test/test_archive_read_close_twice.c \
- libarchive/test/test_archive_read_multiple_data_objects.c \
- libarchive/test/test_archive_read_next_header_empty.c \
-diff --git a/libarchive/test/CMakeLists.txt b/libarchive/test/CMakeLists.txt
-index 44f839f8..c4102c3d 100644
---- a/libarchive/test/CMakeLists.txt
-+++ b/libarchive/test/CMakeLists.txt
-@@ -33,6 +33,7 @@ IF(ENABLE_TEST)
- test_archive_pathmatch_oob.c
- test_archive_read.c
- test_archive_read_add_passphrase.c
-+ test_archive_read_append_filter.c
- test_archive_read_close_twice.c
- test_archive_read_multiple_data_objects.c
- test_archive_read_next_header_empty.c
-diff --git a/libarchive/test/test_archive_read_append_filter.c b/libarchive/test/test_archive_read_append_filter.c
-new file mode 100644
-index 00000000..5c301d52
---- /dev/null
-+++ b/libarchive/test/test_archive_read_append_filter.c
-@@ -0,0 +1,54 @@
-+/*-
-+ * Copyright (c) 2026 Tobias Stoeckmann
-+ * All rights reserved.
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions
-+ * are met:
-+ * 1. Redistributions of source code must retain the above copyright
-+ * notice, this list of conditions and the following disclaimer.
-+ * 2. Redistributions in binary form must reproduce the above copyright
-+ * notice, this list of conditions and the following disclaimer in the
-+ * documentation and/or other materials provided with the distribution.
-+ *
-+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
-+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-+ * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
-+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+ */
-+
-+#include "archive.h"
-+#include "test.h"
-+
-+DEFINE_TEST(test_archive_read_append_filter)
-+{
-+ struct archive *a;
-+ int r;
-+
-+ a = archive_read_new();
-+ assert(a != NULL);
-+
-+ /* Append a program bidder (without filter). */
-+ assertEqualIntA(a, ARCHIVE_OK,
-+ archive_read_support_filter_program(a, "prog1"));
-+
-+ /* Append a filter program which comes with its own bidder. */
-+ r = archive_read_append_filter_program(a, "prog2");
-+
-+ /* Verify that filter uses its own bidder. */
-+ if (r == ARCHIVE_FATAL) {
-+ assertEqualStringA(a, "Can't initialize filter; unable to run program \"prog2\"",
-+ archive_error_string(a));
-+ } else {
-+ assertEqualIntA(a, ARCHIVE_OK, r);
-+ assertEqualStringA(a, "Program: prog2", archive_filter_name(a, 0));
-+ }
-+
-+ archive_read_free(a);
-+}
-2.49.0
deleted file mode 100644
@@ -1,46 +0,0 @@
-From c2b00a5fff659bbe8d70b5e00cb6abb831170aeb Mon Sep 17 00:00:00 2001
-From: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
-Date: Wed, 29 Jul 2026 13:33:10 +0000
-Subject: [PATCH] test: skip ppmd8 aes256 streaming test when no crypto library
- is present
-
-test_read_format_zip_ppmd8_aes256_streaming fails with 6 assertion
-failures on systems without a crypto library (openssl/nettle/mbedtls)
-because it tries to decrypt a pre-built encrypted zipx file without
-checking crypto availability first.
-
-Add the same guard used by the other encrypted zip tests in this file.
-
-Upstream-Status: Submitted [https://github.com/libarchive/libarchive/pull/3335]
-Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
----
- .../test/test_read_format_zip_zipx_encrypted.c | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-diff --git a/libarchive/test/test_read_format_zip_zipx_encrypted.c b/libarchive/test/test_read_format_zip_zipx_encrypted.c
-index f07e1e5c..a0a431fb 100644
---- a/libarchive/test/test_read_format_zip_zipx_encrypted.c
-+++ b/libarchive/test/test_read_format_zip_zipx_encrypted.c
-@@ -257,8 +257,22 @@ DEFINE_TEST(test_read_format_zip_zipx_zstd_encrypted_streaming)
- DEFINE_TEST(test_read_format_zip_ppmd8_aes256_streaming)
- {
- const char *refname = "test_read_format_zip_ppmd8_aes256_streaming.zipx";
-+ struct archive *a;
- size_t used;
- char buff[600];
-+
-+ /* Check if running system has cryptographic functionality. */
-+ assert((a = archive_write_new()) != NULL);
-+ assertEqualIntA(a, ARCHIVE_OK, archive_write_set_format_zip(a));
-+ assertEqualIntA(a, ARCHIVE_OK, archive_write_add_filter_none(a));
-+ if (ARCHIVE_OK != archive_write_set_options(a,
-+ "zip:encryption=aes256")) {
-+ skipping("This system does not have cryptographic library");
-+ archive_write_free(a);
-+ return;
-+ }
-+ archive_write_free(a);
-+
- extract_reference_file(refname);
- FILE *f = fopen(refname, "rb");
- used = fread(buff, 1, sizeof(buff), f);
deleted file mode 100644
@@ -1,258 +0,0 @@
-From 76c7142bd2595184826722063598fddf62031cca Mon Sep 17 00:00:00 2001
-From: Tobias Stoeckmann <tobias@stoeckmann.org>
-Date: Sun, 2 Aug 2026 14:31:33 +0200
-Subject: [PATCH 3/3] Remove bidder name
-
-The name was only needed to find the appropriate bidder for a filter.
-Since this has been resolved by accessing the last bidder, since in these
-situations the bidder is added first, then the filter, the name is not
-needed anymore.
-
-Upstream-Status: Submitted [https://github.com/libarchive/libarchive/pull/3346]
-Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
-Signed-off-by: Sumanth Gavini <sumanth.gavini@windriver.com>
----
- libarchive/archive_read.c | 2 --
- libarchive/archive_read_append_filter.c | 1 -
- libarchive/archive_read_private.h | 3 ---
- libarchive/archive_read_support_filter_bzip2.c | 2 +-
- libarchive/archive_read_support_filter_compress.c | 2 +-
- libarchive/archive_read_support_filter_grzip.c | 2 +-
- libarchive/archive_read_support_filter_gzip.c | 2 +-
- libarchive/archive_read_support_filter_lrzip.c | 2 +-
- libarchive/archive_read_support_filter_lz4.c | 2 +-
- libarchive/archive_read_support_filter_lzop.c | 2 +-
- libarchive/archive_read_support_filter_program.c | 2 +-
- libarchive/archive_read_support_filter_rpm.c | 2 +-
- libarchive/archive_read_support_filter_uu.c | 2 +-
- libarchive/archive_read_support_filter_xz.c | 6 +++---
- libarchive/archive_read_support_filter_zstd.c | 2 +-
- 15 files changed, 14 insertions(+), 20 deletions(-)
-
-diff --git a/libarchive/archive_read.c b/libarchive/archive_read.c
-index e844e42d..406d84de 100644
---- a/libarchive/archive_read.c
-+++ b/libarchive/archive_read.c
-@@ -1290,7 +1290,6 @@ __archive_read_register_format(struct archive_read *a,
- int
- __archive_read_register_bidder(struct archive_read *a,
- void *bidder_data,
-- const char *name,
- const struct archive_read_filter_bidder_vtable *vtable)
- {
- struct archive_read_filter_bidder *bidder;
-@@ -1307,7 +1306,6 @@ __archive_read_register_bidder(struct archive_read *a,
- memset(a->bidders + i, 0, sizeof(a->bidders[0]));
- bidder = (a->bidders + i);
- bidder->data = bidder_data;
-- bidder->name = name;
- bidder->vtable = vtable;
- if (bidder->vtable->bid == NULL || bidder->vtable->init == NULL) {
- archive_set_error(&a->archive, ARCHIVE_ERRNO_PROGRAMMER,
-diff --git a/libarchive/archive_read_append_filter.c b/libarchive/archive_read_append_filter.c
-index 9dd9f536..5cc8ff55 100644
---- a/libarchive/archive_read_append_filter.c
-+++ b/libarchive/archive_read_append_filter.c
-@@ -174,7 +174,6 @@ archive_read_append_filter_program_signature(struct archive *_a,
- __archive_read_free_filters(a);
- return (ARCHIVE_FATAL);
- }
-- b->name = a->filter->name;
-
- a->bypass_filter_bidding = 1;
- return r;
-diff --git a/libarchive/archive_read_private.h b/libarchive/archive_read_private.h
-index 3bd8de2d..e30b6c2b 100644
---- a/libarchive/archive_read_private.h
-+++ b/libarchive/archive_read_private.h
-@@ -68,8 +68,6 @@ struct archive_read_filter_bidder_vtable {
- struct archive_read_filter_bidder {
- /* Configuration data for the bidder. */
- void *data;
-- /* Name of the filter */
-- const char *name;
- const struct archive_read_filter_bidder_vtable *vtable;
- };
-
-@@ -250,7 +248,6 @@ int __archive_read_register_format(struct archive_read *a,
-
- int __archive_read_register_bidder(struct archive_read *a,
- void *bidder_data,
-- const char *name,
- const struct archive_read_filter_bidder_vtable *vtable);
-
- const void *__archive_read_ahead(struct archive_read *, size_t, ssize_t *);
-diff --git a/libarchive/archive_read_support_filter_bzip2.c b/libarchive/archive_read_support_filter_bzip2.c
-index 588953f2..1cfc55dc 100644
---- a/libarchive/archive_read_support_filter_bzip2.c
-+++ b/libarchive/archive_read_support_filter_bzip2.c
-@@ -91,7 +91,7 @@ archive_read_support_filter_bzip2(struct archive *_a)
- {
- struct archive_read *a = (struct archive_read *)_a;
-
-- if (__archive_read_register_bidder(a, NULL, "bzip2",
-+ if (__archive_read_register_bidder(a, NULL,
- &bzip2_bidder_vtable) != ARCHIVE_OK)
- return (ARCHIVE_FATAL);
-
-diff --git a/libarchive/archive_read_support_filter_compress.c b/libarchive/archive_read_support_filter_compress.c
-index 4e1f1dc5..4763995e 100644
---- a/libarchive/archive_read_support_filter_compress.c
-+++ b/libarchive/archive_read_support_filter_compress.c
-@@ -160,7 +160,7 @@ archive_read_support_filter_compress(struct archive *_a)
- {
- struct archive_read *a = (struct archive_read *)_a;
-
-- return __archive_read_register_bidder(a, NULL, "compress (.Z)",
-+ return __archive_read_register_bidder(a, NULL,
- &compress_bidder_vtable);
- }
-
-diff --git a/libarchive/archive_read_support_filter_grzip.c b/libarchive/archive_read_support_filter_grzip.c
-index 9d9ad46e..8457ec7c 100644
---- a/libarchive/archive_read_support_filter_grzip.c
-+++ b/libarchive/archive_read_support_filter_grzip.c
-@@ -62,7 +62,7 @@ archive_read_support_filter_grzip(struct archive *_a)
- {
- struct archive_read *a = (struct archive_read *)_a;
-
-- if (__archive_read_register_bidder(a, NULL, "grzip",
-+ if (__archive_read_register_bidder(a, NULL,
- &grzip_bidder_vtable) != ARCHIVE_OK)
- return (ARCHIVE_FATAL);
-
-diff --git a/libarchive/archive_read_support_filter_gzip.c b/libarchive/archive_read_support_filter_gzip.c
-index 89ae0f37..34b174b7 100644
---- a/libarchive/archive_read_support_filter_gzip.c
-+++ b/libarchive/archive_read_support_filter_gzip.c
-@@ -96,7 +96,7 @@ archive_read_support_filter_gzip(struct archive *_a)
- {
- struct archive_read *a = (struct archive_read *)_a;
-
-- if (__archive_read_register_bidder(a, NULL, "gzip",
-+ if (__archive_read_register_bidder(a, NULL,
- &gzip_bidder_vtable) != ARCHIVE_OK)
- return (ARCHIVE_FATAL);
-
-diff --git a/libarchive/archive_read_support_filter_lrzip.c b/libarchive/archive_read_support_filter_lrzip.c
-index 33910fe1..a1d45d77 100644
---- a/libarchive/archive_read_support_filter_lrzip.c
-+++ b/libarchive/archive_read_support_filter_lrzip.c
-@@ -61,7 +61,7 @@ archive_read_support_filter_lrzip(struct archive *_a)
- {
- struct archive_read *a = (struct archive_read *)_a;
-
-- if (__archive_read_register_bidder(a, NULL, "lrzip",
-+ if (__archive_read_register_bidder(a, NULL,
- &lrzip_bidder_vtable) != ARCHIVE_OK)
- return (ARCHIVE_FATAL);
-
-diff --git a/libarchive/archive_read_support_filter_lz4.c b/libarchive/archive_read_support_filter_lz4.c
-index 19086a1f..28189a07 100644
---- a/libarchive/archive_read_support_filter_lz4.c
-+++ b/libarchive/archive_read_support_filter_lz4.c
-@@ -118,7 +118,7 @@ archive_read_support_filter_lz4(struct archive *_a)
- {
- struct archive_read *a = (struct archive_read *)_a;
-
-- if (__archive_read_register_bidder(a, NULL, "lz4",
-+ if (__archive_read_register_bidder(a, NULL,
- &lz4_bidder_vtable) != ARCHIVE_OK)
- return (ARCHIVE_FATAL);
-
-diff --git a/libarchive/archive_read_support_filter_lzop.c b/libarchive/archive_read_support_filter_lzop.c
-index ebfaf01e..5a552fce 100644
---- a/libarchive/archive_read_support_filter_lzop.c
-+++ b/libarchive/archive_read_support_filter_lzop.c
-@@ -109,7 +109,7 @@ archive_read_support_filter_lzop(struct archive *_a)
- {
- struct archive_read *a = (struct archive_read *)_a;
-
-- if (__archive_read_register_bidder(a, NULL, "lzop",
-+ if (__archive_read_register_bidder(a, NULL,
- &lzop_bidder_vtable) != ARCHIVE_OK)
- return (ARCHIVE_FATAL);
-
-diff --git a/libarchive/archive_read_support_filter_program.c b/libarchive/archive_read_support_filter_program.c
-index cf7c3613..a9e02a32 100644
---- a/libarchive/archive_read_support_filter_program.c
-+++ b/libarchive/archive_read_support_filter_program.c
-@@ -156,7 +156,7 @@ archive_read_support_filter_program_signature(struct archive *_a,
- memcpy(state->signature, signature, signature_len);
- }
-
-- if (__archive_read_register_bidder(a, state, NULL,
-+ if (__archive_read_register_bidder(a, state,
- &program_bidder_vtable) != ARCHIVE_OK) {
- free_state(state);
- return (ARCHIVE_FATAL);
-diff --git a/libarchive/archive_read_support_filter_rpm.c b/libarchive/archive_read_support_filter_rpm.c
-index 01bd1bf7..1cfddf75 100644
---- a/libarchive/archive_read_support_filter_rpm.c
-+++ b/libarchive/archive_read_support_filter_rpm.c
-@@ -71,7 +71,7 @@ archive_read_support_filter_rpm(struct archive *_a)
- {
- struct archive_read *a = (struct archive_read *)_a;
-
-- return __archive_read_register_bidder(a, NULL, "rpm",
-+ return __archive_read_register_bidder(a, NULL,
- &rpm_bidder_vtable);
- }
-
-diff --git a/libarchive/archive_read_support_filter_uu.c b/libarchive/archive_read_support_filter_uu.c
-index c0f6f48e..10d49648 100644
---- a/libarchive/archive_read_support_filter_uu.c
-+++ b/libarchive/archive_read_support_filter_uu.c
-@@ -92,7 +92,7 @@ archive_read_support_filter_uu(struct archive *_a)
- {
- struct archive_read *a = (struct archive_read *)_a;
-
-- return __archive_read_register_bidder(a, NULL, "uu",
-+ return __archive_read_register_bidder(a, NULL,
- &uudecode_bidder_vtable);
- }
-
-diff --git a/libarchive/archive_read_support_filter_xz.c b/libarchive/archive_read_support_filter_xz.c
-index 7c8e0cb5..b00ba543 100644
---- a/libarchive/archive_read_support_filter_xz.c
-+++ b/libarchive/archive_read_support_filter_xz.c
-@@ -115,7 +115,7 @@ archive_read_support_filter_xz(struct archive *_a)
- {
- struct archive_read *a = (struct archive_read *)_a;
-
-- if (__archive_read_register_bidder(a, NULL, "xz",
-+ if (__archive_read_register_bidder(a, NULL,
- &xz_bidder_vtable) != ARCHIVE_OK)
- return (ARCHIVE_FATAL);
-
-@@ -147,7 +147,7 @@ archive_read_support_filter_lzma(struct archive *_a)
- {
- struct archive_read *a = (struct archive_read *)_a;
-
-- if (__archive_read_register_bidder(a, NULL, "lzma",
-+ if (__archive_read_register_bidder(a, NULL,
- &lzma_bidder_vtable) != ARCHIVE_OK)
- return (ARCHIVE_FATAL);
-
-@@ -180,7 +180,7 @@ archive_read_support_filter_lzip(struct archive *_a)
- {
- struct archive_read *a = (struct archive_read *)_a;
-
-- if (__archive_read_register_bidder(a, NULL, "lzip",
-+ if (__archive_read_register_bidder(a, NULL,
- &lzip_bidder_vtable) != ARCHIVE_OK)
- return (ARCHIVE_FATAL);
-
-diff --git a/libarchive/archive_read_support_filter_zstd.c b/libarchive/archive_read_support_filter_zstd.c
-index 12eac04c..163f54b5 100644
---- a/libarchive/archive_read_support_filter_zstd.c
-+++ b/libarchive/archive_read_support_filter_zstd.c
-@@ -87,7 +87,7 @@ archive_read_support_filter_zstd(struct archive *_a)
- {
- struct archive_read *a = (struct archive_read *)_a;
-
-- if (__archive_read_register_bidder(a, NULL, "zstd",
-+ if (__archive_read_register_bidder(a, NULL,
- &zstd_bidder_vtable) != ARCHIVE_OK)
- return (ARCHIVE_FATAL);
-
@@ -1,4 +1,4 @@
-From 2606336bce3a7f66cc6c8af28687a82536c9086c Mon Sep 17 00:00:00 2001
+From a20f942aa883a48021b66dc6a00cbae342ee67b9 Mon Sep 17 00:00:00 2001
From: Davide Beatrici <git@davidebeatrici.dev>
Date: Sun, 9 Aug 2026 14:14:59 -0700
Subject: [PATCH] libarchive: Convert RPM reader into a proper format
@@ -38,14 +38,14 @@ Signed-off-by: Sumanth Gavini <sumanth.gavini@windriver.com>
.../test_read_format_cpio_svr4_bzip2_rpm.c | 4 +-
.../test_read_format_cpio_svr4_gzip_rpm.c | 4 +-
libarchive/test/test_read_format_huge_rpm.c | 13 +-
- 15 files changed, 1169 insertions(+), 20 deletions(-)
+ 15 files changed, 1162 insertions(+), 15 deletions(-)
create mode 100644 libarchive/archive_read_support_format_rpm.c
diff --git a/Makefile.am b/Makefile.am
-index c96b3bc..725e20c 100644
+index 8bc70c5..487bef3 100644
--- a/Makefile.am
+++ b/Makefile.am
-@@ -210,6 +210,7 @@ libarchive_la_SOURCES= \
+@@ -212,6 +212,7 @@ libarchive_la_SOURCES= \
libarchive/archive_read_support_format_rar.c \
libarchive/archive_read_support_format_rar5.c \
libarchive/archive_read_support_format_raw.c \
@@ -54,7 +54,7 @@ index c96b3bc..725e20c 100644
libarchive/archive_read_support_format_warc.c \
libarchive/archive_read_support_format_xar.c \
diff --git a/contrib/android/Android.mk b/contrib/android/Android.mk
-index 9e1c72f..3d1f087 100644
+index f81dcb0..24af25e 100644
--- a/contrib/android/Android.mk
+++ b/contrib/android/Android.mk
@@ -91,6 +91,7 @@ libarchive_src_files := libarchive/archive_acl.c \
@@ -66,7 +66,7 @@ index 9e1c72f..3d1f087 100644
libarchive/archive_read_support_format_warc.c \
libarchive/archive_read_support_format_xar.c \
diff --git a/libarchive/CMakeLists.txt b/libarchive/CMakeLists.txt
-index b296637..d132123 100644
+index ac039c1..34ba173 100644
--- a/libarchive/CMakeLists.txt
+++ b/libarchive/CMakeLists.txt
@@ -110,6 +110,7 @@ SET(libarchive_SOURCES
@@ -78,10 +78,10 @@ index b296637..d132123 100644
archive_read_support_format_warc.c
archive_read_support_format_xar.c
diff --git a/libarchive/archive.h b/libarchive/archive.h
-index a7de6f6..89c60b3 100644
+index 19b316a..f04a747 100644
--- a/libarchive/archive.h
+++ b/libarchive/archive.h
-@@ -314,7 +314,9 @@ typedef const char *archive_passphrase_callback(struct archive *,
+@@ -316,7 +316,9 @@ typedef const char *archive_passphrase_callback(struct archive *,
#define ARCHIVE_FILTER_LZMA 5
#define ARCHIVE_FILTER_XZ 6
#define ARCHIVE_FILTER_UU 7
@@ -91,7 +91,7 @@ index a7de6f6..89c60b3 100644
#define ARCHIVE_FILTER_LZIP 9
#define ARCHIVE_FILTER_LRZIP 10
#define ARCHIVE_FILTER_LZOP 11
-@@ -385,6 +387,7 @@ typedef const char *archive_passphrase_callback(struct archive *,
+@@ -387,6 +389,7 @@ typedef const char *archive_passphrase_callback(struct archive *,
#define ARCHIVE_FORMAT_7ZIP 0xE0000
#define ARCHIVE_FORMAT_WARC 0xF0000
#define ARCHIVE_FORMAT_RAR_V5 0x100000
@@ -99,7 +99,7 @@ index a7de6f6..89c60b3 100644
/*
* Codes returned by archive_read_format_capabilities().
-@@ -478,7 +481,9 @@ __LA_DECL int archive_read_support_filter_program(struct archive *,
+@@ -480,7 +483,9 @@ __LA_DECL int archive_read_support_filter_program(struct archive *,
__LA_DECL int archive_read_support_filter_program_signature
(struct archive *, const char * /* cmd */,
const void * /* match */, size_t);
@@ -109,7 +109,7 @@ index a7de6f6..89c60b3 100644
__LA_DECL int archive_read_support_filter_uu(struct archive *);
__LA_DECL int archive_read_support_filter_xz(struct archive *);
__LA_DECL int archive_read_support_filter_zstd(struct archive *);
-@@ -499,6 +504,7 @@ __LA_DECL int archive_read_support_format_mtree(struct archive *);
+@@ -501,6 +506,7 @@ __LA_DECL int archive_read_support_format_mtree(struct archive *);
__LA_DECL int archive_read_support_format_rar(struct archive *);
__LA_DECL int archive_read_support_format_rar5(struct archive *);
__LA_DECL int archive_read_support_format_raw(struct archive *);
@@ -118,10 +118,10 @@ index a7de6f6..89c60b3 100644
__LA_DECL int archive_read_support_format_warc(struct archive *);
__LA_DECL int archive_read_support_format_xar(struct archive *);
diff --git a/libarchive/archive_read.c b/libarchive/archive_read.c
-index 406d84d..150bd31 100644
+index 2f006fb..5c51df5 100644
--- a/libarchive/archive_read.c
+++ b/libarchive/archive_read.c
-@@ -1296,13 +1296,18 @@ __archive_read_register_bidder(struct archive_read *a,
+@@ -1297,13 +1297,18 @@ __archive_read_register_bidder(struct archive_read *a,
int i, number_slots;
archive_check_magic(&a->archive, ARCHIVE_READ_MAGIC,
@@ -143,10 +143,10 @@ index 406d84d..150bd31 100644
bidder = (a->bidders + i);
bidder->data = bidder_data;
diff --git a/libarchive/archive_read_private.h b/libarchive/archive_read_private.h
-index e30b6c2..9ff3602 100644
+index 43b7f85..9b27655 100644
--- a/libarchive/archive_read_private.h
+++ b/libarchive/archive_read_private.h
-@@ -212,7 +212,7 @@ struct archive_read {
+@@ -208,7 +208,7 @@ struct archive_read {
int (*cleanup)(struct archive_read *);
int (*format_capabilties)(struct archive_read *);
int (*has_encrypted_entries)(struct archive_read *);
@@ -1344,7 +1344,7 @@ index 0000000..fe0e500
+ free(hash);
+}
diff --git a/libarchive/test/test_archive_read_support.c b/libarchive/test/test_archive_read_support.c
-index b0c9280..bc256a1 100644
+index ff03c0f..1bef2f7 100644
--- a/libarchive/test/test_archive_read_support.c
+++ b/libarchive/test/test_archive_read_support.c
@@ -91,6 +91,7 @@ DEFINE_TEST(test_archive_read_support)
@@ -1,4 +1,4 @@
-From 882166d7fa113f0c2108864b8a579d01816e1fce Mon Sep 17 00:00:00 2001
+From b367b31b5b764e15c8d484a75c790b6ffa1e20d8 Mon Sep 17 00:00:00 2001
From: Sumanth Gavini <sumanth.gavini@windriver.com>
Date: Tue, 11 Aug 2026 12:02:31 -0700
Subject: [PATCH] libarchive: Disable RPM filter auto-bidding
@@ -20,7 +20,7 @@ Signed-off-by: Sumanth Gavini <sumanth.gavini@windriver.com>
1 file changed, 6 insertions(+), 31 deletions(-)
diff --git a/libarchive/archive_read_support_filter_rpm.c b/libarchive/archive_read_support_filter_rpm.c
-index 01bd1bf..8e90da3 100644
+index 1cfddf7..a9b6ef8 100644
--- a/libarchive/archive_read_support_filter_rpm.c
+++ b/libarchive/archive_read_support_filter_rpm.c
@@ -79,39 +79,14 @@ static int
@@ -69,5 +69,3 @@ index 01bd1bf..8e90da3 100644
}
static const struct archive_read_filter_vtable
-2.49.0
similarity index 90%
rename from meta/recipes-extended/libarchive/libarchive_3.8.9.bb
rename to meta/recipes-extended/libarchive/libarchive_3.8.10.bb
@@ -31,16 +31,12 @@ EXTRA_OECONF += "--enable-largefile --without-iconv"
SRC_URI = "https://libarchive.org/downloads/libarchive-${PV}.tar.gz \
file://run-ptest \
- file://0001-append_filter-Use-last-bidder-for-filter.patch \
- file://0001-test-skip-ppmd8-aes256-streaming-test-when-no-crypto.patch \
- file://0001-append_filter-Verify-that-bidder-and-filter-match.patch \
- file://0003-Remove-bidder-name.patch \
file://0004-Convert-RPM-reader-into-a-proper-format.patch \
file://0005-Disable-RPM-filter-auto-bidding.patch \
- "
+ "
UPSTREAM_CHECK_URI = "https://www.libarchive.org/"
-SRC_URI[sha256sum] = "f5a6539059cf5e597dbeda37bfa4874b1e8dea063c8d93bf85a2b44af90a5bd4"
+SRC_URI[sha256sum] = "a1bffbe5152cfe869751179e7b16648c87c461cb8c46eee75062efbe164cc57c"
inherit autotools update-alternatives pkgconfig ptest
Hello, this email is a notification from the Auto Upgrade Helper that the automatic attempt to upgrade the recipe(s) *libarchive* to *3.8.10* has Succeeded. Next steps: - apply the patch: git am 0001-libarchive-upgrade-3.8.9-3.8.10.patch - check the changes to upstream patches and summarize them in the commit message, - compile an image that contains the package - perform some basic sanity tests - amend the patch and sign it off: git commit -s --reset-author --amend - send it to the appropriate mailing list Alternatively, if you believe the recipe should not be upgraded at this time, you can fill RECIPE_NO_UPDATE_REASON in respective recipe file so that automatic upgrades would no longer be attempted. Please review the attached files for further information and build/update failures. Any problem please file a bug at https://bugzilla.yoctoproject.org/enter_bug.cgi?product=Automated%20Update%20Handler Regards, The Upgrade Helper -- >8 -- From 42c7e1c7222542f91be22f57a7b6c05b12c38c42 Mon Sep 17 00:00:00 2001 From: Upgrade Helper <auh@yoctoproject.org> Date: Fri, 16 Oct 2026 06:00:04 +0000 Subject: [PATCH] libarchive: upgrade 3.8.9 -> 3.8.10 Oct 14, 2026: libarchive 3.8.10 released --- ...nd_filter-Use-last-bidder-for-filter.patch | 188 ------------- ...-Verify-that-bidder-and-filter-match.patch | 103 ------- ...aes256-streaming-test-when-no-crypto.patch | 46 ---- .../libarchive/0003-Remove-bidder-name.patch | 258 ------------------ ...vert-RPM-reader-into-a-proper-format.patch | 32 +-- ...0005-Disable-RPM-filter-auto-bidding.patch | 6 +- ...barchive_3.8.9.bb => libarchive_3.8.10.bb} | 8 +- 7 files changed, 20 insertions(+), 621 deletions(-) delete mode 100644 meta/recipes-extended/libarchive/libarchive/0001-append_filter-Use-last-bidder-for-filter.patch delete mode 100644 meta/recipes-extended/libarchive/libarchive/0001-append_filter-Verify-that-bidder-and-filter-match.patch delete mode 100644 meta/recipes-extended/libarchive/libarchive/0001-test-skip-ppmd8-aes256-streaming-test-when-no-crypto.patch delete mode 100644 meta/recipes-extended/libarchive/libarchive/0003-Remove-bidder-name.patch rename meta/recipes-extended/libarchive/{libarchive_3.8.9.bb => libarchive_3.8.10.bb} (90%)