union rpm_entry basenames, dirnames, dirindexes;
char filename[PATH_MAX], evr[128], buf[16];
rpmdb db;
+ int imported_count = 0;
rpmReadConfigFiles(NULL, NULL);
}
razor_importer_finish_package(importer);
+
+ printf("\rimporting %d", ++imported_count);
+ fflush(stdout);
}
rpmdbClose(db);
+ printf("\nsaving\n");
return razor_importer_finish(importer);
}
char pkgid[128];
uint32_t property_type;
int state;
+
+ int total, current;
};
static uint32_t
uint32_t pre, relation, flags;
int i;
- if (strcmp(name, "name") == 0) {
+ if (strcmp(name, "metadata") == 0) {
+ for (i = 0; atts[i]; i += 2) {
+ if (strcmp(atts[i], "packages") == 0)
+ ctx->total = atoi(atts[i + 1]);
+ }
+ } else if (strcmp(name, "name") == 0) {
ctx->state = YUM_STATE_PACKAGE_NAME;
ctx->p = ctx->name;
} else if (strcmp(name, "arch") == 0) {
XML_StopParser(ctx->current_parser, XML_TRUE);
ctx->current_parser = ctx->filelists_parser;
+
+ printf("\rimporting %d/%d", ++ctx->current, ctx->total);
+ fflush(stdout);
}
}
ctx.current_parser = ctx.primary_parser;
+ ctx.current = 0;
+
do {
XML_GetParsingStatus(ctx.current_parser, &status);
switch (status.parsing) {
gzclose(primary);
gzclose(filelists);
+ printf ("\nsaving\n");
return razor_importer_finish(ctx.importer);
}
struct razor_importer *importer;
struct razor_set *set;
struct razor_rpm *rpm;
- int len;
+ int len, imported_count = 0;
char filename[256];
const char *dirname = argv[0];
break;
}
razor_rpm_close(rpm);
+
+ printf("\rimporting %d", ++imported_count);
+ fflush(stdout);
}
if (de != NULL) {
return -1;
}
+ printf("\nsaving\n");
set = razor_importer_finish(importer);
razor_set_write(set, repo_filename, RAZOR_REPO_FILE_MAIN);