]> git.ipfire.org Git - pakfire.git/commitdiff
packages: Make it possible to set the database ID
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 27 Oct 2022 15:34:42 +0000 (15:34 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Thu, 27 Oct 2022 15:34:42 +0000 (15:34 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/package.c
tests/libpakfire/package.c

index 29db983794ad657fd0aa69b0c1de81f240ead9e6..cd108f79f6da1a985fc038bfdf243a3565dec529 100644 (file)
@@ -686,6 +686,10 @@ PAKFIRE_EXPORT unsigned long long pakfire_package_get_num(struct pakfire_package
        Id id = ID_NULL;
 
        switch (key) {
+               case PAKFIRE_PKG_DBID:
+                       id = RPM_RPMDBID;
+                       break;
+
                case PAKFIRE_PKG_DOWNLOADSIZE:
                        id = SOLVABLE_DOWNLOADSIZE;
                        break;
@@ -720,6 +724,10 @@ PAKFIRE_EXPORT int pakfire_package_set_num(struct pakfire_package* pkg,
        Id id = ID_NULL;
 
        switch (key) {
+               case PAKFIRE_PKG_DBID:
+                       id = RPM_RPMDBID;
+                       break;
+
                case PAKFIRE_PKG_DOWNLOADSIZE:
                        id = SOLVABLE_DOWNLOADSIZE;
                        break;
index 7bddda75453c12894ce59cd3504da49a2b6f0de0..91ce3f5e4433f816ed2fae67fb08d9f276bc6508 100644 (file)
@@ -47,6 +47,10 @@ static int test_create(const struct test* t) {
        ASSERT_SUCCESS(pakfire_package_set_string(pkg, PAKFIRE_PKG_UUID, "7a7cb0e3-d4c7-4bf8-85ef-8e4faa22c128"));
        ASSERT_STRING_EQUALS(pakfire_package_get_string(pkg, PAKFIRE_PKG_UUID), "7a7cb0e3-d4c7-4bf8-85ef-8e4faa22c128");
 
+       // Database ID
+       ASSERT_SUCCESS(pakfire_package_set_num(pkg, PAKFIRE_DB_DBID, 1));
+       ASSERT_EQUALS(pakfire_package_get_num(pkg, PAKFIRE_DB_DBID, 0), 1);
+
        // Summary
        ASSERT_SUCCESS(pakfire_package_set_string(pkg, PAKFIRE_PKG_SUMMARY, "SUMMARY"));
        ASSERT_STRING_EQUALS(pakfire_package_get_string(pkg, PAKFIRE_PKG_SUMMARY), "SUMMARY");