From ef425e0e4b8933e831914eafd7a49f1c6619366d Mon Sep 17 00:00:00 2001 From: Gibheer Date: Wed, 30 Oct 2024 19:27:15 +0100 Subject: add everything for a proper build process --- utils/PKGBUILD | 26 ++++++++++++++++++++++++++ utils/gocgi.conf.example | 6 ++++++ utils/gocgi@.service | 18 ++++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 utils/PKGBUILD create mode 100644 utils/gocgi.conf.example create mode 100644 utils/gocgi@.service (limited to 'utils') diff --git a/utils/PKGBUILD b/utils/PKGBUILD new file mode 100644 index 0000000..e559c9d --- /dev/null +++ b/utils/PKGBUILD @@ -0,0 +1,26 @@ +pkgname="gocgi" +pkgver=0.2 +pkgrel=1 +pkgdesc='a small go daemon to host cgi scripts' +arch=('x86_64') + +source=( + "${pkgname}-${pkgver}.tar.gz" + "gocgi@.service" + "gocgi.conf.example" + ) + +b2sums=( + 'aba9f188f146aca50b37251d1930ec061d7ad9fa24446456c13ce5d504ff4f67043fa706a722ca68e95c0552b6a9872215d04ca40fa5f20d55a52530fbaa66d9' + '3492816ef2c676ac8d1feff3736074c362f57a8dce8d13614ba262b660912db99b9e827959452c44f67c19af6b5366ebdf124564c5dae3a6237336b997e840c3' + 'e61ef545c47d38b79e0f99138d00ea99982b0a90523ce1697df658e9beae230079f274283c44924a0c5f525bc397ed5a7cd3d316a18d4c0258ca3d6a3b4225f3' + ) + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + go build -trimpath + + install -Dm 0755 "${pkgname}" "${pkgdir}/usr/bin/${pkgname}" + install -Dm 644 ${srcdir}/${pkgname}@.service -t "${pkgdir}/usr/lib/systemd/system" + install -Dm 644 ${srcdir}/${pkgname}.conf.example -t "${pkgdir}/etc/gocgi" +} diff --git a/utils/gocgi.conf.example b/utils/gocgi.conf.example new file mode 100644 index 0000000..699a7e8 --- /dev/null +++ b/utils/gocgi.conf.example @@ -0,0 +1,6 @@ +# Path to the binary to call when a request was accepted. +GOCGI_BIN="" +# Set a number of environment variables to give to the binary. +GOCGI_ENV="" +# Set the working directory for this instance. +GOCGI_WORKDIR="/" diff --git a/utils/gocgi@.service b/utils/gocgi@.service new file mode 100644 index 0000000..9f2cf4a --- /dev/null +++ b/utils/gocgi@.service @@ -0,0 +1,18 @@ +[Unit] +Description=CGI HTTP instance %i +After=network.target + +[Service] +Type=simple +EnvironmentFile=/etc/gocgi/%i.conf +ExecStart=/usr/bin/gocgi --path "${GOCGI_BIN}" --dir "${GOCGI_WORKDIR}" --env="${GOCGI_ENV}" --listen "${STATE_DIRECTORY}/%i.sock" + +RuntimeDirectory=gocgi +DynamicUser=yes +ProtectSystem=yes +PrivateDevices=yes +ProtectKernelTunables=yes +ProtectControlGroups=yes + +[Install] +WantedBy=multi-user.target -- cgit v1.2.3-70-g09d2