[arch-commits] Commit in mumble/trunk (4 files)

David Runge dvzrv at gemini.archlinux.org
Thu Jan 20 23:51:00 UTC 2022


    Date: Thursday, January 20, 2022 @ 23:51:00
  Author: dvzrv
Revision: 1111600

upgpkg: mumble 1.4.230-1: Upgrade to 1.4.230.

Use new upstream PGP key 1EDEBE2A93CB97FA9903D52E25F63C66245DFC60, see
https://github.com/mumble-voip/mumble-gpg-signatures/issues/2#issuecomment-1017781349
Switch to cmake as build system.
Disable use of bundled speex and opus.
Add poco as new dependency for mumble.
Use package dependencies wherever mumble/murmur dlopen() a given library.
Turn murmur configuration modifications into patch: Unset logfile to run in
foreground and log to stdout by default and set default sqlite db location.
Rename mumble-server back to murmur as the renaming process is not finished:
https://github.com/mumble-voip/mumble/issues/5436
Harden murmur.service and run it as the murmur user/ group by default.

Added:
  mumble/trunk/mumble-1.4.230-configuration.patch
Modified:
  mumble/trunk/PKGBUILD
  mumble/trunk/murmur.service
Deleted:
  mumble/trunk/0001-Added-DBus-calls-to-activate-and-deactivate-push-to-talk.patch

---------------------------------------------------------------------+
 0001-Added-DBus-calls-to-activate-and-deactivate-push-to-talk.patch |   42 --
 PKGBUILD                                                            |  164 ++++------
 mumble-1.4.230-configuration.patch                                  |   21 +
 murmur.service                                                      |   28 +
 4 files changed, 125 insertions(+), 130 deletions(-)

Deleted: 0001-Added-DBus-calls-to-activate-and-deactivate-push-to-talk.patch
===================================================================
--- 0001-Added-DBus-calls-to-activate-and-deactivate-push-to-talk.patch	2022-01-20 23:36:56 UTC (rev 1111599)
+++ 0001-Added-DBus-calls-to-activate-and-deactivate-push-to-talk.patch	2022-01-20 23:51:00 UTC (rev 1111600)
@@ -1,42 +0,0 @@
-From 03dbea56f650bba4f1aa0c54d02b6e8c3639d04f Mon Sep 17 00:00:00 2001
-From: Robby Zampino <robozman at gmail.com>
-Date: Mon, 22 Apr 2019 22:04:36 -0600
-Subject: [PATCH] Added DBus calls to activate and deactivate push to talk
-
----
- src/mumble/DBus.cpp | 8 ++++++++
- src/mumble/DBus.h   | 2 ++
- 2 files changed, 10 insertions(+)
-
-diff --git a/src/mumble/DBus.cpp b/src/mumble/DBus.cpp
-index 6fcde04b..5260e1b2 100644
---- a/src/mumble/DBus.cpp
-+++ b/src/mumble/DBus.cpp
-@@ -97,3 +97,11 @@ bool MumbleDBus::isSelfMuted() {
- bool MumbleDBus::isSelfDeaf() {
- 	return g.s.bDeaf;
- }
-+
-+void MumbleDBus::startTalking() {
-+    g.mw->on_PushToTalk_triggered(true, QVariant());
-+}
-+
-+void MumbleDBus::stopTalking () {
-+    g.mw->on_PushToTalk_triggered(false, QVariant());
-+}
-diff --git a/src/mumble/DBus.h b/src/mumble/DBus.h
-index 1505017c..bd28e5f0 100644
---- a/src/mumble/DBus.h
-+++ b/src/mumble/DBus.h
-@@ -28,6 +28,8 @@ class MumbleDBus : public QDBusAbstractAdaptor {
- 		void setSelfDeaf(bool deafen);
- 		bool isSelfMuted();
- 		bool isSelfDeaf();
-+		void startTalking();
-+		void stopTalking();
- };
- 
- #endif
--- 
-2.26.2
-

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2022-01-20 23:36:56 UTC (rev 1111599)
+++ PKGBUILD	2022-01-20 23:51:00 UTC (rev 1111600)
@@ -6,8 +6,8 @@
 
 pkgbase=mumble
 pkgname=('mumble' 'murmur')
-pkgver=1.3.4
-pkgrel=12
+pkgver=1.4.230
+pkgrel=1
 pkgdesc="An Open Source, low-latency, high quality voice chat software"
 arch=('x86_64')
 url="https://www.mumble.info/"
@@ -15,115 +15,109 @@
 # shared depends
 depends=('gcc-libs' 'glibc' 'lsb-release' 'openssl' 'qt5-base')
 # shared makedepends
-makedepends=('avahi' 'boost' 'protobuf' 'python' 'qt5-tools')
+makedepends=('avahi' 'boost' 'cmake' 'poco' 'protobuf' 'python' 'qt5-tools' 'speech-dispatcher')
 # mumble makedepends
 makedepends+=('alsa-lib' 'hicolor-icon-theme' 'jack' 'libpulse' 'libsndfile'
 'libspeechd' 'libx11' 'libxi' 'mesa' 'opus' 'qt5-svg' 'speex' 'xdg-utils')
 # murmur makedepends
 makedepends+=('grpc' 'libcap' 'zeroc-ice')
-source=("https://github.com/mumble-voip/mumble/releases/download/${pkgver}/mumble-${pkgver}.tar.gz"{,.sig}
-        "0001-Added-DBus-calls-to-activate-and-deactivate-push-to-talk.patch"
-        "murmur.dbus.conf"
-        "murmur.service"
-        "murmur.sysusers"
-        "murmur.tmpfiles")
-sha512sums=('e2dde5aad30d1a931e7acd8d7db0b8c785d3a268d0b8cf5626fa03953a51bcadb719c6682c440d02524e83beee13d73d8f5bb3fdf98ab1c82d3ecf824cc25f68'
+source=(
+  "https://github.com/mumble-voip/mumble/releases/download/v${pkgver}/mumble-${pkgver}.tar.gz"{,.sig}
+  "murmur.dbus.conf"
+  "murmur.service"
+  "murmur.sysusers"
+  "murmur.tmpfiles"
+  "${pkgname}-1.4.230-configuration.patch"
+)
+sha512sums=('6cffc7a95d88b33876f4093b99266468210f5c14f190fbd2fbe4991bef91a567e55296e7c8c6cc99e19c054853211085cc3cc08109e367e6776afb70766b3a53'
             'SKIP'
-            'ca751eb688e9de88064e2e11f155b4c69a55c9464fcd839ad8ce834af7e444a5683be62700fe7e6e7a60a5de37c0dc48575bb81d633607974e0f41d05b6a51be'
             '97c7effdddec324e40195c36ef4927950a5de26d2ee2d268d89df6fb547207bbbe30292773316cae6f57ec9923244f205fb0edc377b798771ba7385e3c11d86a'
-            '2059eeac32cc078168a2ea56fe3034df69814516303adeffb8062c7b90a88177a536e6a6742196ee90370084d4e536f825b1744f8bed2bb704159a8a8bccb606'
+            'd080821eda9fc8eb49eb6536e333de7fff1be44ccf501ada086f684c96faf5da25aad1ff15465524f928e65b89c3c5b032167ff1a3d5971e269d4d1b093a1d62'
             '5af28d0c2b2b072cfbd500b5f63549e88a86cf3fc15e4d2df89e787c4d2bafdecbe078a518e0d1b25d82f9873cb06838ec1c9ebed625ffb7e8c80fcd942ebf74'
-            '411784e8e0dcf6c163780ae895ae1a6bdad0bb2dd2b128911c484ac3eff073d95c5791b625493a2b8296d24bd7e6ac72d3c42180817e48b29f0c6a8fd841807c')
-b2sums=('bcde3fd859ec4faea06f996cd4c583af7c0b8409cca79cb05ef8ba7fcdeac9e49ed1d07a4131225dd582da7610190d4006abc731fd4276b2288e02e8c18effb6'
+            '411784e8e0dcf6c163780ae895ae1a6bdad0bb2dd2b128911c484ac3eff073d95c5791b625493a2b8296d24bd7e6ac72d3c42180817e48b29f0c6a8fd841807c'
+            'e35dee4ce1cca15747330ba21892064adec85feb9937a89aea95ccf2c668746075fbe1c343e26ba2ac26a9e36144fb0b3eb0f44d85e6d258040bcd3500818a31')
+b2sums=('da433f3c15d7e45dfac0c8a78c9dbe86ba8d5cd078d2d87fd4d90718968fc9e5928c3c5c5ba2e40a8a54d02a646c5fc6a7ee2fff4b71dfa411d74f395b097c26'
         'SKIP'
-        'cb8d25c0e6e46a5d85c61b04586293180bf1804296aa338c8c67e05817fec41965eb46e44dab2f4c5bec24e29e08a8f6eb645500c7b6c0d63ce31f2f09c75250'
         'a416d071d9658fc3f3ea267d6ff24237317f5c05b59fe1578e5a4cb4911840896bf5e524a143f5c70a797da9f343312468720f03343b4b66bea20e94aa316cc2'
-        'd3ff1099c98ccb01cb96608c9ce328b654fe8f6c1922cdb602223ba66267655b569b7113ad24820e37989448695b874872279d49f94d44ab569a228cf545498f'
+        '00d452eb3a8892e7b818083365ba6785ea82adf948caa4b93dcbb814e867b8207251455c1df8c0af67a85048270c5d736fde595e30cfd6ee858661862f97227c'
         '9909371a0d1c06d2aa00f161aebb19266aad0253b407dd01da5325f4f307678bba28a89596bd2ec97df5844068856c10bb4b10acad7bf170dd2853b3e11c48cd'
-        '999b2848c718f25a2d8257595194521e08d36d101906d76b137218f0a19f2451b7e1adc0c013e1f1c3448145b89a1e88f46cb1c9da27777737379227d3574d10')
+        '999b2848c718f25a2d8257595194521e08d36d101906d76b137218f0a19f2451b7e1adc0c013e1f1c3448145b89a1e88f46cb1c9da27777737379227d3574d10'
+        'd77b81c5ac39561e3df087ad325e88909b083dad95a25c7106a941645354c87d07ea5d41eec5aa4a77a402cadbe8230a4a1c641d8414d11174e4b3254fc18647')
 # See https://github.com/mumble-voip/mumble-gpg-signatures
-validpgpkeys=('6A24D225AAE02DD6352C3D269F179B6BF48ADF25') # Mumble Automatic Build Infrastructure 2021 <mumble-auto-build-2021 at mumble.info>
+validpgpkeys=(
+'1EDEBE2A93CB97FA9903D52E25F63C66245DFC60'  # Mumble Automatic Build Infrastructure 2022 <mumble-auto-build-2022 at mumble.info>
+)
 
 prepare() {
-  cd "${pkgbase}-${pkgver}"
-  # set default configuration for murmur
-  sed -e "1i; vi:ft=cfg" \
-      -e "s|database=|database=/var/db/murmur/murmur.sqlite|" \
-      -e "s|;logfile=murmur.log|logfile=|" \
-      -e "s|;uname=|uname=murmur|" \
-      -i scripts/murmur.ini
-
-  patch -Np1 -i "$srcdir"/0001-Added-DBus-calls-to-activate-and-deactivate-push-to-talk.patch
+  cd "${pkgbase}-${pkgver}.src"
+  patch -Np1 -i ../"${pkgname}-1.4.230-configuration.patch"
 }
 
 build() {
-  cd "$pkgname-$pkgver"
-  # build mumble
-  qmake-qt5 main.pro \
-    CONFIG+="no-bundled-opus no-bundled-speex no-g15 no-xevie no-server \
-    no-embed-qt-translations no-update packaged bundled-celt" \
-    DEFINES+="PLUGIN_PATH=/usr/lib/mumble" \
-    INCLUDEPATH+="/usr/include/speech-dispatcher"
-  make release
-  # build murmur
-  qmake-qt5 main.pro CONFIG+="no-client grpc"
-  make release
+  cmake -DCMAKE_INSTALL_PREFIX=/usr \
+        -DCMAKE_BUILD_TYPE=None \
+        -Dwarnings-as-errors=OFF \
+        -Dbundled-opus=OFF \
+        -Dbundled-speex=OFF \
+        -Dupdate=OFF \
+        -Dserver=OFF \
+        -Wno-dev \
+        -B build-client \
+        -S "${pkgbase}-${pkgver}.src"
+  make VERBOSE=1 -C build-client
+
+  cmake -DCMAKE_INSTALL_PREFIX=/usr \
+        -DCMAKE_BUILD_TYPE=None \
+        -Dwarnings-as-errors=OFF \
+        -Dbundled-opus=OFF \
+        -Dbundled-speex=OFF \
+        -Dupdate=OFF \
+        -Dclient=OFF \
+        -Wno-dev \
+        -B build-server \
+        -S "${pkgbase}-${pkgver}.src"
+  make VERBOSE=1 -C build-server
 }
 
 package_mumble() {
   pkgdesc+=" (client)"
-  # NOTE: opus is dlopen'ed
-  depends+=('hicolor-icon-theme' 'libasound.so' 'libdns_sd.so' 'libjack.so'
-  'libprotobuf.so' 'libpulse.so' 'libsndfile.so' 'libspeechd' 'libx11' 'libxi'
-  'opus' 'qt5-svg' 'speex' 'xdg-utils')
-  optdepends=('speech-dispatcher: Text-to-speech support'
-              'espeak-ng: Text-to-speech support')
+  # NOTE: avahi, jack, libpulse, opus is dlopen'ed
+  depends+=('avahi' 'hicolor-icon-theme' 'jack' 'libasound.so' 'libprotobuf.so'
+  'libpulse' 'libsndfile.so' 'libspeechd' 'libx11' 'libxi' 'opus' 'poco'
+  'qt5-svg' 'speex' 'xdg-utils')
+  optdepends=(
+    'lib32-glibc: for mumble-overlay'
+    'espeak-ng: Text-to-speech support'
+    'speech-dispatcher: Text-to-speech support'
+  )
 
-  cd "$pkgbase-$pkgver"
-  # mumble has no install target: https://github.com/mumble-voip/mumble/issues/1029
-  # binaries and scripts
-  install -vDm 755 release/mumble -t "$pkgdir/usr/bin"
-  install -vDm 755 scripts/mumble-overlay -t "$pkgdir/usr/bin/"
-  # (vendored) libs
-  install -vdm 755 "$pkgdir/usr/lib/mumble/"
-  local _lib
-  for _lib in release/*.so*; do
-    if [ -L "$_lib" ]; then
-      cp -vP "$_lib" "$pkgdir/usr/lib/mumble/"
-    else
-      install -vDm 755 "$_lib" -t "$pkgdir/usr/lib/mumble/"
-    fi
-  done
-  install -vDm 755 release/plugins/*.so -t "$pkgdir/usr/lib/mumble/"
-  # XDG desktop integration
-  install -vDm 644 scripts/mumble.desktop -t "$pkgdir/usr/share/applications"
-  # AppStream metadata
-  install -vDm 644 scripts/mumble.appdata.xml -t "$pkgdir/usr/share/metainfo"
-  # man page
-  install -vDm 644 "man/${pkgname}"*.1 -t "$pkgdir/usr/share/man/man1/"
-  # XDG desktop icons
-  install -vDm 644 icons/mumble.svg -t "$pkgdir/usr/share/icons/hicolor/scalable/apps/"
-  # license
-  install -vDm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
+  make DESTDIR="${pkgdir}" install -C build-client
+  install -vDm 644 "${pkgbase}-${pkgver}.src/LICENSE" -t "$pkgdir/usr/share/licenses/$pkgname"
 }
 
 package_murmur() {
   pkgdesc+=" (server)"
-  depends+=('grpc' 'libcap.so' 'libdns_sd.so' 'libprotobuf.so' 'zeroc-ice')
-  backup=("etc/murmur.ini")
-  install="murmur.install"
+  # NOTE: avahi is dlopen'ed
+  depends+=('avahi' 'grpc' 'libcap.so' 'libdns_sd.so' 'libprotobuf.so' 'zeroc-ice')
+  backup=('etc/murmur.ini')
+  install=murmur.install
 
-  cd "${pkgbase}-${pkgver}"
-  # murmur has no install target: https://github.com/mumble-voip/mumble/issues/1029
-  install -vDm 755 release/murmurd -t "${pkgdir}"/usr/bin
-  install -vDm 640 scripts/murmur.ini -t "${pkgdir}"/etc
-  install -vDm 644 "${srcdir}"/murmur.dbus.conf "${pkgdir}"/usr/share/dbus-1/system.d/murmur.conf
-  install -vDm 644 README -t "${pkgdir}/usr/share/doc/${pkgname}"
-  install -vDm 644 man/murmur*.1 -t "${pkgdir}/usr/share/man/man1/"
-  install -vDm 644 "${srcdir}"/murmur.service -t "${pkgdir}/usr/lib/systemd/system/"
-  install -vDm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
-  install -vDm 644 "${srcdir}"/murmur.sysusers "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
-  install -vDm 644 "${srcdir}"/murmur.tmpfiles "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"
-  install -vDm 644 src/murmur/{Murmur.ice,MurmurRPC.proto} -t "${pkgdir}/usr/share/${pkgname}"
+  make DESTDIR="${pkgdir}" install -C build-server
+  # renaming of the server component was not done in full capacity: https://github.com/mumble-voip/mumble/issues/5436
+  mv -v "${pkgdir}/usr/bin/"{mumble-server,murmurd}
+
+  (
+    cd "${pkgbase}-${pkgver}.src"
+    install -vDm 640 scripts/murmur.ini -t "${pkgdir}/etc"
+    install -vDm 644 README.md -t "${pkgdir}/usr/share/doc/${pkgname}"
+    install -vDm 644 man/murmur*.1 -t "${pkgdir}/usr/share/man/man1/"
+    install -vDm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
+    install -vDm 644 src/murmur/{Murmur.ice,MurmurRPC.proto} -t "${pkgdir}/usr/share/${pkgname}"
+  )
+
+  install -vDm 644 murmur.dbus.conf "${pkgdir}/usr/share/dbus-1/system.d/murmur.conf"
+  install -vDm 644 murmur.service -t "${pkgdir}/usr/lib/systemd/system/"
+  install -vDm 644 murmur.sysusers "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
+  install -vDm 644 murmur.tmpfiles "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"
 }
 # vim: sw=2:ts=2 et:

Added: mumble-1.4.230-configuration.patch
===================================================================
--- mumble-1.4.230-configuration.patch	                        (rev 0)
+++ mumble-1.4.230-configuration.patch	2022-01-20 23:51:00 UTC (rev 1111600)
@@ -0,0 +1,21 @@
+diff -ruN a/scripts/murmur.ini b/scripts/murmur.ini
+--- a/scripts/murmur.ini	2022-01-18 02:00:00.334013700 +0100
++++ b/scripts/murmur.ini	2022-01-20 22:32:41.267250949 +0100
+@@ -13,7 +13,7 @@
+ 
+ ; Path to database. If blank, will search for
+ ; murmur.sqlite in default locations or create it if not found.
+-database=
++database=/var/db/murmur/murmur.sqlite
+ 
+ ; Murmur defaults to using SQLite with its default rollback journal.
+ ; In some situations, using SQLite's write-ahead log (WAL) can be
+@@ -99,7 +99,7 @@
+ ; logs to the file 'murmur.log'. If you leave this field blank
+ ; on Unix-like systems, Murmur will force itself into foreground
+ ; mode which logs to the console.
+-;logfile=murmur.log
++logfile=
+ 
+ ; If set, Murmur will write its process ID to this file
+ ; when running in daemon mode (when the -fg flag is not

Modified: murmur.service
===================================================================
--- murmur.service	2022-01-20 23:36:56 UTC (rev 1111599)
+++ murmur.service	2022-01-20 23:51:00 UTC (rev 1111600)
@@ -1,15 +1,37 @@
 [Unit]
 Description=Mumble Daemon
+Documentation=man:murmurd(1)
 After=network.target
+Wants=network-online.target
 
 [Service]
-Type=simple
+AmbientCapabilities=CAP_NET_BIND_SERVICE
+CapabilityBoundingSet=CAP_NET_BIND_SERVICE
 ExecStart=/usr/bin/murmurd -ini /etc/murmur.ini -fg
-Restart=always
+Group=murmur
+LockPersonality=yes
+MemoryDenyWriteExecute=yes
+NoNewPrivileges=yes
 PrivateDevices=true
 PrivateTmp=true
+ProtectClock=yes
+ProtectControlGroups=yes
+ProtectHome=true
+ProtectHostname=yes
+ProtectKernelLogs=yes
+ProtectKernelModules=yes
+ProtectKernelTunables=yes
 ProtectSystem=full
-ProtectHome=true
+RestrictAddressFamilies=~AF_PACKET AF_NETLINK
+RestrictNamespaces=yes
+RestrictSUIDSGID=yes
+RestrictRealtime=yes
+Restart=always
+SystemCallArchitectures=native
+SystemCallFilter=@system-service
+SystemCallFilter=~@resources @privileged
+Type=simple
+User=murmur
 
 [Install]
 WantedBy=multi-user.target



More information about the arch-commits mailing list