--- a/src/app_list.c
+++ b/src/app_list.c
-@@ -49,12 +49,53 @@ struct list_ctx {
+@@ -49,12 +49,51 @@ struct list_ctx {
unsigned int match_providers : 1;
unsigned int match_depends : 1;
unsigned int manifest : 1;
+static void print_full(const struct apk_package *pkg, const struct list_ctx *ctx)
+{
-+ struct apk_dependency d;
-+
+ printf("Package: %s\n", pkg->name->name);
+ printf("Version: " BLOB_FMT "\n", BLOB_PRINTF(*pkg->version));
+ if (apk_array_len(pkg->depends)) {
+ if (pkg->description)
+ printf("Description: " BLOB_FMT "\n", BLOB_PRINTF(*pkg->description));
+ printf("License: " BLOB_FMT "\n", BLOB_PRINTF(*pkg->license));
-+ printf("Installed-Size: %zu\n", pkg->installed_size);
-+ printf("Size: %zu\n", pkg->size);
++ printf("Installed-Size: %" PRIu64 "\n", pkg->installed_size);
++ printf("Size: %" PRIu64 "\n", pkg->size);
+ printf("\n");
+}
+
if (ctx->manifest) {
printf("%s " BLOB_FMT "\n", pkg->name->name, BLOB_PRINTF(*pkg->version));
return;
-@@ -96,6 +137,7 @@ static void print_package(const struct apk_database *db, const struct apk_name *
+@@ -96,6 +135,7 @@ static void print_package(const struct a
OPT(OPT_LIST_depends, APK_OPT_SH("d") "depends") \
OPT(OPT_LIST_installed, APK_OPT_SH("I")) \
OPT(OPT_LIST_manifest, "manifest") \
OPT(OPT_LIST_origin, APK_OPT_SH("o") "origin") \
OPT(OPT_LIST_orphaned, APK_OPT_SH("O")) \
OPT(OPT_LIST_providers, APK_OPT_SH("P") "providers") \
-@@ -109,6 +151,9 @@ static int list_parse_option(void *pctx, struct apk_ctx *ac, int opt, const char
+@@ -109,6 +149,9 @@ static int list_parse_option(void *pctx,
struct apk_query_spec *qs = &ac->query;
switch (opt) {
case OPT_LIST_available:
qs->filter.available = 1;
break;
-@@ -117,6 +162,7 @@ static int list_parse_option(void *pctx, struct apk_ctx *ac, int opt, const char
+@@ -117,6 +160,7 @@ static int list_parse_option(void *pctx,
break;
case OPT_LIST_installed:
installed: