summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/BUILDINFO.5.txt2
-rw-r--r--scripts/makepkg.sh.in11
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