summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/pacman.conf.54
-rw-r--r--lib/libalpm/alpm.c3
-rw-r--r--lib/libalpm/alpm.h3
-rw-r--r--lib/libalpm/handle.c6
-rw-r--r--lib/libalpm/handle.h1
-rw-r--r--src/pacman/conf.h1
-rw-r--r--src/pacman/pacman.c4
-rw-r--r--src/pacman/query.c12
-rw-r--r--src/pacman/sync.c15
-rw-r--r--src/pacman/util.c3
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);