]> git.ipfire.org Git - pakfire.git/commitdiff
archive writer: Directly pass the context
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 29 Jun 2025 13:00:08 +0000 (13:00 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 29 Jun 2025 13:00:08 +0000 (13:00 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/pakfire/archive_writer.c
src/pakfire/archive_writer.h
src/pakfire/oci.c
src/pakfire/packager.c

index 428ef6320e4b296b9d8e3af919c7554105a67372..34f0b394f2e746cab687ea7a69bd72a35247e2b8 100644 (file)
@@ -31,6 +31,7 @@
 #include <archive_entry.h>
 
 #include <pakfire/archive_writer.h>
+#include <pakfire/ctx.h>
 #include <pakfire/file.h>
 #include <pakfire/filelist.h>
 #include <pakfire/hashes.h>
@@ -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);
index 379838f2c4e4ff8678d8784a89703f541ade5241..42e33915774d8ef102bdafc87598b8eab030adda 100644 (file)
@@ -26,6 +26,7 @@
 // json-c
 #include <json.h>
 
+#include <pakfire/ctx.h>
 #include <pakfire/filelist.h>
 #include <pakfire/root.h>
 
@@ -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);
index 4355425a672a76d6f7e086eaa7ddd1c38f6a4840..28608ecd1cfaeb813f8046f23480e7ee9dec7073 100644 (file)
@@ -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;
 
index 947b4ad2fd713781bc09c8d30887794c29ae8909..4e55e8d1ee988a3d8d4bf149fb1454051065e838 100644 (file)
@@ -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;