diff options
-rw-r--r-- | doc/pacman.conf.5 | 4 | ||||
-rw-r--r-- | lib/libalpm/alpm.c | 3 | ||||
-rw-r--r-- | lib/libalpm/alpm.h | 3 | ||||
-rw-r--r-- | lib/libalpm/handle.c | 6 | ||||
-rw-r--r-- | lib/libalpm/handle.h | 1 | ||||
-rw-r--r-- | src/pacman/conf.h | 1 | ||||
-rw-r--r-- | src/pacman/pacman.c | 4 | ||||
-rw-r--r-- | src/pacman/query.c | 12 | ||||
-rw-r--r-- | src/pacman/sync.c | 15 | ||||
-rw-r--r-- | src/pacman/util.c | 3 |
10 files changed, 30 insertions, 22 deletions
diff --git a/doc/pacman.conf.5 b/doc/pacman.conf.5 index 15f7b95f..f7304aa5 100644 --- a/doc/pacman.conf.5 +++ b/doc/pacman.conf.5 @@ -85,6 +85,10 @@ Log action messages through \fBsyslog()\fP. This will insert log entries into .TP .B LogFile = \fI/path/to/file\fP Log actions directly to a file. Default is \fI/var/log/pacman.log\fP. +.TP +.B ShowSize +Display the size of individual packages for \fB--sync\fP and \fB--query\fP +modes. .SH REPOSITORY SECTIONS Each repository section defines a section name and at least one location where diff --git a/lib/libalpm/alpm.c b/lib/libalpm/alpm.c index d0f87462..33270149 100644 --- a/lib/libalpm/alpm.c +++ b/lib/libalpm/alpm.c @@ -958,6 +958,9 @@ int SYMEXPORT alpm_parse_config(char *file, alpm_cb_db_register callback, const } else if(strcmp(origkey, "UseColor") == 0 || strcmp(key, "USECOLOR") == 0) { alpm_option_set_usecolor(1); _alpm_log(PM_LOG_DEBUG, _("config: usecolor")); + } else if(strcmp(origkey, "ShowSize") == 0 || strcmp(key, "SHOWSIZE") == 0) { + alpm_option_set_showsize(1); + _alpm_log(PM_LOG_DEBUG, _("config: showsize")); } else { RET_ERR(PM_ERR_CONF_BAD_SYNTAX, -1); } diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h index 4d551c8f..4c210562 100644 --- a/lib/libalpm/alpm.h +++ b/lib/libalpm/alpm.h @@ -147,6 +147,9 @@ void alpm_option_set_needles(alpm_list_t *needles); unsigned short alpm_option_get_usecolor(); void alpm_option_set_usecolor(unsigned short usecolor); +unsigned short alpm_option_get_showsize(); +void alpm_option_set_showsize(unsigned short showsize); + pmdb_t *alpm_option_get_localdb(); alpm_list_t *alpm_option_get_syncdbs(); diff --git a/lib/libalpm/handle.c b/lib/libalpm/handle.c index 7eb8dc36..9aa7cce1 100644 --- a/lib/libalpm/handle.c +++ b/lib/libalpm/handle.c @@ -140,6 +140,7 @@ const char *alpm_option_get_xfercommand() { return handle->xfercommand; } unsigned short alpm_option_get_nopassiveftp() { return handle->nopassiveftp; } unsigned short SYMEXPORT alpm_option_get_chomp() { return handle->chomp; } unsigned short alpm_option_get_usecolor() { return handle->use_color; } +unsigned short SYMEXPORT alpm_option_get_showsize() { return handle->showsize; } pmdb_t SYMEXPORT *alpm_option_get_localdb() { return handle->db_local; } alpm_list_t SYMEXPORT *alpm_option_get_syncdbs() @@ -308,4 +309,9 @@ void alpm_option_set_usecolor(unsigned short usecolor) handle->use_color = usecolor; } +void alpm_option_set_showsize(unsigned short showsize) +{ + handle->showsize = showsize; +} + /* vim: set ts=2 sw=2 noet: */ diff --git a/lib/libalpm/handle.h b/lib/libalpm/handle.h index b3311db6..884dfc57 100644 --- a/lib/libalpm/handle.h +++ b/lib/libalpm/handle.h @@ -66,6 +66,7 @@ typedef struct _pmhandle_t { unsigned short nopassiveftp; /* Don't use PASV ftp connections */ unsigned short chomp; /* I Love Candy! */ unsigned short use_color; /* enable colorful output */ + unsigned short showsize; /* Show individual package sizes */ } pmhandle_t; extern pmhandle_t *handle; diff --git a/src/pacman/conf.h b/src/pacman/conf.h index 11aa41be..4fff0abb 100644 --- a/src/pacman/conf.h +++ b/src/pacman/conf.h @@ -54,7 +54,6 @@ typedef struct __config_t { pmtransflag_t flags; unsigned short noask; unsigned int ask; - unsigned short showsize; } config_t; config_t *config_new(void); diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c index e3656830..f0ae3287 100644 --- a/src/pacman/pacman.c +++ b/src/pacman/pacman.c @@ -131,7 +131,6 @@ static void usage(int op, char *myname) printf(_(" -p, --file <package> query a package file instead of the database\n")); printf(_(" -s, --search <regex> search locally-installed packages for matching strings\n")); printf(_(" -u, --upgrades list all packages that can be upgraded\n")); - printf(_(" -z, --showsize display installed size of each package\n")); } else if(op == PM_OP_SYNC) { printf("%s: %s {-S --sync} [%s] [%s]\n", str_usg, myname, str_opt, str_pkg); printf("%s:\n", str_opt); @@ -147,7 +146,6 @@ static void usage(int op, char *myname) printf(_(" -u, --sysupgrade upgrade all packages that are out of date\n")); printf(_(" -w, --downloadonly download packages but do not install/upgrade anything\n")); printf(_(" -y, --refresh download fresh package databases from the server\n")); - printf(_(" -z, --showsize display download size of each package\n")); printf(_(" --ignore <pkg> ignore a package upgrade (can be used more than once)\n")); } printf(_(" --config <path> set an alternate configuration file\n")); @@ -294,7 +292,6 @@ static int parseargs(int argc, char *argv[]) {"verbose", no_argument, 0, 'v'}, {"downloadonly", no_argument, 0, 'w'}, {"refresh", no_argument, 0, 'y'}, - {"showsize", no_argument, 0, 'z'}, {"noconfirm", no_argument, 0, 1000}, {"config", required_argument, 0, 1001}, {"ignore", required_argument, 0, 1002}, @@ -431,7 +428,6 @@ static int parseargs(int argc, char *argv[]) config->flags |= PM_TRANS_FLAG_NOCONFLICTS; break; case 'y': (config->op_s_sync)++; break; - case 'z': config->showsize = 1; break; case '?': return(1); default: return(1); } diff --git a/src/pacman/query.c b/src/pacman/query.c index a4a42075..fde093a4 100644 --- a/src/pacman/query.c +++ b/src/pacman/query.c @@ -132,16 +132,14 @@ int pacman_query(alpm_list_t *targets) alpm_list_t *grp; pmpkg_t *pkg = alpm_list_getdata(i); - /* print the package size with the output if -z option passed */ - if(config->showsize) { + printf("local/%s %s", alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg)); + + /* print the package size with the output if ShowSize option set */ + if(alpm_option_get_showsize()) { /* Convert byte size to MB */ double mbsize = alpm_pkg_get_size(pkg) / (1024.0 * 1024.0); - printf("local/%s %s [%.2f MB]", alpm_pkg_get_name(pkg), - alpm_pkg_get_version(pkg), mbsize); - } else { - printf("local/%s %s", alpm_pkg_get_name(pkg), - alpm_pkg_get_version(pkg)); + printf(" [%.2f MB]", mbsize); } if((grp = alpm_pkg_get_groups(pkg)) != NULL) { diff --git a/src/pacman/sync.c b/src/pacman/sync.c index d04c7da9..8626393e 100644 --- a/src/pacman/sync.c +++ b/src/pacman/sync.c @@ -245,18 +245,15 @@ static int sync_search(alpm_list_t *syncs, alpm_list_t *targets) alpm_list_t *grp; pmpkg_t *pkg = alpm_list_getdata(j); - /* print the package size with the output if -z option passed */ - if(config->showsize) { + printf("%s/%s %s", alpm_db_get_name(db), alpm_pkg_get_name(pkg), + alpm_pkg_get_version(pkg)); + + /* print the package size with the output if ShowSize option set */ + if(alpm_option_get_showsize()) { /* Convert byte size to MB */ double mbsize = alpm_pkg_get_size(pkg) / (1024.0 * 1024.0); - printf("%s/%s %s [%.2f MB]", alpm_db_get_name(db), - alpm_pkg_get_name(pkg), - alpm_pkg_get_version(pkg), mbsize); - } else { - printf("%s/%s %s", alpm_db_get_name(db), - alpm_pkg_get_name(pkg), - alpm_pkg_get_version(pkg)); + printf(" [%.2f MB]", mbsize); } if((grp = alpm_pkg_get_groups(pkg)) != NULL) { diff --git a/src/pacman/util.c b/src/pacman/util.c index e48ea10f..a5876122 100644 --- a/src/pacman/util.c +++ b/src/pacman/util.c @@ -294,7 +294,8 @@ void display_targets(alpm_list_t *syncpkgs) size += dispsize; isize += alpm_pkg_get_isize(pkg); - if(config->showsize) { + /* print the package size with the output if ShowSize option set */ + if(alpm_option_get_showsize()) { /* Convert byte size to MB */ mbdispsize = dispsize / (1024.0 * 1024.0); |