diff options
-rw-r--r-- | doc/BUILDINFO.5.txt | 2 | ||||
-rw-r--r-- | scripts/makepkg.sh.in | 11 |
2 files changed, 10 insertions, 3 deletions
diff --git a/doc/BUILDINFO.5.txt b/doc/BUILDINFO.5.txt index 597d11f6..a7e6b2e4 100644 --- a/doc/BUILDINFO.5.txt +++ b/doc/BUILDINFO.5.txt @@ -61,7 +61,7 @@ BUILDINFO file format. *installed (array)*:: The installed packages at build time including the version information of - the package. Formatted as "$pkgname-$pkgver-$pkgrel". + the package. Formatted as "$pkgname-$pkgver-$pkgrel-$pkgarch". See Also -------- diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 238d4259..14dd3eac 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -699,8 +699,15 @@ write_buildinfo() { write_kv_pair "buildenv" "${BUILDENV[@]}" write_kv_pair "options" "${OPTIONS[@]}" - local pkglist=($(run_pacman -Q | sed "s# #-#")) - write_kv_pair "installed" "${pkglist[@]}" + local pkglist=($(run_pacman -Qq)) + local pkginfos="$(LC_ALL=C run_pacman -Qi ${pkglist[@]})" + local pkginfos_parsed=($(awk -F': ' '\ + /^Name .*/ {printf $2} \ + /^Version .*/ {printf "-"$2} \ + /^Architecture .*/ {print "-"$2} \ + ' <<< "${pkginfos}")) + + write_kv_pair "installed" "${pkginfos_parsed[@]}" } # build a sorted NUL-separated list of the full contents of the current |