From 1a5c5413830ea8f773f54fe450ebf247047822fb Mon Sep 17 00:00:00 2001 From: Armaan Bhojwani Date: Wed, 31 Mar 2021 10:26:41 -0400 Subject: [PATCH] kiss-serv: add package (alpha) --- kiss-serv/README | 5 +++ kiss-serv/build | 4 ++ kiss-serv/checksums | 2 + kiss-serv/depends | 2 + kiss-serv/files/kiss-send-build | 70 +++++++++++++++++++++++++++++++++ kiss-serv/files/kiss-serv | 39 ++++++++++++++++++ kiss-serv/sources | 2 + kiss-serv/version | 1 + 8 files changed, 125 insertions(+) create mode 100644 kiss-serv/README create mode 100755 kiss-serv/build create mode 100644 kiss-serv/checksums create mode 100644 kiss-serv/depends create mode 100755 kiss-serv/files/kiss-send-build create mode 100755 kiss-serv/files/kiss-serv create mode 100644 kiss-serv/sources create mode 100644 kiss-serv/version diff --git a/kiss-serv/README b/kiss-serv/README new file mode 100644 index 0000000..1c5d4d9 --- /dev/null +++ b/kiss-serv/README @@ -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 index 0000000..7107fae --- /dev/null +++ b/kiss-serv/build @@ -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 index 0000000..499c41e --- /dev/null +++ b/kiss-serv/checksums @@ -0,0 +1,2 @@ +2117150c3c1361a2d6e6d35d455a6772401b4c4a643d6171720e39f7e0d2ae15 +8fc4f646db823150c76ff84c4648f261376263de512934ecd325703aad61e9f4 diff --git a/kiss-serv/depends b/kiss-serv/depends new file mode 100644 index 0000000..c587eb2 --- /dev/null +++ b/kiss-serv/depends @@ -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 index 0000000..72c3d84 --- /dev/null +++ b/kiss-serv/files/kiss-send-build @@ -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 index 0000000..4943b1a --- /dev/null +++ b/kiss-serv/files/kiss-serv @@ -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 index 0000000..c949509 --- /dev/null +++ b/kiss-serv/sources @@ -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 index 0000000..a383ea1 --- /dev/null +++ b/kiss-serv/version @@ -0,0 +1 @@ +git 1 -- 2.39.2