Skip to content

Commit

Permalink
Really add code to set dbpath in rpmdb2solv
Browse files Browse the repository at this point in the history
Should have been in commit f74c5b7
  • Loading branch information
mlschroe committed Dec 10, 2020
1 parent c78a330 commit 926244b
Showing 1 changed file with 25 additions and 1 deletion.
26 changes: 25 additions & 1 deletion tools/rpmdb2solv.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,11 @@
#include <string.h>
#include <unistd.h>

#ifdef ENABLE_RPMDB_LIBRPM
#include <rpm/rpmmacro.h>
#endif


#include "pool.h"
#include "repo.h"
#include "repo_rpmdb.h"
Expand Down Expand Up @@ -64,6 +69,7 @@ main(int argc, char **argv)
int nopacks = 0;
int add_changelog = 0;
const char *root = 0;
const char *dbpath = 0;
const char *refname = 0;
#ifdef ENABLE_SUSEREPO
char *proddir = 0;
Expand All @@ -83,7 +89,7 @@ main(int argc, char **argv)
* parse arguments
*/

while ((c = getopt(argc, argv, "ACPhnkxXr:p:o:")) >= 0)
while ((c = getopt(argc, argv, "ACD:PhnkxXr:p:o:")) >= 0)
switch (c)
{
case 'h':
Expand All @@ -92,6 +98,9 @@ main(int argc, char **argv)
case 'r':
root = optarg;
break;
case 'D':
dbpath = optarg;
break;
case 'n':
nopacks = 1;
break;
Expand Down Expand Up @@ -160,6 +169,21 @@ main(int argc, char **argv)

if (root && *root)
pool_set_rootdir(pool, root);
#ifdef ENABLE_PUBKEY
if (dbpath && *dbpath && (!nopacks || pubkeys))
#else
if (dbpath && *dbpath && !nopacks)
#endif
{
#ifdef ENABLE_RPMDB_LIBRPM
char *macro = solv_dupjoin("_dbpath ", dbpath, 0);
rpmDefineMacro(NULL, macro, 0);
free(macro);
#else
fprintf(stderr, "cannot set dbpath without librpm\n");
exit(1);
#endif
}

repo = repo_create(pool, "installed");
data = repo_add_repodata(repo, 0);
Expand Down

0 comments on commit 926244b

Please sign in to comment.