char path[PATH_MAX];
};
+static int pakfire_package_add_self_provides(struct pakfire* pakfire,
+ struct pakfire_package* pkg, const char* name, const char* evr) {
+ char* buffer = NULL;
+ int r;
+
+ // Format the relation
+ r = asprintf(&buffer, "%s = %s", name, evr);
+ if (r < 0)
+ return r;
+
+ // Add it to the package
+ r = pakfire_package_add_dep(pkg, PAKFIRE_PKG_PROVIDES, buffer);
+
+ free(buffer);
+
+ return r;
+}
+
int pakfire_package_create_from_solvable(struct pakfire_package** package,
struct pakfire* pakfire, Id id) {
struct pakfire_package* pkg = calloc(1, sizeof(*pkg));
goto ERROR;
}
+ // Add self-provides
+ r = pakfire_package_add_self_provides(pakfire, *package, name, evr);
+ if (r) {
+ ERROR(pakfire, "Could not create self-provides: %m\n");
+ goto ERROR;
+ }
+
ERROR:
if (dummy)
pakfire_repo_unref(dummy);