main.c
changeset 126 3142795705a5
parent 102 337a7a55e2c6
child 129 d221757574c1
     1.1 --- a/main.c	Thu Jan 17 23:36:12 2008 -0500
     1.2 +++ b/main.c	Wed Feb 20 12:42:42 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;