Package: bugs.debian.org
Severity: normal
Tags: patch

When I attempted to tag 845066 pending, it failed in check_limit() since
"source" had not been split into a list.  I'm not sure if there should
be something preventing things from getting in this state, but the
attached patch should at least allow limits to be applied.

-- System Information:
Debian Release: 9.0
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable'), (1, 
'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.9.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
>From cb8b389587012afb051c66705e082ac1873af519 Mon Sep 17 00:00:00 2001
From: James McCoy <james...@debian.org>
Date: Fri, 24 Mar 2017 23:13:09 -0400
Subject: [PATCH] Handle "source" in {split,join}_status_fields

split is needed, at least, when a source package is renamed.
When handling <1490327595-7-bts-james...@debian.org>, set_tag failed
because it didn't know how to handle the "source: msgpack, msgpack-c"
resulting in:

    > limit source msgpack-c
    Limiting to bugs with field 'source' containing at least one of 'msgpack-c'
    Limit currently set to 'source':'msgpack-c'

    > tags 845066 + pending
    source: "msgpack, msgpack-c"' does not match at least one of "msgpack-c"
    Failed to alter tags of Bug 845066: limit failed for bugs: 845066.

    > thanks
    Stopping processing here.

Signed-off-by: James McCoy <james...@debian.org>
---
 Debbugs/Status.pm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Debbugs/Status.pm b/Debbugs/Status.pm
index dabf811..38091cf 100644
--- a/Debbugs/Status.pm
+++ b/Debbugs/Status.pm
@@ -306,6 +306,7 @@ our $ditch_empty = sub{
 my $ditch_empty_space = sub {return &{$ditch_empty}(' ',@_)};
 my %split_fields =
     (package        => \&splitpackages,
+     source         => \&splitpackages,
      affects        => \&splitpackages,
      blocks         => $ditch_empty_space,
      blockedby      => $ditch_empty_space,
@@ -361,6 +362,7 @@ if we transition to split fields by default).
 sub join_status_fields {
     my %join_fields =
        (package        => ', ',
+        source         => ', ',
         affects        => ', ',
         blocks         => ' ',
         blockedby      => ' ',
-- 
2.11.0

Reply via email to