summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLevente Polyak <anthraxx@archlinux.org>2020-05-11 00:45:49 +0200
committerAllan McRae <allan@archlinux.org>2020-05-11 12:19:40 +1000
commit8ce142a2552418f64a74e773f659d92b065d6209 (patch)
tree67c08c8e8207df79dc2a9ed1141421195f78e2b9
parent8e769ddb8a59a9fbacf4614283d2fb519f022386 (diff)
downloadpacman-8ce142a2552418f64a74e773f659d92b065d6209.tar.gz
pacman-8ce142a2552418f64a74e773f659d92b065d6209.zip
makepkg: deterministic PKGINFO libprovides for multiple library versions
While iterating over the provides array, the find call for locating a shared library may result in listing multiple entries which by itself does not produce a stable deterministic order and may vary depending on the underlying filesystem. To provide a stable listing and a reproducible .PKGINFO file the result of find is piped to sort with a static LC_ALL=C localisation. Signed-off-by: Levente Polyak <anthraxx@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r--scripts/makepkg.sh.in2
1 files changed, 1 insertions, 1 deletions
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index d1416d15..b95a03af 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -521,7 +521,7 @@ find_libprovides() {
missing=0
case "$p" in
*.so)
- mapfile -t filename < <(find "$pkgdir" -type f -name $p\*)
+ mapfile -t filename < <(find "$pkgdir" -type f -name $p\* | LC_ALL=C sort)
if [[ $filename ]]; then
# packages may provide multiple versions of the same library
for fn in "${filename[@]}"; do