Browse Source

commiting create_dep_tar uses get_deps as of now

dinesh 17 years ago
parent
commit
2e0ef31d89
2 changed files with 50 additions and 3 deletions
  1. 5 3
      tools/Makefile
  2. 45 0
      tools/create_dep_tar.c

+ 5 - 3
tools/Makefile

@@ -1,10 +1,12 @@
 tools/ccan_depends: tools/ccan_depends.o tools/depends.o ccan/string/string.o ccan/talloc/talloc.o ccan/noerr/noerr.o
 
-tools/run_tests: tools/run_tests.o tools/depends.o ccan/tap/tap.o ccan/string/string.o ccan/talloc/talloc.o
+tools/run_tests: tools/run_tests.o tools/depends.o ccan/tap/tap.o ccan/string/string.o ccan/noerr/noerr.o ccan/talloc/talloc.o
 
-tools/doc_extract: tools/doc_extract.o ccan/string/string.o ccan/talloc/talloc.o
+tools/doc_extract: tools/doc_extract.o ccan/string/string.o ccan/noerr/noerr.o ccan/talloc/talloc.o
 
-tools/namespacize: tools/namespacize.o tools/depends.o ccan/string/string.o ccan/talloc/talloc.o
+tools/namespacize: tools/namespacize.o tools/depends.o ccan/string/string.o ccan/noerr/noerr.o ccan/talloc/talloc.o
+
+tools/create_dep_tar: tools/create_dep_tar.o tools/depends.o ccan/string/string.o ccan/noerr/noerr.o ccan/talloc/talloc.o
 
 tools/run_tests.o tools/namespacize.o tools/depends.o: tools/tools.h
 

+ 45 - 0
tools/create_dep_tar.c

@@ -0,0 +1,45 @@
+#include "tools.h"
+#include <err.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include "ccan/string/string.h"
+#include "ccan/talloc/talloc.h"
+
+#define TAR_CMD "tar cvvf "
+
+static void create_tar(char **deps, const char *dir)
+{
+	FILE *p;
+	char *cmd_args, *cmd, *module, *buffer;
+
+	/* getting module name*/
+	module = strrchr(dir, '/');
+	module++;
+	
+	cmd_args = strjoin(NULL, deps, " ");	
+	cmd = talloc_asprintf(NULL, TAR_CMD "%s/%s_dep.tar %s", dir, module, cmd_args);
+		
+	p = popen(cmd, "r");
+	if (!p)
+		err(1, "Executing '%s'", cmd);
+
+	buffer = grab_fd(NULL, fileno(p));
+	if (!buffer)
+		err(1, "Reading from '%s'", cmd);
+	pclose(p);
+}
+
+int main(int argc, char *argv[])
+{
+	char **deps;
+
+	if (argc != 2)
+		errx(1, "Usage: create_dep_tar <dir>\n"
+		        "Create tar of all the ccan dependencies");
+
+	deps = get_deps(NULL, argv[1]);
+	if(deps != NULL)
+		create_tar(deps, argv[1]);
+	return 0;
+}