[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#682010: [mumble] Communication failures due to CELT codec library removal



On Monday, July 23, 2012 13:26:57, Don Armstrong wrote:
> On Mon, 23 Jul 2012, Chris Knadle wrote:
> > On Monday, July 23, 2012 10:34:28, Ian Jackson wrote:
> > > Of these 2. would seem to be the best option.
> > 
> > I agree.
> 
> [...]
> 
> I believe in order to actually evaluate any of these solutions,
> someone is going to have to prepare binaries, and do an table showing
> the tested (not theoretical) compatibility of with multiple different
> clients (and servers?) to their solution's server and client.
> 
> I propose that whoever wants to see a particular solution actually sit
> down and do the work for their particular solution, with sources,
> binaries, interdiffs, and compatibility table conveniently available in
> some public location.

Attached is a patch for fixing the build for the "348" version of Mumble in 
Wheezy, which includes embedding celt 0.7.1 into the mumble package and 
removing the dependency on the celt library.  There are two versions attached: 
a diff that can be applied directly via 'patch -p1 < <diff>', and an mbox file 
that can be applied to the git repository via 'git am <mbox file>' against tag 
v1.2.3-348-g317f5a0-1.

Quick summary of changes:
  - Remove broken mumble-server-web package
  - Change maintainer from Debian VoIP team to Ron Lee
  - Remove Patrick Matthäi from Uploaders
  - Hardcode use of and add dependency on g++-4.6
  - Remove boost 1.46 dependency resolution
  - Remove libgl dependency resolution
  - Depend on ice34 and drop resolution via older versions
  - Build and embed celt 0.7.1 (and not celt 0.11.0)

One interesting difference when using the embedded version rather than the 
celt library is that Mumble reports using "Celt 0.7.0" in the Server -> 
Information screen, rather than "Celt 0.0.0" that is reported when using the 
external celt library.

  -- Chris

--
Chris Knadle
Chris.Knadle@coredump.us
GPG Key: 4096R/0x1E759A726A9FDD74
diff --git a/debian/MurmurPHP.ini b/debian/MurmurPHP.ini
deleted file mode 100644
index 4937106..0000000
--- a/debian/MurmurPHP.ini
+++ /dev/null
@@ -1 +0,0 @@
-ice.slice=/usr/share/slice/Murmur.ice
diff --git a/debian/changelog b/debian/changelog
index e0fa95f..79bd682 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,17 @@
+mumble (1.2.3-348-g317f5a0-1.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Remove broken mumble-server-web package
+  * Change maintainer from Debian VoIP team to Ron Lee
+  * Remove uploader Patrick Matthäi
+  * Hardcode use of and add dependency on g++-4.6
+  * Remove boost 1.46 dependency resolution
+  * Remove libgl dependency resolution
+  * Depend on ice34 and drop resolution via older versions
+  * Use embedded celt 0.7.1
+
+ -- Christopher Knadle <Chris.Knadle@coredump.us>  Wed, 01 Aug 2012 06:42:30 -0400
+
 mumble (1.2.3-348-g317f5a0-1) unstable; urgency=low
 
   * New upstream snapshot from 20.05.2012.
diff --git a/debian/control b/debian/control
index 435588e..066ad12 100644
--- a/debian/control
+++ b/debian/control
@@ -2,27 +2,25 @@ Source: mumble
 Section: sound
 Priority: optional
 Homepage: http://mumble.sourceforge.net/
-Maintainer: Debian VoIP Team <pkg-voip-maintainers@lists.alioth.debian.org>
-Uploaders: Patrick Matthäi <pmatthaei@debian.org>,
- Thorvald Natvig <thorvald@debian.org>
-Build-Depends: debhelper (>= 7.0.8),
+Maintainer: Ron Lee <ron@debian.org>
+Uploaders: Thorvald Natvig <thorvald@debian.org>
+Build-Depends: debhelper (>= 7.0.8), g++-4.6,
  po-debconf,
- libboost1.46-dev | libboost-dev (>= 1.38.0),
- libboost-python1.46-dev | libboost-python-dev (>= 1.38.0),
+ libboost-dev (>= 1.42),
+ libboost-python-dev (>= 1.42),
  libqt4-dev (>= 4.5.0),
  hardening-wrapper,
- libgl1-mesa-dev | libgl-dev,
+ libgl1-mesa-dev,
  libasound2-dev,
  libpulse-dev,
  libogg-dev,
  libspeex-dev,
  libspeexdsp-dev,
- libcelt-dev (>= 0.7.0),
  libsndfile1-dev,
  libssl-dev,
- libzeroc-ice34-dev | libzeroc-ice33-dev | libzeroc-ice32-dev | libzeroc-ice-dev,
- ice34-translators | ice33-translators | ice32-translators | ice-translators,
- ice34-slice | ice33-slice | ice32-slice | ice-slice,
+ libzeroc-ice34-dev (>= 3.4.2-8.1),
+ ice34-translators (>= 3.4.2-8.1),
+ ice34-slice (>= 3.4.2-8.1),
  libg15daemon-client-dev,
  libspeechd-dev,
  protobuf-compiler,
@@ -38,7 +36,6 @@ Package: mumble
 Architecture: any
 Depends: ${shlibs:Depends},
  ${misc:Depends},
- libcelt0 (>= 0.7.0) | libcelt0-0 (>= 0.7.1~),
  libqt4-sql-sqlite,
  lsb-release
 Recommends: speech-dispatcher
@@ -87,21 +84,3 @@ Description: Low latency VoIP client (debugging symbols)
  .
  This package contains the debugging symbols for the 'mumble' and
  'mumble-server' packages.
-
-Package: mumble-server-web
-Architecture: all
-Depends: ${misc:Depends},
- ${perl:Depends},
- mumble-server (>= ${binary:Version}),
- apache2,
- exim4 | mail-transport-agent,
- libnet-dbus-perl,
- libcgi-session-perl,
- libhtml-template-perl,
- php-zeroc-ice,
- ice34-translators | ice33-translators | ice32-translators | ice-translators,
- ice34-slice | ice33-slice | ice32-slice | ice-slice
-Description: Web scripts for mumble-server
- Murmur (in the package mumble-server) is the VoIP server component for
- Mumble. This package contains web scripts for registering users, uploading
- custom textures and showing a list of currently connected users.
diff --git a/debian/mumble-server-web.README.Debian b/debian/mumble-server-web.README.Debian
deleted file mode 100644
index cd32ac1..0000000
--- a/debian/mumble-server-web.README.Debian
+++ /dev/null
@@ -1,3 +0,0 @@
-If you have got Apache running, you can get a server list on:
-
-	http://localhost/mumble-server/
diff --git a/debian/mumble-server-web.conf b/debian/mumble-server-web.conf
deleted file mode 100644
index bfd92f1..0000000
--- a/debian/mumble-server-web.conf
+++ /dev/null
@@ -1,10 +0,0 @@
-Alias /mumble-server /usr/share/mumble-server-web/www/
-
-<Directory /usr/share/mumble-server-web/www/>
-	Options FollowSymLinks ExecCGI
-	AllowOverride None
-	AddHandler cgi-script .cgi
-	DirectoryIndex index.php
-	Order allow,deny
-	Allow from all
-</Directory>
diff --git a/debian/mumble-server-web.dirs b/debian/mumble-server-web.dirs
deleted file mode 100644
index 5f469d3..0000000
--- a/debian/mumble-server-web.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/mumble-server-web/www
diff --git a/debian/mumble-server-web.install b/debian/mumble-server-web.install
deleted file mode 100644
index 89326e4..0000000
--- a/debian/mumble-server-web.install
+++ /dev/null
@@ -1,3 +0,0 @@
-debian/MurmurPHP.ini etc/php5/conf.d
-debian/mumble-server-web.conf etc/apache2/conf.d
-scripts/weblist.php usr/share/mumble-server-web/www
diff --git a/debian/mumble-server-web.links b/debian/mumble-server-web.links
deleted file mode 100644
index 1f73fb0..0000000
--- a/debian/mumble-server-web.links
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/mumble-server-web/www/weblist.php usr/share/mumble-server-web/www/index.php
diff --git a/debian/mumble-server-web.postinst b/debian/mumble-server-web.postinst
deleted file mode 100644
index 69f5ae6..0000000
--- a/debian/mumble-server-web.postinst
+++ /dev/null
@@ -1,35 +0,0 @@
-#! /bin/sh
-# postinst script for mumble-server-web
-
-set -e
-
-# summary of how this script can be called:
-#        * <postinst> `configure' <most-recently-configured-version>
-#        * <old-postinst> `abort-upgrade' <new version>
-#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
-#          <new-version>
-#        * <postinst> `abort-remove'
-#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
-#          <failed-install-package> <version> `removing'
-#          <conflicting-package> <version>
-# for details, see http://www.debian.org/doc/debian-policy/ or
-# the debian-policy package
-
-case "$1" in
-	configure)
-		# Restart apache2 to load new config
-		invoke-rc.d --quiet apache2 reload
-	;;
-
-	abort-upgrade|abort-remove|abort-deconfigure)
-	;;
-
-	*)
-		echo "postinst called with unknown argument \`$1'" >&2
-		exit 1
-	;;
-esac
-
-#DEBHELPER#
-
-exit 0
diff --git a/debian/mumble.install b/debian/mumble.install
index 4a03dfd..fdb81ed 100644
--- a/debian/mumble.install
+++ b/debian/mumble.install
@@ -1,6 +1,6 @@
 release/mumble usr/bin/
 release/libmumble.so* usr/lib/mumble/
-#release/libcelt0.so.?.?.? usr/lib/mumble/
+release/libcelt0.so.?.?.? usr/lib/mumble/
 release/plugins/lib*.so usr/lib/mumble/
 icons/mumble.xpm usr/share/pixmaps/
 icons/mumble.svg usr/share/icons/hicolor/scalable/apps/
diff --git a/debian/patches/07-use-embedded-celt-baseline b/debian/patches/07-use-embedded-celt-baseline
new file mode 100644
index 0000000..b6572ed
--- /dev/null
+++ b/debian/patches/07-use-embedded-celt-baseline
@@ -0,0 +1,13 @@
+# build and bundle in only celt 0.7.1 if celt is embedded
+--- a/main.pro
++++ b/main.pro
+@@ -12,7 +12,8 @@
+     SUBDIRS *= speexbuild
+   }
+   !CONFIG(no-bundled-celt) {
+-    SUBDIRS *= celt-0.7.0-build celt-0.11.0-build
++    SUBDIRS *= celt-0.7.0-build
++    SUBDIRS -= celt-0.11.0-build
+   }
+ 
+   CONFIG(opus) {
diff --git a/debian/patches/series b/debian/patches/series
index a227fcf..6d09809 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 02-reject-with-ip-in-log.diff
 05-lsb-description.diff
+07-use-embedded-celt-baseline
diff --git a/debian/rules b/debian/rules
index 1731bd9..38e12a2 100755
--- a/debian/rules
+++ b/debian/rules
@@ -18,10 +18,11 @@ export DH_OPTIONS
 configure: configure-stamp
 configure-stamp:
 	dh_testdir
-	qmake-qt4 -recursive main.pro \
+	qmake-qt4 QMAKE_CXX=g++-4.6 QMAKE_CC=gcc-4.6 -recursive main.pro \
 	CONFIG*=release \
 	CONFIG*=symbols \
 	CONFIG*=no-embed-qt-translations \
+	CONFIG*=bundled-celt \
 	CONFIG*=packaged \
 	CONFIG*=quiet-build-log \
 	DEFINES*=NO_UPDATE_CHECK \
@@ -31,7 +32,7 @@ configure-stamp:
 	DEFINES*=HAVE_ENDIAN_H
 	touch configure-stamp
 
-build: build-arch build-indep
+build: build-arch
 
 build-arch: build-arch-stamp
 
@@ -40,14 +41,13 @@ build-arch-stamp: configure-stamp
 	slice2html -I/usr/share/Ice-3.4.1/slice -I/usr/share/Ice-3.3.1/slice -I/usr/share/Ice/slice src/murmur/Murmur.ice --output-dir Ice
 	touch $@
 
-build-indep: build-indep-stamp
+build-indep:
 
-build-indep-stamp:
 
 clean:
 	dh_testdir
 	dh_testroot
-	rm -f build-arch-stamp build-indep-stamp configure-stamp
+	rm -f build-arch-stamp configure-stamp
 	[ ! -f Makefile ] || $(MAKE) distclean
 	[ ! -d gendoc ] || rm -rf Ice
 	rm -rf release debug
@@ -56,15 +56,7 @@ clean:
 	debconf-updatepo
 	dh_clean
 
-install: install-indep install-arch
-
-install-indep:
-	dh_testdir
-	dh_testroot
-	dh_prep
-	dh_installdirs -i
-	dh_install -i
-	install -m 0755 -D ./scripts/weblist.pl $(CURDIR)/debian/mumble-server-web/usr/share/mumble-server-web/www/weblist.cgi
+install: install-arch
 
 install-arch:
 	dh_testdir
@@ -95,22 +87,22 @@ binary-common:
 	dh_strip --dbg-package=mumble-dbg
 	dh_compress
 	dh_fixperms
-	dh_perl $(CURDIR)/debian/mumble-server-web/usr/lib/cgi-bin/mumble-server
 	dh_installdeb
 	dh_shlibdeps
 	dh_gencontrol
 	dh_md5sums
 	dh_builddeb
 
-binary-indep: build-indep install-indep
-	$(MAKE) -f debian/rules DH_OPTIONS=-i binary-common
+binary-indep:
 
 binary-arch: build-arch install-arch
 	$(MAKE) -f debian/rules DH_OPTIONS=-s binary-common
 
-binary:	binary-indep binary-arch
+binary:	binary-arch
 
 get-orig-source:
 	wget -O $(SOURCE_DIR)/mumble_$(VERSION).orig.tar.gz http://mumble.info/snapshot/mumble-$(VERSION).tar.gz
 
-.PHONY: build clean binary-indep binary-arch binary install install-indep install-arch configure
+.PHONY: clean configure build build-arch build-indep \
+        binary binary-arch binary-indep binary-common \
+        install install-arch

Attachment: mumble-348-fixes-embedded.mbox
Description: application/mbox

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: