mirror of
https://git.launchpad.net/~ubuntu-release/britney/+git/britney2-ubuntu
synced 2025-04-08 09:41:43 +00:00
Remove --control-files; It is not used any where
Signed-off-by: Niels Thykier <niels@thykier.net>
This commit is contained in:
parent
603aa9fdca
commit
2fea931da3
15
britney.py
15
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)
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user