dissect.database.bsd.tools.rpm

Module Contents

Classes

PackageEntry

File

Built-in immutable sequence.

Directory

Built-in immutable sequence.

Package

RPM Package.

HeaderBlob

RPM Header Blob.

Packages

RPMDB Packages database.

Functions

Attributes

dissect.database.bsd.tools.rpm.TYPE_SIZE_MAP
dissect.database.bsd.tools.rpm.TYPE_PARSERS
dissect.database.bsd.tools.rpm.ARRAY_TYPES
class dissect.database.bsd.tools.rpm.PackageEntry

Bases: NamedTuple

path: str
size: int
mode: int
mtime: int
user: str
group: str
digest: bytes
class dissect.database.bsd.tools.rpm.File

Bases: PackageEntry

Built-in immutable sequence.

If no argument is given, the constructor returns an empty tuple. If iterable is specified the tuple is initialized from iterable’s items.

If the argument is a tuple, the return value is the same object.

class dissect.database.bsd.tools.rpm.Directory

Bases: PackageEntry

Built-in immutable sequence.

If no argument is given, the constructor returns an empty tuple. If iterable is specified the tuple is initialized from iterable’s items.

If the argument is a tuple, the return value is the same object.

class dissect.database.bsd.tools.rpm.Package(buf: bytes)

RPM Package.

Parameters:

buf – Bytes containing the RPM Package header blob.

blob
__repr__() str
__iter__() collections.abc.Iterator[File | Directory]
property name: str

Package name.

property version: str

Package version.

property release: str

Package release.

property summary: str

Package summary.

property description: str

Package description.

entries() collections.abc.Iterator[File | Directory]

Iterate over all files and directories in the package.

class dissect.database.bsd.tools.rpm.HeaderBlob(buf: bytes)

RPM Header Blob.

Parameters:

buf – Bytes containing the RPM Header Blob.

buf
header
pvlen
data_start
data_end
tag_map
__contains__(tag: dissect.database.bsd.tools.c_rpm.c_rpm.rpmTag) bool
entry(idx: int) tuple[dissect.database.bsd.tools.c_rpm.c_rpm.rpmTag, int | str | bytes | list[int] | list[str] | None]

Get the (tag, value) for the given index.

entries() collections.abc.Iterator[tuple[dissect.database.bsd.tools.c_rpm.c_rpm.rpmTag, int | str | bytes | list[int] | list[str] | None]]

Iterate over all (tag, value) entries in the header.

value(tag: dissect.database.bsd.tools.c_rpm.c_rpm.rpmTag) int | str | bytes | list[int] | list[str] | None

Get the value for the given tag.

class dissect.database.bsd.tools.rpm.Packages(fh: BinaryIO)

RPMDB Packages database.

Parameters:

fh – File-like object containing the RPMDB Packages database (a Berkeley DB).

db
__iter__() collections.abc.Iterator[Package]
entries() collections.abc.Iterator[Package]

Iterate over all packages in the database.

dissect.database.bsd.tools.rpm.main() int