portage.manifest module¶
- exception portage.manifest.FileNotInManifestException(value)¶
Bases:
portage.exception.PortageException
- args¶
- with_traceback()¶
Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
- class portage.manifest.Manifest(pkgdir, distdir=None, fetchlist_dict=None, manifest1_compat=<class 'DeprecationWarning'>, from_scratch=False, thin=False, allow_missing=False, allow_create=True, hashes=None, required_hashes=None, find_invalid_path_char=None, strict_misc_digests=True)¶
Bases:
object
- _apply_max_mtime(preserved_stats, entries)¶
Set the Manifest mtime to the max mtime of all relevant files and directories. Directory mtimes account for file renames and removals. The existing Manifest mtime accounts for eclass modifications that change DIST entries. This results in a stable/predictable mtime, which is useful when converting thin manifests to thick manifests for distribution via rsync. For portability, the mtime is set with 1 second resolution.
- Parameters
preserved_stats (dict) – maps paths to preserved stat results that should be used instead of os.stat() calls
entries (list) – list of current Manifest2Entry instances
- _catsplit(pkg_key)¶
Split a category and package, returning a list of [cat, pkg]. This is compatible with portage.catsplit()
- _createManifestEntries()¶
- _getAbsname(ftype, fname)¶
- _getCpvDistfiles(cpv)¶
Get a list of all DIST files associated to the given cpv
- _getDigestData(distlist)¶
create a hash dict for a specific list of files
- _is_cpv(cat, pn, filename)¶
- _parseDigests(mylines, myhashdict=None, mytype=None)¶
Parse manifest entries and store the data in myhashdict. If mytype is specified, it will override the type for all parsed entries.
- _parseManifestLines(mylines)¶
Parse manifest lines and return a list of manifest entries.
- _pkgdir_category()¶
- _readManifest(file_path, myhashdict=None, **kwargs)¶
Parse a manifest. If myhashdict is given then data will be added too it. Otherwise, a new dict will be created and returned.
- _update_thick_pkgdir(cat, pn, pkgdir)¶
- _update_thin_pkgdir(cat, pn, pkgdir)¶
- addFile(ftype, fname, hashdict=None, ignoreMissing=False)¶
Add entry to Manifest optionally using hashdict to avoid recalculation of hashes
- checkAllHashes(ignoreMissingFiles=False)¶
- checkCpvHashes(cpv, checkDistfiles=True, onlyDistfiles=False, checkMiscfiles=False)¶
check the hashes for all files associated to the given cpv, include all AUX files and optionally all MISC files.
- checkFileHashes(ftype, fname, ignoreMissing=False, hash_filter=None)¶
- checkIntegrity()¶
- checkTypeHashes(idtype, ignoreMissingFiles=False, hash_filter=None)¶
- create(checkExisting=False, assumeDistHashesSometimes=False, assumeDistHashesAlways=False, requiredDistfiles=None)¶
Recreate this Manifest from scratch. This will not use any existing checksums unless assumeDistHashesSometimes or assumeDistHashesAlways is true (assumeDistHashesSometimes will only cause DIST checksums to be reused if the file doesn’t exist in DISTDIR). The requiredDistfiles parameter specifies a list of distfiles to raise a FileNotFound exception for (if no file or existing checksums are available), and defaults to all distfiles when not specified.
- findFile(fname)¶
Return entrytype of the given file if present in Manifest or None if not present
- getDigests()¶
Compability function for old digest/manifest code, returns dict of filename:{hashfunction:hashvalue}
- getDistfilesSize(fetchlist)¶
- getFileData(ftype, fname, key)¶
Return the value of a specific (type,filename,key) triple, mainly useful to get the size for distfiles.
- getFullname()¶
Returns the absolute path to the Manifest file for this instance
- getTypeDigests(ftype)¶
Similar to getDigests(), but restricted to files of the given type.
- getVersions()¶
Returns a list of manifest versions present in the manifest file.
- hasFile(ftype, fname)¶
Return whether the Manifest contains an entry for the given type,filename pair
- parsers = (<function parseManifest2>,)¶
- removeFile(ftype, fname)¶
Remove given entry from Manifest
- sign()¶
Sign the Manifest
- updateAllFileHashes(ftype, fnames, checkExisting=True, ignoreMissing=True, reuseExisting=False)¶
Regenerate hashes from a list of files
- updateAllHashes(checkExisting=False, ignoreMissingFiles=True)¶
Regenerate all hashes for all files in this Manifest.
- updateAllTypeHashes(idtypes, checkExisting=False, ignoreMissingFiles=True)¶
Regenerate all hashes for all files from a list of types
- updateCpvHashes(cpv, ignoreMissingFiles=True)¶
Regenerate all hashes associated to the given cpv (includes all AUX and MISC files).
- updateHashesGuessType(fname, *args, **kwargs)¶
Regenerate hashes for the given file (guesses the type and then calls updateFileHashes).
- validateSignature()¶
Validate signature on Manifest
- write(sign=False, force=False)¶
Write Manifest instance to disk, optionally signing it. Returns True if the Manifest is actually written, and False if the write is skipped due to existing Manifest being identical.
- class portage.manifest.Manifest2Entry(**kwargs)¶
Bases:
portage.manifest.ManifestEntry
- hashes¶
- name¶
- type¶
- portage.manifest.guessManifestFileType(filename)¶
Perform a best effort guess of which type the given filename is, avoid using this if possible
- portage.manifest.guessThinManifestFileType(filename)¶
- portage.manifest.manifest2AuxfileFilter(filename)¶
- portage.manifest.manifest2MiscfileFilter(filename)¶
- portage.manifest.parseManifest2(line)¶