new: jitsi meet ebuilds

This commit is contained in:
Jörg Deckert 2020-03-29 11:48:45 +02:00
parent f6b0a48c0a
commit ed5fa8c581
12 changed files with 781 additions and 0 deletions

View File

@ -0,0 +1,6 @@
AUX config.example 999 BLAKE2B 42178d9dc2a04112f0230a724b3e3cd42bca744fd33b62d321c7d936396f23a0c90cd886c925fe88288d7ca4444eb896da12338090f4461c784909a1b40aa389 SHA512 f49757987c1020eb9637748a3a1d960394aed133e3231f0d2871509791e1c143f546b4720da58a62d2910d8e8c7941f030e2eff183ed3eae2fa1b15da0d792c9
AUX jicofo-init.d 1058 BLAKE2B 32467d7085786efb52eedc16c59b7ab560d3bbbb122bc9fd7306368432f901e5da18f07df7c4f91157231e3c07fa9479065ea87a005e629d5aeeb80cc3f95441 SHA512 90bf80dd87eed14d2421ee5ce886768103ee09ae8940ff0f1e10d4020cda54d0080d6527fd5988014c8a1a4f869439c5d8e2305389a84f97bff43b810205cca8
AUX jicofo.service 471 BLAKE2B e1556f938216936a4ee1076d40bc75932f979bf17b654e0a77ea3c419a3365d3f2132bfc2e15fa62877faddb8630bc1194642b919649afd4c1a0d175de4d1294 SHA512 7fc15935d78142fadaf2acf63567070a9f35e5e4c45a188b6cae8ef4b36ea2071975de50cb53217e9cd87462cb583f9455d6f373717ef55a41ea98dd1def1183
DIST jicofo_1.0-508-1_amd64.deb 32846750 BLAKE2B 6fca30a3bfbd068f6bf4b4d926bebf042d378226d5aef525ddb6cf46f0afaea8cf60e6457b73d388456eab62d3fa3d9fba0afe5fcd39e198b87bed38aa5898dd SHA512 c3fec67bb872df44deee227dbbbbf41d3d74de11b951eb08fa460a46104a5e212cf9266f752bc2e355b49c1246bdbae03e89526dc792495cb5a7145b382d0b37
DIST jicofo_1.0-508-1_i386.deb 32846864 BLAKE2B 809850e072c8886e8fce990df75ff10ed33dc2e04a327135709ee775acb30f116bed3c6dccdfbc07d17e5c1cfe3c183bebaada1f58647aec85b47601b885a82c SHA512 1c9adcd14cd1a14f725157df171f2604f27b77a7fe8e707a82a8e61f6d8672fdfac5a57f284ae95b4e62beeb2a1f6108bd39b5b412fc445fa987b918aeda5f43
EBUILD jicofo-bin-1.0.508.ebuild 1429 BLAKE2B 909f4e39ad9ea149b2578fa7391e47a4821c956b54b679f6192dee43184b71e9846ee46dd57553c9855a92239f9c8b03e199cd8b572aabd856f2b3919ace2381 SHA512 6900af10a394f29830dd180ba68e8f735022569a53c47bf92f58c7f03b0e910b8d0bb4caed2445cf98301c4113d22b6d0d1dcf28e2e23b1db9d9872383c8ff6b

View File

@ -0,0 +1,27 @@
# Jitsi Conference Focus settings
# sets the host name of the XMPP server
JICOFO_HOST=localhost
# sets the XMPP domain (default: none)
JICOFO_HOSTNAME=meet.example.com
# sets the secret used to authenticate as an XMPP component
JICOFO_SECRET=secret
# sets the port to use for the XMPP component connection
JICOFO_PORT=5347
# sets the XMPP domain name to use for XMPP user logins
JICOFO_AUTH_DOMAIN=auth.meet.example.com
# sets the username to use for XMPP user logins
JICOFO_AUTH_USER=focus
# sets the password to use for XMPP user logins
JICOFO_AUTH_PASSWORD=secretfocus
# extra options to pass to the jicofo daemon
JICOFO_OPTS=""
# adds java system props that are passed to jicofo (default are for home and logging config file)
JAVA_SYS_PROPS="-Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/jitsi -Dnet.java.sip.communicator.SC_HOME_DIR_NAME=jicofo -Dnet.java.sip.communicator.SC_LOG_DIR_LOCATION=/var/log/jitsi -Djava.util.logging.config.file=/etc/jitsi/jicofo/logging.properties"

View File

@ -0,0 +1,28 @@
#!/sbin/openrc-run
# Copyright 1999-2020 Gentoo Foundation
# Distributed under the terms of the GNU General Public License, v2 or later
# Include jicofo defaults if available
if [ -f /etc/jitsi/jicofo/config ]; then
. /etc/jitsi/jicofo/config
fi
# Assign default host if not configured
if [ ! $JICOFO_HOST ]; then
JICOFO_HOST=localhost
fi
command="/usr/share/jicofo/jicofo.sh"
command_args=" --host=$JICOFO_HOST --domain=$JICOFO_HOSTNAME --port=$JICOFO_PORT --secret=$JICOFO_SECRET --user_name=$JICOFO_AUTH_USER --user_domain=$JICOFO_AUTH_DOMAIN --user_password=$JICOFO_AUTH_PASSWORD $JICOFO_OPTS"
start_stop_daemon_args="--chdir /usr/share/jicofo --user jicofo:jitsi"
start_stop_daemon_args="${start_stop_daemon_args} --stdout /var/log/jitsi/jicofo.log"
start_stop_daemon_args="${start_stop_daemon_args} --stderr /var/log/jitsi/jicofo.log"
start_stop_daemon_args="${start_stop_daemon_args} --env JAVA_SYS_PROPS=\"$JAVA_SYS_PROPS\""
required_dirs="/var/log/jitsi"
pidfile="/run/jicofo.pid"
command_background="true"
depend() {
use net logger
}

View File

@ -0,0 +1,14 @@
[Unit]
Description=Jitsi conference Focus
After=local-fs.target remote-fs.target
Conflicts=shutdown.target
[Service]
Restart=always
EnvironmentFile=/etc/jitsi/jicofo/config
User=jicofo
WorkingDirectory=/usr/share/jicofo
ExecStart=/usr/share/jicofo/jicofo.sh --host=${JICOFO_HOST} --domain=${JICOFO_HOSTNAME} --port=${JICOFO_PORT} --secret=${JICOFO_SECRET} --user_domain=${JICOFO_AUTH_DOMAIN} --user_password=${JICOFO_AUTH_PASSWORD}
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,63 @@
# Copyright 1999-2020 Unitas Network GmbH
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
inherit eutils systemd unpacker user
MY_PN=${PN/-bin/}
MY_PV=$(ver_rs 2 '-')
DESCRIPTION="JItsi Meet COnference FOcus: a conference focus for Jitsi Meet application"
HOMEPAGE="https://jitsi.org/"
SRC_URI_BASE="https://download.jitsi.org/stable"
SRC_URI="x86? ( ${SRC_URI_BASE}/${MY_PN}_${MY_PV}-1_i386.deb )
amd64? ( ${SRC_URI_BASE}/${MY_PN}_${MY_PV}-1_amd64.deb )"
RESTRICT="mirror strip"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
DEPEND=""
RDEPEND="virtual/jre"
S=${WORKDIR}
##QA_PREBUILT="*"
pkg_setup() {
enewgroup jitsi
enewuser jicofo -1 /bin/bash /usr/share/jicofo jitsi
}
src_install() {
insinto /etc/jitsi/jicofo/
doins ${FILESDIR}/config.example
touch etc/jitsi/jicofo/sip-communicator.properties
dodoc usr/share/doc/jicofo/README.Debian
rm -rf usr/share/doc
rm -rf etc/init.d
insinto /
doins -r etc usr
keepdir /var/log/jitsi
fowners root:jitsi /var/log/jitsi
fperms 775 /var/log/jitsi
fowners -R jicofo:jitsi /usr/share/jicofo
fperms 755 /usr/share/jicofo/collect-dump-logs.sh
fperms 755 /usr/share/jicofo/jicofo.sh
fowners -R jicofo:jitsi /etc/jitsi/jicofo
fperms 750 /etc/jitsi/jicofo
fperms 600 /etc/jitsi/jicofo/sip-communicator.properties
newinitd "${FILESDIR}/${MY_PN}-init.d" "${MY_PN}"
systemd_dounit "${FILESDIR}"/${MY_PN}.service
}

View File

@ -0,0 +1,3 @@
AUX meet.example.com-config.js 16323 BLAKE2B 81c31b47b96ab3d3459c8e3641fc9df430d11e26541886e48dd562df390fc2210581a75f32d40e83fd656a392d6a163b4171dfff0c3231533875f17b47abe7a0 SHA512 e9cf14279b5f9298dfa1bd4cae62c9e77b23a9dd6ba7cc850564baf4d2f403e55dbd5f9cc37528bb2b39650af2d19d22139246d88349419d3a9df271789e315c
DIST jitsi-meet-web_1.0.3729-1_all.deb 5453166 BLAKE2B a6904b398fd1dd1b403aed4205934f430b0c83207b59c1a1f6ea0b2108379d325c5d18ac5ab21edade2ad59e5561045d68cd96320cc678f192df73348350f863 SHA512 74e1279cfe25f9c196ce80341ea03711ced90219e9e149ace48e9a1c5b2505a6f329d8b15bb67f56399b08dc61fd723e4640a9097cefaa674dca1fe37d191f76
EBUILD jitsi-meet-web-bin-1.0.3729.ebuild 845 BLAKE2B b613b006dd65169877bbe47b9c6199443f1217ac867f6f203d0fcfd9716e57bd57824c31273583fced205058e8f7d3e439b0814e70f1c2579c03cc29f3032c41 SHA512 42bc6c9bad900c70d90308da087c4638c4427894b9552b8dc24606925deb2e2a2d1659fa63923606a1da303e0c5f79693f8ad10764ae86279d25ba3e9d22f6b7

View File

@ -0,0 +1,482 @@
/* eslint-disable no-unused-vars, no-var */
var config = {
// Connection
//
hosts: {
// XMPP domain.
domain: 'meet.example.com',
// When using authentication, domain for guest users.
// anonymousdomain: 'guest.example.com',
// Domain for authenticated users. Defaults to <domain>.
// authdomain: 'meet.example.com',
// Jirecon recording component domain.
// jirecon: 'jirecon.meet.example.com',
// Call control component (Jigasi).
// call_control: 'callcontrol.meet.example.com',
// Focus component domain. Defaults to focus.<domain>.
// focus: 'focus.meet.example.com',
// XMPP MUC domain. FIXME: use XEP-0030 to discover it.
muc: 'conference.meet.example.com'
},
// BOSH URL. FIXME: use XEP-0156 to discover it.
bosh: '//meet.example.com/http-bind',
// The name of client node advertised in XEP-0115 'c' stanza
clientNode: 'http://jitsi.org/jitsimeet',
// The real JID of focus participant - can be overridden here
// focusUserJid: 'focus@auth.meet.example.com',
// Testing / experimental features.
//
testing: {
// Enables experimental simulcast support on Firefox.
enableFirefoxSimulcast: false,
// P2P test mode disables automatic switching to P2P when there are 2
// participants in the conference.
p2pTestMode: false
// Enables the test specific features consumed by jitsi-meet-torture
// testMode: false
// Disables the auto-play behavior of *all* newly created video element.
// This is useful when the client runs on a host with limited resources.
// noAutoPlayVideo: false
},
// Disables ICE/UDP by filtering out local and remote UDP candidates in
// signalling.
// webrtcIceUdpDisable: false,
// Disables ICE/TCP by filtering out local and remote TCP candidates in
// signalling.
// webrtcIceTcpDisable: false,
// Media
//
// Audio
// Disable measuring of audio levels.
// disableAudioLevels: false,
// Start the conference in audio only mode (no video is being received nor
// sent).
// startAudioOnly: false,
// Every participant after the Nth will start audio muted.
// startAudioMuted: 10,
// Start calls with audio muted. Unlike the option above, this one is only
// applied locally. FIXME: having these 2 options is confusing.
// startWithAudioMuted: false,
// Enabling it (with #params) will disable local audio output of remote
// participants and to enable it back a reload is needed.
// startSilent: false
// Video
// Sets the preferred resolution (height) for local video. Defaults to 720.
// resolution: 720,
// w3c spec-compliant video constraints to use for video capture. Currently
// used by browsers that return true from lib-jitsi-meet's
// util#browser#usesNewGumFlow. The constraints are independency from
// this config's resolution value. Defaults to requesting an ideal aspect
// ratio of 16:9 with an ideal resolution of 720.
// constraints: {
// video: {
// aspectRatio: 16 / 9,
// height: {
// ideal: 720,
// max: 720,
// min: 240
// }
// }
// },
// Enable / disable simulcast support.
// disableSimulcast: false,
// Enable / disable layer suspension. If enabled, endpoints whose HD
// layers are not in use will be suspended (no longer sent) until they
// are requested again.
// enableLayerSuspension: false,
// Every participant after the Nth will start video muted.
// startVideoMuted: 10,
// Start calls with video muted. Unlike the option above, this one is only
// applied locally. FIXME: having these 2 options is confusing.
// startWithVideoMuted: false,
// If set to true, prefer to use the H.264 video codec (if supported).
// Note that it's not recommended to do this because simulcast is not
// supported when using H.264. For 1-to-1 calls this setting is enabled by
// default and can be toggled in the p2p section.
// preferH264: true,
// If set to true, disable H.264 video codec by stripping it out of the
// SDP.
// disableH264: false,
// Desktop sharing
// The ID of the jidesha extension for Chrome.
desktopSharingChromeExtId: null,
// Whether desktop sharing should be disabled on Chrome.
// desktopSharingChromeDisabled: false,
// The media sources to use when using screen sharing with the Chrome
// extension.
desktopSharingChromeSources: [ 'screen', 'window', 'tab' ],
// Required version of Chrome extension
desktopSharingChromeMinExtVersion: '0.1',
// Whether desktop sharing should be disabled on Firefox.
// desktopSharingFirefoxDisabled: false,
// Optional desktop sharing frame rate options. Default value: min:5, max:5.
// desktopSharingFrameRate: {
// min: 5,
// max: 5
// },
// Try to start calls with screen-sharing instead of camera video.
// startScreenSharing: false,
// Recording
// Whether to enable file recording or not.
// fileRecordingsEnabled: false,
// Enable the dropbox integration.
// dropbox: {
// appKey: '<APP_KEY>' // Specify your app key here.
// // A URL to redirect the user to, after authenticating
// // by default uses:
// // 'https://meet.example.com/static/oauth.html'
// redirectURI:
// 'https://meet.example.com/subfolder/static/oauth.html'
// },
// When integrations like dropbox are enabled only that will be shown,
// by enabling fileRecordingsServiceEnabled, we show both the integrations
// and the generic recording service (its configuration and storage type
// depends on jibri configuration)
// fileRecordingsServiceEnabled: false,
// Whether to show the possibility to share file recording with other people
// (e.g. meeting participants), based on the actual implementation
// on the backend.
// fileRecordingsServiceSharingEnabled: false,
// Whether to enable live streaming or not.
// liveStreamingEnabled: false,
// Transcription (in interface_config,
// subtitles and buttons can be configured)
// transcribingEnabled: false,
// Enables automatic turning on captions when recording is started
// autoCaptionOnRecord: false,
// Misc
// Default value for the channel "last N" attribute. -1 for unlimited.
channelLastN: -1,
// Disables or enables RTX (RFC 4588) (defaults to false).
// disableRtx: false,
// Disables or enables TCC (the default is in Jicofo and set to true)
// (draft-holmer-rmcat-transport-wide-cc-extensions-01). This setting
// affects congestion control, it practically enables send-side bandwidth
// estimations.
// enableTcc: true,
// Disables or enables REMB (the default is in Jicofo and set to false)
// (draft-alvestrand-rmcat-remb-03). This setting affects congestion
// control, it practically enables recv-side bandwidth estimations. When
// both TCC and REMB are enabled, TCC takes precedence. When both are
// disabled, then bandwidth estimations are disabled.
// enableRemb: false,
// Defines the minimum number of participants to start a call (the default
// is set in Jicofo and set to 2).
// minParticipants: 2,
// Use XEP-0215 to fetch STUN and TURN servers.
// useStunTurn: true,
// Enable IPv6 support.
// useIPv6: true,
// Enables / disables a data communication channel with the Videobridge.
// Values can be 'datachannel', 'websocket', true (treat it as
// 'datachannel'), undefined (treat it as 'datachannel') and false (don't
// open any channel).
// openBridgeChannel: true,
// UI
//
// Use display name as XMPP nickname.
// useNicks: false,
// Require users to always specify a display name.
// requireDisplayName: true,
// Whether to use a welcome page or not. In case it's false a random room
// will be joined when no room is specified.
enableWelcomePage: true,
// Enabling the close page will ignore the welcome page redirection when
// a call is hangup.
// enableClosePage: false,
// Disable hiding of remote thumbnails when in a 1-on-1 conference call.
// disable1On1Mode: false,
// Default language for the user interface.
defaultLanguage: 'de',
// If true all users without a token will be considered guests and all users
// with token will be considered non-guests. Only guests will be allowed to
// edit their profile.
enableUserRolesBasedOnToken: false,
// Whether or not some features are checked based on token.
// enableFeaturesBasedOnToken: false,
// Enable lock room for all moderators, even when userRolesBasedOnToken is enabled and participants are guests.
// lockRoomGuestEnabled: false,
// When enabled the password used for locking a room is restricted to up to the number of digits specified
// roomPasswordNumberOfDigits: 10,
// default: roomPasswordNumberOfDigits: false,
// Message to show the users. Example: 'The service will be down for
// maintenance at 01:00 AM GMT,
// noticeMessage: '',
// Enables calendar integration, depends on googleApiApplicationClientID
// and microsoftApiApplicationClientID
// enableCalendarIntegration: false,
// Stats
//
// Whether to enable stats collection or not in the TraceablePeerConnection.
// This can be useful for debugging purposes (post-processing/analysis of
// the webrtc stats) as it is done in the jitsi-meet-torture bandwidth
// estimation tests.
// gatherStats: false,
// To enable sending statistics to callstats.io you must provide the
// Application ID and Secret.
// callStatsID: '',
// callStatsSecret: '',
// enables sending participants display name to callstats
// enableDisplayNameInStats: false
// enables sending participants email if available to callstats and other analytics
// enableEmailInStats: false
// Privacy
//
// If third party requests are disabled, no other server will be contacted.
// This means avatars will be locally generated and callstats integration
// will not function.
// disableThirdPartyRequests: false,
// Peer-To-Peer mode: used (if enabled) when there are just 2 participants.
//
p2p: {
// Enables peer to peer mode. When enabled the system will try to
// establish a direct connection when there are exactly 2 participants
// in the room. If that succeeds the conference will stop sending data
// through the JVB and use the peer to peer connection instead. When a
// 3rd participant joins the conference will be moved back to the JVB
// connection.
enabled: true,
// Use XEP-0215 to fetch STUN and TURN servers.
// useStunTurn: true,
// The STUN servers that will be used in the peer to peer connections
stunServers: [
{ urls: 'stun:stun.l.google.com:19302' },
{ urls: 'stun:stun1.l.google.com:19302' },
{ urls: 'stun:stun2.l.google.com:19302' }
],
// Sets the ICE transport policy for the p2p connection. At the time
// of this writing the list of possible values are 'all' and 'relay',
// but that is subject to change in the future. The enum is defined in
// the WebRTC standard:
// https://www.w3.org/TR/webrtc/#rtcicetransportpolicy-enum.
// If not set, the effective value is 'all'.
// iceTransportPolicy: 'all',
// If set to true, it will prefer to use H.264 for P2P calls (if H.264
// is supported).
preferH264: true
// If set to true, disable H.264 video codec by stripping it out of the
// SDP.
// disableH264: false,
// How long we're going to wait, before going back to P2P after the 3rd
// participant has left the conference (to filter out page reload).
// backToP2PDelay: 5
},
analytics: {
// The Google Analytics Tracking ID:
// googleAnalyticsTrackingId: 'your-tracking-id-UA-123456-1'
// The Amplitude APP Key:
// amplitudeAPPKey: '<APP_KEY>'
// Array of script URLs to load as lib-jitsi-meet "analytics handlers".
// scriptURLs: [
// "libs/analytics-ga.min.js", // google-analytics
// "https://example.com/my-custom-analytics.js"
// ],
},
// Information about the jitsi-meet instance we are connecting to, including
// the user region as seen by the server.
deploymentInfo: {
// shard: "shard1",
// region: "europe",
// userRegion: "asia"
}
// Local Recording
//
// localRecording: {
// Enables local recording.
// Additionally, 'localrecording' (all lowercase) needs to be added to
// TOOLBAR_BUTTONS in interface_config.js for the Local Recording
// button to show up on the toolbar.
//
// enabled: true,
//
// The recording format, can be one of 'ogg', 'flac' or 'wav'.
// format: 'flac'
//
// }
// Options related to end-to-end (participant to participant) ping.
// e2eping: {
// // The interval in milliseconds at which pings will be sent.
// // Defaults to 10000, set to <= 0 to disable.
// pingInterval: 10000,
//
// // The interval in milliseconds at which analytics events
// // with the measured RTT will be sent. Defaults to 60000, set
// // to <= 0 to disable.
// analyticsInterval: 60000,
// }
// If set, will attempt to use the provided video input device label when
// triggering a screenshare, instead of proceeding through the normal flow
// for obtaining a desktop stream.
// NOTE: This option is experimental and is currently intended for internal
// use only.
// _desktopSharingSourceDevice: 'sample-id-or-label'
// If true, any checks to handoff to another application will be prevented
// and instead the app will continue to display in the current browser.
// disableDeepLinking: false
// A property to disable the right click context menu for localVideo
// the menu has option to flip the locally seen video for local presentations
// disableLocalVideoFlip: false
// Deployment specific URLs.
// deploymentUrls: {
// // If specified a 'Help' button will be displayed in the overflow menu with a link to the specified URL for
// // user documentation.
// userDocumentationURL: 'https://docs.example.com/video-meetings.html',
// // If specified a 'Download our apps' button will be displayed in the overflow menu with a link
// // to the specified URL for an app download page.
// downloadAppsUrl: 'https://docs.example.com/our-apps.html'
// }
// List of undocumented settings used in jitsi-meet
/**
_immediateReloadThreshold
autoRecord
autoRecordToken
debug
debugAudioLevels
deploymentInfo
dialInConfCodeUrl
dialInNumbersUrl
dialOutAuthUrl
dialOutCodesUrl
disableRemoteControl
displayJids
etherpad_base
externalConnectUrl
firefox_fake_device
googleApiApplicationClientID
iAmRecorder
iAmSipGateway
microsoftApiApplicationClientID
peopleSearchQueryTypes
peopleSearchUrl
requireDisplayName
tokenAuthUrl
*/
// List of undocumented settings used in lib-jitsi-meet
/**
_peerConnStatusOutOfLastNTimeout
_peerConnStatusRtcMuteTimeout
abTesting
avgRtpStatsN
callStatsConfIDNamespace
callStatsCustomScriptUrl
desktopSharingSources
disableAEC
disableAGC
disableAP
disableHPF
disableNS
enableLipSync
enableTalkWhileMuted
forceJVB121Ratio
hiddenDomain
ignoreStartMuted
nick
startBitrate
*/
};
/* eslint-enable no-unused-vars, no-var */

View File

@ -0,0 +1,39 @@
# Copyright 1999-2020 Unitas Network GmbH
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
inherit eutils unpacker
MY_PN=${PN/-bin/}
DESCRIPTION="Jitsi Meet is a WebRTC JavaScript application that uses Jitsi Videobridge to provide high quality, scalable video conferences."
HOMEPAGE="https://jitsi.org/"
SRC_URI_BASE="https://download.jitsi.org/stable"
SRC_URI="${SRC_URI_BASE}/${MY_PN}_${PV}-1_all.deb"
##RESTRICT="mirror strip"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
DEPEND=""
RDEPEND=""
S=${WORKDIR}
src_install() {
insinto /etc/jitsi/meet/
doins ${FILESDIR}/meet.example.com-config.js
gunzip usr/share/doc/jitsi-meet-web/README.md.gz
dodoc usr/share/doc/jitsi-meet-web/README.md
dodoc usr/share/doc/jitsi-meet-web/README.Debian
rm -rf usr/share/doc
insinto /
doins -r usr
}

View File

@ -0,0 +1,5 @@
AUX config.example 767 BLAKE2B 7b0bc9c01c699bc19393302188935635dee08666967b1f1a67e4b7c843c3f6a7ddd38bb89c038bbce633d8c0c296cd763d3c5198de61dd86265b0bb9acb434fb SHA512 2abfecf990a0f90d0baa8bb459c721580b10e383990816ca53c08076f1483866de683ae10267ce9a24d588860a13a7ece974ab58f747e078efbaa08226ff7773
AUX jitsi-videobridge-init.d 1078 BLAKE2B 5f04bd6f54c3002ebb1ec8d4df9614942de2d6ee22ca531332ae83ed0a3558f33de3673a13e6c0528f6382c895f781300e7b39f32829645cfe48aea2536dbdaa SHA512 9300b363e578bd31967ef895fa33d919ad15ec9dd273367d342867999342e683d6e8f3694cf5d5b35bde6d36579f341bcab0e041b7117d6b425b8e8994596fdb
DIST jitsi-videobridge_1126-1_amd64.deb 30440800 BLAKE2B 0b75094f59ba0178d42f9f3906df9f79729a5debcbc7a11c424bdf705c0599516e53763ff4bd0e973ca4027f77ca038432d5911d8a48c67a2f333ae5fec0b5b5 SHA512 cf01785929f5b408678163984f345d322695c7ec2ce2286735213e69941698258cb32d87e38eac609c098bf3bc79205e5e81da6d32e1d25c95d51da5d9cd782e
DIST jitsi-videobridge_1126-1_i386.deb 30434904 BLAKE2B 882ba4b1f35baf5b39cdc0e7552341db2f37a3670439ec05166e2cf9fa7f8c38f64f65a9d5240950336f65633610ba61414f294cb913d690ec62cf003216ab2c SHA512 2112264da31aa019196188fe6e9dc659463decd872c61c4ad640f4ebd895419c0da836422535098a5460328b6a76a03272d4d8344795089070524e446769370e
EBUILD jitsi-videobridge-bin-1126.ebuild 1599 BLAKE2B c10060a68a845d777a1b2b46d272138851e2a51105374bcd249ab9d25a7bda8bd8e92c992668a5baf6f4b8a47c7189fc4a830cc3abefc9e08aac56dd62e5e35b SHA512 9ecd1f1b462f8ef82c20b82d1ed21d6ca6bd90abdedb6341404ebef5ec143fa7ef5c7a07b8675e9b21bdd14f8d0316978901c74a1930592d654aebb38c9dc9e2

View File

@ -0,0 +1,19 @@
# Jitsi Videobridge settings
# sets the XMPP domain (default: none)
JVB_HOSTNAME=meet.example.com
# sets the hostname of the XMPP server (default: domain if set, localhost otherwise)
JVB_HOST=
# sets the port of the XMPP server (default: 5275)
JVB_PORT=5347
# sets the shared secret used to authenticate to the XMPP server
JVB_SECRET=secret
# extra options to pass to the JVB daemon
JVB_OPTS=""
# adds java system props that are passed to jvb (default are for home and logging config file)
JAVA_SYS_PROPS="-Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/jitsi -Dnet.java.sip.communicator.SC_HOME_DIR_NAME=videobridge -Dnet.java.sip.communicator.SC_LOG_DIR_LOCATION=/var/log/jitsi -Djava.util.logging.config.file=/etc/jitsi/videobridge/logging.properties"

View File

@ -0,0 +1,34 @@
#!/sbin/openrc-run
# Copyright 1999-2020 Gentoo Foundation
# Distributed under the terms of the GNU General Public License, v2 or later
TMPPATH=/var/run/jitsi-videobridge
if [ ! -d "$TMPPATH" ]; then
mkdir "$TMPPATH"
chown jvb:root "$TMPPATH"
fi
# Include jicofo defaults if available
if [ -f /etc/jitsi/videobridge/config ]; then
. /etc/jitsi/videobridge/config
fi
# Assign default host if not configured
if [ ! $JVB_HOST ]; then
JVB_HOST=localhost
fi
command="/usr/share/jitsi-videobridge/jvb.sh"
command_args=" --host=$JVB_HOST --domain=$JVB_HOSTNAME --port=$JVB_PORT --secret=$JVB_SECRET $JVB_OPTS"
start_stop_daemon_args="--chdir /usr/share/jicofo --user jvb:jitsi"
start_stop_daemon_args="${start_stop_daemon_args} --stdout /var/log/jitsi/jvb.log"
start_stop_daemon_args="${start_stop_daemon_args} --stderr /var/log/jitsi/jvb.log"
start_stop_daemon_args="${start_stop_daemon_args} --env JAVA_SYS_PROPS=\"$JAVA_SYS_PROPS\""
required_dirs="/var/log/jitsi"
pidfile="/var/run/jitsi-videobridge.pid"
command_background="true"
depend() {
use net logger
}

View File

@ -0,0 +1,61 @@
# Copyright 1999-2020 Unitas Network GmbH
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
inherit eutils systemd unpacker user
MY_PN=${PN/-bin/}
DESCRIPTION="Jitsi Videobridge is a WebRTC compatible Selective Forwarding Unit"
HOMEPAGE="https://jitsi.org/"
SRC_URI_BASE="https://download.jitsi.org/stable"
SRC_URI="x86? ( ${SRC_URI_BASE}/${MY_PN}_${PV}-1_i386.deb )
amd64? ( ${SRC_URI_BASE}/${MY_PN}_${PV}-1_amd64.deb )"
RESTRICT="mirror strip"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
DEPEND=""
RDEPEND="virtual/jre"
S=${WORKDIR}
pkg_setup() {
enewgroup jitsi
enewuser jvb -1 /bin/bash /usr/share/jitsi-videobridge jitsi
}
src_install() {
insinto /etc/jitsi/videobridge/
doins ${FILESDIR}/config.example
echo "org.jitsi.videobridge.AUTHORIZED_SOURCE_REGEXP=focus@auth.meet.example.com/.*" > etc/jitsi/videobridge/sip-communicator.properties
dodoc usr/share/doc/jitsi-videobridge/README.Debian
rm -rf usr/share/doc
rm -rf etc/init.d
insinto /
doins -r etc usr
keepdir /var/log/jitsi
fowners root:jitsi /var/log/jitsi
fperms 775 /var/log/jitsi
fowners -R jvb:jitsi /usr/share/jitsi-videobridge
fperms 755 /usr/share/jitsi-videobridge/collect-dump-logs.sh
fperms 755 /usr/share/jitsi-videobridge/jvb.sh
fperms 755 /usr/share/jitsi-videobridge/graceful_shutdown.sh
fowners -R jvb:jitsi /etc/jitsi/videobridge
fperms 750 /etc/jitsi/videobridge
fperms 600 /etc/jitsi/videobridge/sip-communicator.properties
newinitd "${FILESDIR}/${MY_PN}-init.d" "${MY_PN}"
systemd_dounit lib/systemd/system/jitsi-videobridge.service
}