Radish alpha
H
HardenedBSD Package Manager
Radicle
Git (anonymous pull)
Log in to clone via SSH
add generic pkg_set_from_file add mtree data information in database
Baptiste Daroussin committed 15 years ago
commit bd401915e049ae8d5ef78f1a1a73e48153204637
parent 36f57b81ab14b2e9d132e4a332582dd48b3268ed
4 files changed +22 -24
modified libpkg/pkg.c
@@ -57,6 +57,22 @@ pkg_set(struct pkg *pkg, pkg_attr attr, const char *value)
	return (-1);
}

+
int
+
pkg_set_from_file(struct pkg *pkg, pkg_attr attr, const char *path)
+
{
+
	char *buf = NULL;
+
	int ret = 0;
+

+
	if (file_to_buffer(path, &buf) <= 0)
+
		return (-1);
+

+
	ret = pkg_set(pkg, attr, buf);
+

+
	free(buf);
+

+
	return (ret);
+
}
+

struct pkg **
pkg_deps(struct pkg *pkg)
{
@@ -238,24 +254,6 @@ pkg_free_void(void *p)
		pkg_free((struct pkg*) p);
}

-
/* specific Setters */
-

-
int
-
pkg_setdesc_from_file(struct pkg *pkg, const char *desc_path)
-
{
-
	char *buf = NULL;
-
	int ret = 0;
-

-
	if (file_to_buffer(desc_path, &buf) <= 0)
-
		return (-1);
-

-
	ret = pkg_set(pkg, PKG_DESC, buf);
-

-
	free(buf);
-

-
	return (ret);
-
}
-

int
pkg_adddep(struct pkg *pkg, const char *name, const char *origin, const char *version)
{
modified libpkg/pkg.h
@@ -48,7 +48,7 @@ int pkg_resolvdeps(struct pkg *, struct pkgdb *db);

/* pkg setters */
int pkg_set(struct pkg *, pkg_attr, const char *);
-
int pkg_setdesc_from_file(struct pkg *, const char *);
+
int pkg_set_from_file(struct pkg *, pkg_attr, const char *);
int pkg_adddep(struct pkg *, const char *, const char *, const char *);
int pkg_addfile(struct pkg *, const char *, const char *);
int pkg_addconflict(struct pkg *, const char *);
modified libpkg/pkgdb.c
@@ -494,8 +494,8 @@ pkgdb_register_pkg(struct pkgdb *db, struct pkg *pkg)

	sqlite3_exec(db->sqlite, "BEGIN TRANSACTION;", NULL, NULL, NULL);

-
	sqlite3_prepare(db->sqlite, "INSERT OR REPLACE INTO packages (origin, name, version, comment, desc)"
-
			"VALUES (?1, ?2, ?3, ?4, ?5);",
+
	sqlite3_prepare(db->sqlite, "INSERT OR REPLACE INTO packages (origin, name, version, comment, desc, mtree)"
+
			"VALUES (?1, ?2, ?3, ?4, ?5, ?6);",
			-1, &stmt_pkg, NULL);

	sqlite3_prepare(db->sqlite, "INSERT OR REPLACE INTO deps (origin, name, version, package_id)"
@@ -515,6 +515,7 @@ pkgdb_register_pkg(struct pkgdb *db, struct pkg *pkg)
	sqlite3_bind_text(stmt_pkg, 3, pkg_get(pkg, PKG_VERSION), -1, SQLITE_STATIC);
	sqlite3_bind_text(stmt_pkg, 4, pkg_get(pkg, PKG_COMMENT), -1, SQLITE_STATIC);
	sqlite3_bind_text(stmt_pkg, 5, pkg_get(pkg, PKG_DESC), -1, SQLITE_STATIC);
+
	sqlite3_bind_text(stmt_pkg, 5, pkg_get(pkg, PKG_MTREE), -1, SQLITE_STATIC);

	sqlite3_step(stmt_pkg);

modified pkg/register.c
@@ -25,7 +25,6 @@ exec_register(int argc, char **argv)
	char ch;
	char *plist = NULL;
	char *prefix = NULL;
-
	char *mtree = NULL;
	char *depends = NULL;
	char *conflicts = NULL;
	char *v = NULL;
@@ -43,7 +42,7 @@ exec_register(int argc, char **argv)
				ret += pkg_set(pkg, PKG_COMMENT, optarg[0] == '-' ? optarg + 1 : optarg);
				break;
			case 'd':
-
				ret += pkg_setdesc_from_file(pkg, optarg);
+
				ret += pkg_set_from_file(pkg, PKG_DESC, optarg);
				break;
			case 'f':
				plist = strdup(optarg);
@@ -55,7 +54,7 @@ exec_register(int argc, char **argv)
				depends = strdup(optarg);
				break;
			case 'm':
-
				mtree = strdup(optarg);
+
				ret += pkg_set_from_file(pkg, PKG_MTREE, optarg);
				break;
			case 'n':
				v = strrchr(optarg, '-');