Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package Jamulus for openSUSE:Factory checked 
in at 2021-01-22 21:52:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/Jamulus (Old)
 and      /work/SRC/openSUSE:Factory/.Jamulus.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "Jamulus"

Fri Jan 22 21:52:14 2021 rev:15 rq:865960 version:3.6.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/Jamulus/Jamulus.changes  2020-12-14 
18:09:01.183619326 +0100
+++ /work/SRC/openSUSE:Factory/.Jamulus.new.28504/Jamulus.changes       
2021-01-22 21:52:39.141877021 +0100
@@ -1,0 +2,21 @@
+Fri Jan 22 12:01:43 UTC 2021 - Jan Engelhardt <[email protected]>
+
+- %pre needs to pull in "nogroup", too.
+
+-------------------------------------------------------------------
+Fri Jan 22 02:08:02 UTC 2021 - Jan Engelhardt <[email protected]>
+
+- Do not ignore errors from useradd.
+- Reduce scriptlet boilerplate generated by %service_*.
+- Cease removing users at package deinstallation.
+
+-------------------------------------------------------------------
+Thu Jan 14 10:49:11 UTC 2021 - ecsos <[email protected]>
+
+- Add services for headless public and private server.
+- Add services for newRecording and ToggleRecording.
+- Add sysconfig for service files.
+- Add firewalld for private server.
+- Add user jamulus for server services.
+
+-------------------------------------------------------------------

New:
----
  Jamulus-newrec.service
  Jamulus-private.service
  Jamulus-public.service
  Jamulus-togglerec.service
  Jamulus.firewalld
  Jamulus.sysconfig
  README.SUSE

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ Jamulus.spec ++++++
--- /var/tmp/diff_new_pack.OE34Uu/_old  2021-01-22 21:52:40.057878320 +0100
+++ /var/tmp/diff_new_pack.OE34Uu/_new  2021-01-22 21:52:40.073878343 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package Jamulus
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
 # Copyright (c) 2014 Pascal Bleser <[email protected]>
 #
 # All modifications and additions to the file contributed by third parties
@@ -17,6 +17,10 @@
 #
 
 
+%if ! %{defined _fillupdir}
+  %define _fillupdir %{_localstatedir}/adm/fillup-templates
+%endif
+
 %define tarball_version 3_6_2
 
 Name:           Jamulus
@@ -27,12 +31,23 @@
 URL:            http://llcon.sourceforge.net/index.html
 Source0:        
https://github.com/corrados/jamulus/archive/r%{tarball_version}.tar.gz#/jamulus-r%{tarball_version}.tar.gz
 Source1:        %{name}_icon.png
+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
 BuildRequires:  ImageMagick
 BuildRequires:  fdupes
+BuildRequires:  firewall-macros
+BuildRequires:  firewalld
 BuildRequires:  gcc-c++
 BuildRequires:  hicolor-icon-theme
 BuildRequires:  jack-devel
 BuildRequires:  pkgconfig
+BuildRequires:  pwdutils
+BuildRequires:  systemd-rpm-macros
 BuildRequires:  update-desktop-files
 BuildRequires:  pkgconfig(Qt5Concurrent)
 BuildRequires:  pkgconfig(Qt5Network)
@@ -40,10 +55,14 @@
 BuildRequires:  pkgconfig(Qt5Xml)
 BuildRequires:  pkgconfig(opus)
 Requires:       jack
+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
@@ -54,6 +73,7 @@
 %prep
 %autosetup -p1 -n jamulus-r%{tarball_version}
 install %{SOURCE1} .
+install -m644 %{SOURCE90} .
 
 %build
 %qmake5 CONFIG+=opus_shared_lib CONFIG+=disable_version_check
@@ -69,17 +89,76 @@
 install -Dm0644 %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{name}.png \
                 %{buildroot}%{_datadir}/pixmaps/%{name}.png
 
-%suse_update_desktop_file -c %{name} %{name} "Internet Jam Session Software" 
%{name} %{name} "AudioVideo;Audio;Mixer;Qt"
-%suse_update_desktop_file -C "Jam Session" %{name}
+# sysconfig
+install -d -m0755 %{buildroot}%{_fillupdir}
+install -D -m0644 %{SOURCE20} %{buildroot}%{_fillupdir}/sysconfig.jamulus
+
+# firewalld
+install -D -m0644 %{SOURCE21} 
%{buildroot}%{_libexecdir}/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' distributions/jamulus.desktop.in
+sed -i -e 's|Icon=jamulus|Icon=Jamulus|g' distributions/jamulus.desktop.in
+install -D -m 0644 distributions/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
+%doc README.md ChangeLog README.SUSE
 %license COPYING
 %{_bindir}/%{name}
 %{_datadir}/applications/%{name}.desktop
 %{_datadir}/icons/hicolor/*/apps/%{name}.png
 %{_datadir}/pixmaps/%{name}.png
+# sysconfig
+%{_fillupdir}/sysconfig.jamulus
+# firewalld
+%config(noreplace) %{_libexecdir}/firewalld/services/jamulus.xml
+%dir %{_libexecdir}/firewalld
+%dir %{_libexecdir}/firewalld/services
+# 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

++++++ Jamulus-newrec.service ++++++
[Unit]
Description=Start a new recording on Jamulus server
Requisite=Jamulus-Server

[Service]
Type=oneshot
ExecStart=/bin/systemctl kill -s SIGUSR1 jamulus
++++++ Jamulus-private.service ++++++

[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
++++++ Jamulus-public.service ++++++

[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 ${CENTRALSERVER} -o 
"${yourServername};${yourCity};[${yourCountryID}]"

Restart=on-failure
RestartSec=30
StandardOutput=journal
StandardError=inherit
SyslogIdentifier=jamulus

[Install]
WantedBy=multi-user.target
++++++ Jamulus-togglerec.service ++++++
[Unit]
Description=Toggle recording state of Jamulus server
Requisite=Jamulus-Server

[Service]
Type=oneshot
ExecStart=/bin/systemctl kill -s SIGUSR2 jamulus
++++++ Jamulus.firewalld ++++++
<?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>

++++++ Jamulus.sysconfig ++++++
# central server
# select only one central server and port from 4 possible genres.
#################################################################
# genre: Default
############
CENTRALSERVER="jamulusallgenres.fischvolk.de:22224"
# genre: Rock
#CENTRALSERVER="jamulusrock.fischvolk.de:22424"
# genre: Jazz
#CENTRALSERVER="jamulusjazz.fischvolk.de:22324"
# genre: Klassik/Folklore/Chor
#CENTRALSERVER="jamulusclassical.fischvolk.de:22524"
# Your Server
yourServername=""
yourCity=""
yourCountryID=""

++++++ README.SUSE ++++++
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.

Reply via email to