| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #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;
- }
|