Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/bin/return-assignment
diff options
context:
space:
mode:
Diffstat (limited to 'bin/return-assignment')
-rwxr-xr-xbin/return-assignment59
1 files changed, 45 insertions, 14 deletions
diff --git a/bin/return-assignment b/bin/return-assignment
index 8299a3e..ac642a5 100755
--- a/bin/return-assignment
+++ b/bin/return-assignment
@@ -133,21 +133,53 @@ tar -x \
--no-wildcards-match-slash \
'*.pkg.tar.xz' \
'*.pkg.tar.xz.sig' \
- '*.build-log.gz'
+ '*.pkg.tar.xz-namcap.log.gz'
# check if all packages are signed and all signatures belong to a package
-signature_errors=$(
- find . -maxdepth 1 -name '*.pkg.tar.xz' -o -name '*.pkg.tar.xz.sig' | \
- sed 's|\.sig$||' | \
- sort | \
- uniq -c | \
- grep -v '^\s*2\s' | \
- awk '{print $2}'
+missing_files=$(
+ find . -maxdepth 1 -name '*.pkg.tar.xz' -o -name '*.pkg.tar.xz.sig' -o -name '*.pkg.tar.xz-namcap.log.gz' | \
+ sed '
+ s@\.sig$@ signature@
+ t
+ s@-namcap\.log\.gz$@ namcap@
+ t
+ s@$@ package@
+ ' | \
+ sort -k1,1 -k2,2 | \
+ sed '
+ :a
+ $!N
+ s/^\(\(\S\+\) [^\n]\+\)\n\2 /\1 /
+ ta
+ P
+ D
+ ' | \
+ sed -n '
+ s/$/ /
+ / package /!{
+ h
+ s/^\(\S\+\) .*$/Package "\1" is missing./
+ p
+ g
+ }
+ / signature /!{
+ h
+ s/^\(\S\+\) .*$/Signature of "\1" is missing./
+ p
+ g
+ }
+ / namcap /!{
+ h
+ s/^\(\S\+\) .*$/Namcap log of "\1" is missing./
+ p
+ g
+ }
+ '
)
-if [ -n "${signature_errors}" ]; then
- >&2 echo 'The following packages lack a signature or vice versa:'
- >&2 echo "${signature_errors}"
+if [ -n "${missing_files}" ]; then
+ >&2 echo 'The following packages lack a signature, namcap log or package file:'
+ >&2 echo "${missing_files}"
exit 3
fi
@@ -181,9 +213,8 @@ if [ -n "${package_errors}" ]; then
exit 4
fi
-# move build-logs
-find . -maxdepth 1 -name '*.build-log.gz' -printf "%p ${build_log_directory}/success/$1.$2.$3.$4.%f\n" | \
- xargs -rn2 mv
+# move namcap.logs
+find . -maxdepth 1 -name '*.pkg.tar.xz-namcap.log.gz' -execdir mv '{}' "${build_log_directory}/success/" \;
# move packages
destination=$(official_or_community "$1.$2.$3.$4" 'staging')