const char* buildhost = pakfire_package_get_buildhost(pkg);
pakfire_package_dump_add_line(&string, _("Build host"), buildhost);
- PakfireRelationList provides = pakfire_package_get_provides(pkg);
- if (provides) {
- pakfire_package_dump_add_line_relations(&string, _("Provides"), provides);
- pakfire_relationlist_unref(provides);
- }
-
- PakfireRelationList requires = pakfire_package_get_requires(pkg);
- if (requires) {
- pakfire_package_dump_add_line_relations(&string, _("Requires"), requires);
- pakfire_relationlist_unref(requires);
- }
-
- PakfireRelationList conflicts = pakfire_package_get_conflicts(pkg);
- if (conflicts) {
- pakfire_package_dump_add_line_relations(&string, _("Conflicts"), conflicts);
- pakfire_relationlist_unref(conflicts);
- }
-
- PakfireRelationList obsoletes = pakfire_package_get_obsoletes(pkg);
- if (obsoletes) {
- pakfire_package_dump_add_line_relations(&string, _("Obsoletes"), obsoletes);
- pakfire_relationlist_unref(obsoletes);
- }
-
- PakfireRelationList recommends = pakfire_package_get_recommends(pkg);
- if (recommends) {
- pakfire_package_dump_add_line_relations(&string, _("Recommends"), recommends);
- pakfire_relationlist_unref(recommends);
- }
-
- PakfireRelationList suggests = pakfire_package_get_suggests(pkg);
- if (suggests) {
- pakfire_package_dump_add_line_relations(&string, _("Suggests"), suggests);
- pakfire_relationlist_unref(suggests);
+ // Dependencies
+
+ const struct relation {
+ const char* name;
+ PakfireRelationList (*get)(PakfirePackage pkg);
+ } relations[] = {
+ { _("Provides"), pakfire_package_get_provides, },
+ { _("Pre-Requires"), pakfire_package_get_prerequires, },
+ { _("Requires"), pakfire_package_get_requires, },
+ { _("Conflicts"), pakfire_package_get_conflicts, },
+ { _("Obsoletes"), pakfire_package_get_obsoletes, },
+ { _("Recommends"), pakfire_package_get_recommends, },
+ { _("Suggests"), pakfire_package_get_suggests, },
+ { NULL, NULL},
+ };
+
+ for (const struct relation* relation = relations; relation->name; relation++) {
+ PakfireRelationList list = relation->get(pkg);
+ if (list) {
+ pakfire_package_dump_add_line_relations(&string, relation->name, list);
+ pakfire_relationlist_unref(list);
+ }
}
}