aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortiotags <tiotags1@gmail.com>2021-05-25 18:29:33 +0300
committertiotags <tiotags1@gmail.com>2021-05-25 18:30:22 +0300
commita9d6a6f50ee567c3f343da44e6ea5a7e97ac1063 (patch)
treec18b299ff55f0f6fb42afd1561e11bcc27c0ce79
parentapp-text/epubgrep: Version bump 0.2.0. (diff)
downloadguru-a9d6a6f5.tar.gz
guru-a9d6a6f5.tar.bz2
guru-a9d6a6f5.zip
www-servers/hinsightd: new version 0.9.4
Package-Manager: Portage-3.0.19, Repoman-3.0.3 Signed-off-by: Alexandru Campeanu <tiotags1@gmail.com>
-rw-r--r--www-servers/hinsightd/Manifest1
-rw-r--r--www-servers/hinsightd/files/hinsightd-redefine-directories-v2.patch21
-rw-r--r--www-servers/hinsightd/files/init.d.sh9
-rw-r--r--www-servers/hinsightd/hinsightd-0.9.4.ebuild87
-rw-r--r--www-servers/hinsightd/hinsightd-9999.ebuild28
-rw-r--r--www-servers/hinsightd/metadata.xml12
6 files changed, 137 insertions, 21 deletions
diff --git a/www-servers/hinsightd/Manifest b/www-servers/hinsightd/Manifest
index a3034ae298..56ef7b3857 100644
--- a/www-servers/hinsightd/Manifest
+++ b/www-servers/hinsightd/Manifest
@@ -1 +1,2 @@
DIST hin9-v0.9.3.tar.gz 65343 BLAKE2B 4b475f8088aa113ae7dbd2cfe091ee10efb39d60b7277cb821eb010e752b39adf5e2a3c53aedc73c612ed4ba3d96178c09f255b9a07caf64b9cad34af2da5841 SHA512 768f0e55c2992b0ce50187a62e4c75ae2c2e2c31067d77898d221ad89afba20a3121853f01267bf6f1e43942ddca273bfed6c63849ce922c9c9d2c971a9061e0
+DIST hin9-v0.9.4.tar.gz 77019 BLAKE2B 7339b407ba60c740f51f47794bd5fa4b73c662c718841c8de10be53bc6bec53f5ba511e2f69859ef9312aa85a318f0feeab5088b839dcae1dd734951f52f87a4 SHA512 817ac692778b9b7d9b2b7dd82a0d92fa0303d875601d6b52ddd75bb470cab1c9ac39170a0a1f5737ec4d28849837a8b61bf34bc96481044fe9864932bcfdd6cf
diff --git a/www-servers/hinsightd/files/hinsightd-redefine-directories-v2.patch b/www-servers/hinsightd/files/hinsightd-redefine-directories-v2.patch
new file mode 100644
index 0000000000..8406efc864
--- /dev/null
+++ b/www-servers/hinsightd/files/hinsightd-redefine-directories-v2.patch
@@ -0,0 +1,21 @@
+diff --git a/src/hin/conf.h b/src/hin/conf.h
+index 4a6f071..f4f6f36 100644
+--- a/src/hin/conf.h
++++ b/src/hin/conf.h
+@@ -2,11 +2,11 @@
+ #ifndef HIN_CONF_H
+ #define HIN_CONF_H
+
+-#define HIN_CONF_PATH "workdir/main.lua"
+-#define HIN_LOGDIR_PATH "build/"
+-#define HIN_WORKDIR_PATH "./"
+-#define HIN_TEMP_PATH "/tmp/"
+-#define HIN_DEBUG_MASK 0xffffffff
++#define HIN_CONF_PATH "/etc/hinsightd/main.lua"
++#define HIN_LOGDIR_PATH "/var/log/hinsightd/"
++#define HIN_WORKDIR_PATH "/etc/hinsightd/"
++#define HIN_TEMP_PATH "/var/tmp/hinsightd/"
++#define HIN_DEBUG_MASK 0x27f0f
+
+ #define HIN_URING_QUEUE_DEPTH 256
+ #define HIN_URING_DONT_FORK 0
diff --git a/www-servers/hinsightd/files/init.d.sh b/www-servers/hinsightd/files/init.d.sh
index bc05ab5c93..15cd2ced51 100644
--- a/www-servers/hinsightd/files/init.d.sh
+++ b/www-servers/hinsightd/files/init.d.sh
@@ -6,7 +6,8 @@ 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
+CFG_FILE=/etc/hinsightd/main.lua
+LOG_FILE=$LOG_DIR/hindsight.log
RUN_FILE=/usr/bin/hinsightd
RUN_USER="hinsightd"
@@ -14,7 +15,7 @@ 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"
+command_args="--config $CFG_FILE --logdir $LOG_DIR --cwd $CWD_DIR --pidfile $PID_FILE --tmpdir $TMP_DIR --log $LOG_FILE"
pidfile="$PID_FILE"
command_args_background="--daemonize"
command_user="$RUN_USER:$RUN_USER"
@@ -24,11 +25,11 @@ depend() {
}
checkconfig() {
- $command $command_args --pretend > /dev/null
+ start-stop-daemon --quiet --user $RUN_USER --start --exec $command -- --check $command_args
}
start_pre() {
- checkpath --directory --owner $command_user --mode 0770 $LOG_DIR $TMP_DIR $RUN_DIR
+ checkpath --directory --owner $command_user --mode 06770 $LOG_DIR $TMP_DIR $RUN_DIR
checkconfig || return 1
}
diff --git a/www-servers/hinsightd/hinsightd-0.9.4.ebuild b/www-servers/hinsightd/hinsightd-0.9.4.ebuild
new file mode 100644
index 0000000000..f8d82a6558
--- /dev/null
+++ b/www-servers/hinsightd/hinsightd-0.9.4.ebuild
@@ -0,0 +1,87 @@
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LUA_COMPAT=( lua5-{1..4} )
+
+inherit fcaps lua-single systemd cmake linux-info
+
+DESCRIPTION="hinsightd a http/1.1 webserver with (hopefully) minimal goals"
+HOMEPAGE="https://gitlab.com/tiotags/hin9"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.com/tiotags/hin9.git"
+else
+ SRC_URI="https://gitlab.com/tiotags/hin9/-/archive/v${PV}/hin9-v${PV}.tar.gz"
+ S="${WORKDIR}/hin9-v${PV}"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+
+IUSE="+openssl"
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+
+BDEPEND="
+ dev-util/cmake
+ virtual/pkgconfig
+"
+
+RDEPEND="
+ ${LUA_DEPS}
+ acct-user/hinsightd
+ acct-group/hinsightd
+ sys-libs/liburing
+ sys-libs/zlib
+ openssl? ( dev-libs/openssl )
+"
+
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/hinsightd-redefine-directories-v2.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_OPENSSL=$(usex openssl)
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ newbin "${BUILD_DIR}/hin9" $PN
+ newinitd "${FILESDIR}/init.d.sh" $PN
+ systemd_dounit "${FILESDIR}/$PN.service" # not tested
+
+ # config
+ insinto /etc/$PN
+ doins "${S}/workdir/main.lua"
+ doins "${S}/workdir/lib.lua"
+ doins "${S}/workdir/default_config.lua"
+
+ # logrotate
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/logrotate.d.sh $PN
+
+ keepdir /var/www/localhost/htdocs
+}
+
+pkg_postinst() {
+ fcaps CAP_NET_BIND_SERVICE /usr/bin/$PN
+
+ if kernel_is lt 5 7; then
+ ewarn ""
+ ewarn "hinsightd requires io_uring and kernel ~5.6.0"
+ ewarn ""
+ fi
+
+ ewarn ""
+ ewarn "hinsightd requires a higher than default RLIMIT_MEMLOCK for"
+ ewarn "things like graceful restarting"
+ ewarn "memory limit can be increased in /etc/security/limits.conf"
+ ewarn ""
+}
diff --git a/www-servers/hinsightd/hinsightd-9999.ebuild b/www-servers/hinsightd/hinsightd-9999.ebuild
index a7e45d6938..f8d82a6558 100644
--- a/www-servers/hinsightd/hinsightd-9999.ebuild
+++ b/www-servers/hinsightd/hinsightd-9999.ebuild
@@ -42,8 +42,7 @@ RDEPEND="
DEPEND="${RDEPEND}"
PATCHES=(
- "${FILESDIR}/hinsightd-redefine-directories.patch"
- "${FILESDIR}/hinsightd-default-config.patch"
+ "${FILESDIR}/hinsightd-redefine-directories-v2.patch"
)
src_configure() {
@@ -54,28 +53,35 @@ src_configure() {
}
src_install() {
- newbin "${BUILD_DIR}/hin9" hinsightd
- newinitd "${FILESDIR}/init.d.sh" hinsightd
- systemd_dounit "${FILESDIR}/hinsightd.service" # not tested
+ newbin "${BUILD_DIR}/hin9" $PN
+ newinitd "${FILESDIR}/init.d.sh" $PN
+ systemd_dounit "${FILESDIR}/$PN.service" # not tested
- insinto /etc/hinsightd
- newins "${S}/workdir/main.lua" hinsightd.lua
+ # config
+ insinto /etc/$PN
+ doins "${S}/workdir/main.lua"
+ doins "${S}/workdir/lib.lua"
+ doins "${S}/workdir/default_config.lua"
# logrotate
insinto /etc/logrotate.d
- newins "${FILESDIR}"/logrotate.d.sh hinsightd
+ newins "${FILESDIR}"/logrotate.d.sh $PN
keepdir /var/www/localhost/htdocs
- keepdir /var/log/hinsightd
- keepdir /var/tmp/hinsightd
}
pkg_postinst() {
- fcaps CAP_NET_BIND_SERVICE /usr/bin/hinsightd
+ fcaps CAP_NET_BIND_SERVICE /usr/bin/$PN
if kernel_is lt 5 7; then
ewarn ""
ewarn "hinsightd requires io_uring and kernel ~5.6.0"
ewarn ""
fi
+
+ ewarn ""
+ ewarn "hinsightd requires a higher than default RLIMIT_MEMLOCK for"
+ ewarn "things like graceful restarting"
+ ewarn "memory limit can be increased in /etc/security/limits.conf"
+ ewarn ""
}
diff --git a/www-servers/hinsightd/metadata.xml b/www-servers/hinsightd/metadata.xml
index f06968fc08..826bd5d5f1 100644
--- a/www-servers/hinsightd/metadata.xml
+++ b/www-servers/hinsightd/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>tiotags1@gmail.com</email>
+ <name>Alexandru Campeanu</name>
+ </maintainer>
<upstream>
<changelog>https://gitlab.com/tiotags/hin9/-/blob/master/docs/changes.md</changelog>
<bugs-to>https://gitlab.com/tiotags/hin9/-/issues</bugs-to>
@@ -10,11 +13,8 @@
hinsightd is a http/1.1 webserver with a focus on simple code and
reliable behaviour.
Notable features: reverse proxying, output caching, ssl, pipelining,
- cgi, output compression with deflate, graceful restart, 304 status,
- etag, range requests and a very customizable config file using lua.
- Virtual hosts can be implemented in lua.
- Logging is entirely controled by lua.
- Full debug information can be toggled per request and outputted to console or a log file.
+ cgi, output compression with deflate, graceful restart and a very
+ customizable config file using lua.
</longdescription>
<use>
<flag name="openssl">Enable tls encryption with openssl</flag>