NAME¶
Dpkg::Source::Package - manipulate Debian source packages
DESCRIPTION¶
This module provides an object that can manipulate Debian source packages. While
it supports both the extraction and the creation of source packages, the only
API that is officially supported is the one that supports the extraction of
the source package.
FUNCTIONS¶
- $p = Dpkg::Source::Package->new(filename => $dscfile,
options => {})
- Creates a new object corresponding to the source package
described by the file $dscfile.
The options hash supports the following options:
- skip_debianization
- If set to 1, do not apply Debian changes on the extracted
source package.
- skip_patches
- If set to 1, do not apply Debian-specific patches. This
options is specific for source packages using format "2.0" and
"3.0 (quilt)".
- require_valid_signature
- If set to 1, the check_signature() method will be
stricter and will error out if the signature can't be verified.
- copy_orig_tarballs
- If set to 1, the extraction will copy the upstream tarballs
next the target directory. This is useful if you want to be able to
rebuild the source package after its extraction.
- $p->get_filename()
- Returns the filename of the DSC file.
- $p->get_files()
- Returns the list of files referenced by the source package.
The filenames usually do not have any path information.
- $p->check_checksums()
- Verify the checksums embedded in the DSC file. It requires
the presence of the other files constituting the source package. If any
inconsistency is discovered, it immediately errors out.
- $bool = $p->is_signed()
- Returns 1 if the DSC files contains an embedded OpenPGP
signature. Otherwise returns 0.
- $p->check_signature()
- Implement the same OpenPGP signature check that dpkg-source
does. In case of problems, it prints a warning or errors out.
If the object has been created with the "require_valid_signature"
option, then any problem will result in a fatal error.
- $p->extract($targetdir)
- Extracts the source package in the target directory
$targetdir. Beware that if $targetdir already exists, it will be
erased.
AUTHOR¶
Raphaël Hertzog, <hertzog@debian.org>