| |
@@ -1,24 +1,32 @@
|
| |
%global project jitsi
|
| |
%global user %{name}
|
| |
+ %global commit 99288dc8e6f4b4c74886d31737b05e9e3bfad3c3
|
| |
+ %global shortcommit 99288dc
|
| |
+ %global finalize_link %{_sysconfdir}/%{name}/finalize_recording.sh
|
| |
|
| |
Name: jibri
|
| |
- Version: 8.0
|
| |
+ Version: 8.0.g%{shortcommit}
|
| |
Release: 0.4%{?dist}
|
| |
Summary: Jitsi Broadcasting Infrastructure
|
| |
Url: https://jitsi.org
|
| |
License: ASL 2.0
|
| |
- Source0: https://github.com/%{project}/%{name}/archive/v%{version}.tar.gz
|
| |
+ Source0: https://github.com/%{project}/%{name}/archive/%{commit}.tar.gz
|
| |
Source1: %{name}.service
|
| |
Source2: %{name}-icewm.service
|
| |
Source3: %{name}-xorg.service
|
| |
Source4: %{name}.sysusers
|
| |
Source5: %{name}.tmpfiles
|
| |
Source6: README.fedora
|
| |
- Source7: jibri-modules.conf
|
| |
- Source8: jibri.sh
|
| |
- Source9: config.json
|
| |
- Source10: finalize_recording.sh
|
| |
- Patch1: 0001-log-to-syslog.patch
|
| |
+ Source7: %{name}-modules.conf
|
| |
+ Source8: %{name}.sh
|
| |
+ Source9: %{name}.conf
|
| |
+ Source10: %{name}_finalize_noop.sh
|
| |
+ Source11: %{name}.sysconfig
|
| |
+ Source12: %{name}.chromepolicy
|
| |
+ Source13: %{name}-icewm-setup.sh
|
| |
+ Patch1: 0001-logconfig.patch
|
| |
+ Patch2: 0002-allow-overriding-webdriver-log.patch
|
| |
+ Patch3: 0003-jdk11-compatibility.patch
|
| |
|
| |
BuildArch: noarch
|
| |
BuildRequires: maven
|
| |
@@ -28,6 +36,7 @@
|
| |
|
| |
Requires: xdotool
|
| |
Requires: chromedriver
|
| |
+ Requires: chromium
|
| |
Requires: ffmpeg
|
| |
Requires: alsa-utils
|
| |
Requires: icewm
|
| |
@@ -53,8 +62,9 @@
|
| |
|
| |
#-- PREP, BUILD & INSTALL -----------------------------------------------------#
|
| |
%prep
|
| |
- %autosetup -p1
|
| |
- %pom_add_dep rusv:agafua-syslog:0.4:runtime
|
| |
+ %autosetup -p1 -n %{name}-%{commit}
|
| |
+ %pom_add_dep javax.activation:activation:1.1.1:runtime
|
| |
+ %pom_add_dep org.glassfish.jaxb:jaxb-runtime:2.3.2:runtime
|
| |
%pom_add_plugin :maven-jar-plugin:2.3 . \
|
| |
'<configuration><archive><manifest><addClasspath>true</addClasspath><useUniqueVersions>false</useUniqueVersions><classpathPrefix>lib</classpathPrefix><mainClass>${exec.mainClass}</mainClass></manifest></archive></configuration>'
|
| |
|
| |
@@ -72,10 +82,18 @@
|
| |
|
| |
# config
|
| |
install -D -m 640 -t %{buildroot}%{_sysconfdir}/%{name}/ lib/logging.properties resources/debian-package/etc/%{project}/%{name}/*
|
| |
- install -D -m 640 %{SOURCE9} %{buildroot}%{_sysconfdir}/%{name}/config.json
|
| |
+
|
| |
+ # OLD style config install -D -m 640 %{SOURCE9} %{buildroot}%{_sysconfdir}/%{name}/config.json
|
| |
+ # NEW style config
|
| |
+ rm -f %{buildroot}%{_sysconfdir}/%{name}/%{name}.conf
|
| |
+ install -D -m 640 %{SOURCE9} %{buildroot}%{_sysconfdir}/%{name}/%{name}.conf
|
| |
+
|
| |
+ install -D -m 640 %{SOURCE11} %{buildroot}%{_sysconfdir}/sysconfig/%{name}
|
| |
# helper script
|
| |
- install -D -m 755 -t %{buildroot}%{_sysconfdir}/%{name}/ %{SOURCE10}
|
| |
+ install -D -m 755 -t %{buildroot}%{_libexecdir}/ %{SOURCE10}
|
| |
|
| |
+ # logdir
|
| |
+ install -d -m 0755 %{buildroot}/%{_var}/log/%{name}/
|
| |
# rundir
|
| |
install -d -m 0755 %{buildroot}%{_rundir}/%{name}/
|
| |
install -d -m 0755 %{buildroot}%{_var}/spool/%{name}/
|
| |
@@ -87,17 +105,21 @@
|
| |
install -d -m 0755 %{buildroot}%{_rundir}/%{name}/.icewm
|
| |
touch %{buildroot}%{_rundir}/%{name}/.icewm/settings
|
| |
|
| |
+ # chrome policy
|
| |
+ install -D -m 644 %{SOURCE12} %{buildroot}%{_sysconfdir}/chromium/policies/managed/01_jibri.json
|
| |
# system config
|
| |
install -D -m 644 -t %{buildroot}%{_unitdir}/ %{SOURCE1} %{SOURCE2} %{SOURCE3}
|
| |
install -D -m 644 %{SOURCE4} %{buildroot}%{_sysusersdir}/%{name}.conf
|
| |
install -D -m 644 %{SOURCE5} %{buildroot}%{_tmpfilesdir}/%{name}.conf
|
| |
install -D -m 644 -t %{buildroot}%{_sysconfdir}/modules-load.d/ %{SOURCE7}
|
| |
install -D -m 755 %{SOURCE8} %{buildroot}%{_libexecdir}/%{name}
|
| |
+ install -D -m 755 %{SOURCE13} %{buildroot}%{_libexecdir}/%{name}-icewm-setup
|
| |
|
| |
# documentation
|
| |
install -D -m 644 -t %{buildroot}/%{_pkgdocdir}/ *.md
|
| |
install -D -m 644 -t %{buildroot}/%{_pkgdocdir}/ doc/*.md
|
| |
install -D -m 644 %{SOURCE6} %{buildroot}/%{_pkgdocdir}/README-fedora.md
|
| |
+ install -D -m 644 -t %{buildroot}/%{_pkgdocdir}/ src/main/resources/reference.conf
|
| |
|
| |
#-- SCRIPTLETS -----------------------------------------------------------------#
|
| |
%pre
|
| |
@@ -105,6 +127,7 @@
|
| |
|
| |
%post
|
| |
/usr/sbin/modprobe snd_aloop
|
| |
+ test -h %{finalize_link} || ln -sn %{_libexecdir}/%{name}_finalize_noop.sh %{finalize_link}
|
| |
%systemd_post %{name}.service %{name}-icewm.service %{name}-xorg.service
|
| |
|
| |
%preun
|
| |
@@ -122,22 +145,28 @@
|
| |
# package files/dirs
|
| |
%{_datadir}/%{name}/
|
| |
%dir %attr(0750,root,%{user}) %{_sysconfdir}/%{name}/
|
| |
- %config(noreplace) %attr(0640,root,%{user}) %{_sysconfdir}/%{name}/*.{preferences,properties,conf,json}
|
| |
+ %config(noreplace) %attr(0640,root,%{user}) %{_sysconfdir}/sysconfig/%{name}
|
| |
+ %config(noreplace) %attr(0640,root,%{user}) %{_sysconfdir}/%{name}/*.{preferences,properties,conf*,json}
|
| |
%config(noreplace) %attr(0640,root,%{user}) %{_sysconfdir}/%{name}/asoundrc
|
| |
%config(noreplace) %attr(0750,root,%{user}) %{_sysconfdir}/%{name}/*.sh
|
| |
%dir %attr(0755,%{user},%{user}) %{_rundir}/%{name}/
|
| |
%dir %attr(0755,%{user},%{user}) %{_rundir}/%{name}/.icewm
|
| |
%dir %attr(0755,%{user},%{user}) %{_var}/spool/%{name}/
|
| |
+ %dir %attr(0755,%{user},%{user}) %{_var}/log/%{name}/
|
| |
%ghost %attr(0644,%{user},%{user}) %{_rundir}/%{name}/%{name}.pid
|
| |
%ghost %attr(0644,%{user},%{user}) %{_rundir}/%{name}/.asoundrc
|
| |
%ghost %attr(0644,%{user},%{user}) %{_rundir}/%{name}/.icewm/settings
|
| |
+ %dir %{_sysconfdir}/chromium/
|
| |
+ %dir %{_sysconfdir}/chromium/policies
|
| |
+ %dir %{_sysconfdir}/chromium/policies/managed
|
| |
+ %config(noreplace) %attr(0644,root,root) %{_sysconfdir}/chromium/policies/managed/*.json
|
| |
|
| |
# system config
|
| |
%{_unitdir}/*.service
|
| |
%{_tmpfilesdir}/%{name}.conf
|
| |
%{_sysusersdir}/%{name}.conf
|
| |
%{_sysconfdir}/modules-load.d/%{name}-*.conf
|
| |
- %{_libexecdir}/%{name}
|
| |
+ %{_libexecdir}/%{name}*
|
| |
|
| |
#-- CHANGELOG -----------------------------------------------------------------#
|
| |
%changelog
|
| |
This PR fixes two NoClassDefFoundError due to missing javax-related jars.
General state of jibri packaging
Right now, it starts without errors (with this PR), connects to XMPP and attempts to start recording. However when attempting to startup chromium via selenium, it fails. Googling for the execption finds several similar reports from debian-based installations.
ATM, I'm not shure if this is actually a bug in packaging or rather an upstream bug. Will setup a debian- based jibri test instance to get more confident about the actual reason for the failure....
Regardless, I will submit another PR which adds the necessary jibri-related parts in the configs for jits-meet, jicofo and prosody.
Cheers and have a nice weekend
-Fritz