Package: mailscripts
Version: 0.19-1
Severity: normal
Tags: patch
File: /usr/bin/notmuch-slurp-debbug

I'm under the impression that
https://git.spwhitton.name/mailscripts/commit/notmuch-slurp-debbug?id=f3a9d113fd89db152db9cd2f061fc8f7367f0fc9
broke notmuch-slurp-debug ability to load its configuration file, by
replacing the previously correct usage of Config::Tiny OOP interface
with a non-OOP invocation style that Config::Tiny does not support.

Here's the stacktrace:

    $ perl -d /bin/notmuch-slurp-debbug 942728

    Loading DB routines from perl5db.pl version 1.55
    Editor support available.
    
    Enter h or 'h h' for help, or 'man perldebug' for more help.
    
    main::(/bin/notmuch-slurp-debbug:30):
    30: my $bts = "https://bugs.debian.org";;
      DB<1> n
    main::(/bin/notmuch-slurp-debbug:31):
    31: GetOptions "bts-server=s" => \$bts;
      DB<1> 
    main::(/bin/notmuch-slurp-debbug:33):
    33: die "usage: notmuch-slurp-debbug [--bts-server=SERVER] BUG"
    34:   unless @ARGV == 1;
      DB<1> 
    main::(/bin/notmuch-slurp-debbug:35):
    35: die "notmuch-slurp-debbug: this script requires notmuch to be installed"
    36:   unless which "notmuch";
      DB<1> 
    main::(/bin/notmuch-slurp-debbug:37):
    37: die "notmuch-slurp-debbug: this script requires the 'devscripts' apt 
package"
    38:   unless which "bts";
      DB<1> 
    main::(/bin/notmuch-slurp-debbug:39):
    39: my $bug = pop @ARGV;
      DB<1> 
    main::(/bin/notmuch-slurp-debbug:41):
    41: my $mgr = Mail::Box::Manager->new;
      DB<1> 
    main::(/bin/notmuch-slurp-debbug:42):
    42: my $maildir;
      DB<1> 
    main::(/bin/notmuch-slurp-debbug:43):
    43: my $conf_r = $ENV{XDG_CONFIG_HOME} || catfile $ENV{HOME}, ".config";
      DB<1> 
    main::(/bin/notmuch-slurp-debbug:44):
    44: my $conf_f = catfile $conf_r, "mailscripts", "notmuch-slurp-debbug";
      DB<1> x $conf_r
    0  '/home/intrigeri/.config'
      DB<2> x $conf_f
    0  undef
      DB<3> n
    main::(/bin/notmuch-slurp-debbug:45):
    45: if (-f $conf_f) {
      DB<3> x $conf_f
    0  '/home/intrigeri/.config/mailscripts/notmuch-slurp-debbug'
      DB<4> n
    main::(/bin/notmuch-slurp-debbug:46):
    46:     my $Config = Config::Tiny::read($conf_f);
      DB<4> x $conf_f
    0  '/home/intrigeri/.config/mailscripts/notmuch-slurp-debbug'
      DB<5> n
    Can't locate object method "_error" via package 
"/home/intrigeri/.config/mailscripts/notmuch-slurp-debbug" (perhaps you forgot 
to load "/home/intrigeri/.config/mailscripts/notmuch-slurp-debbug"?) at 
/usr/share/perl5/Config/Tiny.pm line 27.
     at /usr/share/perl5/Config/Tiny.pm line 27.
        
Config::Tiny::read("/home/intrigeri/.config/mailscripts/notmuch-slurp-debbug") 
called at /bin/notmuch-slurp-debbug line 46
    Debugged program terminated.  Use q to quit or R to restart,
    use o inhibit_exit to avoid stopping after program termination,

-- System Information:
Debian Release: bullseye/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (2, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 5.5.0-2-amd64 (SMP w/8 CPU cores)
Kernel taint flags: TAINT_USER
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages mailscripts depends on:
ii  libconfig-tiny-perl        2.24-1
ii  libfile-which-perl         1.23-1
ii  libipc-system-simple-perl  1.30-1
ii  liblist-moreutils-perl     0.416-1+b5
ii  libmail-box-perl           3.008-1
ii  perl                       5.30.0-10
ii  python3                    3.8.2-3

Versions of packages mailscripts recommends:
ii  devscripts           2.20.2
ii  git                  1:2.26.2-1
ii  notmuch              0.29.3-1+b2
ii  python3-argcomplete  1.8.1-1.3
ii  python3-gssapi       1.6.1-1+b1
ii  python3-pgpy         0.5.2-2

Versions of packages mailscripts suggests:
ii  gnutls-bin  3.6.13-2
ii  gpg         2.2.20-1
ii  gpg-agent   2.2.20-1
ii  gpgsm       2.2.20-1
ii  openssl     1.1.1f-1

-- no debconf information

>From 0169cd44ae50b30e14d82eecb66726c12710b110 Mon Sep 17 00:00:00 2001
From: intrigeri <intrig...@boum.org>
Date: Tue, 21 Apr 2020 13:26:07 +0200
Subject: [PATCH] notmuch-slurp-debbug: Fix ability to read configuration file

Config::Tiny::read is a method meant to take two arguments, the second one
being the configuration file name.

Fixes regression introduced in f3a9d113fd89db152db9cd2f061fc8f7367f0fc9.
---
 notmuch-slurp-debbug | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/notmuch-slurp-debbug b/notmuch-slurp-debbug
index c187596..ad0db47 100755
--- a/notmuch-slurp-debbug
+++ b/notmuch-slurp-debbug
@@ -43,8 +43,7 @@ my $maildir;
 my $conf_r = $ENV{XDG_CONFIG_HOME} || catfile $ENV{HOME}, ".config";
 my $conf_f = catfile $conf_r, "mailscripts", "notmuch-slurp-debbug";
 if (-f $conf_f) {
-    my $Config = Config::Tiny::read($conf_f);
-    $maildir = $Config->{_}->{maildir};
+    $maildir = Config::Tiny->new->read($conf_f)->{_}->{maildir};
 } else {
     # default to where a lot of people have their inbox
     chomp(my $database_path = `notmuch config get database.path`);
-- 
2.26.2

Reply via email to