From: Michael Schroeder Date: Tue, 1 Mar 2011 16:17:12 +0000 (+0100) Subject: - add repo_add_rpm() and repo_add_deb() X-Git-Tag: BASE-SuSE-Code-12_1-Branch~122 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bbb81edbe4e830ba0444b7fd2f2d3e2ce038f17f;p=platform%2Fupstream%2Flibsolv.git - add repo_add_rpm() and repo_add_deb() --- diff --git a/ext/repo_deb.c b/ext/repo_deb.c index bad3101..841b580 100644 --- a/ext/repo_deb.c +++ b/ext/repo_deb.c @@ -583,3 +583,14 @@ repo_add_debs(Repo *repo, const char **debs, int ndebs, int flags) if (!(flags & REPO_NO_INTERNALIZE)) repodata_internalize(data); } + +Id +repo_add_deb(Repo *repo, const char *deb, int flags) +{ + int end = repo->end; + repo_add_debs(repo, &deb, 1, flags); + if (end == repo->end) + return 0; + else + return repo->end - 1; +} diff --git a/ext/repo_deb.h b/ext/repo_deb.h index dd79ab7..ff19536 100644 --- a/ext/repo_deb.h +++ b/ext/repo_deb.h @@ -7,5 +7,6 @@ extern void repo_add_debpackages(Repo *repo, FILE *fp, 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); #define DEBS_ADD_WITH_PKGID (1 << 8) diff --git a/ext/repo_rpmdb.c b/ext/repo_rpmdb.c index 6ac9368..db7ada1 100644 --- a/ext/repo_rpmdb.c +++ b/ext/repo_rpmdb.c @@ -1926,6 +1926,17 @@ repo_add_rpms(Repo *repo, const char **rpms, int nrpms, int flags) repodata_internalize(data); } +Id +repo_add_rpm(Repo *repo, const char *rpm, int flags) +{ + int end = repo->end; + repo_add_rpms(repo, &rpm, 1, flags); + if (end == repo->end) + return 0; + else + return repo->end - 1; +} + static inline void linkhash(const char *lt, char *hash) { diff --git a/ext/repo_rpmdb.h b/ext/repo_rpmdb.h index 92cd403..ba21c0f 100644 --- a/ext/repo_rpmdb.h +++ b/ext/repo_rpmdb.h @@ -12,6 +12,7 @@ struct headerToken_s; extern void repo_add_rpmdb(Repo *repo, Repo *ref, const char *rootdir, int flags); extern void repo_add_rpms(Repo *repo, const char **rpms, int nrpms, int flags); +extern Id repo_add_rpm(Repo *repo, const char *rpm, int flags); void repo_add_rpmdb_pubkeys(Repo *repo, const char *rootdir, int flags); void repo_add_pubkeys(Repo *repo, const char **keys, int nkeys, int flags);