From: Michael Tremer Date: Sun, 29 Jun 2025 13:00:08 +0000 (+0000) Subject: archive writer: Directly pass the context X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=eb2f0a2df82c754605793605723ff028b06e1515;p=pakfire.git archive writer: Directly pass the context Signed-off-by: Michael Tremer --- diff --git a/src/pakfire/archive_writer.c b/src/pakfire/archive_writer.c index 428ef632..34f0b394 100644 --- a/src/pakfire/archive_writer.c +++ b/src/pakfire/archive_writer.c @@ -31,6 +31,7 @@ #include #include +#include #include #include #include @@ -272,7 +273,7 @@ static void pakfire_archive_writer_free(pakfire_archive_writer* self) { } int pakfire_archive_writer_create(pakfire_archive_writer** writer, - pakfire_root* root, pakfire_archive_writer_format format, FILE* f) { + pakfire_ctx* ctx, pakfire_root* root, pakfire_archive_writer_format format, FILE* f) { pakfire_archive_writer* self = NULL; int r; @@ -282,7 +283,7 @@ int pakfire_archive_writer_create(pakfire_archive_writer** writer, return -errno; // Store a reference to the context - self->ctx = pakfire_root_get_ctx(root); + self->ctx = pakfire_ctx_ref(ctx); // Store a reference to the root self->root = pakfire_root_ref(root); diff --git a/src/pakfire/archive_writer.h b/src/pakfire/archive_writer.h index 379838f2..42e33915 100644 --- a/src/pakfire/archive_writer.h +++ b/src/pakfire/archive_writer.h @@ -26,6 +26,7 @@ // json-c #include +#include #include #include @@ -41,7 +42,7 @@ typedef enum pakfire_archive_writer_formats { } pakfire_archive_writer_format; int pakfire_archive_writer_create(pakfire_archive_writer** writer, - pakfire_root* root, pakfire_archive_writer_format format, FILE* f); + pakfire_ctx* ctx, pakfire_root* root, pakfire_archive_writer_format format, FILE* f); pakfire_archive_writer* pakfire_archive_writer_ref(pakfire_archive_writer* self); pakfire_archive_writer* pakfire_archive_writer_unref(pakfire_archive_writer* self); diff --git a/src/pakfire/oci.c b/src/pakfire/oci.c index 4355425a..28608ecd 100644 --- a/src/pakfire/oci.c +++ b/src/pakfire/oci.c @@ -444,7 +444,7 @@ static int pakfire_oci_writer_make_layer(struct pakfire_oci_writer* self) { unlink(path); // Make a new archive writer - r = pakfire_archive_writer_create(&layer, self->root, PAKFIRE_FORMAT_OCI_LAYER, f); + r = pakfire_archive_writer_create(&layer, self->ctx, self->root, PAKFIRE_FORMAT_OCI_LAYER, f); if (r < 0) goto ERROR; @@ -582,7 +582,7 @@ int pakfire_oci_mkimage(pakfire_ctx* ctx, pakfire_root* root, FILE* f) { } // Make a new archive writer - r = pakfire_archive_writer_create(&writer.image, root, PAKFIRE_FORMAT_OCI, f); + r = pakfire_archive_writer_create(&writer.image, ctx, root, PAKFIRE_FORMAT_OCI, f); if (r < 0) goto ERROR; diff --git a/src/pakfire/packager.c b/src/pakfire/packager.c index 947b4ad2..4e55e8d1 100644 --- a/src/pakfire/packager.c +++ b/src/pakfire/packager.c @@ -330,7 +330,8 @@ int pakfire_packager_finish(pakfire_packager* packager, FILE* f) { goto ERROR; // Create a new archive writer - r = pakfire_archive_writer_create(&writer, packager->root, PAKFIRE_FORMAT_SOURCE_ARCHIVE, f); + r = pakfire_archive_writer_create(&writer, + packager->ctx, packager->root, PAKFIRE_FORMAT_SOURCE_ARCHIVE, f); if (r < 0) goto ERROR;