1.1 --- a/librazor/razor.c Tue Jul 07 22:50:22 2009 +0100
1.2 +++ b/librazor/razor.c Tue Aug 11 12:53:16 2009 +0100
1.3 @@ -498,25 +498,19 @@
1.4 environment_add_variable(&env, buffer, prefix);
1.5 link = list_next(link);
1.6 }
1.7 + environment_set(&env);
1.8
1.9 razor_package_get_details(set, package,
1.10 RAZOR_DETAIL_PREUNPROG, &program,
1.11 RAZOR_DETAIL_PREUN, &script,
1.12 RAZOR_DETAIL_LAST);
1.13
1.14 - environment_set(&env);
1.15 retval = razor_run_script(root, RAZOR_PROPERTY_PREUN, program, script,
1.16 install_count);
1.17 - environment_unset(&env);
1.18
1.19 - if (retval) {
1.20 - environment_release(&env);
1.21 - return -1;
1.22 - }
1.23 + fi = razor_file_iterator_create(set, package, 1);
1.24
1.25 - fi = razor_file_iterator_create(set, package);
1.26 -
1.27 - while (!retval && razor_file_iterator_next(fi, &name)) {
1.28 + while (razor_file_iterator_next(fi, &name)) {
1.29 pi = razor_package_iterator_create_for_file(set, name);
1.30 count = 0;
1.31 while (razor_package_iterator_next(pi, &p, RAZOR_DETAIL_LAST))
1.32 @@ -524,27 +518,25 @@
1.33 razor_package_iterator_destroy(pi);
1.34 if (count <= 1) {
1.35 snprintf(buffer, sizeof buffer, "%s%s", root, name);
1.36 - retval = remove(buffer);
1.37 + if (razor_remove(buffer) && errno != ENOENT) {
1.38 + perror(name);
1.39 + retval = -1;
1.40 + }
1.41 }
1.42 }
1.43
1.44 razor_file_iterator_destroy(fi);
1.45
1.46 - if (retval) {
1.47 - environment_release(&env);
1.48 - return retval;
1.49 - }
1.50 -
1.51 razor_package_get_details(set, package,
1.52 RAZOR_DETAIL_POSTUNPROG, &program,
1.53 RAZOR_DETAIL_POSTUN, &script,
1.54 RAZOR_DETAIL_LAST);
1.55
1.56 - environment_set(&env);
1.57 - retval = razor_run_script(root, RAZOR_PROPERTY_POSTUN, program, script,
1.58 - install_count);
1.59 + if (razor_run_script(root, RAZOR_PROPERTY_POSTUN, program, script,
1.60 + install_count))
1.61 + retval = -1;
1.62 +
1.63 environment_unset(&env);
1.64 -
1.65 environment_release(&env);
1.66
1.67 return retval;
1.68 @@ -700,7 +692,7 @@
1.69 assert (set != NULL);
1.70 assert (package != NULL);
1.71
1.72 - fi = razor_file_iterator_create(set, package);
1.73 + fi = razor_file_iterator_create(set, package, 0);
1.74
1.75 while (razor_file_iterator_next(fi, &name))
1.76 printf("%s\n", name);