From: dinesh Date: Tue, 5 Aug 2008 17:25:19 +0000 (+0530) Subject: commiting create_dep_tar uses get_deps as of now X-Git-Url: http://git.ozlabs.org/?p=ccan;a=commitdiff_plain;h=2e0ef31d8963eb146337093252d6ae28d2b18813;hp=338b91f5d9f391a29f43568872e4406438ff2af8 commiting create_dep_tar uses get_deps as of now --- diff --git a/tools/Makefile b/tools/Makefile index a312e5dd..141eb326 100644 --- a/tools/Makefile +++ b/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 diff --git a/tools/create_dep_tar.c b/tools/create_dep_tar.c new file mode 100644 index 00000000..8247e57e --- /dev/null +++ b/tools/create_dep_tar.c @@ -0,0 +1,45 @@ +#include "tools.h" +#include +#include +#include +#include +#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 \n" + "Create tar of all the ccan dependencies"); + + deps = get_deps(NULL, argv[1]); + if(deps != NULL) + create_tar(deps, argv[1]); + return 0; +}