diff -r df914f383f5c -r 51a084acef49 src/main.c --- a/src/main.c Thu Oct 09 17:27:41 2014 +0100 +++ b/src/main.c Fri Oct 17 10:08:28 2014 +0100 @@ -1671,6 +1671,35 @@ } static int +command_dump(int argc, char * const argv[]) +{ + struct razor_error *error = NULL; + const char *filename; + + switch (razor_getopt(argc, argv, 0, NULL, "[filename]", NULL)) { + case -2: + return 0; + case -1: + return 1; + } + + if (argc - optind > 1) { + razor_usage(argv[0], 0, NULL, "[filename]"); + return 1; + } + + filename = argv[optind]; + + if (razor_dump_database(stdout, install_root, filename, &error)) { + fprintf(stderr, "%s\n", razor_error_get_msg(error)); + razor_error_free(error); + return 1; + } + + return 0; +} + +static int command_info(int argc, char * const argv[]) { struct razor_error *error = NULL; @@ -1796,6 +1825,7 @@ } razor_commands[] = { { "diff", "Show diff between two package sets", command_diff }, { "download", "Download packages", command_download }, + { "dump", "Low-level database dump (for debugging)", command_dump }, { "help", "List available commands", command_help }, #if HAVE_RPMLIB { "import-rpmdb", "Import the system rpm database",