goto ERROR;
// Get the package object
- r = pakfire_parser_create_package(makefile, &pkg, repo, NULL);
+ r = pakfire_parser_create_package(makefile, &pkg, repo, NULL, "src");
if (r)
goto ERROR;
- // Set architecture to source
- pakfire_package_set_arch(pkg, "src");
-
// Create a packager
r = pakfire_packager_create(&packager, pkg);
if (r)
int pakfire_parser_set_namespace(PakfireParser parser, const char* namespace);
int pakfire_parser_create_package(PakfireParser parser,
- PakfirePackage* pkg, PakfireRepo repo, const char* namespace);
+ PakfirePackage* pkg, PakfireRepo repo, const char* namespace, const char* default_arch);
// Errors
int pakfire_parser_error_create(struct pakfire_parser_error** error,
}
PAKFIRE_EXPORT int pakfire_parser_create_package(PakfireParser parser,
- PakfirePackage* pkg, PakfireRepo repo, const char* namespace) {
+ PakfirePackage* pkg, PakfireRepo repo, const char* namespace, const char* default_arch) {
int r = 1;
char* name = NULL;
// Fetch arch
arch = pakfire_parser_get(parser, namespace, "arch");
if (!arch || !*arch) {
- ERROR(parser->pakfire, "Arch is empty\n");
- goto CLEANUP;
+ if (default_arch) {
+ arch = strdup(default_arch);
+ if (!arch)
+ goto CLEANUP;
+ } else {
+ ERROR(parser->pakfire, "Arch is empty\n");
+ goto CLEANUP;
+ }
}
// Compile EVR
ASSERT(r == 0);
// Create package
- r = pakfire_parser_create_package(parser, &pkg, repo, NULL);
+ r = pakfire_parser_create_package(parser, &pkg, repo, NULL, NULL);
ASSERT(r == 0);
ASSERT(pkg);