1.1 --- a/src/main.c Fri Jun 20 22:26:41 2008 -0400
1.2 +++ b/src/main.c Mon Jun 23 14:43:08 2008 -0400
1.3 @@ -150,6 +150,7 @@
1.4 struct razor_set *set;
1.5
1.6 set = razor_set_open(repo_filename);
1.7 + razor_set_open_files(set, "system-files.repo");
1.8 if (set == NULL)
1.9 return 1;
1.10 razor_set_list_files(set, argv[0]);
1.11 @@ -167,6 +168,7 @@
1.12 const char *name, *version, *arch;
1.13
1.14 set = razor_set_open(repo_filename);
1.15 + razor_set_open_files(set, "system-files.repo");
1.16 if (set == NULL)
1.17 return 1;
1.18
1.19 @@ -187,6 +189,7 @@
1.20 struct razor_set *set;
1.21
1.22 set = razor_set_open(repo_filename);
1.23 + razor_set_open_files(set, "system-files.repo");
1.24 if (set == NULL)
1.25 return 1;
1.26 razor_set_list_package_files(set, argv[0]);
1.27 @@ -351,7 +354,9 @@
1.28 set = razor_set_create_from_yum();
1.29 if (set == NULL)
1.30 return 1;
1.31 - razor_set_write(set, rawhide_repo_filename);
1.32 + razor_set_write(set, rawhide_repo_filename, RAZOR_REPO_FILE_MAIN);
1.33 + razor_set_write(set, "rawhide-details.repo", RAZOR_REPO_FILE_DETAILS);
1.34 + razor_set_write(set, "rawhide-files.repo", RAZOR_REPO_FILE_FILES);
1.35 razor_set_destroy(set);
1.36 printf("wrote %s\n", rawhide_repo_filename);
1.37
1.38 @@ -366,7 +371,9 @@
1.39 set = razor_set_create_from_rpmdb();
1.40 if (set == NULL)
1.41 return 1;
1.42 - razor_set_write(set, repo_filename);
1.43 + razor_set_write(set, repo_filename, RAZOR_REPO_FILE_MAIN);
1.44 + razor_set_write(set, "system-details.repo", RAZOR_REPO_FILE_DETAILS);
1.45 + razor_set_write(set, "system-files.repo", RAZOR_REPO_FILE_FILES);
1.46 razor_set_destroy(set);
1.47 printf("wrote %s\n", repo_filename);
1.48
1.49 @@ -447,7 +454,7 @@
1.50 }
1.51
1.52 set = razor_transaction_finish(trans);
1.53 - razor_set_write(set, updated_repo_filename);
1.54 + razor_set_write(set, updated_repo_filename, RAZOR_REPO_FILE_MAIN);
1.55 razor_set_destroy(set);
1.56 razor_set_destroy(upstream);
1.57 printf("wrote system-updated.repo\n");
1.58 @@ -480,7 +487,7 @@
1.59 return 1;
1.60
1.61 set = razor_transaction_finish(trans);
1.62 - razor_set_write(set, updated_repo_filename);
1.63 + razor_set_write(set, updated_repo_filename, RAZOR_REPO_FILE_MAIN);
1.64 razor_set_destroy(set);
1.65 razor_set_destroy(upstream);
1.66 printf("wrote system-updated.repo\n");
1.67 @@ -571,7 +578,7 @@
1.68
1.69 set = razor_importer_finish(importer);
1.70
1.71 - razor_set_write(set, repo_filename);
1.72 + razor_set_write(set, repo_filename, RAZOR_REPO_FILE_MAIN);
1.73 razor_set_destroy(set);
1.74 printf("wrote %s\n", repo_filename);
1.75
1.76 @@ -769,6 +776,42 @@
1.77 return 0;
1.78 }
1.79
1.80 +static int
1.81 +command_info(int argc, const char *argv[])
1.82 +{
1.83 + struct razor_set *set;
1.84 + struct razor_package_iterator *pi;
1.85 + struct razor_package *package;
1.86 + const char *pattern = argv[0], *name, *version, *arch;
1.87 + const char *summary, *description, *url, *license;
1.88 +
1.89 + set = razor_set_open(repo_filename);
1.90 + razor_set_open_details(set, "system-details.repo");
1.91 + pi = razor_package_iterator_create(set);
1.92 + while (razor_package_iterator_next(pi, &package,
1.93 + &name, &version, &arch)) {
1.94 + if (pattern && fnmatch(pattern, name, 0) != 0)
1.95 + continue;
1.96 +
1.97 + razor_package_get_details (set, package, &summary, &description,
1.98 + &url, &license);
1.99 +
1.100 + printf ("Name: %s\n", name);
1.101 + printf ("Arch: %s\n", arch);
1.102 + printf ("Version: %s\n", version);
1.103 + printf ("URL: %s\n", url);
1.104 + printf ("License: %s\n", license);
1.105 + printf ("Summary: %s\n", summary);
1.106 + printf ("Description:\n");
1.107 + printf ("%s\n", description);
1.108 + printf ("\n");
1.109 + }
1.110 + razor_package_iterator_destroy(pi);
1.111 + razor_set_destroy(set);
1.112 +
1.113 + return 0;
1.114 +}
1.115 +
1.116 static struct {
1.117 const char *name;
1.118 const char *description;
1.119 @@ -792,7 +835,8 @@
1.120 { "diff", "show diff between two package sets", command_diff },
1.121 { "install", "install rpm", command_install },
1.122 { "init", "init razor root", command_init },
1.123 - { "download", "download packages", command_download }
1.124 + { "download", "download packages", command_download },
1.125 + { "info", "display package details", command_info }
1.126 };
1.127
1.128 static int