1.1 --- a/main.c Thu Jan 17 23:36:12 2008 -0500
1.2 +++ b/main.c Wed Feb 20 16:54:03 2008 -0500
1.3 @@ -14,6 +14,10 @@
1.4 static const char *rawhide_repo_filename = "rawhide.repo";
1.5 static const char *updated_repo_filename = "system-updated.repo";
1.6
1.7 +static const char *relations[] = {
1.8 + "<", "<=", "=", ">=", ">"
1.9 +};
1.10 +
1.11 static int
1.12 command_list(int argc, const char *argv[])
1.13 {
1.14 @@ -46,6 +50,7 @@
1.15 struct razor_property_iterator *pi;
1.16 const char *name, *version;
1.17 enum razor_property_type type;
1.18 + enum razor_version_relation relation;
1.19
1.20 set = razor_set_open(repo_filename);
1.21 if (package_name)
1.22 @@ -55,13 +60,15 @@
1.23
1.24 pi = razor_property_iterator_create(set, package);
1.25 while (razor_property_iterator_next(pi, &property,
1.26 - &name, &version, &type)) {
1.27 + &name, &relation, &version,
1.28 + &type)) {
1.29 if (type != required_type)
1.30 continue;
1.31 if (version[0] == '\0')
1.32 printf("%s\n", name);
1.33 else
1.34 - printf("%s-%s\n", name, version);
1.35 + printf("%s %s %s\n", name, relations[relation],
1.36 + version);
1.37 }
1.38 razor_property_iterator_destroy(pi);
1.39
1.40 @@ -168,6 +175,7 @@
1.41 struct razor_property_iterator *pi;
1.42 const char *name, *version;
1.43 enum razor_property_type type;
1.44 + enum razor_version_relation relation;
1.45
1.46 if (ref_name == NULL)
1.47 return 0;
1.48 @@ -178,10 +186,12 @@
1.49
1.50 pi = razor_property_iterator_create(set, NULL);
1.51 while (razor_property_iterator_next(pi, &property,
1.52 - &name, &version, &type)) {
1.53 + &name, &relation, &version,
1.54 + &type)) {
1.55 if (strcmp(ref_name, name) != 0)
1.56 continue;
1.57 - if (ref_version && strcmp(ref_version, version) != 0)
1.58 + if (ref_version && relation == RAZOR_VERSION_EQUAL &&
1.59 + strcmp(ref_version, version) != 0)
1.60 continue;
1.61 if (ref_type != type)
1.62 continue;