Part of lp.archivepublisher.model.ftparchive View In Hierarchy
Generates file lists and configuration for apt-ftparchive, and kicks off generation of the Sources and Releases files.
Method | __init__ | Undocumented |
Method | run | Do the entire generation and run process. |
Method | runAptWithArgs | Run apt-ftparchive in subprocesses. |
Method | runApt | Undocumented |
Method | createEmptyPocketRequests | Write out empty file lists etc for pockets. |
Method | createEmptyPocketRequest | Creates empty files for a release pocket and distroseries |
Method | getSourcesForOverrides | Fetch override information about all published sources. |
Method | getBinariesForOverrides | Fetch override information about all published binaries. |
Method | generateOverrides | Collect packages that need overrides, and generate them. |
Method | publishOverrides | Output a set of override files for use in apt-ftparchive. |
Method | generateOverrideForComponent | Generates overrides for a specific component. |
Method | getSourceFiles | Fetch publishing information about all published source files. |
Method | getBinaryFiles | Fetch publishing information about all published binary files. |
Method | generateFileLists | Collect currently published FilePublishings and write filelists. |
Method | publishFileLists | Collate the set of source files and binary files provided and |
Method | writeFileList | Output file lists for a series and architecture. |
Method | generateConfig | Generate an APT FTPArchive configuration from the provided |
Method | generateConfigForPocket | Generates the config stanza for an individual pocket. |
Method | writeAptConfig | Undocumented |
Method | cleanCaches | Clean apt-ftparchive caches. |
Raises | AptFTPArchiveFailure if any of the apt-ftparchive commands failed. |
We do this to have Packages or Sources for them even if we lack anything in them currently.
The override information consists of tuples with 'sourcename', 'component' and 'section' strings, in this order.
Parameters | distroseries | target IDistroSeries |
target PackagePublishingPocket | ||
Returns | a ResultSet with the source override information tuples |
The override information consists of tuples with 'binaryname', 'component', 'section', 'architecture' and 'priority' strings, 'binpackageformat' enum, 'phased_update_percentage' integer, in this order.
Parameters | distroseries | target IDistroSeries |
target PackagePublishingPocket | ||
Returns | a ResultSet with the binary override information tuples |
Given the provided sourceoverrides and binaryoverrides, do the override file generation. The files will be written to overrideroot with filenames of the form:
override.<distroseries>.<component>[.src]
The binary priority will be mapped via the values in dbschema.py.
The publishing information consists of tuples with 'sourcename', 'filename' and 'component' strings, in this order.
Parameters | distroseries | target IDistroSeries |
target PackagePublishingPocket | ||
Returns | a ResultSet with the source files information tuples. |
The publishing information consists of tuples with 'sourcename', 'filename', 'component' and 'architecture' strings, in this order.
Parameters | distroseries | target IDistroSeries |
target PackagePublishingPocket | ||
Returns | a ResultSet with the binary files information tuples. |
listroot/distroseries_component_source listroot/distroseries_component_binary-archname
This includes the subcomponent file lists.
If fullpublish is true, we generate config for everything.
Otherwise, we aim to limit our config to certain distroseries and pockets. By default, we will exclude release pockets for released series, and in addition we exclude any pocket not explicitly marked as dirty. dirty_pockets must be a nested dictionary of booleans, keyed by distroseries.name then pocket.