]> git.ipfire.org Git - pakfire.git/commitdiff
dist: Include build dependencies in source packages
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 21 Apr 2021 16:12:14 +0000 (16:12 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 21 Apr 2021 16:12:14 +0000 (16:12 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/parser.c

index d82a81209359ea272c4a67a0d5aee5cebbf9cc9c..7b17a271274c654bc7f8e834be1563ba691e441a 100644 (file)
@@ -794,6 +794,9 @@ PAKFIRE_EXPORT int pakfire_parser_create_package(PakfireParser parser,
                goto CLEANUP;
        }
 
+       // Is this a source package?
+       int is_source = pakfire_package_is_source(*pkg);
+
        // Assign a new UUID to this package
        char* uuid = pakfire_generate_uuid();
        if (!uuid) {
@@ -843,6 +846,24 @@ PAKFIRE_EXPORT int pakfire_parser_create_package(PakfireParser parser,
                free(value);
        }
 
+       if (is_source) {
+               PakfireRelationList list;
+
+               // Fetch build dependencies
+               char* requires = pakfire_parser_get(parser, "build", "requires");
+
+               if (requires && *requires) {
+                       r = pakfire_relationlist_create_from_string(&list, parser->pakfire, requires);
+                       if (r) {
+                               pakfire_relationlist_unref(list);
+                               goto CLEANUP;
+                       }
+
+                       pakfire_package_set_requires(*pkg, list);
+                       pakfire_relationlist_unref(list);
+               }
+       }
+
        // All okay
        r = 0;