Commit Graph

698 Commits

Author SHA1 Message Date
Robert Adam
497f6005c0 DOCS(vcpkg): Refer to our own vcpkg fork
This also removes the deprecated helper scripts for custom vcpkg setups
2024-10-01 22:36:05 +02:00
Robert Adam
330c356e71 MAINT: Remove copyright year from all copyright notices
Keeping these up-to-date is just super tedious and they don't really
fulfill any purpose these days.
2024-09-30 18:06:20 +02:00
Andreas Stieger
2c60e3f97c FIX(ui): Replace Emoji One icons with MIT licensed flag-icons
Drops icons/flags.
Deletes mention from license dialog, and helper script.
Adds submodule to 3rdparty/flag-icons.
Adjusts CMakefile to pick up new path.
Adds license (MIT) to license dialog.

Fixes #6411
2024-05-09 10:30:20 +02:00
Hartmnt
bf4c5ab9d4
Merge PR #6399 MAINT: Fix generate changelog script 2024-05-08 09:27:42 +00:00
Hartmnt
198da99685 MAINT: Fix generate changelog script
The script had the following issues:

    * Typo in the match regex string
    * Wrong enumeration of match groups
    * No support for commits without merge commit

I also added a hotfix for backport commits which
did not conform to the pattern (sorry)
2024-04-16 18:51:05 +00:00
Hartmnt
8e3e885b8a MAINT: Drop user and group info from tarball
Previously, tarballs created from our script would
contain user/group info from the host system.
This could be verified by running:
``tar -tvf <file>``

This commit adds an explicit tarinfo filter
to drop username and groupname automatically.
2024-04-16 17:51:17 +00:00
Robert Adam
6925837e03 MAINT: Fix cmake option generation 2024-01-01 15:15:45 +01:00
Robert Adam
b8f14020ad MAINT: Fix invalid escape sequences in generateIceWrapper.py 2023-12-25 17:09:38 +01:00
Tuomo Kriikkula
688bf34b17 BUILD(vcpkg): Add missing comma in get_mumble_dependencies
Fixes broken vcpkg dependency installation due to missing comma in the install scripts.
2023-09-28 18:52:37 +03:00
Robert Adam
ff1e736c47 DOCS/MAINT: Update vcpkg dependency list
The different dependency lists have become out-of-sync and/or
out-of-date.

This should remedy problems as encountered in #6163.
2023-07-10 13:14:59 +02:00
Bernhard M. Wiedemann
5c2e2ddcd0 MAINT: Sort input file list
so that mumble_flags.qrc builds in a reproducible way
in spite of non-deterministic filesystem readdir order

See https://reproducible-builds.org/ for why this is good.
2023-06-09 08:15:29 +02:00
Robert Adam
7ce98bc289
Merge PR #6016: MAINT: Added script for creating source archives
The advantage of this script is that contrary to git archive it is capable of including submodules into the archive.
All files tracked via git are included in the archive (at the given revision) except for hidden files (files and folders starting with a dot)
2023-01-09 08:15:32 +01:00
Robert Adam
626cf93ab4 MAINT: Added script for creating source archives
The advantage of this script is that contrary to git archive it is
capable of including submodules into the archive.
All files tracked via git are included in the archive (at the given
revision) except for hidden files (files and folders starting with a
dot)
2023-01-08 19:27:24 +01:00
Robert Adam
249d2c6298 MAINT: Update copyright headers to 2023 2023-01-08 15:54:35 +01:00
Robert Adam
3d4d754e10 MAINT: Rewrite changelog script
The new script is more powerful and in particular can compare across
different branches.

Furthermore, it no longer only considers merge commits. Instead, all
commits are screened individually, which should make the script be much
more suitable for situations in which a PR introduces multiple changes
that are not well described by a single commit message (the merge
commit's one).
2023-01-03 13:02:53 +01:00
Robert Adam
d11fd05062 CHANGE(client): Remove bundled Opus version
Since newer versions of libsndfile now link to the system-wide installed
Opus version (on Linux distros), there would be a conflict between
symbols defined in the system-wide installation and the self-built
(bundled) Opus library.
This, as it turned out, can lead for instance to failing assertions due
to pointer identities no longer holding because e.g. a function from the
self-built Opus version ends up calling a sub-function from the
system-wide Opus installation instead. This is also the root cause for
the infamous "Opus crash" or "Audio wizard crash".

In order to avoid these issues, we don't ship a bundled Opus version
anymore and instead make it a build prerequisite to have Opus installed
on your system.

Fixes #5302
2022-12-28 13:04:25 +01:00
Robert Adam
b81b06001d MAINT: Rename Murmur.ice to MumbleServer.ice 2022-09-10 17:28:34 +02:00
Robert Adam
8b54b6fd0c BUILD: Add delayed_configure_files.cmake 2022-09-10 17:28:34 +02:00
Robert Adam
406ce93b47 MAINT: Use separate directory for auxiliary files 2022-09-10 17:28:34 +02:00
Robert Adam
1670056362 MAINT: Delete example RPC scripts
Scripts like these should be maintained in
https://github.com/mumble-voip/mumble-scripts and not in the main repo.
Since these scripts have not been touched in ages, it is assumed that
they are mostly outdated anyway.
2022-09-10 17:28:34 +02:00
Robert Adam
f2399b05b9 MAINT: Delete murmur.init
This appears to be the attempt at a hand-crafted system to start, stop
and monitor a Mumble server. However, on modern systems this is taken
care of by systems like systemd, so we probably don't need this script
anymore.
2022-09-10 17:28:34 +02:00
Robert Adam
5d41669834 MAINT: Delete mumble.protocol
After researching on this, I can't find what this file is actually good
for. The apparent use of registering Mumble as a protocol handler for
mumble:// URLs seems to be superseded by our .desktop file, which seems
to be the more modern approach to this.
2022-09-10 17:28:34 +02:00
Robert Adam
66c7ff6b4d MAINT: Replace mklic.pl with Python script 2022-09-10 17:28:32 +02:00
Robert Adam
fad11bc963 MAINT: Make sign_macOS.py executable 2022-09-10 17:10:14 +02:00
Robert Adam
17502ba03c MAINT: Delete rcc-depend.py 2022-09-10 17:10:14 +02:00
Robert Adam
a9b52a6ff4 MAINT: Delete release.pl 2022-09-10 17:10:14 +02:00
Robert Adam
48c8a7a375 MAINT: Delete transtate.py 2022-09-10 17:10:14 +02:00
Robert Adam
4d175635d4 MAINT: Delete mkini scripts 2022-09-10 17:10:14 +02:00
Robert Adam
4a18246158 MAINT: Update mkflags.py 2022-09-10 17:10:14 +02:00
Robert Adam
51b0a26799 MAINT: Deleted git2cl.pl 2022-09-10 17:10:14 +02:00
Robert Adam
6b65b11178 MAINT: Delete generate-qrc.py
This script seems to not be used in recent time.
2022-09-10 17:10:14 +02:00
Robert Adam
42e6377c25 MAINT: Update generate-mumble_qt-qrc.py
Adapted script to work with Python3 and to use proper argument parsing
2022-09-10 17:10:14 +02:00
Robert Adam
c2ff587173 MAINT: Update generate-ffdhe.py
Updates the script to use proper argument parsing and to using Python3
2022-09-10 17:10:14 +02:00
Robert Adam
90a21f4fba MAINT: Use arg parsing in ApplicationPalette generation script 2022-09-10 17:10:14 +02:00
Robert Adam
04e3d4c635 MAINT: Update extract-emojione-flags.py
The script now uses proper Python3
2022-09-10 17:10:14 +02:00
Robert Adam
81bb8f709d MAINT: Delete docker-compose.yml
All Docker-related things are now contained in
https://github.com/mumble-voip/mumble-docker
2022-09-10 17:10:14 +02:00
Robert Adam
374d9afe6d MAINT: Create Python script for .ico creation
Previously we were using a cpp application for generating the mumble.ico
file. However, this should really be a script's job, which is why we
replaced the cpp code with a corresponding Python implementation.
2022-09-10 17:10:14 +02:00
Jonah Brüchert
a1aa0ff895
BUILD(appstream): Include release date
Flathub requires this now.

This is done in the same way as the build number.
2022-08-26 13:18:46 +02:00
Robert Adam
459087e13f MAINT: Extend changelog script
Sometimes backport commits still have a "Merged PR xxx" part in them,
which we have to strip before processing the message. This is exactly
what this commit adds to the existing changelog script.
2022-08-21 20:37:43 +02:00
DarkOK
5618dd1cc7
DOCS: Fix typo in murmur.ini
Default, not deault
2022-08-17 14:28:41 +01:00
Robert Adam
08ee2ab856 MAINT: Fix mumble-build-number.py script
Previously the script would assemble the query URL by taking the
individual parameters literally. However, for certain inputs this could
lead to an invalid URL, resulting in an error 400 (Bad Request) when
attempting to make this query to the server.

In order to avoid these situations, the parameters are now properly
encoded (quoted) before being inserted into the query URL. Thus, we
ensure to always produce valid URLs.
2022-08-14 23:03:21 +02:00
Robert Adam
20155f2269 DOCS: Document missing option in murmur.ini
The example murmur.ini file was missing a few options which were added
by this commit.

Fixes #5732
2022-07-22 08:13:37 +02:00
Matthias Mailänder
4bf72492c8 MAINT: Avoid Windows screenshots in FreeDesktop AppData 2022-05-20 10:45:54 +02:00
Davide Beatrici
32c8de9d83 MAINT(vcpkg): Install protobuf
It probably used to be a dependency of at least another package we install.
2022-05-11 00:40:58 +02:00
Davide Beatrici
f999081ab8 MAINT(vcpkg): Install Qt's MySQL and PostgreSQL plugins
Otherwise the backends are not available.
2022-04-28 00:36:56 +02:00
Nik Reist
4a533fa64e MAINT(build): Modify helper folder and scripts to use custom zeroc-ice port 2022-04-15 08:29:24 -04:00
Robert Adam
74faaba32e
Merge PR #5594: CHANGE: Use Protobuf for UDP messages
Previously Mumble was using a custom binary format for transmitting data
via UDP (mainly audio). This has worked for a long time but besides
being inconvenient for 3rdParty implementors (they had to manually
re-implement encoding and decoding support for this format) this format
was not very flexible and changes to the data format were very hard.

In order to improve on this situation, this commit introduces changes
that allow to use Protobuf for the UDP messages as well (it's already
used for TCP). With that it should be relatively easy to extend/change
the UDP packet formats in the future and 3rdParty implementors can now
simply use Protobuf to handle decoding/encoding packets for them (much
less work and much less prone to errors).

Since the new Protobuf format is incompatible with the old UDP format,
this commit also includes support for dealing with older clients or
servers that don't recognize the new protocol yet. That way the new
protocol format is only used if both the client and the server are
recent enough to have it implemented (assumed to be the case >=1.5.0).

Note also that the server will make sure that clients using the old and
the new format can seamlessly communicate with one another.

Therefore, on the surface it should not be noticeable to the user which
protocol is currently used.

Note also that the new protocol format only supports Opus as an audio
codec. If one of the legacy codecs is to be used, the legacy packet
format has to be used as well. However, all codecs except for Opus will
be removed from Mumble in the future anyway.

Fixes #4350

NOTE: When this gets merged, all clients and servers claiming to support the protocol version 1.5.0 that do not include these changes, will become incompatible with the ones that do integrate these changes. This is important for everyone closely following our upstream master branch. A simple update to the latest code changes (including the changes from this PR) should be enough to restore full compatibility.
All servers and clients of version < 1.5.0 will be not affected by this as this PR is completely backwards compatible with those clients.
2022-03-27 18:57:54 +02:00
Robert Adam
8500655d12 MAINT: Don't try to format files in build dirs
This speeds up the invocation of runClangFormat.sh dramatically.
2022-03-27 09:49:59 +02:00
Robert Adam
1017dab5c2 CHANGE(server): Enforce Opus by default
Previously the opusthreshold config option had a default value of 100
meaning that the first non-Opus client would cause everyone to fall back
to one of the legacy codecs.

Since Opus has been implemented for ages now and we eventually want to
get rid of the legacy codecs, this commit changes the default value of
this config option to be zero, meaning that the server will always
enforce the use of the Opus codec (regardless of what clients are
connected).
2022-03-27 09:49:59 +02:00
Robert Adam
677de63f98
Merge PR #5428: MAINT: Add script to sign macOS binaries and packages
ght now we are using osxdist.py to generate a DMG package from scratch.
The script also takes care of signing the content.

However, our mumble-releng repository has had a dedicated script called sign-dmg.py since 2013.
In fact, that's what we have always been using to sign the app bundle.

As we're planning to eventually ditch osxdist.py in favor of CPack's generator, we decided to complete sign-dmg.py.
The script now:

    Takes care of signing all binaries in the bundle in addition to it, effectively replacing osxdist.py.
    Supports single binaries, replacing sign-mach-o.py (which only called codesign() from sign-dmg.py).
    Supports PKG packages.
    Provides a --config option to specify the path to the configuration file. Default: $HOME/.sign_macOS.cfg.
    Provides a --entitlements option to specify the path to the plist file containing the requested capabilities.
    This is mandatory for notarization to succeed. More specifically, the --options runtime codesign parameter is.
    The parameter is not passed if this option is not used because it would cause Mumble to crash upon audio input use.

The name is changed to sign_macOS.py as the script does not only handle DMG packages anymore.
2022-03-26 15:00:16 +01:00