Fix long-standing bug causing install prefixes not to be recorded
authorJ. Ali Harlow <ali@juiblex.co.uk>
Mon Nov 17 11:30:24 2014 +0000 (2014-11-17)
changeset 269816b7a56c23
parent 25 e10f418d8e1d
child 27 7fbec6da8123
Fix long-standing bug causing install prefixes not to be recorded
plover/packageset.c
     1.1 --- a/plover/packageset.c	Sat Nov 15 19:10:51 2014 +0000
     1.2 +++ b/plover/packageset.c	Mon Nov 17 11:30:24 2014 +0000
     1.3 @@ -241,17 +241,19 @@
     1.4    struct razor_relocations *relocations,struct razor_importer *importer,
     1.5    PloverPackage *package,GError **error)
     1.6  {
     1.7 +    int i;
     1.8      struct razor_property_iterator *prop_iter;
     1.9      struct razor_file_iterator *file_iter;
    1.10      struct razor_rpm *rpm;
    1.11      struct razor_property *prop;
    1.12      const char *name,*version,*arch,*summary,*desc,*url,*license;
    1.13 +    const char *install_prefix;
    1.14 +    const char *const *prefixes;
    1.15      uint32_t flags;
    1.16      rpm=plover_repository_open_rpm(repository,package,error);
    1.17      if (!rpm)
    1.18  	return FALSE;
    1.19      razor_relocations_set_rpm(relocations,rpm);
    1.20 -    razor_rpm_close(rpm);
    1.21      name=plover_package_get_name(package);
    1.22      version=plover_package_get_version(package);
    1.23      arch=plover_package_get_arch(package);
    1.24 @@ -261,6 +263,14 @@
    1.25      url=plover_package_get_URL(package);
    1.26      license=plover_package_get_license(package);
    1.27      razor_importer_add_details(importer,summary,desc,url,license);
    1.28 +    razor_rpm_get_details(rpm,RAZOR_DETAIL_PREFIXES,&prefixes,
    1.29 +      RAZOR_DETAIL_LAST);
    1.30 +    for(i=0;prefixes && prefixes[i];i++)
    1.31 +    {
    1.32 +	install_prefix=razor_relocations_apply(relocations,prefixes[i]);
    1.33 +	razor_importer_add_install_prefix(importer,install_prefix);
    1.34 +    }
    1.35 +    razor_rpm_close(rpm);
    1.36      prop_iter=plover_package_property_iterator_create(package);
    1.37      while (razor_property_iterator_next(prop_iter,&prop,&name,&flags,&version))
    1.38  	razor_importer_add_property(importer,name,flags,version);