diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2015-03-23 08:24:25 +0100 |
---|---|---|
committer | Rémi Verschelde <remi@verschelde.fr> | 2015-03-23 08:24:25 +0100 |
commit | 535660fde655bbde76eb84f4d451044b8a2a2dbf (patch) | |
tree | 3807180cb4713d493f156870df2a46e1e4bf149d | |
parent | 9141b3226676c719f1dfede9ad33a4ea1f510714 (diff) | |
download | rpmdrake-535660fde655bbde76eb84f4d451044b8a2a2dbf.tar rpmdrake-535660fde655bbde76eb84f4d451044b8a2a2dbf.tar.gz rpmdrake-535660fde655bbde76eb84f4d451044b8a2a2dbf.tar.bz2 rpmdrake-535660fde655bbde76eb84f4d451044b8a2a2dbf.tar.xz rpmdrake-535660fde655bbde76eb84f4d451044b8a2a2dbf.zip |
rpmdrake: filter out critical config files from the .rpm{new,save} handling logic after installing packages (Martin Whitaker, mga#14266)
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | Rpmdrake/pkg.pm | 2 | ||||
-rw-r--r-- | Rpmdrake/rpmnew.pm | 7 |
3 files changed, 11 insertions, 2 deletions
@@ -1,3 +1,7 @@ +- rpmdrake: + o filter out critical config files from the .rpm{new,save} handling + logic after installing packages (Martin Whitaker, mga#14266) + Version 6.10.3 - 28 June 2014, Thierry Vignaud - rpmdrake diff --git a/Rpmdrake/pkg.pm b/Rpmdrake/pkg.pm index 907def78..b5e9193c 100644 --- a/Rpmdrake/pkg.pm +++ b/Rpmdrake/pkg.pm @@ -855,7 +855,7 @@ sub perform_installation { #- (partially) duplicated from /usr/sbin/urpmi :-( 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 ]; + $pkg2rpmnew{$pkg->fullname} = [ grep { (-r "$_.rpmnew" || -r "$_.rpmsave") && !ignore_rpmnew($_) } $pkg->conf_files ]; } statusbar_msg_remove($id); dialog_rpmnew(N("The installation is finished; everything was installed correctly. diff --git a/Rpmdrake/rpmnew.pm b/Rpmdrake/rpmnew.pm index ef213a67..cc88b8eb 100644 --- a/Rpmdrake/rpmnew.pm +++ b/Rpmdrake/rpmnew.pm @@ -36,7 +36,7 @@ use mygtk3 qw(gtknew); #- do not import anything else, especially gtkadd() whic use ugtk3 qw(:all); use Exporter; our @ISA = qw(Exporter); -our @EXPORT = qw(dialog_rpmnew do_merge_if_needed); +our @EXPORT = qw(ignore_rpmnew dialog_rpmnew do_merge_if_needed); # /var/lib/nfs/etab /var/lib/nfs/rmtab /var/lib/nfs/xtab /var/cache/man/whatis my %ignores_rpmnew = map { $_ => 1 } qw( @@ -71,6 +71,11 @@ my %ignores_rpmnew = map { $_ => 1 } qw( /etc/sysconfig/xinetd ); +sub ignore_rpmnew { + my ($conf_file) = @_; + $ignores_rpmnew{$conf_file}; +} + sub inspect { my ($file) = @_; my ($rpmnew, $rpmsave) = ("$file.rpmnew", "$file.rpmsave"); |