tHave datadir relative to $ROOT - pm - barely a pack manager
HTML git clone git://z3bra.org/pm
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
DIR commit 1faefbbfe0b101f39b95ce9140ced9b692889273
DIR parent 6b12ca0f78ebb93d54b883bc2a49876af4d6ba0a
HTML Author: z3bra <willyatmailoodotorg>
Date: Sat, 23 Jan 2016 11:46:55 +0100
Have datadir relative to $ROOT
datadir is now relative to $ROOT and hardcoded to $ROOT/var/pm.
Current debate is now to figure wether it should be in the
environment or not (I don't think so).
$ROOT now defaults to /.
Diffstat:
M pm.c | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
---
DIR diff --git a/pm.c b/pm.c
t@@ -13,8 +13,7 @@
#include "arg.h"
-#define PACK_ROOT (getenv("ROOT")?getenv("ROOT"):"/ns/pm/rootfs")
-#define PACK_DATA (getenv("META")?getenv("META"):"/ns/pm/rootfs/metadata")
+#define PACK_DATA "var/pm"
#define PACK_BUFF_SIZE 8192
#define PACK_SEPARATOR '#'
#define PACK_EXTENSION ".tar.bz2"
t@@ -617,6 +616,13 @@ main (int argc, char **argv)
char *n = NULL;
struct pack *p = NULL;
uint8_t action = ACTION_DEFAULT;
+ char rootfs[PATH_MAX] = "";
+ char datadir[PATH_MAX] = "";
+
+ strncpy(rootfs, getenv("ROOT"), PATH_MAX);
+ strncat(rootfs, "/", PATH_MAX);
+ strncpy(datadir, rootfs, PATH_MAX);
+ strncat(datadir, PACK_DATA, PATH_MAX);
ARGBEGIN{
case 'a':
t@@ -647,7 +653,7 @@ main (int argc, char **argv)
case ACTION_INSTALL:
while (*argv) {
if ((p = pack_load(*(argv++)))) {
- r += install(PACK_ROOT, PACK_DATA, p);
+ r += install(rootfs, datadir, p);
pack_free(p);
}
}
t@@ -656,8 +662,8 @@ main (int argc, char **argv)
case ACTION_UPDATE:
while (*argv) {
if ((p = pack_load(*(argv++)))) {
- if (delete(PACK_ROOT, PACK_DATA, p->name) == 0)
- r += install(PACK_ROOT, PACK_DATA, p);
+ if (delete(rootfs, datadir, p->name) == 0)
+ r += install(rootfs, datadir, p);
pack_free(p);
}
}
t@@ -665,11 +671,11 @@ main (int argc, char **argv)
case ACTION_DELETE:
while (*argv)
- r += delete(PACK_ROOT, PACK_DATA, *argv++);
+ r += delete(rootfs, datadir, *argv++);
break;
case ACTION_INSPECT:
- if (inspect(PACK_DATA, n) != 0)
+ if (inspect(datadir, n) != 0)
return ERR_INSPECT;
break;