Commit 4905f6d4 authored by Rusty Russell's avatar Rusty Russell

Remove unused create_dep_tar.

parent 015fe7cb
ALL_TOOLS = tools/ccan_depends tools/run_tests tools/doc_extract tools/namespacize tools/create_dep_tar
ALL_TOOLS = tools/ccan_depends tools/run_tests tools/doc_extract tools/namespacize
.PHONY: tools
tools: $(ALL_TOOLS)
......@@ -11,9 +11,6 @@ tools/doc_extract: tools/doc_extract.o ccan/str_talloc/str_talloc.o ccan/grab_fi
tools/namespacize: tools/namespacize.o tools/depends.o ccan/str_talloc/str_talloc.o ccan/grab_file/grab_file.o ccan/noerr/noerr.o ccan/talloc/talloc.o
tools/create_dep_tar: tools/create_dep_tar.o tools/depends.o ccan/str_talloc/str_talloc.o ccan/grab_file/grab_file.o ccan/noerr/noerr.o ccan/talloc/talloc.o tools/_infotojson/sqlite3_database.o tools/_infotojson/utils.o
$(CC) $(LDFLAGS) -o $@ $^ -lsqlite3
tools/run_tests.o tools/namespacize.o tools/depends.o: tools/tools.h
tools-clean: ccanlint-clean
......
#include "tools.h"
#include <err.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <sqlite3.h>
#include "ccan/grab_file/grab_file.h"
#include "ccan/str_talloc/str_talloc.h"
#include "ccan/talloc/talloc.h"
#include "tools/_infotojson/database.h"
#define TAR_CMD "tar cvvf "
/* get dependents of the module from db */
static char**
get_dependents(const char *dir, const char *db)
{
char *query, *module, **dependents;
sqlite3 *handle;
int i;
struct db_query *q;
module = strrchr(dir, '/');
module++;
/* getting dependents from db */
handle = db_open(db);
query = talloc_asprintf(NULL, "select module from search where depends LIKE \"%%%s%%\";", module);
q = db_query(handle, query);
db_close(handle);
if (q->num_rows == 0)
return 0;
else {
/* getting query results and returning */
dependents = talloc_array(NULL, char *, q->num_rows + 1);
for (i = 0; i < q->num_rows; i++)
dependents[i] = talloc_asprintf(dependents, "ccan/%s", q->rows[i][0]);
dependents[q->num_rows] = NULL;
return dependents;
}
}
/* create tar ball of dependencies */
static void
create_tar(char **deps, const char *dir, const char *targetdir)
{
FILE *p;
char *cmd_args, *cmd, *module, *buffer;
/* getting module name*/
module = strrchr(dir, '/');
module++;
if (deps != NULL) {
cmd_args = strjoin(NULL, deps, " ");
cmd = talloc_asprintf(NULL, TAR_CMD "%s/%s_with_deps.tar %s %s", targetdir, module, cmd_args, dir);
} else
cmd = talloc_asprintf(NULL, TAR_CMD "%s/%s.tar %s", targetdir, module, dir);
p = popen(cmd, "r");
if (!p)
err(1, "Executing '%s'", cmd);
buffer = grab_fd(NULL, fileno(p), NULL);
if (!buffer)
err(1, "Reading from '%s'", cmd);
pclose(p);
}
int main(int argc, char *argv[])
{
char **deps, **dependents;
int i;
if (argc != 4)
errx(1, "Usage: create_dep_tar <dir> <targetdir> <db>\n"
"Create tar of all the ccan dependencies");
/* creating tar of the module */
create_tar(NULL, argv[1], argv[2]);
printf("creating tar ball of \"%s\"\n", argv[1]);
/* creating tar of the module dependencies */
deps = get_deps(talloc_autofree_context(), argv[1], true);
if (deps != NULL)
create_tar(deps, argv[1], argv[2]);
talloc_free(deps);
/* creating/updating tar of the module dependents */
dependents = get_dependents(argv[1], argv[3]);
if (dependents != NULL)
for (i = 0; dependents[i]; i++) {
printf("creating tar ball of \"%s\"\n", dependents[i]);
deps = get_deps(NULL, dependents[i], true);
if (deps != NULL)
create_tar(deps, dependents[i], argv[2]);
talloc_free(deps);
}
talloc_free(dependents);
return 0;
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment