PerlDancer / Dancer

The easiest way to write web applications with Perl (Perl web micro-framework)
http://perldancer.org/
740 stars 211 forks source link

libdancer-perl: FTBFS: 10_error_dumper_without_clone.t failure #1237

Closed gregoa closed 1 year ago

gregoa commented 1 year ago

We have the following bug reported to the Debian package of Dancer, c.f. https://bugs.debian.org/1023685

It doesn't seem to be a bug in the packaging, so you may want to take a look. Thanks!

------8<-----------8<-----------8<-----------8<-----------8<-----

Source: libdancer-perl
Version: 1.3513+dfsg-1
Severity: serious
Tags: ftbfs sid bookworm
Control: affects -1 libhttp-message-perl

This package fails to build from source on current sid.

   t/12_response/10_error_dumper.t ..................... 
   1..5
   ok 1 - An object of class 'Dancer::Error' isa 'Dancer::Error'
   ok 2 - Data was censored in the output
   ok 3 - Original data was not overwritten
   ok 4 - Censoring of complex data structures works fine
   ok 5 - recursive censored hash
   ok
   Devel::Hide hides Clone.pm
   Can't locate Clone.pm in @INC (hidden)
   BEGIN failed--compilation aborted at /usr/share/perl5/HTTP/Headers.pm line 8.
   Compilation failed in require at /<<PKGBUILDDIR>>/blib/lib/Dancer/Response.pm line 14.
   BEGIN failed--compilation aborted at /<<PKGBUILDDIR>>/blib/lib/Dancer/Response.pm line 14.
   Compilation failed in require at /<<PKGBUILDDIR>>/blib/lib/Dancer/SharedData.pm line 8.
   BEGIN failed--compilation aborted at /<<PKGBUILDDIR>>/blib/lib/Dancer/SharedData.pm line 8.
   Compilation failed in require at /<<PKGBUILDDIR>>/blib/lib/Dancer/Request.pm line 13.
   BEGIN failed--compilation aborted at /<<PKGBUILDDIR>>/blib/lib/Dancer/Request.pm line 13.
   Compilation failed in require at /<<PKGBUILDDIR>>/blib/lib/Dancer/Route.pm line 13.
   BEGIN failed--compilation aborted at /<<PKGBUILDDIR>>/blib/lib/Dancer/Route.pm line 13.
   Compilation failed in require at /<<PKGBUILDDIR>>/blib/lib/Dancer/Route/Registry.pm line 8.
   BEGIN failed--compilation aborted at /<<PKGBUILDDIR>>/blib/lib/Dancer/Route/Registry.pm line 8.
   Compilation failed in require at /<<PKGBUILDDIR>>/blib/lib/Dancer/App.pm line 12.
   BEGIN failed--compilation aborted at /<<PKGBUILDDIR>>/blib/lib/Dancer/App.pm line 12.
   Compilation failed in require at /<<PKGBUILDDIR>>/blib/lib/Dancer.pm line 10.
   BEGIN failed--compilation aborted at /<<PKGBUILDDIR>>/blib/lib/Dancer.pm line 10.
   Compilation failed in require at t/12_response/10_error_dumper_without_clone.t line 17.
   BEGIN failed--compilation aborted at t/12_response/10_error_dumper_without_clone.t line 17.
   t/12_response/10_error_dumper_without_clone.t ....... 
   Dubious, test returned 255 (wstat 65280, 0xff00)
   No subtests run 

I assume this broke with libhttp-message-perl 6.44-1, which is currently
blocked from migrating to testing due to a similar autopkgtest regression.

From the upstream HTTP-Message changelog:

  Changes for version 6.44 - 2022-10-26

  - Made the Clone module a hard requirement, so we don't have to provide
    a fallback function for HTTP::Headers::clone(). We require at least
    Clone 0.46, as that release now supports Perl back to 5.8.1, just like
    us. (GH#184) (Neil Bowers)
  - Import clone from Clone rather than inheriting (GH#189) (Graham Knop)

Looking at the above, my guess is that the Dancer test which "hides
Clone.pm" needs to be updated, as it uses HTTP::Headers which now
requires Clone.
-- 
Niko Tyni   ntyni@debian.org

------8<-----------8<-----------8<-----------8<-----------8<-----

Thanks for considering, gregor herrmann, Debian Perl Group

dakkar commented 1 year ago

the test should just skip_all with HTTP::Message >= 6.44, since Clone has now become a hard requirement for Dancer as well

dakkar commented 1 year ago

see also https://github.com/libwww-perl/HTTP-Message/pull/184

gregoa commented 1 year ago

Quick patch at https://salsa.debian.org/perl-team/modules/packages/libdancer-perl/-/blob/master/debian/patches/test_http_message.patch

cromedome commented 1 year ago

I've merged your patch - thank you! We should have a release for this in the near future.

gregoa commented 1 year ago

Great, thanks!

cromedome commented 1 year ago

New release hit the other day. Let us know if you run into anything.

gregoa commented 1 year ago

Thanks, this looks good now.

Unfortunately I stumbled across #1239 when working on getting the new release into Debian :)