debian-linux/debian/lib/python/debian_linux
Ben Hutchings 9f69c87684 Move package revision and ABI name policy to configuration
Currently the Debian-specific policy for the package's revision and
ABI name are in Python code.  Any downstream distributions that
deviate from Debian policy or use different suite names may need to
patch the code.

Replace this policy with per-release configuration:

- debian_linux.config_v2: Add ConfigDebianrelease dataclass with
  name_regex, abi_version_full, abi_suffix, and revision_regex
  properties.

  Add a debianrelease property (list of ConfigDebianrelease) in
  Config, and a corresponding debianreleases property in ConfigMerged.

- debian_linux.debian: Delete extra revision attributes from
  LinuxVersion.

- debian_linux.test_debian: Stop testing extra revision attributes
  on LinuxVersion.

- d/b/stable-update: Check for '~exp' in Debian revision instead of
  using linux_revision_experimental attribute.

- d/b/gencontrol.py: Find the matching release and use its properties
  to generate the ABI name and validate the revision.

- d/c/defines.toml: Define UNRELEASED, experimental, unstable,
  trixie/trixie-security, and bookworm-backports releases, and
  default rules for any other suite.

  Specify the same behaviour as before for ABI name.

  Specify slightly stricter revision validation, since we know what
  the target Debian release number should be if included.
2025-05-25 21:29:20 +02:00
..
__init__.py Revert "debian/bin, debian/lib: Infrastructure was declared irrelevant, drop it." 2008-05-01 07:54:28 +00:00
abi.py Fix pycodestyle error 2020-04-01 10:40:47 -07:00
config.py Substitute all templates before parsing 2022-12-13 21:33:45 +01:00
config_v2.py Move package revision and ABI name policy to configuration 2025-05-25 21:29:20 +02:00
dataclasses_deb822.py Use Python 3.12 syntax for variable types 2025-02-04 13:58:55 +01:00
dataclasses_extra.py Use Python 3.12 syntax for variable types 2025-02-04 13:58:55 +01:00
debian.py Move package revision and ABI name policy to configuration 2025-05-25 21:29:20 +02:00
firmware.py d/l/p/debian_linux/firmware.py: Handle quoted filenames 2024-07-06 01:33:36 +02:00
gencontrol.py Merge build profiles into build-depends 2025-04-01 20:20:19 +02:00
kconfig.py Handle quite some broken type definitions 2023-11-18 23:08:13 +01:00
test_debian.py Move package revision and ABI name policy to configuration 2025-05-25 21:29:20 +02:00
utils.py Report undefined variable errors in templates 2024-08-22 19:56:00 +02:00