Commit 462e6cb5 authored by Natanael Copa's avatar Natanael Copa

main/fcgiwrap: fix init.d script and claim maintainership

- split openrc subpackage
- use /run instead of /var/run for socket dir
- remove use of pidfile. It seems that the first process will not clean
  up the childen. Let openrc kill all children by not specify pidfile
- fix permission of unix socket path. it needs to be writable by
  www-data group.
- clean up unix socket after stop
- make it possible to set number of preforks via 'nproc' in
  /etc/conf.d/fcgiwrap. default to number of cpus on system.
- allow set tcp socket via /etc/conf.d/fcgiwrap
- provide example /etc/conf.d/fcgiwrap
parent 0722927b
# Maintainer:
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=fcgiwrap
pkgver=1.1.0
pkgrel=2
pkgrel=3
pkgdesc="Simple server for running CGI applications over FastCGI"
url="https://github.com/gnosek/fcgiwrap"
arch="all"
......@@ -10,9 +10,10 @@ pkgusers="fcgiwrap"
pkggroups="www-data"
install="$pkgname.pre-install"
makedepends="$depends_dev autoconf libtool automake fcgi-dev"
subpackages="$pkgname-doc"
subpackages="$pkgname-doc $pkgname-openrc"
source="$pkgname-$pkgver.tar.gz::https://github.com/gnosek/$pkgname/archive/$pkgver.tar.gz
$pkgname.initd"
$pkgname.initd
$pkgname.confd"
builddir="$srcdir/$pkgname-$pkgver"
......@@ -28,11 +29,12 @@ build() {
package() {
cd "$builddir"
mkdir -p "$pkgdir"/var/run/fcgiwrap
install -d -m2775 -o fcgiwrap -g www-data "$pkgdir"/run/fcgiwrap
make DESTDIR="$pkgdir" install
install -Dm755 $srcdir/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
chown $pkgusers.$pkggroups "$pkgdir"/var/run/fcgiwrap
install -Dm644 $srcdir/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
}
sha512sums="b8d35762d1d3c94a67602290b0092f0c38cffbbcd3dbc16597abf8b92172909b04450c238de2e430e841a17dd47fdd48d6a001f77539966980ef1af61e447ddc fcgiwrap-1.1.0.tar.gz
b12afb8e54e7fb9f01bab74895bcffb49993fac1fc1091576c096d5a325abfd6579eb3dd9ec82aabc6dddb26dac584d216b5d0823cd802fd1d9078e82d883b12 fcgiwrap.initd"
0dbf5f4387e5dc5de6e9bd6d98247e175f1a7943fe1d04ea916881b1269fd0b62abfafac91f8c0dd2f4dc9c71118195ba9dd7cf9bb5e3d93e6e711ec7d770453 fcgiwrap.initd
893e9afa92c20c9d0dab68fffc806a1be1f2e28a7e73bbb497316386a9ee083be4bad68a90f660e489311a9812a512b50fb0edb8b9c49b12f6cd266ba53b01a6 fcgiwrap.confd"
# set number of preforked children. defaults to number of system CPUs
#nproc=$(nproc)
# set listen socket. Defaults to unix:/run/fcgiwrap/fcgiwrap.sock
#socket=unix:/run/fcgiwrap/fcgiwrap.sock
......@@ -4,24 +4,40 @@ name="fcgiwrap"
description="fcgiwrap cgi daemon"
command="/usr/bin/fcgiwrap"
command_args="-c 3 -s unix:/var/run/fcgiwrap/fcgiwrap.sock"
command_background="yes"
pidfile="/var/run/fcgiwrap/fcgiwrap.pid"
user="fcgiwrap"
group="www-data"
: ${socket:=unix:/run/fcgiwrap/fcgiwrap.sock}
depend() {
need net localmount
after firewall
}
start_pre() {
command_args="-c ${nproc:-$(nproc)} -s $socket"
case "$socket" in
unix:/*)
local socket_path=${socket#unix:}
checkpath --directory --mode 2775 --owner ${user}:${group} \
${socket_path%/*}
;;
esac
}
start() {
ebegin "Starting ${name}"
start-stop-daemon --exec ${command} \
--pidfile ${pidfile} --make-pidfile \
--background \
-u ${user} -g ${group} \
--start -- ${command_args}
eend $?
}
stop_post() {
case "$socket" in
unix:/*)
rm -f "${socket#unix:}"
;;
esac
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment