~alpine/aports

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

Bennett Goble <nivardus@gmail.com>
Details
Message ID
<1435947012-7311-1-git-send-email-nivardus@gmail.com>
Sender timestamp
1435947012
DKIM signature
missing
Download raw message
Patch: +143 -0
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 <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 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:  alpine-aports+unsubscribe@lists.alpinelinux.org
Help:         alpine-aports+help@lists.alpinelinux.org
---
Reply to thread Export thread (mbox)