diff options
author | Cameron Banta <cbanta@gmail.com> | 2009-03-06 03:29:56 +0000 |
---|---|---|
committer | Timo Teras <timo.teras@iki.fi> | 2009-03-06 08:06:08 +0200 |
commit | e93cb1ffe5a411de69312858fa73bbd0707f5c35 (patch) | |
tree | e6eca311fd5d1b4cec67abcfbc55e7596ab09f47 | |
parent | 9b4828883150ef0632909489a05af101d547f03f (diff) | |
download | apk-tools-e93cb1ffe5a411de69312858fa73bbd0707f5c35.tar.gz apk-tools-e93cb1ffe5a411de69312858fa73bbd0707f5c35.tar.bz2 apk-tools-e93cb1ffe5a411de69312858fa73bbd0707f5c35.tar.xz apk-tools-e93cb1ffe5a411de69312858fa73bbd0707f5c35.zip |
Added -o option to apk info to list repository packages
-rw-r--r-- | src/info.c | 30 |
1 files changed, 29 insertions, 1 deletions
@@ -35,6 +35,30 @@ static int info_list(struct apk_database *db, int argc, char **argv) return 0; } +static int info_repo_pkgs_print(apk_hash_item item, void *ctx) +{ + struct apk_database *db = (struct apk_database *) ctx; + struct apk_package *pkg = (struct apk_package *) item; + + printf("%s", pkg->name->name); + if (apk_verbosity > 0) + printf("-%s", pkg->version); + if (apk_verbosity > 1) { + printf("\n\t%s", db->repos[pkg->repos].url); + printf("\n\t%s", pkg->description); + } + printf("\n"); + + return 0; +} + +static int info_repo_pkgs(struct apk_database *db, int argc, char **argv) +{ + apk_hash_foreach(&db->available.packages, info_repo_pkgs_print, db); + + return 0; +} + static int info_exists(struct apk_database *db, int argc, char **argv) { struct apk_name *name; @@ -183,6 +207,9 @@ static int info_parse(void *ctx, int optch, int optindex, const char *optarg) case 'R': ictx->action = info_depends; break; + case 'o': + ictx->action = info_repo_pkgs; + break; default: return -1; } @@ -212,11 +239,12 @@ static struct option info_options[] = { { "installed", no_argument, NULL, 'e' }, { "who-owns", no_argument, NULL, 'W' }, { "depends", no_argument, NULL, 'R' }, + { "repo-pkgs", no_argument, NULL, 'o' }, }; static struct apk_applet apk_info = { .name = "info", - .usage = "", + .usage = "[--repo-pkgs|-o]", .context_size = sizeof(struct info_ctx), .num_options = ARRAY_SIZE(info_options), .options = info_options, |