diff --git a/contrib/darkhttpd/files/darkhttpd b/contrib/darkhttpd/files/darkhttpd new file mode 100644 index 00000000000..b40e86a3660 --- /dev/null +++ b/contrib/darkhttpd/files/darkhttpd @@ -0,0 +1,6 @@ +# darkhttpd system service + +type = process +command = /usr/bin/darkhttpd ${ROOT:-/var/www/htdocs} --addr ${ADDR:-127.0.0.1} --port ${PORT:-8080} --uid _darkhttpd --gid _darkhttpd --chroot --log /var/log/darkhttpd/access.log +env-file = /etc/default/darkhttpd +logfile = /var/log/darkhttpd.log diff --git a/contrib/darkhttpd/files/darkhttpd.default b/contrib/darkhttpd/files/darkhttpd.default new file mode 100644 index 00000000000..6bdffd63ecf --- /dev/null +++ b/contrib/darkhttpd/files/darkhttpd.default @@ -0,0 +1,3 @@ +ROOT=/var/www/htdocs +ADDR=127.0.0.1 +PORT=8080 diff --git a/contrib/darkhttpd/files/sysusers.conf b/contrib/darkhttpd/files/sysusers.conf new file mode 100644 index 00000000000..7aaf61dcd1b --- /dev/null +++ b/contrib/darkhttpd/files/sysusers.conf @@ -0,0 +1,3 @@ +# create darkhttp user + +u _darkhttpd - "darkhttpd daemon user" /var/empty /usr/bin/nologin diff --git a/contrib/darkhttpd/files/tmpfiles.conf b/contrib/darkhttpd/files/tmpfiles.conf new file mode 100644 index 00000000000..b76c76afbc7 --- /dev/null +++ b/contrib/darkhttpd/files/tmpfiles.conf @@ -0,0 +1,4 @@ +# create darkhttpd state directories + +d /var/www/htdocs 0755 _darkhttpd _darkhttpd - +d /var/log/darkhttpd 0750 _darkhttpd _darkhttpd - diff --git a/contrib/darkhttpd/template.py b/contrib/darkhttpd/template.py new file mode 100644 index 00000000000..a22cd33cc77 --- /dev/null +++ b/contrib/darkhttpd/template.py @@ -0,0 +1,35 @@ +pkgname = "darkhttpd" +pkgver = "1.15" +pkgrel = 0 +build_style = "makefile" +make_use_env = True +pkgdesc = "Single-threaded static content webserver" +maintainer = "ttyyls " +license = "ISC" +url = "https://unix4lyfe.org/darkhttpd" +source = f"https://github.com/emikulic/darkhttpd/archive/v{pkgver}.tar.gz" +sha256 = "ea48cedafbf43186f4a8d1afc99b33b671adee99519658446022e6f63bd9eda9" +hardening = ["vis", "cfi"] +# no tests defined +options = ["!check"] + + +def do_install(self): + self.install_license("COPYING") + self.install_bin("darkhttpd") + self.install_service(self.files_path / "darkhttpd") + self.install_file( + self.files_path / "sysusers.conf", + "usr/lib/sysusers.d", + name="darkhttpd.conf", + ) + self.install_file( + self.files_path / "tmpfiles.conf", + "usr/lib/tmpfiles.d", + name="darkhttpd.conf", + ) + self.install_file( + self.files_path / "darkhttpd.default", + "etc/default", + name="darkhttpd", + )