'Fetch a package file and save it to the given destination path
git is an SCM, you can download the test directly.  No need to fetch
a bz2\'d tarball file.  However \'filename\' is <type>-<name>.tar.bz2
break this up and only fetch <name>.
:type filename: string
:param filename: The filename of the package file to fetch.
:type dest_path: string
:param dest_path: Destination path to download the file to.'

def fetch_pkg_file(self, filename, dest_path):

    logging.info('Fetching    %s    from    %s    to    %s', filename, self.url, dest_path)
    (name, _) = self.pkgmgr.parse_tarball_name(filename)
    package_path = ((self.branch + '    ') + name)
    try:
        cmd = (self.git_archive_cmd_pattern % (self.url, dest_path, package_path))
        result = self.run_command(cmd)
        file_exists = (self.run_command(('ls    %s' % dest_path), _run_command_dargs={'ignore_status': True}).exit_status == 0)
        if (not file_exists):
            logging.error('git    archive    failed:    %s', result)
            raise error.CmdError(cmd, result)
        logging.debug('Successfully    fetched    %s    from    %s', package_path, self.url)
    except error.CmdError:
        raise error.PackageFetchError(('%s    not    found    in    %s' % (name, package_path)))
