From c1d4a6198c764d35ee236b7f08ad79a02a957b99 Mon Sep 17 00:00:00 2001 From: Jelle van der Waa Date: Tue, 13 Dec 2022 14:12:56 +1000 Subject: [PATCH] Extend --print-format with %L Add format attribute for licenses. Signed-off-by: Allan McRae --- doc/pacman.8.asciidoc | 4 ++-- src/pacman/util.c | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/doc/pacman.8.asciidoc b/doc/pacman.8.asciidoc index 630ff0d9..36541018 100644 --- a/doc/pacman.8.asciidoc +++ b/doc/pacman.8.asciidoc @@ -239,8 +239,8 @@ Transaction Options (apply to '-S', '-R' and '-U') builddate, "%d" for description, "%e" for pkgbase, "%f" for filename, "%g" for base64 encoded PGP signature, "%h" for sha256sum, "%n" for pkgname, "%p" for packager, "%v" for pkgver, "%l" for location, "%r" - for repository, "%s" for size, "%C" for checkdepends, "%D" for depends - and "%M" for makedepends. + for repository, "%s" for size, "%C" for checkdepends, "%D" for depends, + "%L" for licenses, and "%M" for makedepends. Implies '\--print'. diff --git a/src/pacman/util.c b/src/pacman/util.c index 320296d3..92e6c535 100644 --- a/src/pacman/util.c +++ b/src/pacman/util.c @@ -1279,6 +1279,16 @@ void print_packages(const alpm_list_t *packages) free(temp); temp = string; } + /* %L : license */ + if(strstr(temp, "%L")) { + alpm_list_t *lst = alpm_pkg_get_licenses(pkg); + char *licenses = concat_list(lst, NULL); + string = strreplace(temp, "%L", licenses); + free(licenses); + free(temp); + temp = string; + } + printf("%s\n", string); free(string); }