DPKG::Make 0.1 review
DownloadDPKG::Make is a Perl module for cleanly generate an Debian package (.dpkg). SYNOPSIS use DPKG::Make; # The "Manifest
|
|
DPKG::Make is a Perl module for cleanly generate an Debian package (.dpkg).
SYNOPSIS
use DPKG::Make;
# The "Manifest": list of files that will comprise the software package.
my @filelist=('tmproot/file1.txt',
'tmproot/file2.txt',
'tmproot/file3.txt',
'tmproot/file4.txt');
my %doc; my %conf; my %metadata;
# Define special handling of files.
$doc{'tmproot/file1.txt'}=1;
$conf{'tmproot/file2.txt'}=1;
# Bare minimum metadata (descriptive data of the software package).
my $pathprefix='tmproot';
my $tag='test'; # cannot use uppercase characters
my $version='0.1';
my $release='1';
# Highly descriptive metadata.
%metadata=(
'vendor'=>'Excellence in Perl Laboratory',
'summary'=>'a Test Software Package',
'name'=>$tag,
'copyrightname'=>'...',
'group'=>'base',
'AutoReqProv'=>'no',
'requires=>[()],
'email'=>'joe@somewhere.com',
'description'=>'This package is generated by DPKG::Make. '.
'This implements the '.$tag.' software package',
'pre'=>'echo "You are installing a package built by DPKG::Make; '.
'DPKG::Make is available at http://www.cpan.org/."',
);
# Temporary "sandbox" (this should not be /tmp because this is deleted!).
my $buildloc='TempBuildLoc';
# The "execute" subroutine coordinates all of the DPKG building steps.
DPKG::Make::execute($tag,$version,$release,$arch,$buildloc,$pathprefix,
@filelist,%doc,%conf,
%metadata);
# You can also build a DPKG in more atomic steps; these three smaller
# steps are equivalent to the execute command.
# Step 1: Generate the rpm source location.
DPKG::Make::dpkgsrc($tag,$version,$release,$arch,$buildloc,$pathprefix,
@filelist,%doc,%conf,
%metadata);
# Step 2: Build the rpm and copy into the invoking directory.
DPKG::Make::compiledpkg($buildloc,$metadata{'name'},$version,
$release,$arch,
$currentdir,$invokingdir);
# Step 3: clean the location used to gather and build the rpm.
DPKG::Make::cleanbuildloc($buildloc);
Requirements:
Perl
DPKG::Make 0.1 search tags