]> git.ipfire.org Git - pakfire.git/commitdiff
packager: Directly pass the context
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 29 Jun 2025 13:50:25 +0000 (13:50 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 29 Jun 2025 13:50:25 +0000 (13:50 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/pakfire/build.c
src/pakfire/dist.c
src/pakfire/packager.c
src/pakfire/packager.h
tests/libpakfire/packager.c

index 4f026416c4a4437200c2d2e893022f79fe85cfcb..a4d134abc929e488dcd75060ae504c78557fd7fd 100644 (file)
@@ -1273,7 +1273,7 @@ static int pakfire_build_package(pakfire_build* build, pakfire_parser* makefile,
                goto ERROR;
 
        // Create a packager
-       r = pakfire_packager_create(&packager, build->root, pkg);
+       r = pakfire_packager_create(&packager, build->ctx, build->root, pkg);
        if (r)
                goto ERROR;
 
index a523fa83d84385e5a2daeb0dfc9169b63ec0be7e..107036f8c475b4a2a52529519caf9c57a6a25158 100644 (file)
@@ -473,7 +473,7 @@ int pakfire_dist(pakfire_ctx* ctx, pakfire_root* root, const char* path, pakfire
                goto ERROR;
 
        // Create a packager
-       r = pakfire_packager_create(&packager, root, pkg);
+       r = pakfire_packager_create(&packager, ctx, root, pkg);
        if (r)
                goto ERROR;
 
index 5472208953eb3e376c87bf5df6678dd22eea3888..dacc0ef8509c8fcc6c40ae3820e65116b05ae28b 100644 (file)
@@ -92,7 +92,7 @@ static void pakfire_packager_free(pakfire_packager* packager) {
 }
 
 int pakfire_packager_create(pakfire_packager** packager,
-               pakfire_root* root, pakfire_package* pkg) {
+               pakfire_ctx* ctx, pakfire_root* root, pakfire_package* pkg) {
        pakfire_packager* p = NULL;
        char hostname[HOST_NAME_MAX];
        int r = 1;
@@ -109,7 +109,7 @@ int pakfire_packager_create(pakfire_packager** packager,
        p->nrefs = 1;
 
        // Store a reference to the context
-       p->ctx = pakfire_root_get_ctx(root);
+       p->ctx = pakfire_ctx_ref(ctx);
 
        // Store a reference to Pakfire
        p->root = pakfire_root_ref(root);
index 4e33ca16d882c7aa9298c09372bbad3243e81d63..0b0b5a2b5030a8a0b5d7e087cc7e00faf3242030 100644 (file)
@@ -21,6 +21,7 @@
 #ifndef PAKFIRE_PACKAGER_H
 #define PAKFIRE_PACKAGER_H
 
+#include <pakfire/ctx.h>
 #include <pakfire/file.h>
 #include <pakfire/filelist.h>
 #include <pakfire/hashes.h>
@@ -32,7 +33,7 @@
 typedef struct pakfire_packager pakfire_packager;
 
 int pakfire_packager_create(pakfire_packager** packager,
-       pakfire_root* root, pakfire_package* pkg);
+       pakfire_ctx* ctx, pakfire_root* root, pakfire_package* pkg);
 
 pakfire_packager* pakfire_packager_ref(pakfire_packager* packager);
 pakfire_packager* pakfire_packager_unref(pakfire_packager* packager);
index 6172fea1c27f41d9af48ea181c6d8c5823ec8041..5ccadde4dd093246e0820aff5c2ac725f930e720 100644 (file)
@@ -40,7 +40,7 @@ static int test_create(const struct test* t) {
                        "test", "1.0-1", "src"));
 
        // Create packager
-       ASSERT_SUCCESS(pakfire_packager_create(&packager, t->root, pkg));
+       ASSERT_SUCCESS(pakfire_packager_create(&packager, t->ctx, t->root, pkg));
 
        // Add a file to the package
        const char* path = TEST_SRC_PATH "data/beep-1.3-2.ip3.x86_64.pfm";
@@ -86,7 +86,7 @@ static int test_compare_metadata(const struct test* t) {
        pakfire_package_set_string(pkg1, PAKFIRE_PKG_DESCRIPTION, "DESCRIPTION");
 
        // Create packager
-       ASSERT_SUCCESS(pakfire_packager_create(&packager, t->root, pkg1));
+       ASSERT_SUCCESS(pakfire_packager_create(&packager, t->ctx, t->root, pkg1));
 
        // Write archive
        FILE* f = test_mktemp(&path);