From d9891a7dd064fd0c690da8c2a6567fbf93accb82 Mon Sep 17 00:00:00 2001 From: Dimitri John Ledkov Date: Thu, 18 Feb 2021 13:42:34 +0000 Subject: [PATCH] suiteloader: add configuration option whether to load udebs. udebs do not have symbol versioned shlibdeps, thus it means that when there is glibc in proposed, any packages built in proposed get a udeb depends on the strictly higher version of glibc in proposed. This leads to entaglement of the $world with glibc transition. Similar story with glib, openssl, etc. By setting the new configuration option to HAS_UDEBS = no, one can make suiteloader not look at udebs, and thus use britney even when installability of udebs is not required. --- britney.conf | 3 +++ britney2/inputs/suiteloader.py | 25 +++++++++++++------------ 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/britney.conf b/britney.conf index 74ecd4b..62403bd 100644 --- a/britney.conf +++ b/britney.conf @@ -44,6 +44,9 @@ BREAK_ARCHES = # if you're in this list, you are a new architecture NEW_ARCHES = +# should udebs be looked at? +HAS_UDEBS = yes + # priorities and delays MINDAYS_LOW = 0 MINDAYS_MEDIUM = 0 diff --git a/britney2/inputs/suiteloader.py b/britney2/inputs/suiteloader.py index 964f239..0208ecc 100644 --- a/britney2/inputs/suiteloader.py +++ b/britney2/inputs/suiteloader.py @@ -489,22 +489,23 @@ class DebMirrorLikeSuiteContentLoader(SuiteContentLoader): binary_dir, 'Packages') filename = possibly_compressed(filename) - udeb_filename = os.path.join(basedir, - component, - "debian-installer", - binary_dir, - "Packages") - # We assume the udeb Packages file is present if the - # regular one is present - udeb_filename = possibly_compressed(udeb_filename) self._read_packages_file(filename, arch, suite.sources, packages) - self._read_packages_file(udeb_filename, - arch, - suite.sources, - packages) + if getattr(self._base_config, 'has_udebs', 'yes') == 'yes': + udeb_filename = os.path.join(basedir, + component, + "debian-installer", + binary_dir, + "Packages") + # We assume the udeb Packages file is present if the + # regular one is present + udeb_filename = possibly_compressed(udeb_filename) + self._read_packages_file(udeb_filename, + arch, + suite.sources, + packages) # create provides provides = create_provides_map(packages) binaries[arch] = packages