]> git.ipfire.org Git - thirdparty/libsolv.git/commitdiff
- add repo_add_debdb() helper
authorMichael Schroeder <mls@suse.de>
Wed, 23 Mar 2011 14:58:39 +0000 (15:58 +0100)
committerMichael Schroeder <mls@suse.de>
Wed, 23 Mar 2011 14:58:39 +0000 (15:58 +0100)
ext/repo_deb.c
ext/repo_deb.h

index 2c0574b00c0be4df60d7dfa03f02c7eab15c496e..d2d31e310114434df8fccd0537ba67cc4e2d1859 100644 (file)
@@ -411,6 +411,22 @@ repo_add_debpackages(Repo *repo, FILE *fp, int flags)
     repodata_internalize(data);
 }
 
+void
+repo_add_debdb(Repo *repo, const char *rootdir, int flags)
+{
+  FILE *fp;
+  const char *path = "/var/lib/dpkg/status";
+  if (rootdir)
+    path = pool_tmpjoin(repo->pool, rootdir, path, 0);
+  if ((fp = fopen(path, "r")) == 0)
+    {
+      perror(path);
+      exit(1);
+    }
+  repo_add_debpackages(repo, fp, flags);
+  fclose(fp);
+}
+
 void
 repo_add_debs(Repo *repo, const char **debs, int ndebs, int flags)
 {
index ff19536f9f715e2bdb2f122eb357f0d4b0cb2c67..ded3675ba0391ed1a548eda82f1fb0c775921455 100644 (file)
@@ -6,6 +6,7 @@
  */
 
 extern void repo_add_debpackages(Repo *repo, FILE *fp, int flags);
+extern void repo_add_debdb(Repo *repo, const char *rootdir, int flags);
 extern void repo_add_debs(Repo *repo, const char **debs, int ndebs, int flags);
 extern Id repo_add_deb(Repo *repo, const char *deb, int flags);