summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorchn2021-04-16 10:16:00 +0800
committerchn2021-04-16 10:17:34 +0800
commitaf43a9fa8547992dcaa7ef513c25da357b816834 (patch)
tree3cfc797851bfab67c6162d7311f8839c0338cde7
downloadaur-af43a9fa8547992dcaa7ef513c25da357b816834.tar.gz
init
-rw-r--r--.SRCINFO15
-rw-r--r--PKGBUILD19
-rw-r--r--qemu-guest-agent-bandwagonhost-kiwivm.bash24
-rw-r--r--qemu-guest-agent-bandwagonhost-kiwivm.service12
4 files changed, 70 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..5dc49945da74
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,15 @@
+pkgbase = qemu-guest-agent-bandwagonhost-kiwivm
+ pkgdesc = make BandwagonHost KiwiVM control panel full functional
+ pkgver = 1
+ pkgrel = 1
+ url = https://gist.github.com/unknowndev233/0852d2461b4ebbeebb58894830ff964e
+ arch = any
+ license = MIT
+ depends = qemu-guest-agent
+ source = qemu-guest-agent-bandwagonhost-kiwivm.bash
+ source = qemu-guest-agent-bandwagonhost-kiwivm.service
+ sha512sums = 1bd1481048cb97d552b2a7230f6880ffe2fdc058360975b3b9dc9f1314f390e4f9caef1d7b93512d2d0ff63d217029ace1dc7be24f3c0ba0f745c8e779bff003
+ sha512sums = 1925f50c5d16dd7a3f71559fa1fcc33916c3da4138c295ec795fa1f22bef894a6e5c7598af3d8926313ddb1a1358278cf0d2fb76d67b9b08272446a48be37a64
+
+pkgname = qemu-guest-agent-bandwagonhost-kiwivm
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..b4fd0a471b34
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,19 @@
+# Maintainer: chn <g897331845@gmail.com>
+pkgname=qemu-guest-agent-bandwagonhost-kiwivm
+pkgver=1
+pkgrel=1
+pkgdesc='make BandwagonHost KiwiVM control panel full functional'
+arch=('any')
+url='https://gist.github.com/unknowndev233/0852d2461b4ebbeebb58894830ff964e'
+license=('MIT')
+depends=('qemu-guest-agent')
+source=("qemu-guest-agent-bandwagonhost-kiwivm.bash"
+ "qemu-guest-agent-bandwagonhost-kiwivm.service")
+sha512sums=('1bd1481048cb97d552b2a7230f6880ffe2fdc058360975b3b9dc9f1314f390e4f9caef1d7b93512d2d0ff63d217029ace1dc7be24f3c0ba0f745c8e779bff003'
+ '1925f50c5d16dd7a3f71559fa1fcc33916c3da4138c295ec795fa1f22bef894a6e5c7598af3d8926313ddb1a1358278cf0d2fb76d67b9b08272446a48be37a64')
+package() {
+ mkdir -p $pkgdir/usr/bin
+ install -Dm755 "$srcdir/qemu-guest-agent-bandwagonhost-kiwivm.bash" "$pkgdir/usr/bin"
+ mkdir -p $pkgdir/usr/lib/systemd/system
+ install -Dm644 "$srcdir/qemu-guest-agent-bandwagonhost-kiwivm.service" "$pkgdir/usr/lib/systemd/system"
+}
diff --git a/qemu-guest-agent-bandwagonhost-kiwivm.bash b/qemu-guest-agent-bandwagonhost-kiwivm.bash
new file mode 100644
index 000000000000..016da196734b
--- /dev/null
+++ b/qemu-guest-agent-bandwagonhost-kiwivm.bash
@@ -0,0 +1,24 @@
+#!/bin/bash
+SERIALSTDIO=/dev/virtio-ports/kiwicomm.port0
+SERIALSTDERR=/dev/virtio-ports/kiwicomm.port1
+
+if [ ! -L "$SERIALSTDIO" ] || [ ! -L "$SERIALSTDERR" ]; then
+ echo "Serial device not found, aborting."
+ exit 1
+fi
+
+(
+flock -x -w 3 188 || { exit 0; }
+
+while true; do
+ line=""
+ read -r line < $SERIALSTDIO
+ if [ ! -z "$line" ]; then
+ echo $line
+ eval $line > $SERIALSTDIO 2>$SERIALSTDERR
+ echo "EXIT CODE: $?" >$SERIALSTDERR
+ else
+ sleep 1
+ fi
+done
+) 188> /var/lock/qemu-guest-agent-bandwagonhost-kiwivm.lock
diff --git a/qemu-guest-agent-bandwagonhost-kiwivm.service b/qemu-guest-agent-bandwagonhost-kiwivm.service
new file mode 100644
index 000000000000..5cb937ab2f44
--- /dev/null
+++ b/qemu-guest-agent-bandwagonhost-kiwivm.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=qemu-guest-agent-bandwagonhost-kiwivm
+After=qemu-guest-agent.service
+
+[Service]
+User=root
+ExecStart=/usr/bin/qemu-guest-agent-bandwagonhost-kiwivm.bash
+Restart=on-failure
+RestartPreventExitStatus=23
+
+[Install]
+WantedBy=multi-user.target \ No newline at end of file