On Tue, 07 Aug 2018 07:01:15 +0000, Damyan Ivanov wrote: > Package: license-reconcile > Version: 0.15 > Severity: serious > > license-reconcile fails to build with libsoftware-license-perl 0.103013-2 or > later because of failing tests: > > # Failed test 'no warnings' > # at /usr/share/perl/5.28/Test/Builder.pm line 158. > # There were 12 warning(s) > # Previous test 0 '' > # debian_text method is deprecated. Please use summary_or_text > methodfrom Software::LicenseMoreUtils at t/08-licensecheck.t line 57. > # at /usr/share/perl5/Software/License.pm line 96, <DATA> line 6. > # > Software::License::debian_text(Software::License::Apache_2_0=HASH(0x55ba508b14c0)) > called at t/08-licensecheck.t line 57 > # > ... > > This seems to be caused by the add-debian-text-method patch, part of > libsoftware-license-perl since 0.103013-2. > > Full build logs can be seen on > https://ci.debian.net/packages/l/license-reconcile/
I had a look at this, but either I don't understand the Software::License* modules not well enough, or there's something weird going on. With the following patch (also in git): #v+ --- a/t/08-licensecheck.t +++ b/t/08-licensecheck.t @@ -6,7 +6,7 @@ use Test::NoWarnings; use Debian::LicenseReconcile::LicenseCheck; use Readonly; use File::Temp qw(); -use Software::License; +use Software::LicenseMoreUtils; use Data::Dumper; require UNIVERSAL::require; @@ -46,15 +46,14 @@ my $dir = File::Temp->newdir('t/slgenXXXXX'); my $year = 2000; foreach my $license (@LICENSES) { my $slfile = $dir->dirname . "/$license"; - my $module = "Software::License::$license"; - $module->require; - my $slobj = $module->new({ + my $slobj = Software::LicenseMoreUtils->new_from_short_name({ holder => 'Testophilus Testownik <tes...@testity.org>', year=>$year, + short_name => $license, }); open my $fh, '>', $slfile; print $fh $slobj->notice; - print $fh $slobj->debian_text; + print $fh $slobj->summary_or_text; close $fh; ++$year; } #v- the tests kind of work, except that they fail for all licenses which don't have a debian short text; for them the copyright line is duplicated, as can be seen in the dumped @data in the test, and also in the generated temp files: #v+ # Failed test at t/08-licensecheck.t line 84. # Comparing $data as a Bag # Missing: 4 references # Extra: 4 references # Looks like you failed 1 test of 3. t/08-licensecheck.t ....... 1..3 ok 1 - An object of class 'Debian::LicenseReconcile::LicenseCheck' isa 'Debian::LicenseReconcile::LicenseCheck' $VAR1 = { 'license' => 'test10', 'copyright' => [ 'Copyright: 2009 Testophilus Testownik <tes...@testity.org>.' ], 'file' => 'Mozilla_2_0' }; $VAR2 = { 'copyright' => [ 'Copyright: 2008 Testophilus Testownik <tes...@testity.org>.', '2008 Testophilus Testownik <tes...@testity.org>.' ], 'license' => 'test9', 'file' => 'MIT' }; $VAR3 = { 'copyright' => [ 'Copyright: 2006 Testophilus Testownik <tes...@testity.org>.' ], 'license' => 'test7', 'file' => 'LGPL_2_1' }; $VAR4 = { 'copyright' => [ 'Copyright: 2011 Testophilus Testownik <tes...@testity.org>.', '2011 Testophilus Testownik <tes...@testity.org>.' ], 'license' => 'test12', 'file' => 'Zlib' }; $VAR5 = { 'copyright' => [ 'Copyright: 2003 Testophilus Testownik <tes...@testity.org>.' ], 'license' => 'test4', 'file' => 'GPL_2' }; $VAR6 = { 'file' => 'GPL_1', 'license' => 'test3', 'copyright' => [ 'Copyright: 2002 Testophilus Testownik <tes...@testity.org>.' ] }; $VAR7 = { 'file' => 'LGPL_2', 'copyright' => [ 'Copyright: 2005 Testophilus Testownik <tes...@testity.org>.' ], 'license' => 'test6' }; $VAR8 = { 'copyright' => [ 'Copyright: 2007 Testophilus Testownik <tes...@testity.org>.' ], 'license' => 'test8', 'file' => 'LGPL_3_0' }; $VAR9 = { 'license' => 'test11', 'copyright' => [ 'Copyright: 2010 Testophilus Testownik <tes...@testity.org>.', '2010 Testophilus Testownik <tes...@testity.org>.' ], 'file' => 'QPL_1_0' }; $VAR10 = { 'file' => 'GPL_3', 'license' => 'test5', 'copyright' => [ 'Copyright: 2004 Testophilus Testownik <tes...@testity.org>.' ] }; $VAR11 = { 'file' => 'FreeBSD', 'copyright' => [ 'Copyright: 2001 Testophilus Testownik <tes...@testity.org>.', '2001 Testophilus Testownik <tes...@testity.org>.' ], 'license' => 'test2' }; $VAR12 = { 'copyright' => [ 'Copyright: 2000 Testophilus Testownik <tes...@testity.org>.' ], 'license' => 'test1', 'file' => 'Apache_2_0' }; not ok 2 ok 3 - no warnings Dubious, test returned 1 (wstat 256, 0x100) Failed 1/3 subtests #v- I hope that dod can say if I'm using Software::LicenseMoreUtils incorrectly or if there's something strange wrt debian-short-licenses vs. others going on ... Cheers, gregor -- .''`. https://info.comodo.priv.at -- Debian Developer https://www.debian.org : :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D 85FA BB3A 6801 8649 AA06 `. `' Member VIBE!AT & SPI Inc. -- Supporter Free Software Foundation Europe `- NP: Kings of Convenience: Riot On An Empty Street
signature.asc
Description: Digital Signature