]> git.ipfire.org Git - thirdparty/libsolv.git/commitdiff
repo_rpmdb.c: move "Packages" string into backend implementations
authorMichael Schroeder <mls@suse.de>
Mon, 21 Oct 2019 11:17:29 +0000 (13:17 +0200)
committerMichael Schroeder <mls@suse.de>
Mon, 21 Oct 2019 11:17:29 +0000 (13:17 +0200)
Other rpm database implementations like "ndb" use different names.

ext/repo_rpmdb.c
ext/repo_rpmdb_bdb.h
ext/repo_rpmdb_librpm.h

index fb1491b1a7d665d141c2cad8ad9dee9960b06831..e49188dbaa78d7a41a3c11cfd686a1beae3f596a 100644 (file)
@@ -1605,7 +1605,7 @@ repo_add_rpmdb(Repo *repo, Repo *ref, int flags)
     }
 
   /* XXX: should get ro lock of Packages database! */
-  if (stat_database(&state, "Packages", &packagesstat, 1))
+  if (stat_database(&state, &packagesstat))
     {
       freestate(&state);
       return -1;
index ae477f766e69255c06223327e261d8c993bfea5c..574e9a8d0ff5b927241a69938eeaaaa480926f05 100644 (file)
@@ -57,7 +57,7 @@ struct rpmdbstate {
 
 
 static int
-stat_database(struct rpmdbstate *state, char *dbname, struct stat *statbuf, int seterror)
+stat_database_name(struct rpmdbstate *state, char *dbname, struct stat *statbuf, int seterror)
 {
   char *dbpath;
   dbpath = solv_dupjoin(state->rootdir, state->is_ostree ? "/usr/share/rpm/" : "/var/lib/rpm/", dbname);
@@ -72,6 +72,13 @@ stat_database(struct rpmdbstate *state, char *dbname, struct stat *statbuf, int
   return 0;
 }
 
+static int
+stat_database(struct rpmdbstate *state, struct stat *statbuf)
+{
+  return stat_database_name(state, "Packages", statbuf, 1);
+}
+
+
 static inline Id
 db2rpmdbid(unsigned char *db, int byteswapped)
 {
@@ -426,7 +433,7 @@ count_headers(struct rpmdbstate *state)
   DBT dbkey;
   DBT dbdata;
 
-  if (stat_database(state, "Name", &statbuf, 0))
+  if (stat_database_name(state, "Name", &statbuf, 0))
     return 0;
   memset(&dbkey, 0, sizeof(dbkey));
   memset(&dbdata, 0, sizeof(dbdata));
index 79983d3a640d63b2dbe826c70799093c130891ad..64e795d25fdb7ff24fab9189411c0cc2659fcecd 100644 (file)
@@ -31,14 +31,13 @@ struct rpmdbstate {
 };
 
 static int
-stat_database(struct rpmdbstate *state, char *dbname, struct stat *statbuf, int seterror)
+stat_database(struct rpmdbstate *state, struct stat *statbuf)
 {
   char *dbpath;
-  dbpath = solv_dupjoin(state->rootdir, state->is_ostree ? "/usr/share/rpm/" : "/var/lib/rpm/", dbname);
+  dbpath = solv_dupjoin(state->rootdir, state->is_ostree ? "/usr/share/rpm/" : "/var/lib/rpm/", "Packages");
   if (stat(dbpath, statbuf))
     {
-      if (seterror)
-        pool_error(state->pool, -1, "%s: %s", dbpath, strerror(errno));
+      pool_error(state->pool, -1, "%s: %s", dbpath, strerror(errno));
       free(dbpath);
       return -1;
     }