aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBennett Goble <nivardus@gmail.com>2015-07-03 14:10:12 -0400
committerBartłomiej Piotrowski <b@bpiotrowski.pl>2015-07-04 19:10:18 +0200
commitfaa11c327beef4f2ce95e635399e3a459cc58c53 (patch)
treeac50cb53cf673d74a4c31d311b3310c0f37130d7
parentaaa28b17629cf8def22c010ecc7f20e9cc842e38 (diff)
downloadaports-faa11c327beef4f2ce95e635399e3a459cc58c53.tar.bz2
aports-faa11c327beef4f2ce95e635399e3a459cc58c53.tar.xz
testing/h2o: new aport
https://h2o.examp1e.net An optimized HTTP/1, HTTP/2 server written in C
-rw-r--r--testing/h2o/APKBUILD70
-rw-r--r--testing/h2o/h2o.conf13
-rw-r--r--testing/h2o/h2o.initd45
-rw-r--r--testing/h2o/h2o.logrotate8
-rwxr-xr-xtesting/h2o/h2o.pre-install7
5 files changed, 143 insertions, 0 deletions
diff --git a/testing/h2o/APKBUILD b/testing/h2o/APKBUILD
new file mode 100644
index 0000000000..2d644f5aa2
--- /dev/null
+++ b/testing/h2o/APKBUILD
@@ -0,0 +1,70 @@
+# Contributor: Bennett Goble <nivardus@gmail.com>
+# Maintainer: Bennett Goble <nivardus@gmail.com>
+
+pkgname=h2o
+pkgver=1.3.1
+pkgrel=0
+pkgdesc="An optimized HTTP/1, HTTP/2 server written in C"
+url="https://h2o.examp1e.net"
+arch="all"
+license="MIT"
+depends="perl"
+makedepends="cmake wslay-dev openssl-dev libuv-dev libyaml-dev"
+install=""
+subpackages="$pkgname-dev $pkgname-doc"
+source="saveas-https://github.com/h2o/h2o/archive/v$pkgver.tar.gz/$pkgname-$pkgver.tar.gz
+ h2o.conf
+ h2o.initd
+ h2o.logrotate
+ h2o.pre-install"
+
+_builddir="$srcdir/$pkgname-$pkgver"
+_logdir=/var/log/$pkgname
+_confdir=/etc
+
+prepare() {
+ cd "$_builddir"
+ sed -i 's@__linux__@__GLIBC__@g' src/main.c
+ cmake -DBUILD_SHARED_LIBS=on -DCMAKE_INSTALL_PREFIX=/usr . || return 1
+}
+
+build() {
+ cd "$_builddir"
+ make -j1 || return 1
+ make libh2o || return 1
+}
+
+package() {
+ cd "$_builddir"
+ make DESTDIR="$pkgdir" install || return 1
+
+ install -m755 -D "$srcdir"/$pkgname.initd \
+ "$pkgdir/etc/init.d/$pkgname" || return 1
+
+ install -m644 -D "$srcdir"/$pkgname.logrotate \
+ "$pkgdir"/etc/logrotate.d/$pkgname || return 1
+
+ install -m644 -D "$srcdir"/$pkgname.conf \
+ "$pkgdir"/$_confdir/$pkgname.conf || return 1
+
+ install -m644 -D "$_builddir"/examples/doc_root/index.html \
+ "$pkgdir"/var/www/index.html || return 1
+
+ install -m700 -d "$pkgdir"/$_logdir || return 1
+}
+
+md5sums="5d47658e1199a9a3fdd63c38279a6727 h2o-1.3.1.tar.gz
+7d986844504a8106732d0128063faea0 h2o.conf
+a1ad5f38f26603bd673106e7d6848469 h2o.initd
+bb8f7d3d7589b6fca65b563f984cddda h2o.logrotate
+1668a90bef913eb64fd8b146c20e191b h2o.pre-install"
+sha256sums="8668a7c70cdb59eef4e67889569a45e0cf75b95eec133bd30435879cbdb77fba h2o-1.3.1.tar.gz
+05a712800b959aa3440307afdcd7a3a6ab8c17f48e1bfa3751a87cc67baf8737 h2o.conf
+707c02f7f47590e5bbea5688e2a5ca014a861dfdd4e0013f64094cb45d3ac397 h2o.initd
+43c3bacfddd1fc6c3c9a985e915bfd555e6282b27bb8da8862272d187490832e h2o.logrotate
+f91a270890603ccadaa9baaaf4ea94408ebe9c46bca04f730e22f194ea11cd91 h2o.pre-install"
+sha512sums="47710de9854d6652f80be5ae87e2b6888cb0081c343fa9f0b0bd1a37b97c73454db5d51135c7a4ad29a384098a54252327e549089f9a33b58757bfcf611b3aa5 h2o-1.3.1.tar.gz
+444f55c3eaae1f349223036086e45c983ea8be89e793068537ec25488c4065174bc509d0987ddc65a0357cb8acfec272e90d13ea7cdadf9cf112953d857aa574 h2o.conf
+e93e66a6b00b1bff94e37489c5fdf99d9d657adc63975ec54be30f8da23dafe7d7389f02a6452ed819efc9d8398aa716782a7fd6d8509621a975ed954b73bef9 h2o.initd
+3d2c9e36c48cbb974d0691e4af8e9eb8f13e3bebb98a30417cdc87e76a4b5cddc4e4f665ebea26b95174287b95d002fdc3363f30ffcf15247fcd0530fe1abfcc h2o.logrotate
+de19a71edf333df19fe10f9e0a4c417039cacab21e17c5b771af53efbed645998d0d02accc3498e3107eddf4c00becdc2f304d08e425b16b7f1fe2e20a08cc86 h2o.pre-install"
diff --git a/testing/h2o/h2o.conf b/testing/h2o/h2o.conf
new file mode 100644
index 0000000000..448709c67a
--- /dev/null
+++ b/testing/h2o/h2o.conf
@@ -0,0 +1,13 @@
+user: h2o
+pid-file: /var/run/h2o.pid
+error-log: /var/log/h2o/error.log
+access-log: /var/log/h2o/access.log
+
+listen:
+ port: 80
+hosts:
+ "Default":
+ paths:
+ /:
+ file.dir: /var/www
+
diff --git a/testing/h2o/h2o.initd b/testing/h2o/h2o.initd
new file mode 100644
index 0000000000..47e301d334
--- /dev/null
+++ b/testing/h2o/h2o.initd
@@ -0,0 +1,45 @@
+#!/sbin/openrc-run
+
+extra_started_commands="reload"
+extra_commands="configtest"
+conffile=/etc/h2o.conf
+pidfile=/var/run/h2o.pid
+command=/usr/bin/h2o
+command_args="-c $conffile -m master"
+
+depend() {
+ need net
+ after sshd
+ use dns logger netmount
+}
+
+start_pre() {
+ configtest || return 1
+}
+
+start() {
+ ebegin "Starting h2o"
+ start-stop-daemon --start \
+ --background \
+ --pidfile ${pidfile} \
+ --exec ${command} \
+ -- ${command_args}
+ eend $?
+}
+
+reload() {
+ configtest || return 1
+ ebegin "Refreshing h2o configuration"
+ kill -HUP `cat $pidfile` &>/dev/null
+ eend $? "Failed to reload h2o"
+}
+
+configtest() {
+ ebegin "Checking h2o configuration"
+
+ if [ ! -f "${conffile}" ]; then
+ ewarn "${conffile} does not exist."
+ return 1
+ fi
+}
+
diff --git a/testing/h2o/h2o.logrotate b/testing/h2o/h2o.logrotate
new file mode 100644
index 0000000000..5139fa4a03
--- /dev/null
+++ b/testing/h2o/h2o.logrotate
@@ -0,0 +1,8 @@
+/var/log/h2o/*.log {
+ missingok
+ sharedscripts
+ delaycompress
+ postrotate
+ /etc/init.d/h2o reload > /dev/null
+ endscript
+}
diff --git a/testing/h2o/h2o.pre-install b/testing/h2o/h2o.pre-install
new file mode 100755
index 0000000000..11474f5afe
--- /dev/null
+++ b/testing/h2o/h2o.pre-install
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+adduser -s /sbin/nologin -h /var/www -D -S -H h2o 2>/dev/null
+addgroup -g 82 -S www-data 2>/dev/null
+addgroup h2o www-data 2/dev/null
+
+exit 0