[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Problems with debci build for Perl-based gtml package



[I am not subscribed to debian-qa or debian-perl, so please CC me on replies.]

Hi,

I have been working to debug a long-running build problem with my gtml
package in the debci environment:

https://ci.debian.net/packages/g/gtml/unstable/amd64/

The package continues to build as expected in the Reproducible Builds
environment:

https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/gtml.html

History shows that version 3.5.4-16 was building successfully in the
debci environment as far back as 2015-08-22.  Suddenly, on 2016-03-28,
the debci build started failing due to a problem with the autopkgtest
suite.  Every debci build since then has failed.

GTML is an HTML pre-processor written in Perl.  Basically, it is a way
to "compile" .html files from .gtml source files that use macros and
include statements.  GTML also includes functionality to auto-generate
a makefile for a source tree.  The test that I'm running creates a
makefile, uses it to compile a very small source tree, and then checks
for expected results.  The test fails at the step where GTML is
generating the makefile -- the gtml script reports no errors, but the
file is not created on disk.

I can't reproduce the broken behavior in any test environment I have
access to -- including my developer chroots (unstable amd64 and i386),
my local Reproducible Builds test environment, and my local
schroot-based debci test environment.

It looks like Perl was upgraded from 5.22.1-8 to 5.22.1-9 between
2016-03-25 (the last successful build) and 2016-03-28 (the first
failed build).  Perl has been upgraded several times since then, and
the most recent tests are using 5.22.2-1.  This is the same version
that I have in my local test environments, so I don't believe the
change in behavior can be explained simply by the new version of Perl.

I've added a ton of diagnostic output to the autopkgtest script itself
(file and directory permissions, explicit checks on most operations,
etc.), and I've patched the GTML Perl script to include an 'or die'
handler for every open(), close() and print() statement that I believe
might be relevant.  Perl seems to think that all of its calls are
succeeding, but the makefile still isn't created.

I'm at a loss for how to debug this further.  I suspect that my test
environments don't match debci in some crucial way, but I'm not sure
what's different.  Have other packages run into similar problems?  Are
there other things I should be looking at?

Thanks for the help,

KEN

-- 
Kenneth J. Pronovici <pronovic@debian.org>


Reply to: