Radish alpha
H
HardenedBSD Package Manager
Radicle
Git (anonymous pull)
Log in to clone via SSH
Better handling of scripts type
Baptiste Daroussin committed 15 years ago
commit 418c10bb3552645f5b444ae94f5167a0af6a2e96
parent bfe24ede1977be4fa911d7ec4d09dfa346db9fa6
3 files changed +21 -19
modified libpkg/pkg.h
@@ -36,18 +36,18 @@ typedef enum {
} pkg_attr;

typedef enum {
-
	PKG_SCRIPT_INSTALL = 0,
+
	PKG_SCRIPT_PRE_INSTALL = 0,
+
	PKG_SCRIPT_POST_INSTALL,
+
	PKG_SCRIPT_PRE_DEINSTALL,
+
	PKG_SCRIPT_POST_DEINSTALL,
+
	PKG_SCRIPT_PRE_UPGRADE,
+
	PKG_SCRIPT_POST_UPGRADE,
+
	PKG_SCRIPT_INSTALL,
	PKG_SCRIPT_DEINSTALL,
	PKG_SCRIPT_UPGRADE
} pkg_script_t;

typedef enum {
-
	PKG_PRE = 0,
-
	PKG_POST,
-
	PKG_BOTH
-
} pkg_when_t;
-

-
typedef enum {
	PKG_EXEC = 0,
	PKG_UNEXEC
} pkg_exec_t;
@@ -93,11 +93,13 @@ int pkg_script_new(struct pkg_script **);
void pkg_script_reset(struct pkg_script *);
void pkg_script_free(struct pkg_script *);
const char *pkg_script_data(struct pkg_script *);
+
pkg_script_t pkg_script_type(struct pkg_script *);

int pkg_exec_new(struct pkg_exec **);
void pkg_exec_reset(struct pkg_exec *);
void pkg_exec_free(struct pkg_exec *);
const char *pkg_exec_cmd(struct pkg_exec *);
+
pkg_exec_t pkg_exec_type(struct pkg_exec *);

/* pkgdb */
int pkgdb_open(struct pkgdb **);
modified libpkg/pkg_private.h
@@ -29,7 +29,6 @@ struct pkg_conflict {
struct pkg_script {
	struct sbuf *data;
	pkg_script_t type;
-
	pkg_when_t when;
};

struct pkg_exec {
modified libpkg/pkgdb.c
@@ -89,15 +89,16 @@ pkgdb_get_dir(void)
/*
 * in the database : 
 * scripts.type can be:
-
 * - 0: INSTALL
-
 * - 1: DEINSTALL
-
 * - 2: UPGRADE
+
 * - 0: PRE_INSTALL
+
 * - 1: POST_INSTALL
+
 * - 2: PRE_DEINSTALL
+
 * - 3: POST_DEINSTALL
+
 * - 4: PRE_UPGRADE
+
 * - 5: POST_UPGRADE
+
 * - 6: INSTALL
+
 * - 7: DEINSTALL
+
 * - 8: UPGRADE
 * 
-
 * scripts.when can be:
-
 * - 0: PRE
-
 * - 1: POST
-
 * - 2: BOTH (old compat)
-
 *
 * exec.type can be:
 * - 0: exec
 * - 1: unexec
@@ -123,14 +124,14 @@ pkgdb_init(sqlite3 *sdb)
	"CREATE TABLE scripts ("
		"package_id TEXT REFERENCES packages(origin) ON DELETE CASCADE"
		"script TEXT,"
-
		"type INTEGER,"
-
		"when INTEGER,"
+
		"type INTEGER"
+
		"PRIMARY KEY (package_id, type)"
	");"
	"CREATE INDEX scripts_package ON scripts (package_id);"
	"CREATE TABLE exec ("
		"package_id TEXT REFERENCES packages(origin) ON DELETE CASCADE"
		"cmd TEXT,"
-
		"type INTEGER,"
+
		"type INTEGER"
	");"
	"CREATE INDEX exec_package ON exec (package_id);"
	"CREATE TABLE options ("