blob: babbcacd128da2e2f1170bc90ab2890b9907e652 (
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
|
#!/bin/sh
set +e
trap 'rm -rf --one-file-system "${tmp_dir:?}"' EXIT
tmp_dir=$(mktemp -d)
for repo in \
'archlinuxewe' \
'community' \
'community-staging' \
'community-testing' \
'core' \
'extra' \
'quarry' \
'staging' \
'testing'; do
>&2 printf '%s ...' "${repo}"
{
curl -Ss 'https://arch.eckner.net/merged/'"${repo}"'/os/x86_64/'"${repo}"'.db.tar.gz' | \
zcat 2>/dev/null || \
{
curl -Ss 'https://arch.eckner.net/merged/'"${repo}"'/os/x86_64/'"${repo}"'.db.tar.xz' | \
xzcat 2>/dev/null
}
} | \
tar -t --wildcards '*/desc' | \
sed '
s,-[^-]\+-[^-]\+/desc$,,
' > \
"${tmp_dir}/${repo}.db"
>&2 printf ' OK\n'
done
find "${tmp_dir}" -type f \
-execdir grep -HF '' '{}' \; | \
sed '
s,^\./\([^/:]\+\)\.db:,\1 ,
y/_/-/
' | \
sort -k2,2 | \
uniq -Df1 | \
sed -n '
/^archlinuxewe /{
:a
$!N
s/\( \S\+\)\n\(\S\+\)\1/ \2\1/
ta
P
D
}
d
'
|