From: Michael Schroeder Date: Wed, 23 Mar 2011 14:58:39 +0000 (+0100) Subject: - add repo_add_debdb() helper X-Git-Tag: BASE-SuSE-Code-12_1-Branch~92 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2f35865fae7dfa98055e658ddc292cca584ced58;p=thirdparty%2Flibsolv.git - add repo_add_debdb() helper --- diff --git a/ext/repo_deb.c b/ext/repo_deb.c index 2c0574b0..d2d31e31 100644 --- a/ext/repo_deb.c +++ b/ext/repo_deb.c @@ -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) { diff --git a/ext/repo_deb.h b/ext/repo_deb.h index ff19536f..ded3675b 100644 --- a/ext/repo_deb.h +++ b/ext/repo_deb.h @@ -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);