Skip to content

Commit

Permalink
Documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
stargateaudio committed Dec 12, 2021
1 parent 636513f commit 3a62fa8
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions docs/building_universal_deb_and_rpm_packages.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Building Universal .deb and .rpm Packages
This document describes how to build packages that will be usable on a wide
variety of .rpm and .deb based Linux distros.

# How it is Done Currently
The SPEC and control files are already adequately flexible to work across the
major derivatives of Fedora, Debian and OpenSUSE. The key to building a
single package that will work across all variants is to compile on a
sufficiently old distro with an older GCC and glibc.

Newer GCC tends to be loaded with bugs (and frankly, performance has not
increased in a meaningful way in years), and binaries compiled against glibc
are forward-compatible with newer glibc but not backwards compatible with older
glibc. So building on an older distro is pure win, unless you are just a
software enthusiast who does not care about stability or portability and just
wants the rush of compiling against the bleeding edge.

At the moment, Debian 10 is an excellent choice, and should be for years,
perhaps until 2024 or so, at which point we may start building against
Debian 11. Note that Debian can also build RPMs by installing the `rpm`
package.

0 comments on commit 3a62fa8

Please sign in to comment.