xbps-alternatives(1): implemented -g <grp> -l.

This commit is contained in:
Juan RP 2015-10-31 12:11:21 +01:00
parent 7b43e7381b
commit 3e6651d286
3 changed files with 15 additions and 6 deletions

3
NEWS
View File

@ -1,5 +1,8 @@
xbps-0.49 (???): xbps-0.49 (???):
* xbps-alternatives(1): -g <grp> -l now works. To only print all alternatives
associated with this group.
* xbps-remove(1): this now will print the messages from alternatives. * xbps-remove(1): this now will print the messages from alternatives.
* alternatives: do not register duplicate alternative groups. Happened when * alternatives: do not register duplicate alternative groups. Happened when

View File

@ -108,7 +108,7 @@ list_pkg_alternatives(xbps_dictionary_t pkgd, const char *group, bool print_key)
} }
static int static int
list_alternatives(struct xbps_handle *xhp, const char *pkgname) list_alternatives(struct xbps_handle *xhp, const char *pkgname, const char *grp)
{ {
xbps_dictionary_t alternatives, pkgd; xbps_dictionary_t alternatives, pkgd;
xbps_array_t allkeys; xbps_array_t allkeys;
@ -139,6 +139,9 @@ list_alternatives(struct xbps_handle *xhp, const char *pkgname)
keyname = xbps_dictionary_keysym_cstring_nocopy(keysym); keyname = xbps_dictionary_keysym_cstring_nocopy(keysym);
array = xbps_dictionary_get_keysym(alternatives, keysym); array = xbps_dictionary_get_keysym(alternatives, keysym);
if (grp && strcmp(grp, keyname))
continue;
printf("%s\n", keyname); printf("%s\n", keyname);
for (unsigned int x = 0; x < xbps_array_count(array); x++) { for (unsigned int x = 0; x < xbps_array_count(array); x++) {
const char *str; const char *str;
@ -247,7 +250,7 @@ main(int argc, char **argv)
rv = xbps_pkgdb_update(&xh, true, true); rv = xbps_pkgdb_update(&xh, true, true);
} else if (list_mode) { } else if (list_mode) {
/* list alternative groups */ /* list alternative groups */
rv = list_alternatives(&xh, pkg); rv = list_alternatives(&xh, pkg, group);
} }
xbps_end(&xh); xbps_end(&xh);

View File

@ -1,4 +1,4 @@
.Dd October 30, 2015 .Dd October 31, 2015
.Dt XBPS-ALTERNATIVES 1 .Dt XBPS-ALTERNATIVES 1
.Sh NAME .Sh NAME
.Nm xbps-alternatives .Nm xbps-alternatives
@ -43,9 +43,12 @@ Show the version information.
.Sh MODE .Sh MODE
Only one of the following modes can be used at a time. Only one of the following modes can be used at a time.
.Bl -tag -width -x .Bl -tag -width -x
.It Fl l, Fl -list Op PKG .It Fl l, Fl -list Op PKG Op -g Ar group
Lists all current alternatives or only from Lists all current alternative groups or only from
.Ar PKG . .Ar PKG ,
or just a specific group, if the
.Fl g Fl -group
option is set.
.It Fl s, Fl -set Ar PKG Op -g Ar group .It Fl s, Fl -set Ar PKG Op -g Ar group
Set alternative groups specified by Set alternative groups specified by
.Ar PKG .Ar PKG