summaryrefslogtreecommitdiff
path: root/generate-bug-report
diff options
context:
space:
mode:
Diffstat (limited to 'generate-bug-report')
-rwxr-xr-xgenerate-bug-report52
1 files changed, 52 insertions, 0 deletions
diff --git a/generate-bug-report b/generate-bug-report
new file mode 100755
index 0000000..c47c8ab
--- /dev/null
+++ b/generate-bug-report
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+git pull --ff-only
+
+if ! diff -u PKGBUILD ../../trunk/PKGBUILD; then
+ >&2 echo "trunk differs - say something and I won't create a bug report."
+ read -r s
+ if [ -n "$s" ]; then
+ exit
+ fi
+fi
+
+if makepkg --verifysource; then
+ >&2 echo 'nothing wrong upstream.'
+ exit
+fi
+
+makepkg_info=$(
+ makepkg --verifysource 2>&1
+)
+git_revision=$(
+ git rev-parse HEAD
+)
+
+printf 'Bug report:\n\n'
+printf 'Description:\n\n'
+printf '%s\n' \
+ "${makepkg_info}"
+printf 'Additional info:\n'
+printf '* package version(s)\n'
+printf '%s\n' \
+ "${makepkg_info}" | \
+ sed -n '
+ s/^==> Making package: \(\S\+ \S\+\) (.*$/\1/
+ T
+ p
+ ' | \
+ tr -d '\n'
+printf ' (git revision %s)\n' \
+ "${git_revision}"
+printf '\n'
+printf 'Steps to reproduce:\n'
+printf '> git checkout %s\n' \
+ "${git_revision}"
+printf '> cd %s\n' \
+ "$(
+ pwd | \
+ sed '
+ s,^.*/\([^/]\+/repos/[^/]\+\)$,\1,
+ '
+ )"
+printf '> makepkg --verifysource\n'