On 03/05/18 17:27, Robin Broda wrote: > This is a revised version of https://patchwork.archlinux.org/patch/476/, > without the performance penalty. >
I'll accept this, but it really needs an informative commit message. I used this: Adding the architecture to the 'installed' elements of the .BUILDINFO file makes it easier to retrieve the packages needed to reconstruct the build environment. > Signed-off-by: Robin Broda <[email protected]> > --- > doc/BUILDINFO.5.txt | 2 +- > 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 b7a72831..bac6d49f 100644 > --- a/doc/BUILDINFO.5.txt > +++ b/doc/BUILDINFO.5.txt > @@ -58,7 +58,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 eee8a56c..c9111078 100644 > --- a/scripts/makepkg.sh.in > +++ b/scripts/makepkg.sh.in > @@ -697,8 +697,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 >
