@@ -235,8 +235,9 @@ Transaction Options (apply to '-S', '-R' and '-U')
*\--print-format* <format>::
Specify a printf-like format to control the output of the '\--print'
- operation. The possible attributes are: "%n" for pkgname, "%v" for pkgver,
- "%l" for location, "%r" for repository, and "%s" for size. Implies '\--print'.
+ operation. The possible attributes are: "%a" for arch, "%n" for pkgname,
+ "%v" for pkgver, "%l" for location, "%r" for repository, and "%s" for size.
+ Implies '\--print'.
Upgrade Options (apply to '-S' and '-U')[[UO]]
@@ -1146,6 +1146,16 @@ void print_packages(const alpm_list_t *packages)
alpm_pkg_t *pkg = i->data;
char *string = strdup(config->print_format);
char *temp = string;
+ /* %a : arch */
+ if(strstr(temp, "%a")) {
+ const char *arch = alpm_pkg_get_arch(pkg);
+ if(arch == NULL) {
+ arch = "";
+ }
+ string = strreplace(temp, "%a", arch);
+ free(temp);
+ temp = string;
+ }
/* %n : pkgname */
if(strstr(temp, "%n")) {
string = strreplace(temp, "%n", alpm_pkg_get_name(pkg));
Adds the %a format specifier to allow printing of a target's arch when using --print-format. Signed-off-by: Jonathan Sköld <arch@skold.dev> --- Fixed my commit message now that I know how it works, thanks for the heads up. Modified the man page. I opted to use the phrase 'arch' to match the field used in PKGBUILDs. I hope this is not too ambiguous for users. I also changed the comment in util.c to match this. --- doc/pacman.8.asciidoc | 5 +++-- src/pacman/util.c | 10 ++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-)