Bug#1102409: dh-make-perl: trying to execute dh-make-perl --recursive --cpan Net::SSH::Perl leads me to an error
Niko Tyni
ntyni at debian.org
Sat Apr 12 16:55:13 BST 2025
On Tue, Apr 08, 2025 at 11:43:34PM +0200, gregor herrmann wrote:
> On Tue, 08 Apr 2025 21:22:34 +0200, Bardi Laurent wrote:
>
> > Package: dh-make-perl
> > Version: 0.129
> > Severity: important
> >
> > Dear Maintainer,
> >
> > dh-make-perl --recursive --cpan Net::SSH::Perl
> > ....
> > compiling Crypt::Curve25519
> > ...
> > illegal backslash escape sequence in string, at character offset 137 (before "\\@cpan.org>"\n ],...") at /usr/share/perl/5.36/Parse/CPAN/Meta.pm line 57.
> > at /usr/share/perl/5.36/CPAN/Meta.pm line 301.
> > at /usr/share/perl5/DhMakePerl/Command/Packaging.pm line 218.
>
> This parsing error, caused by an invalid upstream META.{json,yaml} file,
> happens in Parse::CPAN::Meta, which comes with perl.
FWIW Crypt::Curve25519 was recently fixed upstream with version 0.08
(2025-04-09), so the immediate issue is hopefully gone.
I see dh-make-perl unconditionally calls CPAN::Meta->load_file() which is
documented to "die if the deserialized version fails to validate against
its stated specification version."
The file was indeed invalid JSON so it did not validate. I'm not sure
what else CPAN::Meta should have done here?
It seems to me that dh-make-perl needs to add exception handling.
Gregor, could you please reassign back if you agree?
--
Niko Tyni ntyni at debian.org
More information about the Perl-maintainers
mailing list