summaryrefslogtreecommitdiff
path: root/package-status
blob: a506398e5b925ee1a0591dde136976ea6d3642e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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