Hi Gregor, thanks a lot for you detailed analysis. BTW, you should be able to `git push` into Debian Med repository - no need to do the attachment detour if this might be more convenient for you.
On Mon, Jan 16, 2017 at 09:01:11PM +0100, gregor herrmann wrote: > On Mon, 16 Jan 2017 16:45:52 +0100, Andreas Tille wrote: > > Ahhh, OK. I wrongly assumed that would be some magic since in the > > bioperl case it worked without this extra means. > > The magic there worked because it was only needed for autopkgtest and > not at build time :) Ahhh ... > > After safely landing in Berlin (from Debian Med sprint in Bukarest) I > > tried with your hints and the only remaining issue seems to be: > > > > t/00.compile.t (Wstat: 3840 Tests: 90 Failed: 15) > > Failed tests: 1, 3, 5, 7, 10, 15, 17-18, 29, 31, 33, 35 > > 41, 45, 47 > > Non-zero exit status: 15 > > Lucky you :) Hmmm, may be I was not looking properly - now I can reproduce all you wrote. > When I try to build the package from git, I get: > > Test Summary Report > ------------------- > t/00.compile.t (Wstat: 3840 Tests: 90 Failed: 15) > Failed tests: 1, 3, 5, 7, 10, 15, 17-18, 29, 31, 33, 35 > 41, 45, 47 > Non-zero exit status: 15 > t/02.rearchitecture.t (Wstat: 65280 Tests: 0 Failed: 0) > Non-zero exit status: 255 > Parse errors: Bad plan. You planned 90 tests but ran 0. > t/03.render.t (Wstat: 65280 Tests: 0 Failed: 0) > Non-zero exit status: 255 > Parse errors: Bad plan. You planned 150 tests but ran 0. > t/04.remoteserver.t (Wstat: 65280 Tests: 0 Failed: 0) > Non-zero exit status: 255 > Parse errors: Bad plan. You planned 43 tests but ran 0. > t/05.deferredrendering.t (Wstat: 65280 Tests: 0 Failed: 0) > Non-zero exit status: 255 > Parse errors: Bad plan. You planned 19 tests but ran 0. > t/06.featuresearch.t (Wstat: 65280 Tests: 0 Failed: 0) > Non-zero exit status: 255 > Parse errors: Bad plan. You planned 26 tests but ran 0. > t/07.karyotype.t (Wstat: 65280 Tests: 0 Failed: 0) > Non-zero exit status: 255 > Parse errors: Bad plan. You planned 3 tests but ran 0. > Files=10, Tests=103, 5 wallclock secs ( 0.03 usr 0.03 sys + 4.19 cusr > 0.36 csys = 4.61 CPU) > Result: FAIL > Failed 7/10 test programs. 15/103 subtests failed. > > > Ah, found it: > > # Failed test 'cgi-bin/das compiled ok' > # at t/00.compile.t line 47. > # stdout: > # stderr: Backslash found where operator expected at > /build/gbrowse-2.56+dfsg/blib/lib/Bio/Graphics/Browser2/DataSource.pm line > 963, near "$ENV\" > # (Missing operator before \?) > # Backslash found where operator expected at > /build/gbrowse-2.56+dfsg/blib/lib/Bio/Graphics/Browser2/DataSource.pm line > 963, near "$1\" > # (Missing operator before \?) > # Variable "$semantic_label" is not imported at > /build/gbrowse-2.56+dfsg/blib/lib/Bio/Graphics/Browser2/DataSource.pm line > 984, <DATA> line 192. > # (Did you mean &semantic_label instead?) > # syntax error at > /build/gbrowse-2.56+dfsg/blib/lib/Bio/Graphics/Browser2/DataSource.pm line > 963, near "$ENV\" > # syntax error at > /build/gbrowse-2.56+dfsg/blib/lib/Bio/Graphics/Browser2/DataSource.pm line > 963, near "''}" > > This seems to come from debian/patches/fix_perl_deprecation. > > *a bit later* > > Yes, this patch is wrong now and can be dropped, as the original > issue was fixed in the 2.56 release. (Attached) > > This brings me to: > > Test Summary Report > ------------------- > t/03.render.t (Wstat: 65280 Tests: 41 Failed: 0) > Non-zero exit status: 255 > Parse errors: Bad plan. You planned 150 tests but ran 41. > t/04.remoteserver.t (Wstat: 0 Tests: 41 Failed: 4) > Failed tests: 11, 23, 35, 39 > Parse errors: Bad plan. You planned 43 tests but ran 41. > t/05.deferredrendering.t (Wstat: 0 Tests: 19 Failed: 2) > Failed tests: 5, 14 > > So t/00.compile.t just works. But I still have other issues. > > Seems they all fail with something like > "Can't locate testdata/conf/../../../conf/plugins/Aligner.pm in @INC ..." > which is quite weird path ... -- But it's fine, so we probably have a > ". removed from @INC" problem here somewhere. > > I guess that's it: > > lib/Bio/Graphics/Browser2/PluginSet.pm > > my $class = "Bio\:\:Graphics\:\:Browser2\:\:Plugin\:\:$plugin"; > for my $search_path (@search_path) { > my $plugin_with_path = "$search_path/$plugin.pm"; > if (eval {require $plugin_with_path}) { > > Ok, changing this to "./$plugin_with_path" gets rid of this error but > later we still get something similar: > > # prove --blib --verbose t/05.deferredrendering.t > t/05.deferredrendering.t .. > 1..19 > ok 1 > ok 2 > ok 3 > RenderPanels error: > ------------- EXCEPTION ------------- > MSG: The requested glyph class, ``span'' is not available: Attempt to reload > Bio/Graphics/Glyph/span.pm aborted. > Compilation failed in require at (eval 181) line 2, <> line 45. > > STACK Bio::Graphics::Glyph::Factory::make_glyph > /usr/share/perl5/Bio/Graphics/Glyph/Factory.pm:342 > STACK Bio::Graphics::Glyph::add_feature > /usr/share/perl5/Bio/Graphics/Glyph.pm:424 > STACK Bio::Graphics::Browser2::RenderPanels::add_features_to_track > /build/gbrowse-2.56+dfsg/t/../lib/Bio/Graphics/Browser2/RenderPanels.pm:1869 > STACK (eval) > /build/gbrowse-2.56+dfsg/t/../lib/Bio/Graphics/Browser2/RenderPanels.pm:1597 > STACK Bio::Graphics::Browser2::RenderPanels::run_local_requests > /build/gbrowse-2.56+dfsg/t/../lib/Bio/Graphics/Browser2/RenderPanels.pm:1551 > STACK Bio::Graphics::Browser2::RenderPanels::request_panels > /build/gbrowse-2.56+dfsg/t/../lib/Bio/Graphics/Browser2/RenderPanels.pm:185 > STACK Bio::Graphics::Browser2::Render::render_deferred > /build/gbrowse-2.56+dfsg/t/../lib/Bio/Graphics/Browser2/Render.pm:3608 > STACK toplevel t/05.deferredrendering.t:102 > ------------------------------------- The only information I can provide is that Bio/Graphics used to be included in the old BioPerl version but was split up after refactoring into a separate Perl module. Thus I had some hope to add libbio-graphics-perl to the Build-Depends which did not really helped but when comparing the log adding libbio-graphics-perl also adds some strange 4 lines to the output: Use of uninitialized value in numeric gt (>) at t/04.remoteserver.t line 136. +Could not open database: Can't call method "seq" on an undefined value at /build/gbrowse-2.56+dfsg/t/../lib/Bio/DB/SeqFeature/Store/LoadHelper.pm line 168, <GEN4> line 21. +Could not open database: Can't call method "seq" on an undefined value at /build/gbrowse-2.56+dfsg/t/../lib/Bio/DB/SeqFeature/Store/LoadHelper.pm line 168, <GEN6> line 21. +Could not open database: Can't call method "seq" on an undefined value at /build/gbrowse-2.56+dfsg/t/../lib/Bio/DB/SeqFeature/Store/LoadHelper.pm line 168, <GEN9> line 21. +Couldn't open database for CleavageSites: at /build/gbrowse-2.56+dfsg/t/../lib/Bio/Graphics/Browser2/RenderPanels.pm line 1749. t/04.remoteserver.t ....... I'm not sure whether this information is helpful or even more distracting from the real issue. > ok 4 > not ok 5 > # Test 5 got: 'ERROR' (t/05.deferredrendering.t at line 124) > # Expected: 'AVAILABLE' > ok 6 > ok 7 > ok 8 > ok 9 > ok 10 > ok 11 > ok 12 > ok 13 > not ok 14 > # Test 14 got: 'ERROR AVAILABLE AVAILABLE AVAILABLE AVAILABLE' > (t/05.deferredrendering.t at line 130) > # Expected: 'AVAILABLE AVAILABLE AVAILABLE AVAILABLE AVAILABLE' > ok 15 > ok 16 > ok 17 > ok 18 > ok 19 > Failed 2/19 subtests > > Test Summary Report > ------------------- > t/05.deferredrendering.t (Wstat: 0 Tests: 19 Failed: 2) > Failed tests: 5, 14 > Files=1, Tests=19, 10 wallclock secs ( 0.04 usr 0.00 sys + 0.95 cusr 0.16 > csys = 1.15 CPU) > Result: FAIL > > > And I'm not sure where this comes from, category "cwd removed from > @INC). I think this is a question for Lincoln (added back in cc). Hope Lincoln will be able to shade some light into this. > > I wonder how these numbers relate to the tests inside the test file and > > what might be the recommended procedure: Patching single tests (those > > 1, 3, 5, ...) or the wimpy way to exclude the whole file. May be there > > is some hint how these tests might pass but I personally have no idea. > > Depends if you see them during the build or in autopkgtests. During > build the test should succeed (which it does now); during autopkgtest > they might fail because they need something from the source tree > which is not present in the temporary test directory (and from a > quick look at t/00.compile.t this assumption is quite realistic). In > that case you can either try to patch t/00.compile.t (to tell it > about the right paths) or simply ignore the test as (at least that's > my impression), since the syntax happens in autopkgtest-pkg-perl's > syntax.t anyway. > > Let's see. > > Ok, one change in d/rules to build the package (attached). Hmmm, may be I misunderstand but the failed tests are preventing the build from succeeding and besides 0001-Drop-patch-fix_perl_deprecation.patch 0002-debian-rules-update-name-of-a-config-file-in-chmod-c.patch which I `git am`ed I did not found anything in your mail. > And then I > can't test the autopkgtest run because it somehow explodes. *sigh* > > Ok, -d helps: > > pmerror:/tmp/apt-dpkg-install-i5hiWj/102-gbrowse.deb:42.1125:trying to > overwrite > '/usr/share/man/man3/Bio::DB::SeqFeature::Store::LoadHelper.3pm.gz', which is > also in package libbio-perl-perl 1.7.1-2 Hmmm, that should be excluded from the package then. Thanks a lot again for your help Andreas. -- http://fam-tille.de