# configuration options for the server (murmur) %define build_server 1 %define build_web 0 %define build_ice 0 # configuration options for the client %define build_client 1 %define build_speechd 1 %define build_g15 1 %define subrel 2 %{?_without_server: %{expand: %%global build_server 0}} %{?_without_server: %{expand: %%global build_ice 0}} %{?_with_server: %{expand: %%global build_server 1}} %{?_without_ice: %{expand: %%global build_ice 0}} %{?_with_ice: %{expand: %%global build_ice 1}} %{?_without_client: %{expand: %%global build_client 0}} %{?_without_client: %{expand: %%global build_speechd 0}} %{?_without_client: %{expand: %%global build_g15 0}} %{?_with_client: %{expand: %%global build_client 1}} %{?_without_speechd: %{expand: %%global build_speechd 0}} %{?_with_speechd: %{expand: %%global build_speechd 1}} %{?_without_g15: %{expand: %%global build_g15 0}} %{?_with_g15: %{expand: %%global build_g15 1}} Summary: Low-latency, high-quality voice communication for gamers Name: mumble Version: 1.2.3 Release: %mkrel 14 License: BSD-like Group: Communications/Telephony Url: http://mumble.sourceforge.net/ Source0: http://downloads.sourceforge.net/mumble/%{name}-%{version}.tar.gz # conf files courtesy of debian package Source1: %{name}-server.ini Source2: %{name}-server-web.conf Source3: MurmurPHP.ini Source4: README.install.urpmi.mumble-server-web Source5: %{name}-server-init.mdv Source6: %{name}-server.logrotate Source7: %{name}-tmpfiles.conf Patch0: %{name}-1.2.1-mdv-fix-string-error.patch Patch1: mumble-1.2.2-link.patch Patch2: mumble-1.2.3-build-with-celt071.patch # Fix broken celt-0.11.3 (uncompatible with mumble) mga#12853 Patch3: mumble-1.2.3-mga-only-use-celt071-libnames.patch Patch4: 0001-Explicitly-remove-file-permissions-for-settings-and-.patch Patch5: mumble-1.2.3-ice-3.3.1-path.patch Patch6: mumble-1.2.3-ice-php-include-path.patch Patch7: mumble-1.2.3-speech-dispatcher-pkgconfig.patch Patch8: mumble-1.2.3-mga-CVE-2014-3755.patch Patch9: mumble-1.2.3-mga-CVE-2014-3756.patch BuildConflicts: celt-devel >= 0.7.0 BuildRequires: kde4-macros BuildRequires: libspeex-devel BuildRequires: celt071-devel BuildRequires: qt4-devel >= 4.4.1 BuildRequires: boost-devel BuildRequires: pulseaudio-devel BuildRequires: libalsa-devel BuildRequires: libogg-devel BuildRequires: openssl-devel BuildRequires: libxevie-devel BuildRequires: qt4-linguist >= 4.4.1 BuildRequires: protobuf-devel BuildRequires: protobuf-compiler BuildRequires: avahi-compat-libdns_sd-devel BuildRequires: pkgconfig(sndfile) BuildRequires: cap-devel %if %build_speechd BuildRequires: speech-dispatcher-devel %endif %if %build_g15 BuildRequires: g15daemon_client-devel %endif # (cg) The celt libraries are loaded dynamically but we need at least 0.7.1 to # be compatible with the Windows and OSX clients # The 0.11 version can work if the clients (and presumably the server) all # support it. # Using mklibname is not ideal but it's the easiest option for now Requires: %{mklibname celt 071 0} # Fix broken celt-0.11.3 (uncompatible with mumble) mga#12853 #Suggests: %%{mklibname celt 0 2} Requires: qt4-database-plugin-sqlite >= 4.3.0 Requires: %{name}-plugins = %{version}-%{release} Suggests: %{name}.protocol %if %build_speechd Suggests: speech-dispatcher %endif %if %build_g15 Suggests: g15daemon %endif %description Low-latency, high-quality voice communication for gamers. Includes game linking, so voice from other players comes from the direction of their characters, and has echo cancellation so the sound from your loudspeakers won't be audible to other players. %package 11x Summary: The 1.1.x compatible client for mumble Group: Communications/Telephony Requires: %{name} = %{version}-%{release} %description 11x This package provides the 1.1.x compatible client for Mumble, used to connect to older servers. %package protocol-kde4 Summary: The mumble protocol for KDE4 Group: Graphical desktop/KDE Requires: %{name} = %{version}-%{release} %description protocol-kde4 The mumble protocol for KDE4. %package plugins Summary: Mumble plugins Group: Communications/Telephony Requires: %{name} = %{version}-%{release} # 24 may 2009 : necessary for upgrading Provides: %mklibname %{name} 1 Provides: %mklibname %{name} -d Obsoletes: %mklibname %{name} 1 Obsoletes: %mklibname %{name} -d %description plugins This packages provides the Mumble plugins. %if %build_server %package server Summary: Murmur, the VOIP server for Mumble Group: Communications/Telephony Requires(post): systemd >= %{systemd_required_version} Requires(pre): rpm-helper Requires(post): rpm-helper Requires(preun): rpm-helper %if %build_ice BuildRequires: ice-devel # (cg) ice-devel should require this itself, but it doesn't... BuildRequires: ice %endif Requires: qt4-database-plugin-sqlite >= 4.3.0 Requires: dbus %if !%build_web Conflicts: %{name}-server-web %endif %description server This package provides Murmur, the VOIP server for Mumble. %if %build_web %package server-web Summary: Web scripts for mumble-server Group: Communications/Telephony Requires: apache Requires: perl-CGI Requires: mail-server %if %build_ice Requires: php-ice Requires: ice %endif Requires: %{name}-server = %{version}-%{release} %description server-web This package contains the web scripts for mumble-server. %endif %endif %prep %setup -q %apply_patches cp -p %{SOURCE4} README.install.urpmi #remove bundled celt rm -rf celt* %build %qmake_qt4 main.pro \ %if %build_server == 0 CONFIG+=no-server \ %endif %if %build_ice == 0 CONFIG+=no-ice \ %endif %if %build_client == 0 CONFIG+=no-client \ %endif %if %build_speechd == 0 CONFIG+=no-speechd \ %endif %if %build_g15 == 0 CONFIG+=no-g15 \ %endif CONFIG+=no-bundled-speex \ CONFIG+=no-bundled-celt \ CONFIG+=no-embed-qt-translations \ CONFIG+=no-update \ DEFINES+=PLUGIN_PATH=%{_libdir}/%{name} \ DEFINES+=DEFAULT_SOUNDSYSTEM=PulseAudio %make -j2 %install rm -rf %{buildroot} %if %build_client # --- Mumble install --- install -D -m 0755 release/%{name} %{buildroot}%{_bindir}/%{name} install -m 0755 scripts/%{name}-overlay %{buildroot}%{_bindir}/%{name}-overlay install -D -m 0755 scripts/%{name}.protocol %{buildroot}%{_kde_datadir}/kde4/services/%{name}.protocol install -d -m 0755 %{buildroot}%{_libdir}/%{name}/plugins cp -Pp release/libmumble* %{buildroot}%{_libdir}/%{name}/ cp -p release/plugins/liblink.so %{buildroot}%{_libdir}/%{name}/ # ---Mumble 11X --- install -D -m 0755 release/%{name}11x %{buildroot}%{_bindir}/%{name}11x # Mumble icons install -D -m 0644 icons/%{name}.svg %{buildroot}%{_iconsdir}/hicolor/scalable/apps/%{name}.svg # Mumble desktop file install -d -m 0755 %{buildroot}%{_datadir}/applications install -m 0644 scripts/%{name}.desktop %{buildroot}%{_datadir}/applications/%{name}.desktop desktop-file-install \ --remove-category="Qt" \ --dir %{buildroot}%{_datadir}/applications %{buildroot}%{_datadir}/applications/* # Create a Mumble11x desktop file from the Mumble one sed -e "s/Name\=Mumble/Name\=Mumble-11x/g" \ -e "s/Exec\=mumble/Exec\=mumble11x/g" \ %{buildroot}%{_datadir}/applications/%{name}.desktop \ > %{buildroot}%{_datadir}/applications/%{name}11x.desktop %endif %if %build_server # --- Mumble-server/Murmur install --- install -D -m0755 release/murmurd "%{buildroot}%{_sbindir}/murmurd" install -D -m0755 scripts/murmur-user-wrapper %{buildroot}%{_bindir}/murmur-user-wrapper mkdir -p %{buildroot}%{_sysconfdir}/{dbus-1/system.d,logrotate.d} install -m0644 scripts/murmur.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/%{name}-server.conf install -m0644 %{SOURCE6} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}-server install -m0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/%{name}-server.ini %if %build_ice # install Mumur.ice in /usr/share/slice install -D -m0755 src/murmur/Murmur.ice %{buildroot}%{_datadir}/slice/Murmur.ice %endif # install initscript mkdir -p %{buildroot}%{_initrddir} install -m0744 %{SOURCE5} %{buildroot}%{_initrddir}/%{name}-server # create database directory install -d -m0755 %{buildroot}%{_var}/lib/%{name}-server # create log directory install -d -m0755 %{buildroot}%{_var}/log/%{name}-server # create tmpfiles directory install -D -p -m 0644 %{SOURCE7} %{buildroot}%{_tmpfilesdir}/%{name}-server.conf # install example mkdir -p %{buildroot}%{_var}/%{name}-server/examples %if %build_web # --- Mumble-server-web files --- install -D -m0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/httpd/conf.d/%{name}-server-web.conf %if %build_ice install -D -m0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/php.d/MurmurPHP.ini install -D -m0644 scripts/weblist.php %{buildroot}%{_datadir}/%{name}-server-web/www/weblist.php %endif install -D -m0755 scripts/weblist.pl %{buildroot}%{_datadir}/%{name}-server-web/www/weblist.cgi install -D -m0755 scripts/murmur.pl %{buildroot}%{_datadir}/%{name}-server-web/www/register.cgi pushd %{buildroot}%{_datadir}/%{name}-server-web/www ln -s weblist.php index.php popd %endif %endif # --- Manpages --- install -d -m 0755 %{buildroot}%{_mandir}/man1 %if %build_server install -m 0644 man/murmur* %{buildroot}%{_mandir}/man1 %endif %if %build_client install -m 0644 man/mumble* %{buildroot}%{_mandir}/man1 %endif %if %build_server %pre server %_pre_useradd %{name}-server %{_var}/lib/%{name}-server /bin/sh %post server %_tmpfilescreate %{name}-server %_post_service %{name}-server %preun server %_preun_service %{name}-server %postun server %_postun_userdel %{name}-server %endif %if %build_client %files %defattr(-,root,root) %doc README README.Linux CHANGES LICENSE %{_bindir}/%{name} %{_bindir}/%{name}-overlay %{_datadir}/applications/%{name}.desktop %{_iconsdir}/hicolor/*/apps/%{name}.svg %{_mandir}/man1/%{name}.* %{_mandir}/man1/%{name}-overlay.* %files 11x %defattr(-,root,root,-) %{_bindir}/%{name}11x %{_datadir}/applications/%{name}11x.desktop %{_mandir}/man1/%{name}11x.* %files protocol-kde4 %defattr(-,root,root) %{_kde_datadir}/kde4/services/%{name}.protocol %files plugins %defattr(-,root,root,-) %{_libdir}/%{name} %endif %if %build_server %files server %if %build_client == 0 %doc README README.Linux CHANGES LICENSE %endif %defattr(-,root,root) %doc scripts/murmur.ini %{_bindir}/murmur-user-wrapper %{_sbindir}/murmurd %{_initrddir}/%{name}-server %{_tmpfilesdir}/%{name}-server.conf %config(noreplace) %{_sysconfdir}/%{name}-server.ini %{_sysconfdir}/logrotate.d/%{name}-server %{_sysconfdir}/dbus-1/system.d/%{name}-server.conf %attr(-,mumble-server,mumble-server) %dir %{_var}/lib/%{name}-server %attr(-,mumble-server,root) %dir %{_var}/log/%{name}-server %if %build_ice %{_datadir}/slice/Murmur.ice %endif %{_mandir}/man1/murmur-user-wrapper.* %{_mandir}/man1/murmurd.* %if %build_web %files server-web %doc README.install.urpmi %defattr(-,root,root) %config(noreplace) %{_sysconfdir}/httpd/conf.d/%{name}-server-web.conf %if %build_ice %config(noreplace) %{_sysconfdir}/php.d/MurmurPHP.ini %endif %{_datadir}/%{name}-server-web %endif %endif %changelog * Tue Feb 24 2015 daviddavid <daviddavid> 1.2.3-14.2.mga4 + Revision: 816835 - fix broken celt-0.11.3 as it is not compatible with mumble (mga#12853) * rename and rediff patch 3 * remove lib(64)celt0_2 as a suggests - add Patch8 and Patch9 to fix new CVEs - rediff patches to adapt for mumble-1.2.3 - fix CVE-2014-3755 and CVE-2014-3756 (mga#13382) * http://openwall.com/lists/oss-security/2014/05/15/4 * Tue Dec 31 2013 dmorgan <dmorgan> 1.2.3-14.mga4 + Revision: 563516 - Rebuild against current protobuf * Wed Nov 27 2013 colin <colin> 1.2.3-13.mga4 + Revision: 553734 - Switch to using apply_patches macro for easier management - Build with speech-dispatcher 0.8 + umeabot <umeabot> - Mageia 4 Mass Rebuild + fwang <fwang> - rebuild for new boost * Tue Mar 26 2013 colin <colin> 1.2.3-10.mga3 + Revision: 405312 - Disable web+ice support for now (incompatible ice version) * Sun Mar 24 2013 colin <colin> 1.2.3-9.mga3 + Revision: 404859 - Add systemd requires and general post/pre fixes (mga#9302) * Sat Jan 12 2013 umeabot <umeabot> 1.2.3-8.mga3 + Revision: 360498 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Thu Jan 10 2013 barjac <barjac> 1.2.3-7.mga3 + Revision: 344511 - update group - remove unneeded patch - remove restriction on ice version + colin <colin> - Fix group - Tidy up service and tmpfiles related stuff - Drop reload of messagebus (it shouldn't be needed these days) - Add patches to allow working with ice < 3.4 (avoids bogus auto-requires) - Fix path for some ice related files. - Conflict with the -server-web package when not building it to ensure smooth upgrades + stormi <stormi> - fix php-ice include path for Murmur * Tue Jun 26 2012 colin <colin> 1.2.3-4.mga3 + Revision: 264068 - Fix permissions on database file (mga#6511 CVE-2012-0863) - Do not package /var/run/ folders (use systemd-tmpfiles instead) - Add Requires(pre) rpm-helper for useradd helper * Tue Jun 26 2012 colin <colin> 1.2.3-3.mga3 + Revision: 263880 - Ensure the appropriate celt libraries are required/suggested - Find libcelt 0.7.1 library with Mageia libname magling * Sat Nov 19 2011 wally <wally> 1.2.3-2.mga2 + Revision: 169142 - rebuild for new protobuf - build against system celt 0.7.1 - add buildconflicts for newer celt to ensure we build against celt 0.7.1 + dmorgan <dmorgan> - Do not build the server-web package for now, we miss dependancies - Remove BuildRoot Remove %%clean section * Sun Jul 10 2011 kharec <kharec> 1.2.3-1.mga2 + Revision: 121688 - rediff patches - new version 1.2.3 * Mon Mar 28 2011 ennael <ennael> 1.2.2-3.mga1 + Revision: 78293 - clean spec file - imported package mumble * Mon Dec 06 2010 Oden Eriksson <oeriksson@mandriva.com> 1.2.2-3mdv2011.0 + Revision: 612967 - the mass rebuild of 2010.1 packages * Mon Apr 19 2010 Funda Wang <fwang@mandriva.org> 1.2.2-2mdv2010.1 + Revision: 536611 - fix linkage * Sat Feb 20 2010 Tomasz Pawel Gajc <tpg@mandriva.org> 1.2.2-1mdv2010.1 + Revision: 508809 - update to new version 1.2.2 - drop patch 1 * Sun Jan 31 2010 Jérôme Brenier <incubusss@mandriva.org> 1.2.1-2mdv2010.1 + Revision: 498747 - rebuild for new protobuf * Sun Jan 10 2010 Jérôme Brenier <incubusss@mandriva.org> 1.2.1-1mdv2010.1 + Revision: 489126 - new version 1.2.1 - rediff Patch0 - add Patch1 from upstream to fix a database upgrade problem * Fri Dec 18 2009 Jérôme Brenier <incubusss@mandriva.org> 1.2.0-3mdv2010.1 + Revision: 479861 - fix SIGHUP syntax in the initscript (bluca) - provide a logrotate file adapted to mandriva (spotted by bluca) - add pidfile directory (thanks to bluca) - drop /etc/default/mumble-server - add an option not to build clients (thanks to bluca) * Mon Dec 14 2009 Jérôme Brenier <incubusss@mandriva.org> 1.2.0-2mdv2010.1 + Revision: 478633 - revert to make -j2 - BR celt-devel >= 0.7.0 - re-enable parallel compilation * Fri Dec 11 2009 Jérôme Brenier <incubusss@mandriva.org> 1.2.0-1mdv2010.1 + Revision: 476275 - final version 1.2.0 * Wed Dec 02 2009 Jérôme Brenier <incubusss@mandriva.org> 1.2.0-0.beta2.1mdv2010.1 + Revision: 472480 - update to 1.2.0~beta2 * Wed Nov 18 2009 Jérôme Brenier <incubusss@mandriva.org> 1.2.0-0.beta1.1mdv2010.1 + Revision: 467286 - BuildRequires : avahi-compat-libdns_sd-devel - new version 1.2.0~beta1 - rediff P0 - new subpackage mumble11x (client compatible with 1.1.x servers) - build with now available speech-dispatcher - build with celt (BR celt-devel) - BR protobuf-devel and protobuf-compiler - liblink.so now in %%{_libdir}/mumble - fix icon + Michael Scherer <misc@mandriva.org> - mark /etc/mumble-server.ini as a config file * Thu May 28 2009 Jérôme Brenier <incubusss@mandriva.org> 1.1.8-1mdv2010.0 + Revision: 380670 - add a BR on libogg-devel - add a missing Requires (plugins subpackage) - update to new version 1.1.8 - put plugins into a plugins sub-package instead of a lib one - add Provides/Obsoletes on former sub-packages - str fmt patch rediffed - fixsegfault patch dropped (merged in new sources) - fix license * Fri Mar 13 2009 Stéphane Téletchéa <steletch@mandriva.org> 1.1.7-2mdv2009.1 + Revision: 354526 - Add segfault fix, fixes bug #48490 * Thu Feb 26 2009 Tomasz Pawel Gajc <tpg@mandriva.org> 1.1.7-1mdv2009.1 + Revision: 345270 - spec clean - update to new version 1.1.7 - use complete new spec file from incubusss, with some modifications made by me (mdvbz #40902) - add sources - add source and spec file - Created package structure for mumble. + Pixel <pixel@mandriva.com> - rpm filetriggers deprecates update_menus/update_scrollkeeper/update_mime_database/update_icon_cache/update_desktop_database/post_install_gconf_schemas + Michael Scherer <misc@mandriva.org> - add missing BuildRequires