]> git.ipfire.org Git - pakfire.git/commitdiff
archive writer: Create a new type for the archive writer
authorMichael Tremer <michael.tremer@ipfire.org>
Fri, 27 Jun 2025 10:29:21 +0000 (10:29 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 27 Jun 2025 10:29:21 +0000 (10:29 +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 b5a6ad25adfa9826ee80c68f5aed1ee2b424d032..5fffc6111df3b8fecd2397be9512acc099604f34 100644 (file)
@@ -84,7 +84,7 @@ struct pakfire_archive_writer {
  * This function configures this object depending on the format.
  */
 static int pakfire_archive_writer_setup_format(
-               struct pakfire_archive_writer* self, pakfire_archive_writer_format format) {
+               pakfire_archive_writer* self, pakfire_archive_writer_format format) {
        switch (format) {
                // The Pakfire Archive Format
                case PAKFIRE_FORMAT_ARCHIVE:
@@ -144,7 +144,7 @@ static int pakfire_archive_writer_setup_format(
        return 0;
 }
 
-static int pakfire_archive_writer_setup_archive(struct pakfire_archive_writer* self) {
+static int pakfire_archive_writer_setup_archive(pakfire_archive_writer* self) {
        char value[64];
        int r;
 
@@ -242,7 +242,7 @@ static int pakfire_archive_writer_setup_archive(struct pakfire_archive_writer* s
        return 0;
 }
 
-static int pakfire_archive_writer_setup_linkresolver(struct pakfire_archive_writer* self) {
+static int pakfire_archive_writer_setup_linkresolver(pakfire_archive_writer* self) {
        // Setup the link resolver
        self->linkresolver = archive_entry_linkresolver_new();
        if (!self->linkresolver) {
@@ -257,7 +257,7 @@ static int pakfire_archive_writer_setup_linkresolver(struct pakfire_archive_writ
        return 0;
 }
 
-static void pakfire_archive_writer_free(struct pakfire_archive_writer* self) {
+static void pakfire_archive_writer_free(pakfire_archive_writer* self) {
        if (self->linkresolver)
                archive_entry_linkresolver_free(self->linkresolver);
        if (self->progress)
@@ -271,9 +271,9 @@ static void pakfire_archive_writer_free(struct pakfire_archive_writer* self) {
        free(self);
 }
 
-int pakfire_archive_writer_create(struct pakfire_archive_writer** writer,
+int pakfire_archive_writer_create(pakfire_archive_writer** writer,
                struct pakfire* pakfire, pakfire_archive_writer_format format, FILE* f) {
-       struct pakfire_archive_writer* self = NULL;
+       pakfire_archive_writer* self = NULL;
        int r;
 
        // Allocate some memory
@@ -334,13 +334,13 @@ ERROR:
        return r;
 }
 
-struct pakfire_archive_writer* pakfire_archive_writer_ref(struct pakfire_archive_writer* self) {
+pakfire_archive_writer* pakfire_archive_writer_ref(pakfire_archive_writer* self) {
        ++self->nrefs;
 
        return self;
 }
 
-struct pakfire_archive_writer* pakfire_archive_writer_unref(struct pakfire_archive_writer* self) {
+pakfire_archive_writer* pakfire_archive_writer_unref(pakfire_archive_writer* self) {
        if (--self->nrefs > 0)
                return self;
 
@@ -348,7 +348,7 @@ struct pakfire_archive_writer* pakfire_archive_writer_unref(struct pakfire_archi
        return NULL;
 }
 
-int pakfire_archive_writer_set_title(struct pakfire_archive_writer* self,
+int pakfire_archive_writer_set_title(pakfire_archive_writer* self,
                const char* format, ...) {
        char buffer[128];
        va_list args;
@@ -365,7 +365,7 @@ int pakfire_archive_writer_set_title(struct pakfire_archive_writer* self,
 }
 
 static int pakfire_archive_writer_write_payload(
-               struct pakfire_archive_writer* self, FILE* f) {
+               pakfire_archive_writer* self, FILE* f) {
        ssize_t bytes_written = 0;
        ssize_t bytes_read = 0;
        char buffer[64 * 1024];
@@ -394,7 +394,7 @@ static int pakfire_archive_writer_write_payload(
        return 0;
 }
 
-static int pakfire_archive_writer_write_entry(struct pakfire_archive_writer* self,
+static int pakfire_archive_writer_write_entry(pakfire_archive_writer* self,
                struct pakfire_file* file, struct archive_entry* entry) {
        FILE* f = NULL;
        int r;
@@ -455,7 +455,7 @@ ERROR:
 
 static int pakfire_archive_writer_write_file(
                pakfire_ctx* ctx, struct pakfire_file* file, void* data) {
-       struct pakfire_archive_writer* self = data;
+       pakfire_archive_writer* self = data;
        struct archive_entry* sparse_entry = NULL;
        struct archive_entry* entry = NULL;
        int r = 0;
@@ -519,7 +519,7 @@ ERROR:
 }
 
 int pakfire_archive_writer_write_files(
-               struct pakfire_archive_writer* self, struct pakfire_filelist* files) {
+               pakfire_archive_writer* self, struct pakfire_filelist* files) {
        int r;
 
        // Fetch the total amount of data we are going to write
@@ -551,7 +551,7 @@ ERROR:
 }
 
 int pakfire_archive_writer_write_everything(
-               struct pakfire_archive_writer* self, const char* root) {
+               pakfire_archive_writer* self, const char* root) {
        struct pakfire_filelist* files = NULL;
        int r;
 
@@ -577,7 +577,7 @@ ERROR:
        return r;
 }
 
-static int pakfire_archive_writer_create_entry(struct pakfire_archive_writer* self,
+static int pakfire_archive_writer_create_entry(pakfire_archive_writer* self,
                struct archive_entry** entry, const char* path, const mode_t mode, const size_t length) {
        struct archive_entry* e = NULL;
        int r;
@@ -625,7 +625,7 @@ ERROR:
 /*
  * Creates a new file and writes it to the archive.
  */
-int pakfire_archive_writer_create_file(struct pakfire_archive_writer* self,
+int pakfire_archive_writer_create_file(pakfire_archive_writer* self,
                const char* path, mode_t mode, const char* payload, const size_t length) {
        struct archive_entry* entry = NULL;
        int r;
@@ -670,7 +670,7 @@ ERROR:
 }
 
 int pakfire_archive_writer_create_file_from_json(
-               struct pakfire_archive_writer* self, const char* path, mode_t mode, struct json_object* json) {
+               pakfire_archive_writer* self, const char* path, mode_t mode, struct json_object* json) {
        const char* buffer = NULL;
        size_t length = 0;
 
@@ -690,7 +690,7 @@ int pakfire_archive_writer_create_file_from_json(
 }
 
 int pakfire_archive_writer_create_file_from_file(
-               struct pakfire_archive_writer* self, const char* path, mode_t mode, FILE* f) {
+               pakfire_archive_writer* self, const char* path, mode_t mode, FILE* f) {
        struct archive_entry* entry = NULL;
        struct stat st = {};
        int r;
index 8e9faa0d78c85223063fc6ad78c63badd01f8175..7c13a769999a675e289b104783c12bea1f990486 100644 (file)
@@ -29,7 +29,7 @@
 #include <pakfire/filelist.h>
 #include <pakfire/pakfire.h>
 
-struct pakfire_archive_writer;
+typedef struct pakfire_archive_writer pakfire_archive_writer;
 
 typedef enum pakfire_archive_writer_formats {
        PAKFIRE_FORMAT_ARCHIVE,
@@ -40,26 +40,26 @@ typedef enum pakfire_archive_writer_formats {
        PAKFIRE_FORMAT_OCI_LAYER,
 } pakfire_archive_writer_format;
 
-int pakfire_archive_writer_create(struct pakfire_archive_writer** writer,
+int pakfire_archive_writer_create(pakfire_archive_writer** writer,
                struct pakfire* pakfire, pakfire_archive_writer_format format, FILE* f);
 
-struct pakfire_archive_writer* pakfire_archive_writer_ref(struct pakfire_archive_writer* self);
-struct pakfire_archive_writer* pakfire_archive_writer_unref(struct pakfire_archive_writer* self);
+pakfire_archive_writer* pakfire_archive_writer_ref(pakfire_archive_writer* self);
+pakfire_archive_writer* pakfire_archive_writer_unref(pakfire_archive_writer* self);
 
-int pakfire_archive_writer_set_title(struct pakfire_archive_writer* self,
+int pakfire_archive_writer_set_title(pakfire_archive_writer* self,
        const char* format, ...) __attribute__((format(printf, 2, 3)));
 
 int pakfire_archive_writer_write_files(
-       struct pakfire_archive_writer* self, struct pakfire_filelist* files);
+       pakfire_archive_writer* self, struct pakfire_filelist* files);
 
 int pakfire_archive_writer_write_everything(
-       struct pakfire_archive_writer* self, const char* root);
+       pakfire_archive_writer* self, const char* root);
 
-int pakfire_archive_writer_create_file(struct pakfire_archive_writer* self,
+int pakfire_archive_writer_create_file(pakfire_archive_writer* self,
        const char* path, mode_t mode, const char* payload, const size_t length);
-int pakfire_archive_writer_create_file_from_json(struct pakfire_archive_writer* self,
+int pakfire_archive_writer_create_file_from_json(pakfire_archive_writer* self,
        const char* path, mode_t mode, struct json_object* json);
 int pakfire_archive_writer_create_file_from_file(
-       struct pakfire_archive_writer* self, const char* path, mode_t mode, FILE* f);
+       pakfire_archive_writer* self, const char* path, mode_t mode, FILE* f);
 
 #endif /* PAKFIRE_ARCHIVE_WRITER_H */
index adecfe6b6644e9e718eb74a144225cbeb2d5ff37..11891b8c9fda87a3b0e3e2f9ea13835d63957645 100644 (file)
@@ -47,7 +47,7 @@ struct pakfire_oci_writer {
        struct pakfire* pakfire;
 
        // Image writer
-       struct pakfire_archive_writer* image;
+       pakfire_archive_writer* image;
 
        // Diff ID of the base layer
        char* diffid;
@@ -420,7 +420,7 @@ ERROR:
 
 static int pakfire_oci_writer_make_layer(struct pakfire_oci_writer* self) {
        char path[PATH_MAX] = PAKFIRE_TMP_DIR "/pakfire-oci-layer.XXXXXX";
-       struct pakfire_archive_writer* layer = NULL;
+       pakfire_archive_writer* layer = NULL;
        struct pakfire_hashes hashes = {};
        struct json_object* json = NULL;
        char filename[PATH_MAX];
index 122688071c1e295bb28d2d992c6721a57137c839..d26a5335fd04b568b8b6ba68d3a22a7d3f4865d1 100644 (file)
@@ -221,7 +221,7 @@ struct pakfire_packager* pakfire_packager_unref(
 }
 
 static int pakfire_packager_write_format(struct pakfire_packager* packager,
-               struct pakfire_archive_writer* writer) {
+               pakfire_archive_writer* writer) {
        const char format[] = TO_STRING(PACKAGE_FORMAT) "\n";
        int r;
 
@@ -245,7 +245,7 @@ static int pakfire_packager_write_format(struct pakfire_packager* packager,
 }
 
 static int pakfire_packager_write_metadata(struct pakfire_packager* packager,
-               struct pakfire_archive_writer* writer) {
+               pakfire_archive_writer* writer) {
        struct json_object* md = NULL;
        int r;
 
@@ -271,7 +271,7 @@ ERROR:
 }
 
 static int pakfire_packager_write_scriptlet(struct pakfire_packager* packager,
-               struct pakfire_archive_writer* writer, struct pakfire_scriptlet* scriptlet) {
+               pakfire_archive_writer* writer, struct pakfire_scriptlet* scriptlet) {
        char filename[PATH_MAX];
        size_t size;
        int r;
@@ -299,7 +299,7 @@ static int pakfire_packager_write_scriptlet(struct pakfire_packager* packager,
        It will create a new archive and write the package to the given file descriptor.
 */
 int pakfire_packager_finish(struct pakfire_packager* packager, FILE* f) {
-       struct pakfire_archive_writer* writer = NULL;
+       pakfire_archive_writer* writer = NULL;
        int r;
 
        // Fetch nevra