summaryrefslogtreecommitdiff
path: root/liste-verfuegbare-Versionen
diff options
context:
space:
mode:
Diffstat (limited to 'liste-verfuegbare-Versionen')
-rwxr-xr-xliste-verfuegbare-Versionen38
1 files changed, 38 insertions, 0 deletions
diff --git a/liste-verfuegbare-Versionen b/liste-verfuegbare-Versionen
new file mode 100755
index 000000000..400110812
--- /dev/null
+++ b/liste-verfuegbare-Versionen
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+provided=$(mktemp)
+
+find /var/lib/pacman/sync/ -name '*.db' \
+ -not -exec tar -Oxzf {} --wildcards '*/desc' \; \
+ -not -exec tar -OxJf {} --wildcards '*/desc' \; \
+ -not -exec tar -Oxjf {} --wildcards '*/desc' \; \
+ -not -exec tar -Oxf {} --wildcards '*/desc' \; \
+2>/dev/null \
+| sed -n '
+ /^%\(NAME\|VERSION\)%$/ {
+ N
+ s/\n/ /
+ p
+ }
+ /^%PROVIDES%$/,/^$/ {
+ /^[^%]/ p
+ }
+' \
+| sed -n '
+ s/=/ /
+ T no_provides
+ p
+ d
+ :no_provides
+ /^%NAME%/ {
+ N
+ s/^%NAME% \(\S\+\)\n%VERSION% \(\S\+\)-\S\+$/\2 \1/
+ T
+ p
+ }
+' \
+| sort -k2,2 -k1Vr,1 \
+| uniq -f1 \
+>"${provided}"
+
+printf '%s\n' "${provided}"