[arvados] updated: 2.7.0-5677-g166e1ea3c7

git repository hosting git at public.arvados.org
Fri Jan 5 15:23:48 UTC 2024


Summary of changes:
 build/package-testing/deb-common-test-packages.sh | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

       via  166e1ea3c71e594a5ede646b9d87763c338936f6 (commit)
      from  d9389508ca23405edc3cd120a181bcf89d5d8d57 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit 166e1ea3c71e594a5ede646b9d87763c338936f6
Author: Brett Smith <brett.smith at curii.com>
Date:   Fri Jan 5 10:22:19 2024 -0500

    20846: Update dpkg .so search to handle merged-/usr systems
    
    Arvados-DCO-1.1-Signed-off-by: Brett Smith <brett.smith at curii.com>

diff --git a/build/package-testing/deb-common-test-packages.sh b/build/package-testing/deb-common-test-packages.sh
index cb9d538e8e..32788175d2 100755
--- a/build/package-testing/deb-common-test-packages.sh
+++ b/build/package-testing/deb-common-test-packages.sh
@@ -47,13 +47,21 @@ fi
 dpkg-deb -x $debpkg .
 
 if [[ "$DEBUG" != "0" ]]; then
-  while read so && [ -n "$so" ]; do
-      echo
-      echo "== Packages dependencies for $so =="
-      ldd "$so" | awk '($3 ~ /^\//){print $3}' | sort -u | xargs -r dpkg -S | cut -d: -f1 | sort -u
-  done <<EOF
-$(find -name '*.so')
-EOF
+  find -type f -name '*.so' | while read so; do
+      printf "\n== Package dependencies for %s ==\n" "$so"
+      # dpkg is not fully aware of merged-/usr systems: ldd may list a library
+      # under /lib where dpkg thinks it's under /usr/lib, or vice versa.
+      # awk constructs globs that we pass to `dpkg --search` to be flexible
+      # about which version we find. This could potentially return multiple
+      # results, but doing better probably requires restructuring this whole
+      # code to find and report the best match across multiple dpkg queries.
+      ldd "$so" \
+          | awk 'BEGIN { ORS="\0" } ($3 ~ /^\//) {print "*" $3}' \
+          | sort --unique --zero-terminated \
+          | xargs -0 --no-run-if-empty dpkg --search \
+          | cut -d: -f1 \
+          | sort --unique
+  done
 fi
 
 exec /jenkins/package-testing/common-test-packages.sh "$1"

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list