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