tAdd -v flag to activate verbose mode - pm - barely a pack manager
(HTM) git clone git://z3bra.org/pm
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit 5d666fd2e3404480c49b8830756c1c565d7e7236
(DIR) parent 73f293913081b16d19635ceb544530a6d7915d48
(HTM) Author: z3bra <willyatmailoodotorg>
Date: Tue, 12 Jan 2016 14:40:37 +0100
Add -v flag to activate verbose mode
Diffstat:
M pm.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+), 0 deletions(-)
---
(DIR) diff --git a/pm.c b/pm.c
t@@ -65,6 +65,7 @@ int delete(const char *rootfs, const char *datadir, const char *name);
char *argv0;
+int verbose = 0;
int overwrite = 0;
void
t@@ -387,6 +388,9 @@ install(char *rootfs, char *datadir, struct pack *p)
char tmp[PATH_MAX] = "";
struct stat st;
+ if (verbose == 1)
+ printf("%s: installing to %s\n", p->name, rootfs);
+
if (overwrite == 0) {
snprintf(tmp, PATH_MAX, "%s/%s", datadir, p->name);
if (stat(tmp, &st) == 0 && S_ISDIR(st.st_mode)) {
t@@ -394,6 +398,8 @@ install(char *rootfs, char *datadir, struct pack *p)
return -1;
}
+ if (verbose == 1)
+ printf("%s: checking collisions\n", p->name);
if (inspect_collision(rootfs, p) != 0)
return -1;
}
t@@ -407,13 +413,20 @@ install(char *rootfs, char *datadir, struct pack *p)
return -1;
}
+ if (verbose == 1)
+ printf("%s: writing metadata\n", p->name);
if (write_metadata(datadir, p) < 0) {
perror(datadir);
return -1;
}
+ if (verbose == 1)
+ printf("%s: extracting %s\n", p->name, p->path);
r = unpack(datadir, p);
+ if (verbose == 1)
+ printf("%s: installation %s\n", p->name, r != 0 ? "failed" : "complete");
+
return r;
}
t@@ -491,6 +504,8 @@ delete(const char *rootfs, const char *datadir, const char *packname)
return ERR_DELETE;
}
+ if (verbose == 1)
+ printf("%s: deleting from %s\n", packname, rootfs);
if (chdir(rootfs) < 0) {
perror(rootfs);
return ERR_DELETE;
t@@ -504,6 +519,8 @@ delete(const char *rootfs, const char *datadir, const char *packname)
}
fclose(f);
+ if (verbose == 1)
+ printf("%s: removing metadata\n", packname);
if (unlink(tmp) < 0) {
perror(tmp);
fprintf(stderr, "%s: cannot remove file list\n", packname);
t@@ -616,6 +633,9 @@ main (int argc, char **argv)
if (argc > 1)
n = ARGF();
break;
+ case 'v':
+ verbose = 1;
+ break;
default:
action = ACTION_INVALID;
}ARGEND;