tags 1017780 + help
thanks
Greetings.
Adding "help" tag to this bug because I'm currently overwhelmed. It's going to
be one hell of a life story assuming I get through it all.
Valentin:
Package: mumble-server Version: 1.3.4-1 Source: mumble Severity: wishlist
Mumble released a new version in January, and I would very much like to use
this on my server.
I want it too, but unfortunately it's not simple or straightforward.
I've had a number of discussions with upstream and others about Mumble 1.4.x
and right now it's problematic -- Mumble 1.4 does not currently work with
OpenSSL 3.0, and OpenSSL 3.0 is the version that's in Debian Unstable/Sid.
Building Mumble against a static OpenSSL 1.0 would violate Debian Policy section
4.13 which states that libraries in the Debian archive should be used over
convenience copies, so that's not an option:
https://www.debian.org/doc/debian-policy/ch-source.html#embedded-code-copies
Mumble 1.5.x works with OpenSSL 3.0 but is still in development and not ready
for release. It might be possible to find a patch to allow Mumble 1.4 to work
with OpenSSL 3.0, similar to how Mumble 1.3.4 was patched by Steve Langasek and
Judit Foglszinger. [Thanks to them both!]
If someone would like to work on a patch for OpenSSL 3.0 for Mumble 1.4
(please), here are the necessary links and hints that I got from an email
discussion with Robert Adam <rob...@robert-adam.de> from Mumble upstream:
I'd like to think that a similar patch could be made to get Mumble 1.4.x
working with OpenSSL 3.0 and that that would be better than Mumble 1.3.4
patched for OpenSSL 3.0. I'd like to know what you think of that idea.
Yes, such a patch could very certainly also be made against 1.4. See e.g.
https://github.com/mumble-voip/mumble/pull/5354. But be sure to also include
the changes from https://github.com/mumble-voip/mumble/pull/5364. I _think_
that was the only major issue we encountered with the OpenSSL switch. In any
case you should test whether Mumble is stable after the patch.
As to what I think of it: It would absolutely be better to have a patched
1.4 version in the Debian repos than a patched 1.3 version. The latter has
the same risk of encountering regressions because of this patch (maybe even
higher as the original patch was made to a much newer version of the source
code), but of course has the disadvantage of still missing all features and
fixed introduced with 1.4.
Mumble 1.4 also switched to using CMake which requires changing the debian/rules
file to account for that in ways that I don't yet understand. I've tried to
follow some documentation that I had found, but there are few references in the
Debian Developer documentation for building packages with CMake when I search,
and I haven't found a suitable package in Debian that uses CMake to use as an
example either. I was last working with dh-cmake (which I'm not sure if using
the package is necessary or not) and calling:
dh $@ -0buildsystem=cmake
and there's a bunch of debhelper overrides that are necessary; for instance I
was last trying using this based on reading the Mumble CMake hints:
override_dh_auto_configure:
dh_auto_configure -- \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_OVERLAY_XCOMPILE=ON \
-Dbundle-qt-translations=OFF \
-Dbundled_celt=ON \
-Dbundled_opus=OFF \
-Dbundled_speex=OFF \
-Donline-tests=OFF \
-Dsymbols=ON \
-Dtests=OFF \
-Dupdate=OFF \
-Dwarnings-as-errors=OFF
The build-depends in the debian/control file seems to be more sensitive than
expected and adding certain build-depends mentioned as optional for building the
Mumble source for Debian can cause the build to fail. There are changes needed
for CMake for how to separate which built files go into which Debian binary
package after the build, I haven't yet worked that out.
Some more hints on Debian packaging with CMake here:
[These hints are for me as well as anyone else]
https://www.debian.org/doc/manuals/debmake-doc/ch08.en.html#cmake-multi
https://gitlab.kitware.com/debian/dh-cmake
https://unix.stackexchange.com/questions/519986/packaging-cmake-components-for-debian
So if someone can give me some useful hints for Debian packaging with CMake,
such as an example Debian package that uses it with multiple Debian binary
package outputs, and/or a patch for Mumble 1.4.287 for building with OpenSSL 3.0
that would be greatly appreciated.
Thanks
-- Chris
--
Chris Knadle
chris.kna...@coredump.us