summaryrefslogtreecommitdiff
path: root/package-status
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2021-05-03 08:00:02 +0200
committerErich Eckner <git@eckner.net>2021-05-03 08:00:02 +0200
commit4ba911d4b8aaa7ee299674a6ef2d9409c01babf2 (patch)
tree05289bb033df7b291dfb0c3fee3a9befe9801394 /package-status
downloadarch-eckner-net-status-backend-4ba911d4b8aaa7ee299674a6ef2d9409c01babf2.tar.xz
initial commit
Diffstat (limited to 'package-status')
-rwxr-xr-xpackage-status59
1 files changed, 59 insertions, 0 deletions
diff --git a/package-status b/package-status
new file mode 100755
index 0000000..a506398
--- /dev/null
+++ b/package-status
@@ -0,0 +1,59 @@
+#!/bin/bash
+
+for s in ${HOME}/.backend/archlinuxewe/*/.SRCINFO; do
+ pkgbase_infos=$(
+ sed -n '
+ /^pkgbase = /,/^\s*$/ {
+ /^\s\+\(epoch\|pkgver\|pkgrel\|arch\) = / p
+ }
+ ' "$s"
+ )
+ epoch=$(
+ printf '%s\n' "${pkgbase_infos}" \
+ | sed '
+ s/^\s\+epoch = \(\S\+\)$/\1:/
+ t
+ d
+ '
+ )
+ pkgver=$(
+ printf '%s\n' "${pkgbase_infos}" \
+ | sed '
+ s/^\s\+pkgver = //
+ t
+ d
+ '
+ )
+ pkgrel=$(
+ printf '%s\n' "${pkgbase_infos}" \
+ | sed '
+ s/^\s\+pkgrel = //
+ t
+ d
+ '
+ )
+ sed '
+ s/^pkgname = //
+ t
+ d
+ ' "$s" \
+ | while read -r pkgname; do
+ pkgname_archs=$(
+ sed -n '
+ /^pkgname = '"${pkgname}"'/,/^\s*$/ {
+ /^\s\+arch = / p
+ }
+ ' "$s"
+ )
+ if [ -z "${pkgname_archs}" ]; then
+ printf '%s\n' "${pkgbase_infos}"
+ else
+ printf '%s\n' "${pkgname_archs}"
+ fi \
+ | sed '
+ s/^\s\+arch = /'"${pkgname}"'-'"${epoch}${pkgver}"'-'"${pkgrel}"'-/
+ t
+ d
+ '
+ done
+done