From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Date: Fri, 4 Aug 2017 13:02:26 -0400
Subject: non-interactive use of sks_build.sh

Without this patch, sks_build.sh needs interactive operation.  This
interaction gets in the way of streamlined and automated setup, so
allow an explicit workaround.
---
 sks_build.sh | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)
 mode change 100644 => 100755 sks_build.sh

--- a/sks_build.sh
+++ b/sks_build.sh
@@ -43,12 +43,25 @@ ask_mode() {
 
 fail() { echo Command failed unexpectedly.  Bailing out; exit -1; }
 
-ask_mode
+case "$1" in
+    --fast)
+        mode=fastbuild
+        ;;
+    --normal)
+	mode="build /var/lib/sks/dump/*.pgp"
+        ;;
+    *)
+	ask_mode
+esac
 
-echo "=== Running (fast)build... ==="
+if [ "$mode" = fastbuild ]; then
+    buildprefix=fast
+fi
+
+echo "=== Running ${buildprefix}build... ==="
 if ! /usr/sbin/sks $mode -n 10 -cache 100; then fail; fi
 echo === Cleaning key database... ===
-if ! /usr/sbin/sks cleandb; then fail; fi
+if ! (/usr/sbin/sks cleandb || /usr/sbin/sks cleandb); then fail; fi
 echo === Building ptree database... ===
 if ! /usr/sbin/sks pbuild -cache 20 -ptree_cache 70; then fail; fi
 echo === Done! ===
