From 9c981ecd67541dacc42fd84a319d82bf82ba5547 Mon Sep 17 00:00:00 2001 From: Toyam Cox Date: Mon, 23 Oct 2017 01:22:08 -0400 Subject: [PATCH] New package: spreed-webrtc-0.29.7 --- srcpkgs/spreed-webrtc/INSTALL | 16 +++++++++ .../files/spreed-webrtc-server/log/run | 2 ++ .../files/spreed-webrtc-server/run | 2 ++ srcpkgs/spreed-webrtc/patches/config.patch | 27 +++++++++++++++ srcpkgs/spreed-webrtc/patches/sbin.patch | 11 ++++++ srcpkgs/spreed-webrtc/template | 34 +++++++++++++++++++ 6 files changed, 92 insertions(+) create mode 100644 srcpkgs/spreed-webrtc/INSTALL create mode 100755 srcpkgs/spreed-webrtc/files/spreed-webrtc-server/log/run create mode 100755 srcpkgs/spreed-webrtc/files/spreed-webrtc-server/run create mode 100644 srcpkgs/spreed-webrtc/patches/config.patch create mode 100644 srcpkgs/spreed-webrtc/patches/sbin.patch create mode 100644 srcpkgs/spreed-webrtc/template diff --git a/srcpkgs/spreed-webrtc/INSTALL b/srcpkgs/spreed-webrtc/INSTALL new file mode 100644 index 00000000000..cdc528c6db8 --- /dev/null +++ b/srcpkgs/spreed-webrtc/INSTALL @@ -0,0 +1,16 @@ +case "${ACTION}" in +post) + # Do not be confused. This has no effect on whether or not the package is edited + # That honour rests on the string and it's companions. + if [ "${UPDATE}" != "yes" ]; then + sessionSecret=$(tr -dc [:xdigit:] < /dev/urandom | tr [:upper:] [:lower:] | head -c128) + encryptionSecret=$(tr -dc [:xdigit:] < /dev/urandom | tr [:upper:] [:lower:] | head -c64) + # The following is a public value but randomness should be fine + serverToken=$(tr -dc [:xdigit:] < /dev/urandom | tr [:upper:] [:lower:] | head -c64) + sed -i etc/spreed/webrtc.conf \ + -e "s!!$sessionSecret!" \ + -e "s!!$encryptionSecret!" \ + -e "s!!$serverToken!" + fi +;; +esac diff --git a/srcpkgs/spreed-webrtc/files/spreed-webrtc-server/log/run b/srcpkgs/spreed-webrtc/files/spreed-webrtc-server/log/run new file mode 100755 index 00000000000..c50c10aa0da --- /dev/null +++ b/srcpkgs/spreed-webrtc/files/spreed-webrtc-server/log/run @@ -0,0 +1,2 @@ +#!/bin/sh +exec logger -t spreed-webrtc-server -p daemon.notice diff --git a/srcpkgs/spreed-webrtc/files/spreed-webrtc-server/run b/srcpkgs/spreed-webrtc/files/spreed-webrtc-server/run new file mode 100755 index 00000000000..aac85d39a50 --- /dev/null +++ b/srcpkgs/spreed-webrtc/files/spreed-webrtc-server/run @@ -0,0 +1,2 @@ +#!/bin/sh +exec chpst -u _spreed_webrtc:_spreed_webrtc spreed-webrtc-server -c /etc/spreed/webrtc.conf diff --git a/srcpkgs/spreed-webrtc/patches/config.patch b/srcpkgs/spreed-webrtc/patches/config.patch new file mode 100644 index 00000000000..4855e299f73 --- /dev/null +++ b/srcpkgs/spreed-webrtc/patches/config.patch @@ -0,0 +1,27 @@ +--- server.conf.in.orig 2017-10-24 17:32:49.929715267 -0400 ++++ server.conf.in 2017-10-24 17:52:14.557079287 -0400 +@@ -70,13 +70,13 @@ + ; Session secret to use for session id generator. 32 or 64 bytes of random data + ; are recommented (hex encoded). A warning will be logged if hex decode fails. + ; You can generate a secret easily with "xxd -ps -l 32 -c 32 /dev/random". +-sessionSecret = the-default-secret-do-not-keep-me ++sessionSecret = + ; Encryption secret protecting the data in generated server side tokens. Use + ; 16, 24, or 32 bytes (hex encoded) to select AES-128, AES-192, or AES-256. + ; When you change the encryption secret, stored authentications, sessions and + ; contacts become invalid. A warning will be logged if hex decode fails. You + ; can generate a secret easily with "xxd -ps -l 32 -c 32 /dev/random". +-encryptionSecret = tne-default-encryption-block-key ++encryptionSecret = + ; Full path to a text file containig client tokens which a user needs to enter + ; when accessing the web client. Each line in this file represents a valid + ; token. +@@ -109,7 +109,7 @@ + ; Server token is a public random string which is used to enhance security of + ; server generated security tokens. When the serverToken is changed all existing + ; nonces become invalid. Use 32 or 64 characters (eg. 16 or 32 byte hex). +-serverToken = i-did-not-change-the-public-token-boo ++serverToken = + ; The server realm is part of the validation chain of tokens and nonces and is + ; added as suffix to server created user ids if user creation is enabled. When + ; the realm is changed, all existing tokens and nonces become invalid. diff --git a/srcpkgs/spreed-webrtc/patches/sbin.patch b/srcpkgs/spreed-webrtc/patches/sbin.patch new file mode 100644 index 00000000000..315d4af8d71 --- /dev/null +++ b/srcpkgs/spreed-webrtc/patches/sbin.patch @@ -0,0 +1,11 @@ +--- Makefile.am.bck 2017-10-21 16:58:49.133926179 -0400 ++++ Makefile.am 2017-10-21 16:59:15.308887970 -0400 +@@ -33,7 +33,7 @@ + GOTESTFLAGS ?= + SYSTEM_GOPATH = /usr/share/gocode/src/ + +-BIN ?= @prefix@/sbin ++BIN ?= @bindir@ + SHARE ?= @prefix@/share/spreed-webrtc-server + + OUTPUT := $(CURDIR)/bin diff --git a/srcpkgs/spreed-webrtc/template b/srcpkgs/spreed-webrtc/template new file mode 100644 index 00000000000..e0800bde671 --- /dev/null +++ b/srcpkgs/spreed-webrtc/template @@ -0,0 +1,34 @@ +# Template file for 'spreed-webrtc' +pkgname=spreed-webrtc +version=0.29.7 +revision=1 +build_style=go +go_import_path="github.com/strukturag/spreed-webrtc" +go_package="${go_import_path}/src/app/spreed-webrtc-server" +hostmakedepends="automake nodejs git" +conf_files="/etc/spreed/webrtc.conf" +short_desc="WebRTC audio/video call and conferencing server and web client" +maintainer="Toyam Cox " +license="AGPL-3" +homepage="https://github.com/strukturag/spreed-webrtc" +distfiles="https://github.com/strukturag/spreed-webrtc/archive/v${version}.tar.gz" +checksum=d05b820fe3883840eadf8b96bda663397991849d9bda4750fc7c4e642c9c3268 + +system_accounts="_spreed_webrtc" + +pre_build() { + ./autogen.sh + ./configure ${configure_args} + make assets +} + +post_install() { + vsconf server.conf.in + vmkdir etc/spreed 755 + vinstall server.conf.in 644 etc/spreed webrtc.conf # Match Ubuntu packaging and thus online docs + + export SHARE=/usr/share/spreed-webrtc-server + make DESTDIR="${DESTDIR}" install-assets + + vsv spreed-webrtc-server +}