Part of lp.soyuz.scripts.ftpmaster View In Hierarchy
Use initialize() method to validate passed parameters and build the infrastructure variables. It will raise ArchiveCruftCheckerError if something goes wrong.
Method | __init__ | Store passed arguments. |
Method | architectures | Undocumented |
Method | components | Undocumented |
Method | components_and_di | Undocumented |
Method | dist_archive | Undocumented |
Method | gunzipTagFileContent | Gunzip the contents of passed filename. |
Method | processSources | Process archive sources index. |
Method | buildNBS | Build the group of 'not build from source' binaries |
Method | buildArchNBS | Build NBS per architecture. |
Method | buildASBA | Build the group of 'all superseded by any' binaries. |
Method | buildArchASBA | Build ASBA per architecture. |
Method | addNBS | Add a new entry in given organized nbs_d list |
Method | refineNBS | Distinguish dubious from real NBS. |
Method | outputNBS | Properly display built NBS entries. |
Method | initialize | Initialise and build required lists of obsolete entries in archive. |
Method | doRemovals | Perform the removal of the obsolete packages found. |
Also Initialize empty variables for storing preliminar results.
Gunzip the contents of passed filename.
Check filename presence, if not present in the filesystem, raises ArchiveCruftCheckerError. Use an tempfile.mkstemp() to store the uncompressed content. Invoke system available gunzip`, raises ArchiveCruftCheckError if it fails.
This method doesn't close the file descriptor used and does not remove the temporary file from the filesystem, those actions are required in the callsite. (apt_pkg.ParseTagFile is lazy)
Build source_binaries, source_versions and bin_pkgs lists.
Store results in self.nbs, also build architecture specific binaries group (stored in self.arch_any)
Store the result in self.asba, require self.arch_any to be built previously.
Ensure the package is still published in the suite before add.
They are 'dubious' if the version numbers match and 'real' if the versions don't match. It stores results in self.dubious_nbs and self.real_nbs.
Also organize the 'real' NBSs for removal in self.nbs_to_remove attribute.
Check integrity of passed parameters and store organised data. The result list is the self.nbs_to_remove which should contain obsolete packages not currently able to be built from again. Another preliminary lists can be inspected in order to have better idea of what was computed. If anything goes wrong mid-process, it raises ArchiveCruftCheckError, otherwise a list of packages to be removes is printed.