From de1c07887b978ed089863054e00405a0d93804f5 Mon Sep 17 00:00:00 2001
From: Christian Heusel <christian@heusel.eu>
Date: Wed, 2 Aug 2023 12:33:59 +0200
Subject: [PATCH] dbscrips: make createlinks also work if filename contains
 spaces

fixes https://gitlab.archlinux.org/archlinux/infrastructure/-/issues/524
Signed-off-by: Christian Heusel <christian@heusel.eu>
---
 roles/dbscripts/files/createlinks | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/roles/dbscripts/files/createlinks b/roles/dbscripts/files/createlinks
index cc99f0f0a..a09d367b5 100755
--- a/roles/dbscripts/files/createlinks
+++ b/roles/dbscripts/files/createlinks
@@ -44,9 +44,10 @@ for repo in ${repos[@]}; do
 				echo "$repo/$arch: $pkgname"
 				mkdir -p ${tmppkgdir}/pkg
 				bsdtar -xof $pkg -C ${tmppkgdir}/pkg --include={opt,{,usr/}{lib{,32},{s,}bin}}'/*' 2>/dev/null
-				for f in $(find ${tmppkgdir}/pkg -type f); do
-					readelf -d "$f" 2> /dev/null | sed -nr 's/.*Shared library: \[(.*)\].*/\1/p'
-				done | sort -u > ${tmppkgdir}/links
+				find "${tmppkgdir}/pkg" -type f -print0 |
+					while IFS= read -r -d '' file; do
+						readelf -d "$file" 2> /dev/null | sed -nr 's/.*Shared library: \[(.*)\].*/\1/p'
+					done | sort -u > "${tmppkgdir}/links"
 				rm -rf ${tmppkgdir}/pkg
  			fi
 		done
-- 
GitLab