]> git.armaanb.net Git - asd-repo.git/commitdiff
kiss-serv: add package (alpha)
authorArmaan Bhojwani <me@armaanb.net>
Wed, 31 Mar 2021 14:26:41 +0000 (10:26 -0400)
committerArmaan Bhojwani <me@armaanb.net>
Wed, 31 Mar 2021 14:26:41 +0000 (10:26 -0400)
kiss-serv/README [new file with mode: 0644]
kiss-serv/build [new file with mode: 0755]
kiss-serv/checksums [new file with mode: 0644]
kiss-serv/depends [new file with mode: 0644]
kiss-serv/files/kiss-send-build [new file with mode: 0755]
kiss-serv/files/kiss-serv [new file with mode: 0755]
kiss-serv/sources [new file with mode: 0644]
kiss-serv/version [new file with mode: 0644]

diff --git a/kiss-serv/README b/kiss-serv/README
new file mode 100644 (file)
index 0000000..1c5d4d9
--- /dev/null
@@ -0,0 +1,5 @@
+Send build jobs to a remote server
+
+This is just a wrapper around SSH to send easily send builds to a remote server
+and receive back a binary. Intended for single user usage, and no security
+features are built in.
diff --git a/kiss-serv/build b/kiss-serv/build
new file mode 100755 (executable)
index 0000000..7107fae
--- /dev/null
@@ -0,0 +1,4 @@
+#!/usr/bin/sh -e
+
+mkdir -p "$1/usr/bin"
+install -Dm755 kiss-* "$1/usr/bin"
diff --git a/kiss-serv/checksums b/kiss-serv/checksums
new file mode 100644 (file)
index 0000000..499c41e
--- /dev/null
@@ -0,0 +1,2 @@
+2117150c3c1361a2d6e6d35d455a6772401b4c4a643d6171720e39f7e0d2ae15
+8fc4f646db823150c76ff84c4648f261376263de512934ecd325703aad61e9f4
diff --git a/kiss-serv/depends b/kiss-serv/depends
new file mode 100644 (file)
index 0000000..c587eb2
--- /dev/null
@@ -0,0 +1,2 @@
+ssh
+rsync
diff --git a/kiss-serv/files/kiss-send-build b/kiss-serv/files/kiss-send-build
new file mode 100755 (executable)
index 0000000..72c3d84
--- /dev/null
@@ -0,0 +1,70 @@
+#!/usr/bin/sh -e
+
+usage() {
+  echo 'Usage: kiss send-build [command] [options]
+build KISS packages on a remote server
+
+Options:
+  -h, --help    show this help message
+
+Subcommands:
+  build [package]   initiate a remote build
+  status            get current remote status
+  get [package]     receive a built package
+
+Configuration:
+  Done via environment variables
+
+  $KISS_SERV_HOST    remote host to connect to
+                       (defaults to localhost)
+  $KISS_SERV_USER    remote host to connect to
+                       (defaults to $(whoami))
+  $KISS_SERV_PORT    remote port to connect to
+                       (defaults to 22)'
+}
+
+parse_err() {
+  echo "$1"
+  $2
+  exit 2
+}
+
+sshexec() {
+  $sshcmd kiss serv $1 $2
+  exit
+}
+
+get() {
+  contents=$sshcmd 'ls -1 ~/.cache/kiss/bin/'
+  pkg=$(echo $contents | sort | grep -m 1 "$2")
+  rsync -azre "ssh -p $sshcmd" "$user"@"$host":/home/"$user"/.cache/kiss/bin/"$pkg" \
+    ~/.cache/kiss/bin
+}
+
+port=${KISS_SERV_PORT:-22}
+host=${KISS_SERV_HOST:-localhost}
+user=${KISS_SERV_USER:-$(whoami)}
+sshcmd="ssh -p $port $user@$host"
+
+while [ "$1" != "" ]; do
+  case $1 in
+    -h | --help)
+      usage
+      exit
+      ;;
+    build)
+      build "$@"
+      ;;
+    status | get)
+      sshexec "$@"
+      ;;
+    get)
+      get "$@"
+      ;;
+    *)
+      parse_err "ERROR: unknown option $1 \n" usage
+      ;;
+  esac
+  shift 2
+done
+parse_err "ERROR: no command given\n" usage
diff --git a/kiss-serv/files/kiss-serv b/kiss-serv/files/kiss-serv
new file mode 100755 (executable)
index 0000000..4943b1a
--- /dev/null
@@ -0,0 +1,39 @@
+#!/usr/bin/sh -e
+
+usage() {
+  echo "for use with kiss send-build"
+}
+
+parse_err() {
+  echo "$1"
+  $2
+  exit 2
+}
+
+build() {
+  kiss build $2
+}
+
+status() {
+  echo "built packages:"
+  ls -1 ~/.cache/kiss/bin
+  echo "running kiss proceses:"
+  pgrep -a kiss
+}
+
+sshcmd="ssh -p ${KISS_SERV_PORT:-22} ${KISS_SERV_HOST:-localhost}"
+while [ "$1" != "" ]; do
+  case $1 in
+    -h | --help)
+      usage
+      exit
+      ;;
+    build | status)
+      "$1" "$@"
+      ;;
+    *)
+      parse_err "ERROR: unknown option $1 \n" usage
+      ;;
+  esac
+  shift 2
+done
diff --git a/kiss-serv/sources b/kiss-serv/sources
new file mode 100644 (file)
index 0000000..c949509
--- /dev/null
@@ -0,0 +1,2 @@
+files/kiss-serv
+files/kiss-send-build
diff --git a/kiss-serv/version b/kiss-serv/version
new file mode 100644 (file)
index 0000000..a383ea1
--- /dev/null
@@ -0,0 +1 @@
+git 1