Get version flags for requires in rpmdb importer.
authorKristian H?gsberg <krh@redhat.com>
Sat Sep 29 23:30:35 2007 -0400 (2007-09-29)
changeset 42aedfc8f95227
parent 41 7eea400e19db
child 43 d37d57c99cac
Get version flags for requires in rpmdb importer.
import.c
     1.1 --- a/import.c	Sat Sep 29 19:25:38 2007 -0400
     1.2 +++ b/import.c	Sat Sep 29 23:30:35 2007 -0400
     1.3 @@ -283,6 +283,7 @@
     1.4  	void *p;
     1.5  	char *string;
     1.6  	char **list;
     1.7 +	unsigned int *flags;
     1.8  };
     1.9  
    1.10  struct razor_set *
    1.11 @@ -292,7 +293,8 @@
    1.12  	rpmdbMatchIterator iter;
    1.13  	Header h;
    1.14  	int_32 type, count, i;
    1.15 -	union rpm_entry name, version, release, properties, property_versions;
    1.16 +	union rpm_entry name, version, release;
    1.17 +	union rpm_entry property_names, property_versions, property_flags;
    1.18  	rpmdb db;
    1.19  
    1.20  	rpmReadConfigFiles(NULL, NULL);
    1.21 @@ -307,27 +309,29 @@
    1.22  	iter = rpmdbInitIterator(db, 0, NULL, 0);
    1.23  	while (h = rpmdbNextIterator(iter), h != NULL) {
    1.24  		headerGetEntry(h, RPMTAG_NAME, &type, &name.p, &count);
    1.25 -		headerGetEntry(h, RPMTAG_VERSION, &type,&version.p, &count);
    1.26 +		headerGetEntry(h, RPMTAG_VERSION, &type, &version.p, &count);
    1.27  		headerGetEntry(h, RPMTAG_RELEASE, &type, &release.p, &count);
    1.28  		razor_importer_begin_package(importer,
    1.29  					     name.string, version.string);
    1.30  
    1.31 -		headerGetEntry(h, RPMTAG_REQUIRES, &type,
    1.32 -			       &properties.p, &count);
    1.33 +		headerGetEntry(h, RPMTAG_REQUIRENAME, &type,
    1.34 +			       &property_names.p, &count);
    1.35  		headerGetEntry(h, RPMTAG_REQUIREVERSION, &type,
    1.36  			       &property_versions.p, &count);
    1.37 +		headerGetEntry(h, RPMTAG_REQUIREFLAGS, &type,
    1.38 +			       &property_flags.p, &count);
    1.39  		for (i = 0; i < count; i++)
    1.40  			razor_importer_add_requires(importer,
    1.41 -						    properties.list[i],
    1.42 +						    property_names.list[i],
    1.43  						    property_versions.list[i]);
    1.44  
    1.45 -		headerGetEntry(h, RPMTAG_PROVIDES, &type,
    1.46 -			       &properties.p, &count);
    1.47 +		headerGetEntry(h, RPMTAG_PROVIDENAME, &type,
    1.48 +			       &property_names.p, &count);
    1.49  		headerGetEntry(h, RPMTAG_PROVIDEVERSION, &type,
    1.50  			       &property_versions.p, &count);
    1.51  		for (i = 0; i < count; i++)
    1.52  			razor_importer_add_provides(importer,
    1.53 -						    properties.list[i],
    1.54 +						    property_names.list[i],
    1.55  						    property_versions.list[i]);
    1.56  
    1.57  		razor_importer_finish_package(importer);