debian.debfile module¶
Representation of Debian binary package (.deb) files
Debfile Classes¶
-
class
debian.debfile.
DebControl
(member)¶ Bases:
debian.debfile.DebPart
-
debcontrol
()¶ Return the debian/control as a Deb822 (a Debian-specific dict-like class) object.
For a string representation of debian/control try .get_content(‘control’)
-
md5sums
(encoding=None, errors=None)¶ Return a dictionary mapping filenames (of the data part) to md5sums. Fails if the control part does not contain a ‘md5sum’ file.
Keys of the returned dictionary are the left-hand side values of lines in the md5sums member of control.tar.gz, usually file names relative to the file system root (without heading ‘/’ or ‘./’).
The returned keys are Unicode objects if an encoding is specified, otherwise binary. The returned values are always Unicode.
-
scripts
()¶ Return a dictionary of maintainer scripts (postinst, prerm, ...) mapping script names to script text.
-
-
class
debian.debfile.
DebData
(member)¶ Bases:
debian.debfile.DebPart
-
exception
debian.debfile.
DebError
¶ Bases:
debian.arfile.ArError
-
class
debian.debfile.
DebFile
(filename=None, mode='r', fileobj=None)¶ Bases:
debian.arfile.ArFile
Representation of a .deb file (a Debian binary package)
- DebFile objects have the following (read-only) properties:
- version debian .deb file format version (not related with the
- contained package version), 2.0 at the time of writing for all .deb packages in the Debian archive
- data DebPart object corresponding to the data.tar.gz (or
- other compressed or uncompressed tar) archive contained in the .deb file
- control DebPart object corresponding to the control.tar.gz (or
- other compressed tar) archive contained in the .deb file
-
_DebFile__updatePkgName
()¶
-
changelog
()¶ Return a Changelog object for the changelog.Debian.gz of the present .deb package. Return None if no changelog can be found.
-
close
()¶
-
control
¶
-
data
¶
-
debcontrol
()¶ See .control.debcontrol()
-
md5sums
(encoding=None, errors=None)¶ See .control.md5sums()
-
scripts
()¶ See .control.scripts()
-
version
¶
-
class
debian.debfile.
DebPart
(member)¶ Bases:
object
‘Part’ of a .deb binary package.
A .deb package is considered as made of 2 parts: a ‘data’ part (corresponding to the possibly compressed ‘data.tar’ archive embedded in a .deb) and a ‘control’ part (the ‘control.tar.gz’ archive). Each of them is represented by an instance of this class. Each archive should be a compressed tar archive although an uncompressed data.tar is permitted; supported compression formats are: .tar.gz, .tar.bz2, .tar.xz .
When referring to file members of the underlying .tar.gz archive, file names can be specified in one of 3 formats “file”, ”./file”, “/file”. In all cases the file is considered relative to the root of the archive. For the control part the preferred mechanism is the first one (as in deb.control.get_content(‘control’) ); for the data part the preferred mechanism is the third one (as in deb.data.get_file(‘/etc/vim/vimrc’) ).
-
static
_DebPart__normalize_member
(fname)¶ try (not so hard) to obtain a member file name in a form relative to the .tar.gz root and with no heading ‘.’
-
close
()¶
-
get_content
(fname, encoding=None, errors=None)¶ Return the string content of a given file, or None (e.g. for directories).
If encoding is given, then the content will be a Unicode object; otherwise, it will contain binary data.
-
get_file
(fname, encoding=None, errors=None)¶ Return a file object corresponding to a given file name.
If encoding is given, then the file object will return Unicode data; otherwise, it will return binary data.
-
has_file
(fname)¶ Check if this part contains a given file name.
-
tgz
()¶ Return a TarFile object corresponding to this part of a .deb package.
Despite the name, this method gives access to various kind of compressed tar archives, not only gzipped ones.
-
static