예제 #1
0
/**
 * hif_db_get_dir_for_package:
 **/
static gchar *
hif_db_get_dir_for_package(HifDb *db, HifPackage *package)
{
    const gchar *pkgid;
    HifDbPrivate *priv = GET_PRIVATE(db);
    const gchar *instroot;
#ifdef BUILDOPT_USE_DNF_YUMDB
    static const gchar *yumdb_dir = "/var/lib/dnf/yumdb";
#else
    static const gchar *yumdb_dir = "/var/lib/yum/yumdb";
#endif

    pkgid = hif_package_get_pkgid(package);
    if (pkgid == NULL)
        return NULL;

    instroot = hif_context_get_install_root(priv->context);
    if (g_strcmp0(instroot, "/") == 0)
        instroot = "";

    return g_strdup_printf("%s%s/%c/%s-%s-%s-%s-%s",
                          instroot,
                          yumdb_dir,
                          hif_package_get_name(package)[0],
                          pkgid,
                          hif_package_get_name(package),
                          hif_package_get_version(package),
                          hif_package_get_release(package),
                          hif_package_get_arch(package));
}
예제 #2
0
/**
 * hif_db_get_dir_for_package:
 **/
static gchar *
hif_db_get_dir_for_package (HyPackage package)
{
	const gchar *pkgid;
	gchar *dir = NULL;

	pkgid = hif_package_get_pkgid (package);
	if (pkgid == NULL)
		goto out;
	dir = g_strdup_printf ("/var/lib/yum/yumdb/%c/%s-%s-%s-%s-%s",
			       hy_package_get_name (package)[0],
			       pkgid,
			       hy_package_get_name (package),
			       hy_package_get_version (package),
			       hy_package_get_release (package),
			       hy_package_get_arch (package));
out:
	return dir;
}