From b1c147123314195abbb62ba9fbafc292eaaf9783 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Wed, 1 Jul 2020 08:48:11 +0200 Subject: checkPinnedDependencies new --- checkPinnedDependencies | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100755 checkPinnedDependencies (limited to 'checkPinnedDependencies') diff --git a/checkPinnedDependencies b/checkPinnedDependencies new file mode 100755 index 00000000..9a0f22a7 --- /dev/null +++ b/checkPinnedDependencies @@ -0,0 +1,49 @@ +#!/bin/bash + +join -1 1 -2 2 -v 2 <( + find /var/lib/pacman/sync \ + -name '*.db' \ + -exec bsdtar -Oxf {} \; \ + | sed -n ' + /^%FILENAME%/ { + N + s/^%FILENAME%\n\(\S\+\)-\([^-]\+-[^-]\+\)-[^-]\+$/\1=\2/ + p + s/-[^-]\+$// + p + d + } + /^%PROVIDES%$/,/^$/ { + s/-64$// + /^[^%]/p + } + ' \ + | sort -u +) <( + for pkgbuild in */PKGBUILD; do + sed -n ' + /^\s*_pinned_dependencies[^[:space:]=]*=([^)]*$/,/)/p + /^\s*_pinned_dependencies[^[:space:]=]*=([^)]*)/p + ' "${pkgbuild}" \ + | sed ' + s/^\s*_pinned_dependencies[^[:space:]=]*=(// + s/).*$// + ' \ + | tr '[:space:]' '\n' \ + | sort -u \ + | grep -vxF '' \ + | sed ' + s@^\(['"'"'"]\)\(\S\+\)\1$@\2@ + /^glibc>=/d + s@^@'"${pkgbuild%/*}"' @ + ' + done \ + | sort -k2,2 +) \ +| if [ "x$1" = 'x-m' ]; then + cut -d' ' -f2 +else + while read -r dep pkg; do + printf '%s: %s\n' "${pkg}" "${dep}" + done +fi -- cgit v1.2.3-54-g00ecf