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

Reply via email to