DESCRIPTION
This is an object class that represents a deb package. It is derived from Alien::Package.FIELDS
- have_dpkg_deb
 - Set to a true value if dpkg-deb is available.
 - deb_member_list
 - Set to the list of member names in the deb package.
 - dirtrans
 - After the build stage, set to a hash reference of the directories we moved files from and to, so these moves can be reverted in the cleantree stage.
 - fixperms
 - If this is set to true, the generated debian/rules will run dh_fixperms.
 
METHODS
- init
 - Sets have_dpkg_deb if dpkg-deb is in the path. I prefer to use dpkg-deb, if it is available since it is a lot more future-proof.
 - checkfile
 - Detect deb files by their extension.
 - install
 - Install a deb with dpkg. Pass in the filename of the deb to install.
 - test
 - Test a deb with lintian. Pass in the filename of the deb to test.
 - get_deb_member_list
 - Helper method. Pass it the name of the deb and it will return the list of ar members.
 - getcontrolfile
 - Helper method. Pass it the name of a control file, and it will pull it out of the deb and return it.
 - get_datamember_cmd
 - Helper method. Pass it the name of the deb and it will return the raw command needed to extract the data.tar member.
 - scan
 - Implement the scan method to read a deb file.
 - unpack
 - Implement the unpack method to unpack a deb file.
 - getpatch
 - This method tries to find a patch file to use in the prep stage. If it finds one, it returns it. Pass in a list of directories to search for patches in.
 - prep
 - Adds a populated debian directory the unpacked package tree, making it ready for building. This can either be done automatically, or via a patch file.
 - build
 - Build a deb.
 - cleantree
 - Delete the entire debian/ directory.
 - package
 - 
Set/get package name.
Always returns the package name in lowercase with all invalid characters rmoved. The name is however, stored unchanged.
 - version
 - 
Set/get package version.
When the version is set, it will be stripped of any epoch. If there is a release, the release will be stripped away and used to set the release field as a side effect. Otherwise, the release will be set to 1.
More sanitization of the version is done when the field is retrieved, to make sure it is a valid debian version field.
 - release
 - 
Set/get package release.
Always returns a sanitized release version. The release is however, stored unchanged.
 - description
 - 
Set/get description
Although the description is stored internally unchanged, this will always return a sanitized form of it that is compliant with Debian standards.
 - date
 - Returns the date, in rfc822 format.
 - Returns an email address for the current user.
 - username
 - Returns the user name of the real uid.
 - savescript
 - Saves script to debian directory.
 - gen_postinst
 - Modifies or creates a postinst. This may include generated shell code to set owners and groups from the owninfo field, and update modes from the modeinfo field.
 

