aboutsummaryrefslogtreecommitdiff
path: root/vector.sh
diff options
context:
space:
mode:
authorjaseg <git@jaseg.net>2019-03-27 18:28:57 +0900
committerjaseg <git@jaseg.net>2019-03-27 18:28:57 +0900
commit6a90803ae6da0759723deda24d746d18e2fb8b8c (patch)
treec0c24d09703a02aeb7743c67872fe4386e31921e /vector.sh
downloadinfra-6a90803ae6da0759723deda24d746d18e2fb8b8c.tar.gz
infra-6a90803ae6da0759723deda24d746d18e2fb8b8c.tar.bz2
infra-6a90803ae6da0759723deda24d746d18e2fb8b8c.zip
gerboweb: Initial commit
The functionality is there, no design yet
Diffstat (limited to 'vector.sh')
-rwxr-xr-xvector.sh18
1 files changed, 18 insertions, 0 deletions
diff --git a/vector.sh b/vector.sh
new file mode 100755
index 0000000..5d239d5
--- /dev/null
+++ b/vector.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+[ $# != 2 ] && exit 1
+ID=$1
+egrep -x -q '^[-0-9A-Za-z]{36}$'<<<"$ID" || exit 2
+LAYER=$2
+egrep -x -q '^(top|bottom)$'<<<"$LAYER" || exit 2
+
+systemd-nspawn \
+ -D /var/cache/gerbolyze_container \
+ -x --bind=/var/cache/gerboweb/upload/$ID:/mnt \
+ /bin/sh -c "set -euo pipefail
+cd /tmp
+unzip -j -d gerber_in /mnt/gerber.zip
+gerbolyze vectorize $LAYER gerber_in gerber /mnt/overlay.png
+rm -f /mnt/gerber_out.zip
+zip -r /mnt/gerber_out.zip gerber"
+