librazor/razor.c
changeset 378 ee438b1e94c0
parent 376 d15a16347c77
child 382 4e261a14a6bd
     1.1 --- a/librazor/razor.c	Tue Jul 07 22:50:22 2009 +0100
     1.2 +++ b/librazor/razor.c	Thu Jul 09 00:01:18 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);