'Fetcher specific post install
:type filename: string
:param filename: The filename of the package to install
:type fetch_dir: string
:param fetch_dir: The fetched path of the package
:type install_dir: string
:param install_dir: The path to install the package to
:type preserve_install_dir: boolean
@preserve_install_dir: Preserve the install directory'

def install_pkg_post(self, filename, fetch_dir, install_dir, preserve_install_dir=False):

    install_dir_exists = False
    try:
        self.pkgmgr._run_command(('ls    %s' % install_dir))
        install_dir_exists = True
    except (error.CmdError, error.AutoservRunError):
        pass
    fetch_path = os.path.join(fetch_dir, re.sub('/', '_', filename))
    if (install_dir_exists and (not self.pkgmgr.untar_required(fetch_path, install_dir))):
        return
    if (not preserve_install_dir):
        self.pkgmgr._run_command(('rm    -rf    %s' % install_dir))
    self.pkgmgr._run_command(('mkdir    -p    %s' % install_dir))
    self.pkgmgr.untar_pkg(fetch_path, install_dir)
