Subject: [alpine-aports] [PATCH] testing/h2o: new aport

From: Bennett Goble <[email-masked]>
Date: Fri, 3 Jul 2015 14:10:12 -0400

https://h2o.examp1e.net
An optimized HTTP/1, HTTP/2 server written in C
---
 testing/h2o/APKBUILD        | 70 +++++++++++++++++++++++++++++++++++++++++++++
 testing/h2o/h2o.conf        | 13 +++++++++
 testing/h2o/h2o.initd       | 45 +++++++++++++++++++++++++++++
 testing/h2o/h2o.logrotate   |  8 ++++++
 testing/h2o/h2o.pre-install |  7 +++++
 5 files changed, 143 insertions(+)
 create mode 100644 testing/h2o/APKBUILD
 create mode 100644 testing/h2o/h2o.conf
 create mode 100644 testing/h2o/h2o.initd
 create mode 100644 testing/h2o/h2o.logrotate
 create mode 100755 testing/h2o/h2o.pre-install

diff --git a/testing/h2o/APKBUILD b/testing/h2o/APKBUILD
new file mode 100644
index 0000000..2d644f5
--- /dev/null
+++ b/testing/h2o/APKBUILD
@@ -0,0 +1,70 @@
+# Contributor: Bennett Goble <[email-masked]>
+# Maintainer: Bennett Goble <[email-masked]>
+
+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 0000000..448709c
--- /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 0000000..47e301d
--- /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 0000000..5139fa4
--- /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 0000000..11474f5
--- /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
-- 
2.4.1

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---