static int pakfire_package_append_file(struct pakfire_package* pkg, const char* path) {
// Fetch repodata
struct pakfire_repo* repo = pakfire_package_get_repo(pkg);
+ if (!repo) {
+ ERROR(pkg->pakfire, "Could not find repository for %s: %m\n",
+ pakfire_package_get_nevra(pkg));
+ return 1;
+ }
+
Repodata* repodata = pakfire_repo_get_repodata(repo);
- pakfire_repo_unref(repo);
const char* basename = pakfire_basename(path);
const char* dirname = pakfire_dirname(path);
repodata_add_dirstr(repodata, pkg->id,
SOLVABLE_FILELIST, did, basename);
+ pakfire_repo_unref(repo);
+
return 0;
}