From 2a338a1b264d3043e715b4f1838c075753ce2fdb Mon Sep 17 00:00:00 2001 From: Michael Schroeder Date: Wed, 26 Feb 2014 13:08:52 +0100 Subject: [PATCH] appdata2solv: add support for -d and -r options --- tools/appdata2solv.c | 44 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/tools/appdata2solv.c b/tools/appdata2solv.c index 129fbc32..a8753a1f 100644 --- a/tools/appdata2solv.c +++ b/tools/appdata2solv.c @@ -20,6 +20,7 @@ #include #include #include +#include #include "pool.h" #include "repo.h" @@ -30,11 +31,46 @@ int main(int argc, char **argv) { Pool *pool = pool_create(); - Repo *repo = repo_create(pool, ""); - if (repo_add_appdata(repo, stdin, 0)) + Repo *repo; + int c; + const char *appdatadir = 0; + const char *root = 0; + + while ((c = getopt(argc, argv, "hd:r:")) >= 0) + { + switch (c) + { + case 'd': + appdatadir = optarg; + break; + case 'r': + root = optarg; + break; + default: + fprintf(stderr, "usage: appdata2solv [-d appdatadir]"); + exit(c == 'h' ? 0 : 1); + } + } + + if (root) + pool_set_rootdir(pool, root); + + repo = repo_create(pool, ""); + if (!appdatadir) + { + if (repo_add_appdata(repo, stdin, 0)) + { + fprintf(stderr, "appdata2solv: %s\n", pool_errstr(pool)); + exit(1); + } + } + else { - fprintf(stderr, "appdata2solv: %s\n", pool_errstr(pool)); - exit(1); + if (repo_add_appdata_dir(repo, appdatadir, REPO_USE_ROOTDIR)) + { + fprintf(stderr, "appdata2solv: %s\n", pool_errstr(pool)); + exit(1); + } } tool_write(repo, 0, 0); pool_free(pool); -- 2.47.2