diff -r d15a16347c77 -r ee438b1e94c0 librazor/razor.c --- a/librazor/razor.c Tue Jul 07 22:50:22 2009 +0100 +++ b/librazor/razor.c Thu Jul 09 00:01:18 2009 +0100 @@ -498,25 +498,19 @@ environment_add_variable(&env, buffer, prefix); link = list_next(link); } + environment_set(&env); razor_package_get_details(set, package, RAZOR_DETAIL_PREUNPROG, &program, RAZOR_DETAIL_PREUN, &script, RAZOR_DETAIL_LAST); - environment_set(&env); retval = razor_run_script(root, RAZOR_PROPERTY_PREUN, program, script, install_count); - environment_unset(&env); - if (retval) { - environment_release(&env); - return -1; - } + fi = razor_file_iterator_create(set, package, 1); - fi = razor_file_iterator_create(set, package); - - while (!retval && razor_file_iterator_next(fi, &name)) { + while (razor_file_iterator_next(fi, &name)) { pi = razor_package_iterator_create_for_file(set, name); count = 0; while (razor_package_iterator_next(pi, &p, RAZOR_DETAIL_LAST)) @@ -524,27 +518,25 @@ razor_package_iterator_destroy(pi); if (count <= 1) { snprintf(buffer, sizeof buffer, "%s%s", root, name); - retval = remove(buffer); + if (razor_remove(buffer) && errno != ENOENT) { + perror(name); + retval = -1; + } } } razor_file_iterator_destroy(fi); - if (retval) { - environment_release(&env); - return retval; - } - razor_package_get_details(set, package, RAZOR_DETAIL_POSTUNPROG, &program, RAZOR_DETAIL_POSTUN, &script, RAZOR_DETAIL_LAST); - environment_set(&env); - retval = razor_run_script(root, RAZOR_PROPERTY_POSTUN, program, script, - install_count); + if (razor_run_script(root, RAZOR_PROPERTY_POSTUN, program, script, + install_count)) + retval = -1; + environment_unset(&env); - environment_release(&env); return retval; @@ -700,7 +692,7 @@ assert (set != NULL); assert (package != NULL); - fi = razor_file_iterator_create(set, package); + fi = razor_file_iterator_create(set, package, 0); while (razor_file_iterator_next(fi, &name)) printf("%s\n", name);