mkvtoolnix/packaging/debian
Moritz Bunkus 9979f76803
Debian packaging: create rules & control with distro/release-specific values
For Ubuntu 22.04 and later the GUI will be built with Qt 6 instead of
Qt 5 due to severe issues with 22.04, Qt 5 and high DPI displays. See
issue #3358 for more information.

Unfortunately Debian's package tooling isn't powerful enough to
express complex dependencies, and it cannot express things based on
the distribution & version the package is built for. The packaging for
Qt 6 requires different libraries than the packaging for Qt 5,
obviously.

The only thing one could do in a single `control` file is using ORed
dependencies such as `libqt6svg6 | libqt5svg5`, but that can lead to
situations where the user has `libqt5svg5` installed, doesn't have
`libqt6svg6` installed, and then MKVToolNix built with Qt 6 will
install just fine but all the icons will be missing as it cannot load
the SVG plugin dynamically.

Therefore the `control` & `rules` files are now built from templates,
and a Ruby script called `packaging/debian/create_files.rb` is used to
create the files from their templates. The user can specify the
distribution & version to create for with command line arguments. If
not specified, the script will attempt to guess the distribution &
version it's running on.

Only Debian ≥ 10 & Ubuntu ≥ 20.04 are supported, same as before.
2022-05-29 17:07:13 +02:00
..
source
changelog
compat
control.erb Debian packaging: create rules & control with distro/release-specific values 2022-05-29 17:07:13 +02:00
copyright
create_files.rb Debian packaging: create rules & control with distro/release-specific values 2022-05-29 17:07:13 +02:00
docs
mkvtoolnix-gui.install
mkvtoolnix-gui.menu
mkvtoolnix-gui.preinst
mkvtoolnix.examples
mkvtoolnix.install
mkvtoolnix.preinst
rules.erb Debian packaging: create rules & control with distro/release-specific values 2022-05-29 17:07:13 +02:00
watch