char* name = pakfire_archive_get(archive, "package", "name");
char* arch = pakfire_archive_get(archive, "package", "arch");
- char* e = pakfire_archive_get(archive, "package", "epoch");
- char* v = pakfire_archive_get(archive, "package", "version");
- char* r = pakfire_archive_get(archive, "package", "release");
- char* evr = pakfire_package_join_evr(e, v, r);
+ char* evr = pakfire_archive_get(archive, "package", "evr");
+
+ // For old style packages, we need to make evr manually
+ if (!evr) {
+ char* e = pakfire_archive_get(archive, "package", "epoch");
+ char* v = pakfire_archive_get(archive, "package", "version");
+ char* r = pakfire_archive_get(archive, "package", "release");
+
+ evr = pakfire_package_join_evr(e, v, r);
+
+ if (e)
+ free(e);
+ if (v)
+ free(v);
+ if (r)
+ free(r);
+ }
int err = pakfire_progressbar_create(progressbar, NULL);
if (err)
free(name);
if (arch)
free(arch);
- if (e)
- free(e);
- if (v)
- free(v);
- if (r)
- free(r);
if (evr)
free(evr);
char* name = pakfire_archive_get(archive, "package", "name");
char* arch = pakfire_archive_get(archive, "package", "arch");
- char* e = pakfire_archive_get(archive, "package", "epoch");
- char* v = pakfire_archive_get(archive, "package", "version");
- char* r = pakfire_archive_get(archive, "package", "release");
- char* evr = pakfire_package_join_evr(e, v, r);
+ char* evr = pakfire_archive_get(archive, "package", "evr");
+ if (!evr) {
+ char* e = pakfire_archive_get(archive, "package", "epoch");
+ char* v = pakfire_archive_get(archive, "package", "version");
+ char* r = pakfire_archive_get(archive, "package", "release");
+
+ evr = pakfire_package_join_evr(e, v, r);
+
+ if (e)
+ free(e);
+ if (v)
+ free(v);
+ if (r)
+ free(r);
+ }
PakfirePackage pkg = pakfire_package_create(
archive->pakfire, repo, name, evr, (arch) ? arch : "src"
);
- free(name);
- free(e);
- free(v);
- free(r);
- free(evr);
+ if (name)
+ free(name);
+ if (evr)
+ free(evr);
if (arch)
free(arch);