commit: c0abb42b17e62539099bd65adcf557839ece7c79 Author: tiotags <tiotags1 <AT> gmail <DOT> com> AuthorDate: Sat Apr 17 19:03:29 2021 +0000 Commit: Andrew Ammerlaan <andrewammerlaan <AT> riseup <DOT> net> CommitDate: Sat Apr 17 19:22:37 2021 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=c0abb42b
www-servers/hinsightd: added hinsightd http server Package-Manager: Portage-3.0.18, Repoman-3.0.3 Signed-off-by: Alexandru Campeanu <tiotags1 <AT> gmail.com> www-servers/hinsightd/files/gentoo.patch | 28 +++++++++++++ www-servers/hinsightd/files/init.d.sh | 49 +++++++++++++++++++++++ www-servers/hinsightd/hinsightd-9999.ebuild | 61 +++++++++++++++++++++++++++++ www-servers/hinsightd/metadata.xml | 11 ++++++ 4 files changed, 149 insertions(+) diff --git a/www-servers/hinsightd/files/gentoo.patch b/www-servers/hinsightd/files/gentoo.patch new file mode 100644 index 000000000..22925c1dc --- /dev/null +++ b/www-servers/hinsightd/files/gentoo.patch @@ -0,0 +1,28 @@ +diff --git a/src/hin/conf.h b/src/hin/conf.h +index c4f7f4c..29b9375 100644 +--- a/src/hin/conf.h ++++ b/src/hin/conf.h +@@ -2,9 +2,9 @@ + #ifndef HIN_CONF_H + #define HIN_CONF_H + +-#define HIN_CONF_PATH "workdir/main.lua" +-#define HIN_LOGDIR_PATH "build/" +-#define HIN_CWD_PATH "./" ++#define HIN_CONF_PATH "/etc/hinsightd/hinsightd.lua" ++#define HIN_LOGDIR_PATH "/var/log/hinsightd/" ++#define HIN_CWD_PATH "/var/www/localhost/" + + #define HIN_URING_QUEUE_DEPTH 256 + #define HIN_URING_DONT_FORK 0 +@@ -20,8 +20,8 @@ + #define HIN_HTTPD_MAX_HEADER_LINE_SIZE 4096 + #define HIN_HTTPD_MAX_POST_SIZE 4121440 + #define HIN_HTTPD_MAX_DEFLATE_SIZE 0 +-#define HIN_HTTPD_POST_DIRECTORY "/tmp" +-#define HIN_HTTPD_CACHE_DIRECTORY "/tmp" ++#define HIN_HTTPD_POST_DIRECTORY "/var/tmp/hinsightd" ++#define HIN_HTTPD_CACHE_DIRECTORY "/var/tmp/hinsightd" + #define HIN_HTTPD_CACHE_CLEAN_ON_EXIT 1 + #define HIN_HTTPD_CACHE_TMPFILE 0 + #define HIN_HTTPD_CACHE_MAX_SIZE 64 * 1024 * 1024 diff --git a/www-servers/hinsightd/files/init.d.sh b/www-servers/hinsightd/files/init.d.sh new file mode 100755 index 000000000..9146de844 --- /dev/null +++ b/www-servers/hinsightd/files/init.d.sh @@ -0,0 +1,49 @@ +#!/sbin/openrc-run + +NAME=$RC_SVCNAME +RUN_DIR=/var/run/$NAME +LOG_DIR=/var/log/$NAME +TMP_DIR=/var/tmp/$NAME +CWD_DIR=/var/www/localhost +PID_FILE=$RUN_DIR/$NAME.pid +CFG_FILE=/etc/hinsightd/$NAME.lua + +RUN_FILE=/usr/bin/hinsightd +RUN_USER="hinsightd" + +extra_commands="checkconfig reload" + +command=$RUN_FILE +command_args="--config $CFG_FILE --logdir $LOG_DIR --cwd $CWD_DIR --pidfile $PID_FILE --tmpdir $TMP_DIR" +pidfile="$PID_FILE" +command_args_background="--daemonize" +command_user="$RUN_USER:$RUN_USER" + +depend() { + use net +} + +checkconfig() { + $command $command_args --pretend > /dev/null +} + +start_pre() { + checkpath --directory --owner $command_user --mode 0770 $LOG_DIR $TMP_DIR $RUN_DIR + checkconfig || return 1 +} + +reload() { + if ! service_started "${NAME}" ; then + eerror " * ERROR ${NAME} isn't running" + return 1 + fi + + checkconfig || return 1 + + echo " * Reloading ${NAME} ..." + + start-stop-daemon --quiet --signal USR1 --pidfile ${PID_FILE} + eend $? +} + + diff --git a/www-servers/hinsightd/hinsightd-9999.ebuild b/www-servers/hinsightd/hinsightd-9999.ebuild new file mode 100644 index 000000000..e76ea720c --- /dev/null +++ b/www-servers/hinsightd/hinsightd-9999.ebuild @@ -0,0 +1,61 @@ +# Copyright 2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +LUA_COMPAT=( lua5-{1..4} ) + +inherit git-r3 fcaps + +DESCRIPTION="hinsightd a http/1.1 webserver with (hopefully) minimal goals" +HOMEPAGE="https://gitlab.com/tiotags/hin9" +EGIT_REPO_URI="https://gitlab.com/tiotags/hin9.git" +LICENSE="BSD" +SLOT="0" +KEYWORDS="" +IUSE="" #+openssl + +RDEPEND=" +acct-user/hinsightd +acct-group/hinsightd +sys-libs/liburing +dev-lang/lua:* +sys-libs/zlib +dev-libs/openssl +" + +DEPEND="${RDEPEND}" + +BDEPEND=" +acct-user/hinsightd +acct-group/hinsightd +dev-util/ninja +" + +PATCHES=( +"${FILESDIR}/gentoo.patch" +) + +#src_configure() { +#} + +src_compile() { + cd build + ninja +} + +src_install() { + newbin "${S}/build/hin9 hinsightd" + newinitd "${FILESDIR}/init.d.sh" hinsightd + + insinto /etc/hinsightd + newins "${S}/workdir/main.lua" hinsightd.lua + + keepdir /var/www/localhost/htdocs + keepdir /var/log/hinsightd + keepdir /var/tmp/hinsightd +} + +pkg_postinst() { + fcaps CAP_NET_BIND_SERVICE /usr/bin/hinsightd +} diff --git a/www-servers/hinsightd/metadata.xml b/www-servers/hinsightd/metadata.xml new file mode 100644 index 000000000..9b48d579b --- /dev/null +++ b/www-servers/hinsightd/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <!-- maintainer-needed --> + <longdescription lang="en"> + hinsightd a http/1.1 webserver with (hopefully) minimal goals + </longdescription> + <use> + <!--<flag name="openssl">Enable tls encryption with openssl</flag>--> + </use> +</pkgmetadata>