aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <tv@mageia.org>2012-12-06 09:01:07 +0000
committerThierry Vignaud <tv@mageia.org>2012-12-06 09:01:07 +0000
commit7920b8e910fc6a8e0bc547451d8edfcf4a3a9b4d (patch)
tree59757185bbbd142caf10da945aa138322e8071ef
parent79776b47e63cda7b4d88ccc128c4e3c352d328db (diff)
downloadrpmdrake-7920b8e910fc6a8e0bc547451d8edfcf4a3a9b4d.tar
rpmdrake-7920b8e910fc6a8e0bc547451d8edfcf4a3a9b4d.tar.gz
rpmdrake-7920b8e910fc6a8e0bc547451d8edfcf4a3a9b4d.tar.bz2
rpmdrake-7920b8e910fc6a8e0bc547451d8edfcf4a3a9b4d.tar.xz
rpmdrake-7920b8e910fc6a8e0bc547451d8edfcf4a3a9b4d.zip
(post_extract) keep IDs of packages rather than their paths
(success_summary) look at _all_ config files and only those instead of manually matching file paths beginning with "^/etc" (mga#8310) also do not fork useless rpm processes
-rw-r--r--NEWS2
-rw-r--r--Rpmdrake/pkg.pm10
2 files changed, 7 insertions, 5 deletions
diff --git a/NEWS b/NEWS
index c27efe18..7f1e483d 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,6 @@
- cleanups
+- look at _all_ config files and only those instead of manually
+ matching file paths beginning with "^/etc" (mga#8310)
Version 5.39 - 28 October 2012, Funda Wang
diff --git a/Rpmdrake/pkg.pm b/Rpmdrake/pkg.pm
index 1b362789..19d4fed9 100644
--- a/Rpmdrake/pkg.pm
+++ b/Rpmdrake/pkg.pm
@@ -805,7 +805,7 @@ sub perform_installation { #- (partially) duplicated from /usr/sbin/urpmi :-(
$transaction_progress_nb = 0;
$done += grep { !/\.src\.rpm$/ } values %$transaction_sources; #updates
$total = keys(%$transaction_sources_install) + keys %$transaction_sources;
- push @rpms_upgrade, grep { !/\.src\.rpm$/ } values %$transaction_sources;
+ push @rpms_upgrade, keys %$transaction_sources;
$done += grep { !/\.src\.rpm$/ } values %$transaction_sources_install; # installs
},
pre_removable => sub {
@@ -868,10 +868,10 @@ sub perform_installation { #- (partially) duplicated from /usr/sbin/urpmi :-(
}
my $id = statusbar_msg(N("Inspecting configuration files..."), 0);
my %pkg2rpmnew;
- foreach my $u (@rpms_upgrade) {
- $u =~ m|/([^/]+-[^-]+-[^-]+)\.[^\./]+\.rpm$|
- and $pkg2rpmnew{$1} = [ grep { m|^/etc| && (-r "$_.rpmnew" || -r "$_.rpmsave") }
- map { chomp_($_) } run_rpm("rpm -ql $1") ];
+ foreach my $id (@rpms_upgrade) {
+ my $pkg = $urpm->{depslist}[$id];
+ next if $pkg->arch eq 'src';
+ $pkg2rpmnew{$pkg->fullname} = [ grep { -r "$_.rpmnew" || -r "$_.rpmsave" } $pkg->conf_files ];
}
statusbar_msg_remove($id);
dialog_rpmnew(N("The installation is finished; everything was installed correctly.