diff options
-rw-r--r-- | lib/libalpm/be_files.c | 4 | ||||
-rw-r--r-- | src/pacman/package.c | 3 | ||||
-rw-r--r-- | src/pacman/query.c | 7 |
3 files changed, 12 insertions, 2 deletions
diff --git a/lib/libalpm/be_files.c b/lib/libalpm/be_files.c index 4b85306b..2f88a16d 100644 --- a/lib/libalpm/be_files.c +++ b/lib/libalpm/be_files.c @@ -385,6 +385,10 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq) } _alpm_strtrim(tmp); info->size = atol(tmp); + /* also store this value to isize if isize is unset */ + if(info->isize == 0) { + info->isize = atol(tmp); + } } else if(!strcmp(line, "%ISIZE%")) { /* ISIZE (installed size) tag only appears in sync repositories, * not the local one. */ diff --git a/src/pacman/package.c b/src/pacman/package.c index 2e2eec91..caaed462 100644 --- a/src/pacman/package.c +++ b/src/pacman/package.c @@ -86,7 +86,8 @@ void dump_pkg_full(pmpkg_t *pkg, int level) } list_display(_("Conflicts With :"), alpm_pkg_get_conflicts(pkg)); list_display(_("Replaces :"), alpm_pkg_get_replaces(pkg)); - printf(_("Installed Size : %6.2f K\n"), (float)alpm_pkg_get_size(pkg) / 1024.0); + printf(_("Installed Size : %6.2f K\n"), + (float)alpm_pkg_get_isize(pkg) / 1024.0); printf(_("Packager : %s\n"), (char *)alpm_pkg_get_packager(pkg)); printf(_("Architecture : %s\n"), (char *)alpm_pkg_get_arch(pkg)); printf(_("Build Date : %s\n"), bdatestr); diff --git a/src/pacman/query.c b/src/pacman/query.c index ed48799c..9ede00ab 100644 --- a/src/pacman/query.c +++ b/src/pacman/query.c @@ -280,7 +280,12 @@ static int filter(pmpkg_t *pkg) static void display(pmpkg_t *pkg) { if(config->op_q_info) { - dump_pkg_full(pkg, config->op_q_info); + if(config->op_q_isfile) { + /* omit info that isn't applicable for a file package */ + dump_pkg_full(pkg, 0); + } else { + dump_pkg_full(pkg, config->op_q_info); + } } if(config->op_q_list) { dump_pkg_files(pkg); |