src/main.c
changeset 372 6e93e5485947
parent 369 f8c27fe9fe63
child 373 fda83d91e600
     1.1 --- a/src/main.c	Fri Jun 12 16:59:11 2009 +0100
     1.2 +++ b/src/main.c	Fri Jul 03 18:02:33 2009 +0100
     1.3 @@ -808,6 +808,7 @@
     1.4  static struct razor_set *
     1.5  relocate_packages(struct razor_set *set, struct razor_relocations *relocations)
     1.6  {
     1.7 +	int i;
     1.8  	struct razor_importer *importer;
     1.9  	struct razor_property_iterator *prop_iter;
    1.10  	struct razor_package_iterator *pkg_iter;
    1.11 @@ -817,6 +818,8 @@
    1.12  	struct razor_rpm *rpm;
    1.13  	const char *name, *version, *arch, *summary, *desc, *url, *license;
    1.14  	const char *preunprog, *preun, *postunprog, *postun;
    1.15 +	const char *install_prefix;
    1.16 +	const char *const *prefixes;
    1.17  	char file[PATH_MAX];
    1.18  	uint32_t flags;
    1.19  
    1.20 @@ -847,12 +850,22 @@
    1.21  		}
    1.22  
    1.23  		razor_relocations_set_rpm(relocations, rpm);
    1.24 -		razor_rpm_close(rpm);
    1.25  
    1.26  		razor_importer_begin_package(importer, name, version, arch);
    1.27  		razor_importer_add_details(importer,
    1.28  					   summary, desc, url, license);
    1.29  
    1.30 +		razor_rpm_get_details(rpm, RAZOR_DETAIL_PREFIXES, &prefixes,
    1.31 +				      RAZOR_DETAIL_LAST);
    1.32 +		for (i = 0; prefixes && prefixes[i]; i++) {
    1.33 +			install_prefix = razor_relocations_apply(relocations,
    1.34 +								 prefixes[i]);
    1.35 +			razor_importer_add_install_prefix(importer,
    1.36 +							  install_prefix);
    1.37 +		}
    1.38 +
    1.39 +		razor_rpm_close(rpm);
    1.40 +
    1.41  		prop_iter = razor_property_iterator_create(set, package);
    1.42  		while (razor_property_iterator_next(prop_iter, &property,
    1.43  						    &name, &flags, &version))