Commit Graph

6 Commits

Author SHA1 Message Date
Moritz Bunkus
f043f622d1
packaging: fix guessing distro by parsing /etc/lsb-release 2023-04-30 18:32:19 +02:00
Moritz Bunkus
b8beb2e72a
packaging: map LinuxMint Vera (21.1) & Victoria (21.2) to Vanessa (21) 2023-04-30 18:32:00 +02:00
Moritz Bunkus
8d4bb8fcf8
deb packaging: make generated rules file executable 2023-04-07 00:51:06 +02:00
Moritz Bunkus
f801d105cc
deb packaging: create_files.rb: detect LinuxMint 21 from sources.list 2023-04-06 23:57:41 +02:00
Moritz Bunkus
f00fcc9090
deb packaging: create_files.rb: detect Ubuntu 22.10 from sources.list 2023-04-06 23:56:48 +02:00
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