Add systemd-enabled version of janus-gateway

This commit is contained in:
Martchus 2018-12-07 17:59:17 +01:00
parent 314570662e
commit e3b57542d8
3 changed files with 73 additions and 0 deletions

View File

@ -0,0 +1,48 @@
# Maintainer: Maurizio Porrato <maurizio.porrato@gmail.com>
# Contributor: Martchus <martchus@gmx.net>
pkgname=janus-gateway
pkgver=0.4.5
pkgrel=2
pkgdesc="WebRTC gateway"
arch=('i686' 'x86_64')
url="http://janus.conf.meetecho.com/"
license=('GPL3')
depends=('libmicrohttpd' 'jansson' 'libnice' 'openssl' 'libsrtp'
'sofia-sip' 'libusrsctp-git' 'libwebsockets' 'libevent'
'librabbitmq-c' 'opus' 'libogg' 'glib2' 'ding-libs' 'lua>=5.3'
'ffmpeg')
makedepends=('gengetopt' 'paho-mqtt-c-git')
provides=(janus-gateway)
backup=('etc/janus/janus.cfg')
install=janus-gateway.install
source=("https://github.com/meetecho/janus-gateway/archive/v${pkgver}.tar.gz"
janus.service)
sha256sums=('fc60e615e0c70249e41a32e068ef8feed7e01478fb7659ae16b73c6dd08d695d'
'cf2b6c8fdcd60ccfa179c4cd207a23ee7edfee90588c2c3847aa6cda418bed7f')
_userid=531
build() {
cd "$srcdir/$pkgname-$pkgver"
./autogen.sh
./configure --prefix=/usr --sysconfdir=/etc --disable-docs \
--enable-javascript-commonjs-module --enable-post-processing \
--enable-mqtt --enable-rabbit-mq
DESTDIR="$pkgdir/" make
# make sysusers file to run as user janus
echo "u janus $_userid \"Janus WebRTC gateway user\" /var/lib/janus /bin/bash" > "$srcdir/janus.conf"
}
package() {
cd "$srcdir/$pkgname-$pkgver"
DESTDIR="$pkgdir/" make install configs
rm -f "$pkgdir/usr/share/janus/certs/mycert.{key,pem}"
# install systemd unit file to run as user janus
install -dm0700 -o "$_userid" -g "$_userid" "${pkgdir}/var/lib/janus"
install -Dm644 "$srcdir/janus.service" -t "${pkgdir}"/usr/lib/systemd/system/
install -Dm644 "$srcdir/janus.conf" -t "${pkgdir}"/usr/lib/sysusers.d/
}

View File

@ -0,0 +1,10 @@
post_install() {
openssl req -x509 -batch -nodes -newkey rsa:1024 \
-keyout /usr/share/janus/certs/mycert.key \
-out /usr/share/janus/certs/mycert.pem
}
pre_remove() {
rm -f /usr/share/janus/certs/mycert.{key,pem}
}

View File

@ -0,0 +1,15 @@
[Unit]
Description=Janus WebRTC Gateway
Wants=network.target
[Service]
Type=simple
ExecStart=/usr/bin/janus
User=janus
Group=janus
Restart=on-failure
LimitNOFILE=65536
TasksMax=infinity
[Install]
WantedBy=multi-user.target