[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