From 2fea931da3e3104bb1d5d00fd12592e86d41cd86 Mon Sep 17 00:00:00 2001 From: Niels Thykier Date: Mon, 7 Jan 2019 20:25:48 +0000 Subject: [PATCH] Remove --control-files; It is not used any where Signed-off-by: Niels Thykier --- britney.py | 15 +------- britney2/utils.py | 87 ----------------------------------------------- 2 files changed, 1 insertion(+), 101 deletions(-) diff --git a/britney.py b/britney.py index 1d8ede2..a676863 100755 --- a/britney.py +++ b/britney.py @@ -207,7 +207,7 @@ from britney2.policies.autopkgtest import AutopkgtestPolicy from britney2.utils import (log_and_format_old_libraries, get_dependency_solvers, read_nuninst, write_nuninst, write_heidi, format_and_log_uninst, newly_uninst, - write_excuses, write_heidi_delta, write_controlfiles, + write_excuses, write_heidi_delta, old_libraries, is_nuninst_asgood_generous, clone_nuninst, invalidate_excuses, compile_nuninst, @@ -396,8 +396,6 @@ class Britney(object): help="provide a command line interface to test hints") parser.add_option("", "--dry-run", action="store_true", dest="dry_run", default=False, help="disable all outputs to the testing directory") - parser.add_option("", "--control-files", action="store_true", dest="control_files", default=False, - help="enable control files generation") parser.add_option("", "--nuninst-cache", action="store_true", dest="nuninst_cache", default=False, help="do not build the non-installability status, use the cache from file") parser.add_option("", "--print-uninst", action="store_true", dest="print_uninst", default=False, @@ -470,12 +468,6 @@ class Britney(object): self.options.break_arches = suite_loader.break_arches self.options.new_arches = suite_loader.new_arches - if self.options.control_files and self.options.components: # pragma: no cover - # We cannot regenerate the control files correctly when reading from an - # actual mirror (we don't which package goes in what component etc.). - self.logger.error("Cannot use --control-files with mirror-layout (components)!") - sys.exit(1) - if not hasattr(self.options, "heidi_delta_output"): self.options.heidi_delta_output = self.options.heidi_output + "Delta" @@ -1817,11 +1809,6 @@ class Britney(object): # output files if not self.options.dry_run: target_suite = self.suite_info.target_suite - # re-write control files - if self.options.control_files: - self.logger.info("Writing new control files for the target suite to %s", - target_suite.path) - write_controlfiles(target_suite) self._policy_engine.save_state(self) diff --git a/britney2/utils.py b/britney2/utils.py index c887f2e..fe154bd 100644 --- a/britney2/utils.py +++ b/britney2/utils.py @@ -312,93 +312,6 @@ def write_excuses(excuselist, dest_file, output_format="yaml"): raise ValueError('Output format must be either "yaml or "legacy-html"') -def write_sources(sources_s, filename): - """Write a sources file from Britney's state for a given suite - - Britney discards fields she does not care about, so the resulting - file omits a lot of regular fields. - """ - - key_pairs = ((VERSION, 'Version'), (SECTION, 'Section'), - (MAINTAINER, 'Maintainer')) - - with open(filename, 'w', encoding='utf-8') as f: - for src in sources_s: - src_data = sources_s[src] - output = "Package: %s\n" % src - output += "\n".join(k + ": "+ src_data[key] - for key, k in key_pairs if src_data[key]) - f.write(output + "\n\n") - - -def relation_atom_to_string(atom): - """Take a parsed dependency and turn it into a string - """ - pkg, version, rel_op = atom - if rel_op != '': - if rel_op in ('<', '>'): - # APT translate "<<" and ">>" into "<" and ">". We have - # deparse those into the original form. - rel_op += rel_op - return "%s (%s %s)" % (pkg, rel_op, version) - return pkg - - -def write_controlfiles(target_suite): - """Write the control files - - This method writes the control files for the binary packages of all - the architectures and for the source packages. Note that Britney - discards a lot of fields that she does not care about. Therefore, - these files may omit a lot of regular fields. - """ - - basedir = target_suite.path - sources_s = target_suite.sources - packages_s = target_suite.binaries - - key_pairs = ((SECTION, 'Section'), (ARCHITECTURE, 'Architecture'), - (MULTIARCH, 'Multi-Arch'), (SOURCE, 'Source'), - (VERSION, 'Version'), (DEPENDS, 'Depends'), - (PROVIDES, 'Provides'), (CONFLICTS, 'Conflicts'), - (ESSENTIAL, 'Essential')) - - for arch in packages_s: - filename = os.path.join(basedir, 'Packages_%s' % arch) - binaries = packages_s[arch] - with open(filename, 'w', encoding='utf-8') as f: - for pkg in binaries: - output = "Package: %s\n" % pkg - bin_data = binaries[pkg] - for key, k in key_pairs: - if not bin_data[key]: - continue - if key == SOURCE: - src = bin_data.source - if sources_s[src].maintainer: - output += ("Maintainer: " + sources_s[src].maintainer + "\n") - - if src == pkg: - if bin_data.source_version != bin_data.version: - source = src + " (" + bin_data.source_version + ")" - else: continue - else: - if bin_data.source_version != bin_data.version: - source = src + " (" + bin_data.source_version + ")" - else: - source = src - output += (k + ": " + source + "\n") - elif key == PROVIDES: - output += (k + ": " + ", ".join(relation_atom_to_string(p) for p in bin_data[key]) + "\n") - elif key == ESSENTIAL: - output += (k + ": " + " yes\n") - else: - output += (k + ": " + bin_data[key] + "\n") - f.write(output + "\n") - - write_sources(sources_s, os.path.join(basedir, 'Sources')) - - def old_libraries(mi_factory, suite_info, outofsync_arches=frozenset()): """Detect old libraries left in the target suite for smooth transitions