Added support to specify multiple repositories via cmdline (close #17).

This commit is contained in:
Juan RP
2013-09-18 16:45:05 +02:00
parent c514894152
commit 5e1432f418
8 changed files with 67 additions and 62 deletions

View File

@@ -40,10 +40,11 @@ usage(bool fail)
"\nOPTIONS\n"
" -C --config <file> Full path to configuration file\n"
" -c --cachedir <dir> Full path to cachedir\n"
" -D --defrepo <uri> Default repository to be used if config not set\n"
" -D --defrepo <uri> Repository to be used. Can be specified\n"
" multiple times.\n"
" -d --debug Debug mode shown to stderr\n"
" -h --help Print help usage\n"
" -R --repository Enable repository mode\n"
" -R --repoisotyr Enable repository mode\n"
" -r --rootdir <dir> Full path to rootdir\n"
" -V --version Show XBPS version\n"
" -v --verbose Verbose messages\n"
@@ -104,6 +105,8 @@ main(int argc, char **argv)
show = show_rdeps = fulldeptree = false;
repo_mode = opmode = false;
memset(&xh, 0, sizeof(xh));
while ((c = getopt_long(argc, argv, shortopts, longopts, NULL)) != -1) {
switch (c) {
case 'C':
@@ -113,7 +116,10 @@ main(int argc, char **argv)
cachedir = optarg;
break;
case 'D':
defrepo = optarg;
if (xh.repositories == NULL)
xh.repositories = xbps_array_create();
xbps_array_add_cstring_nocopy(xh.repositories, optarg);
break;
case 'd':
flags |= XBPS_FLAG_DEBUG;
@@ -183,12 +189,10 @@ main(int argc, char **argv)
/*
* Initialize libxbps.
*/
memset(&xh, 0, sizeof(xh));
xh.rootdir = rootdir;
xh.cachedir = cachedir;
xh.conffile = conffile;
xh.flags = flags;
xh.repository = defrepo;
if ((rv = xbps_init(&xh)) != 0) {
xbps_error_printf("Failed to initialize libxbps: %s\n",

View File

@@ -1,4 +1,4 @@
.Dd September 13, 2013
.Dd September 18, 2013
.Os Void Linux
.Dt xbps-query 8
.Sh NAME
@@ -55,7 +55,8 @@ Specifies a full path to the XBPS configuration file.
.It Fl c, Fl -cachedir Ar dir
Specifies a full path to the cache directory, where binary packages are stored.
.It Fl D, Fl -defrepo Ar uri
Default repository to be used if no repository is specified in configuration file.
Default repository to be used. Multiple repositories can be specified. This repository
list overrides the list in a configuration file.
.It Fl d, Fl -debug
Enables extra debugging shown to stderr.
.It Fl h, Fl -help