Bug#548305: mpdtoys: mpstore fails with "Global symbol "$REUSE" requires explicit package name"

Russ Allbery rra at debian.org
Mon Sep 28 02:33:52 UTC 2009


Joey Hess <joeyh at debian.org> writes:

> Turns out that libaudio-mpd-perl has somehow been broken by
> the libclass-accessor-perl 0.33-1 -> 0.34-1 upgrade.

> This is the relevant code:

> use Readonly;

> use base qw[ Class::Accessor::Fast Exporter ];
> __PACKAGE__->mk_accessors(
>     qw[ _conntype _host _password _port _socket
>         collection playlist version ] );

This broke Lintian as well.  The problem is that Class::Accessor added an
import method, which Audio::MPD is now inheriting instead of the one from
Exporter.  This is apparently intentional on upstream's part (well, not
necessarily the side effect, but the introduction of the method).

> use Exporter 'import';
> use base qw[ Class::Accessor::Fast];

This works, or you can probably just change the order of the classes.

    use base qw[ Exporter Class::Accessor::Fast ];

-- 
Russ Allbery (rra at debian.org)               <http://www.eyrie.org/~eagle/>





More information about the pkg-perl-maintainers mailing list