Bug#689508: ignore obsolete conffiles which are not owned by the package
Axel Beckert
abe at debian.org
Tue Apr 25 00:11:32 UTC 2017
Control: tag -1 - help + moreinfo
Hi Andreas,
thanks for the prompt feedback.
Andreas Beckmann wrote:
> On 2017-04-25 01:25, Axel Beckert wrote:
> > Holger suggested recently on IRC to try get that patch of yours to
> > Stretch.
>
> I've been running debsums with that patch on my piuparts instance since
> I posted it, and it helped reducing weird errors (rerunning all the
> strange logs) :-)
> So I'm all for seeing it in stretch :-)
Ok, will work towards that.
> > Is the above an indicator for not doing so or rather showing how
> > important it would be? Can't tell, sorry.
>
> It's a possible regression ... in a corner case and so far it only
> happened in a buggy package. Maybe it even revealed that buggy package.
> If it shows up elsewhere as a real regression, I'll dig further into it.
Ok.
Below is a suggested patch for a variant where the ignoring of
obsolete conffiles can be disabled with a commandline option.
I'd be very happy if you could test this patch on a known case and
tell me
A) if it is compatible with your patch (i.e. I didn't introduce a
regression when adding the option)
B) turning this setting off really works as documented.
I'm currently doing these modifications in a feature branch at
https://anonscm.debian.org/cgit/pkg-perl/packages/debsums.git/log/?h=ignore-obsolete-689508
(There you'll also find the updated man page.)
The patch:
diff --git a/debsums b/debsums
index faee262..6043a1e 100755
--- a/debsums
+++ b/debsums
@@ -78,6 +78,7 @@ Options:
is configured
--no-prelink report changed ELF files even if prelink is
configured
+ --no-ignore-obsolete don't ignore obsolete conffiles.
--help print this help, then exit
--version print version number, then exit
EOT
@@ -98,6 +99,7 @@ GetOptions (
'locale-purge!' => \my $localepurge,
'prelink!' => \my $prelink,
'ignore-permissions' => \my $ignore_permissions,
+ 'ignore-obsolete!' => \my $ignore_obsolete,
g => sub { $gen_opt = 'missing' },
help => sub { print $help; exit },
version => sub { print version_info(); exit },
@@ -206,6 +208,9 @@ if (!defined $prelink or $prelink)
($prelink) = grep -x, map +("$_.bin", $_), '/usr/sbin/prelink';
}
+# default is to use ignore obsolete conffiles, see #689508
+$ignore_obsolete = 1 unless defined $ignore_obsolete;
+
$silent++ if $changed;
my @debpath = '.';
@@ -262,7 +267,9 @@ my %replaced;
$package_name{$field{"Package"}} = $field{"binary:Package"};
}
$installed{$field{"binary:Package"}}{Conffiles} = {
- map m!^\s*/(\S+)\s+([\da-f]+)!, split /\n/, $field{Conffiles}
+ map m!^\s*/(\S+)\s+([\da-f]+)!,
+ grep { not ($ignore_obsolete and / obsolete$/) }
+ split /\n/, $field{Conffiles}
} if $field{Conffiles};
for (split /,\s*/, $field{Replaces})
Regards, Axel
--
,''`. | Axel Beckert <abe at debian.org>, http://people.debian.org/~abe/
: :' : | Debian Developer, ftp.ch.debian.org Admin
`. `' | 4096R: 2517 B724 C5F6 CA99 5329 6E61 2FF9 CD59 6126 16B5
`- | 1024D: F067 EA27 26B9 C3FC 1486 202E C09E 1D89 9593 0EDE
More information about the pkg-perl-maintainers
mailing list