#15 Added 2 missing runtime dependencies
Opened by felfert. Modified
felfert/jitsi-rpm fix-jibri  into  main

Download 15.patch

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

14 new commits added

  • Append to log in finalize script
  • Migrate to new HOCON config
  • Improve finalize script
  • Fix wrapper script
  • Fix device access for jibri service
  • Fix creation of icewm settings
  • Add supplementary groups for jibri user
  • Add chrome managed policy
  • Allow writing in log directory
  • Fix logging configuration
  • Silence curl in wrapper script
  • Switch to git 99288dc
  • Declare ordered service dependency
  • Do not hardcode chromedriver logging path

Ok, finally, after many hours of debugging and fixing, we got a jibri package that actually works. :smile:

Most noteably, I switched from tagged "stable" v8 to untagged 99288dc, because the latest stable debian package is built from that commit. After that, things got much better. Sadly,
logging cannot redirected to syslog anymore, because they hardcoded FileHandler everywhere. I might create a PR for that in upstream at a later time.
Also noteable: They switched to a new config file format (HOCON) which is much better. The old config.json format is still supported, but since the new format supports substitutions similar to those in pom files, it is much more convenient.

Tested on a separate fresh fc32 with both recording and youtube streaming. Works even behind NAT.

The necessary config changes for jitsi-meet, jitsi-prosody and jicofo will follow in a separate PR.

1 new commit added

  • Fix icewm setup

1 new commit added

  • Don't fail icewm-setup if /run/jibri/.icewm already exists

Well. not quite there yet. 😞
On fc32 everything works well, but on fc33 there is a different ffmpeg version which apparently does not behave properly when killed with SIGINT. So when terminating a recording or YT-stream jibri detects a failure. Among other side-effects, this prevents creation of the metadata file in the recording directory and does not call the finalize-script. I might have a workaround involving an additional wrapper script for ffmpeg, but no definitive result yet.
Still, it would be nice if you could make a release of everything so that all the recent changes get published in the repo.

1 new commit added

  • jibri requires jre-8-headless

18 new commits added

  • jibri requires jre-1.8.0-headless
  • Don't fail icewm-setup if /run/jibri/.icewm already exists
  • Fix icewm setup
  • Append to log in finalize script
  • Migrate to new HOCON config
  • Improve finalize script
  • Fix wrapper script
  • Fix device access for jibri service
  • Fix creation of icewm settings
  • Add supplementary groups for jibri user
  • Add chrome managed policy
  • Allow writing in log directory
  • Fix logging configuration
  • Silence curl in wrapper script
  • Switch to git 99288dc
  • Declare ordered service dependency
  • Do not hardcode chromedriver logging path
  • Added 2 missing runtime dependencies

Ok, that problem with killing ffmpeg on fc33 was not ffmpeg but the java runtime version.
jibri specifically requires a java-8 jre, because they have some rather stupid code to get the PID of a subprocess. It does not work with anything newer.

That said, with the last commit, it now works on fc33 as well.

1 new commit added

  • jdk11-compatibility

1 new commit added

  • Update spec for F34

1 new commit added

  • rename dummy finalize script in jibri
Metadata