diff options
author | Dan McGee <dan@archlinux.org> | 2007-11-11 22:02:33 +0100 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2007-11-13 07:09:45 +0100 |
commit | 5e12d3dec99e7a506683cf625fa4344f57df0b77 (patch) | |
tree | 274ae7b1acd23ed43b7a3f6cbe11935acc7dbf1c | |
parent | a0c908dd0da4a00cc98a46407534da67d4aee8a8 (diff) | |
download | pacman-5e12d3dec99e7a506683cf625fa4344f57df0b77.tar.gz pacman-5e12d3dec99e7a506683cf625fa4344f57df0b77.tar.xz |
Fix display of -Qip output when a package file is given
Too many fields were being shown on -Qip output, and sizes were not always
correct (-Qi and -Qip output on the same package did not agree).
Signed-off-by: Dan McGee <dan@archlinux.org>
-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); |