Accepting request 1246636 from home:ecsos
- Add Jamulus-version.patch to fix wrong version in about jamulus. - Fix missing icon in desktop file. Drop manuel and old icon. Use icon from source instead. OBS-URL: https://build.opensuse.org/request/show/1246636 OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/Jamulus?expand=0&rev=57
This commit is contained in:
commit
54682e7c5b
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
3
Jamulus-3.10.0.tar.gz
Normal file
3
Jamulus-3.10.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:671ce57431da1ffa701824cf945910f66f31a0260d08944a7d94bf2c67641f0c
|
||||
size 3907567
|
3
Jamulus-3.11.0.tar.gz
Normal file
3
Jamulus-3.11.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:671ce57431da1ffa701824cf945910f66f31a0260d08944a7d94bf2c67641f0c
|
||||
size 3907567
|
7
Jamulus-newrec.service
Normal file
7
Jamulus-newrec.service
Normal file
@ -0,0 +1,7 @@
|
||||
[Unit]
|
||||
Description=Start a new recording on Jamulus server
|
||||
Requisite=Jamulus-Server
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/bin/systemctl kill -s SIGUSR1 jamulus
|
29
Jamulus-private.service
Normal file
29
Jamulus-private.service
Normal file
@ -0,0 +1,29 @@
|
||||
|
||||
[Unit]
|
||||
Description=Jamulus-Server
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
EnvironmentFile=-/etc/sysconfig/jamulus
|
||||
User=jamulus
|
||||
Group=nogroup
|
||||
NoNewPrivileges=true
|
||||
ProtectSystem=true
|
||||
ProtectHome=true
|
||||
Nice=-20
|
||||
IOSchedulingClass=realtime
|
||||
IOSchedulingPriority=0
|
||||
|
||||
#### Change this to set genre, location and other parameters.
|
||||
#### See [Command-Line-Options](Command-Line-Options) ####
|
||||
ExecStart=/usr/bin/Jamulus -s -n -o "${yourServername};${yourCity};[${yourCountryID}]"
|
||||
|
||||
Restart=on-failure
|
||||
RestartSec=30
|
||||
StandardOutput=journal
|
||||
StandardError=inherit
|
||||
SyslogIdentifier=jamulus
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
29
Jamulus-public.service
Normal file
29
Jamulus-public.service
Normal file
@ -0,0 +1,29 @@
|
||||
|
||||
[Unit]
|
||||
Description=Jamulus-Server
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
EnvironmentFile=-/etc/sysconfig/jamulus
|
||||
User=jamulus
|
||||
Group=nogroup
|
||||
NoNewPrivileges=true
|
||||
ProtectSystem=true
|
||||
ProtectHome=true
|
||||
Nice=-20
|
||||
IOSchedulingClass=realtime
|
||||
IOSchedulingPriority=0
|
||||
|
||||
#### Change this to set genre, location and other parameters.
|
||||
#### See [Command-Line-Options](Command-Line-Options) ####
|
||||
ExecStart=/usr/bin/Jamulus -s -n -e ${DIRECTORYSERVER} -o "${yourServername};${yourCity};[${yourCountryID}]"
|
||||
|
||||
Restart=on-failure
|
||||
RestartSec=30
|
||||
StandardOutput=journal
|
||||
StandardError=inherit
|
||||
SyslogIdentifier=jamulus
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
7
Jamulus-togglerec.service
Normal file
7
Jamulus-togglerec.service
Normal file
@ -0,0 +1,7 @@
|
||||
[Unit]
|
||||
Description=Toggle recording state of Jamulus server
|
||||
Requisite=Jamulus-Server
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/bin/systemctl kill -s SIGUSR2 jamulus
|
9
Jamulus-version.patch
Normal file
9
Jamulus-version.patch
Normal file
@ -0,0 +1,9 @@
|
||||
diff -Pdpru jamulus-r3_10_0.orig/Jamulus.pro jamulus-r3_10_0/Jamulus.pro
|
||||
--- jamulus-r3_10_0.orig/Jamulus.pro 2023-09-03 22:17:25.000000000 +0200
|
||||
+++ jamulus-r3_10_0/Jamulus.pro 2025-02-15 13:31:10.033528111 +0100
|
||||
@@ -1,4 +1,4 @@
|
||||
-VERSION = 3.10.0
|
||||
+VERSION = 3.11.0
|
||||
|
||||
# use target name which does not use a capital letter at the beginning
|
||||
contains(CONFIG, "noupcasename") {
|
1594
Jamulus.changes
Normal file
1594
Jamulus.changes
Normal file
File diff suppressed because it is too large
Load Diff
7
Jamulus.firewalld
Normal file
7
Jamulus.firewalld
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<service>
|
||||
<short>Jamulus (Private-Server)</short>
|
||||
<description>Only need for running a Jamulus Private-Server. Not needed for running a Public-Server.</description>
|
||||
<port protocol="udp" port="22124"/>
|
||||
</service>
|
||||
|
170
Jamulus.spec
Normal file
170
Jamulus.spec
Normal file
@ -0,0 +1,170 @@
|
||||
#
|
||||
# spec file for package Jamulus
|
||||
#
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
# Copyright (c) 2014 Pascal Bleser <pascal.bleser@opensuse.org>
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%if ! %{defined _fillupdir}
|
||||
%define _fillupdir %{_localstatedir}/adm/fillup-templates
|
||||
%endif
|
||||
|
||||
%define tarball_version 3_10_0
|
||||
|
||||
Name: Jamulus
|
||||
Version: 3.11.0
|
||||
Release: 0
|
||||
Summary: Low-latency internet connection tool for real-time jam sessions
|
||||
License: GPL-2.0-or-later
|
||||
Group: Productivity/Multimedia/Other
|
||||
URL: https://jamulus.io/
|
||||
Source0: https://github.com/jamulussoftware/jamulus/archive/r%{tarball_version}/%{name}-%{version}.tar.gz
|
||||
Source10: %{name}-public.service
|
||||
Source11: %{name}-private.service
|
||||
Source12: %{name}-newrec.service
|
||||
Source13: %{name}-togglerec.service
|
||||
Source20: %{name}.sysconfig
|
||||
Source21: %{name}.firewalld
|
||||
Source90: README.SUSE
|
||||
Patch1: %{name}-version.patch
|
||||
BuildRequires: ImageMagick
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: firewall-macros
|
||||
BuildRequires: firewalld
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: hicolor-icon-theme
|
||||
BuildRequires: jack-devel >= 1.9.21
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: pwdutils
|
||||
BuildRequires: systemd-rpm-macros
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: pkgconfig(Qt6Concurrent) >= 6.6.3
|
||||
BuildRequires: pkgconfig(Qt6Multimedia)
|
||||
BuildRequires: pkgconfig(Qt6Network)
|
||||
BuildRequires: pkgconfig(Qt6Widgets)
|
||||
BuildRequires: pkgconfig(Qt6Xml)
|
||||
BuildRequires: pkgconfig(opus)
|
||||
Requires: jack >= 1.9.21
|
||||
Requires(pre): shadow
|
||||
Requires(pre): %fillup_prereq
|
||||
Requires(pre): group(nogroup)
|
||||
Provides: llcon = %{version}
|
||||
Obsoletes: llcon < %{version}
|
||||
Provides: jamulus = %{version}
|
||||
Obsoletes: jamulus < %{version}
|
||||
%{?systemd_requires}
|
||||
|
||||
%description
|
||||
The Jamulus software enables musicians to perform real-time jam sessions over
|
||||
the internet. There is one server running the Jamulus server software which
|
||||
collects the audio data from each Jamulus client software, mixes the audio data
|
||||
and sends the mix back to each client.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n jamulus-r%{tarball_version}
|
||||
install -m644 %{SOURCE90} .
|
||||
|
||||
%build
|
||||
%qmake6 CONFIG+=opus_shared_lib CONFIG+=disable_version_check
|
||||
%make_jobs
|
||||
|
||||
%install
|
||||
install -D -m0755 Jamulus %{buildroot}%{_bindir}/%{name}
|
||||
|
||||
# icons
|
||||
for s in 16 22 32 48 64 72 96 128 192; do
|
||||
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps
|
||||
#convert -strip -resize ${s}x${s} %{name}_icon.png \
|
||||
convert -strip -resize ${s}x${s} src/res/io.jamulus.jamulus.png \
|
||||
%{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps/io.jamulus.jamulus.png
|
||||
done
|
||||
install -Dm0644 %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/io.jamulus.jamulus.png \
|
||||
%{buildroot}%{_datadir}/pixmaps/io.jamulus.jamulus.png
|
||||
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/
|
||||
install -Dm0644 src/res/io.jamulus.*.svg \
|
||||
%{buildroot}%{_datadir}/icons/hicolor/scalable/apps/
|
||||
|
||||
# sysconfig
|
||||
install -d -m0755 %{buildroot}%{_fillupdir}
|
||||
install -D -m0644 %{SOURCE20} %{buildroot}%{_fillupdir}/sysconfig.jamulus
|
||||
|
||||
# firewalld
|
||||
install -D -m0644 %{SOURCE21} %{buildroot}%{_prefix}/lib/firewalld/services/jamulus.xml
|
||||
|
||||
# systemd/services
|
||||
install -D -m0644 %{SOURCE10} %{buildroot}%{_unitdir}/jamulus-public.service
|
||||
install -d -m0755 %{buildroot}%{_sbindir}
|
||||
ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rcjamulus-public
|
||||
|
||||
install -D -m0644 %{SOURCE11} %{buildroot}%{_unitdir}/jamulus-private.service
|
||||
install -d -m0755 %{buildroot}%{_sbindir}
|
||||
ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rcjamulus-private
|
||||
|
||||
install -D -m0644 %{SOURCE12} %{buildroot}%{_unitdir}/jamulus-newrec.service
|
||||
install -d -m0755 %{buildroot}%{_sbindir}
|
||||
ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rcjamulus-newrec
|
||||
|
||||
install -D -m0644 %{SOURCE13} %{buildroot}%{_unitdir}/jamulus-togglerec.service
|
||||
install -d -m0755 %{buildroot}%{_sbindir}
|
||||
ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rcjamulus-togglerec
|
||||
|
||||
# desktop file
|
||||
sed -i -e 's|$$TARGET|Jamulus|g' linux/jamulus.desktop.in
|
||||
sed -i -e 's|Icon=jamulus|Icon=Jamulus|g' linux/jamulus.desktop.in
|
||||
install -D -m 0644 linux/jamulus.desktop.in %{buildroot}%{_datadir}/applications/%{name}.desktop
|
||||
%suse_update_desktop_file %{name}
|
||||
|
||||
%fdupes %{buildroot}%{_datadir}
|
||||
|
||||
%pre
|
||||
%service_add_pre jamulus-public.service jamulus-private.service jamulus-newrec.service jamulus-togglerec.service
|
||||
getent passwd jamulus >/dev/null || \
|
||||
useradd -r -g nogroup -d /var/lib/empty -s /bin/false \
|
||||
-c "Jamulus Server" jamulus
|
||||
|
||||
%post
|
||||
%service_add_post jamulus-public.service jamulus-private.service jamulus-newrec.service jamulus-togglerec.service
|
||||
%{fillup_only -n jamulus}
|
||||
%firewalld_reload
|
||||
|
||||
%preun
|
||||
%service_del_preun jamulus-public.service jamulus-private.service jamulus-newrec.service jamulus-togglerec.service
|
||||
|
||||
%postun
|
||||
%service_del_postun jamulus-public.service jamulus-private.service jamulus-newrec.service jamulus-togglerec.service
|
||||
|
||||
%files
|
||||
%doc README.md ChangeLog README.SUSE
|
||||
%license COPYING
|
||||
%{_bindir}/%{name}
|
||||
%{_datadir}/applications/%{name}.desktop
|
||||
%{_datadir}/icons/hicolor/*/apps/io.jamulus.*.png
|
||||
%{_datadir}/icons/hicolor/scalable/apps/io.jamulus.*.svg
|
||||
%{_datadir}/pixmaps/io.jamulus.*.png
|
||||
# sysconfig
|
||||
%{_fillupdir}/sysconfig.jamulus
|
||||
# firewalld
|
||||
%{_prefix}/lib/firewalld/services/jamulus.xml
|
||||
# systemd/services
|
||||
%{_unitdir}/jamulus-public.service
|
||||
%{_sbindir}/rcjamulus-public
|
||||
%{_unitdir}/jamulus-private.service
|
||||
%{_sbindir}/rcjamulus-private
|
||||
%{_unitdir}/jamulus-newrec.service
|
||||
%{_sbindir}/rcjamulus-newrec
|
||||
%{_unitdir}/jamulus-togglerec.service
|
||||
%{_sbindir}/rcjamulus-togglerec
|
||||
|
||||
%changelog
|
16
Jamulus.sysconfig
Normal file
16
Jamulus.sysconfig
Normal file
@ -0,0 +1,16 @@
|
||||
# Directory(central) server
|
||||
# select only one directory server and port from 4 possible genres.
|
||||
#################################################################
|
||||
# genre: Default
|
||||
############
|
||||
DIRECTORYSERVER="jamulusallgenres.fischvolk.de:22224"
|
||||
# genre: Rock
|
||||
#DIRECTORYSERVER="jamulusrock.fischvolk.de:22424"
|
||||
# genre: Jazz
|
||||
#DIRECTORYSERVER="jamulusjazz.fischvolk.de:22324"
|
||||
# genre: Klassik/Folklore/Chor
|
||||
#DIRECTORYSERVER="jamulusclassical.fischvolk.de:22524"
|
||||
# Your Server
|
||||
yourServername=""
|
||||
yourCity=""
|
||||
yourCountryID=""
|
3
Jamulus_icon.png
Normal file
3
Jamulus_icon.png
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:06e6476e5768b2e41aed0ba4c961e9e55d1314763e04d2503ab69a662cb36255
|
||||
size 29700
|
24
README.SUSE
Normal file
24
README.SUSE
Normal file
@ -0,0 +1,24 @@
|
||||
You can run Jamulus as a client, as well as a headless public or private server.
|
||||
|
||||
There are two service files for starting in headless mode.
|
||||
Additional two service files for switching recording and for start new recording.
|
||||
|
||||
Launching a headless public server
|
||||
==================================
|
||||
|
||||
1. Change the settings in /etc/sysconfig/jamulus
|
||||
|
||||
2. Then start the server with:
|
||||
|
||||
systemctl start jamulus-public.service
|
||||
|
||||
or
|
||||
|
||||
systemctl start jamulus-private.service
|
||||
|
||||
For a private server, you must enable port forwarding in your router
|
||||
and open UDP port: 22124 in your firewall.
|
||||
|
||||
Connecting to your private server
|
||||
=================================
|
||||
To connect locally to your private server, you must use localhost as the server in the GUI.
|
Loading…
x
Reference in New Issue
Block a user