'Attempts to install a recent enough version of grubby
So far tested on:
* Fedora 16 x86_64
* Debian 6 x86_64
* SuSE 12.1 x86_64
* RHEL 4 on ia64 (with updated python 2.4)
* RHEL 5 on ia64
* RHEL 6 on ppc64'

def grubby_install(self, path=None):

    if (path is None):
        if (os.geteuid() == 0):
            path = GRUBBY_DEFAULT_SYSTEM_PATH
        else:
            path = GRUBBY_DEFAULT_USER_PATH
    topdir = tempfile.mkdtemp()
    deps_klass = DISTRO_DEPS_MAPPING.get(detect_distro_type(), None)
    if (deps_klass is not None):
        deps = deps_klass()
        if (not deps.check()):
            self.log.warn('Installing    distro    build    deps    for    grubby.    This    may    take    a    while,    depending    on    bandwidth    and    actual    number    of    packages    to    install')
            if (not deps.install()):
                self.log.error('Failed    to    install    distro    build    deps    for    grubby')
    tarball = self.grubby_install_fetch_tarball(topdir)
    if (tarball is None):
        raise GrubbyInstallException('Failed    to    fetch    grubby    tarball')
    srcdir = os.path.join(topdir, 'src')
    install_root = os.path.join(topdir, 'install_root')
    os.mkdir(install_root)
    if (not self.grubby_build(topdir, tarball)):
        raise GrubbyInstallException('Failed    to    build    grubby')
    self.grubby_install_backup(path)
    grubby_bin = os.path.join(install_root, 'sbin', 'grubby')
    inst_dir = os.path.dirname(path)
    if (not os.access(inst_dir, os.W_OK)):
        raise GrubbyInstallException(('No    permission    to    copy    grubby    binary    to    directory    "%s"' % inst_dir))
    try:
        shutil.copy(grubby_bin, path)
    except:
        raise GrubbyInstallException(('Failed    to    copy    grubby    binary    to    directory    "%s"' % inst_dir))
    return path
