Package: perl
Version: 5.8.8-7
Severity: wishlist

Hi,

since h2ph seems to be rather fragile (it caused asm/unistd.ph being
broken in sarge on both amd64 (#416966) and at least cosmetically on
powerpc (#273237 et al.)), it would be nice if the generated files would
be run through at least a syntax check at build time. This would have
prevented #416966.

Since the generated code seems to mostly consist of eval{} blocks, just
a compile check with "perl -c" doesn't catch all errors.  Running perl
on the generated files with warnings on ("perl -w") does catch #273237,
and it would also notice #379757.

My quick tests indicate that having no warnings at all and aborting a
build if a regression introduces some seems an attainable goal. Of course,
all the existing warnings should be cleaned before the regression check
could be turned on. Maybe a first step could be just to run 'perl -w'
on the generated files from debian/rules so the warnings would be visible
on the build logs?

On etch/amd64, the results of "perl -w" on the generated files is:

% wc -l *.log
   23 ioctl.ph.log
   34 socket.ph.log
    0 syscall.ph.log
    1 syslimits.ph.log
   24 syslog.ph.log
   25 termios.ph.log
   29 time.ph.log
   30 wait.ph.log
  166 total

and without the most common warning, "Constant subroutine __WHATEVER
undefined" counted in,

% wc -l *.no-constant
   0 ioctl.ph.log.no-constant
   5 socket.ph.log.no-constant
   0 syscall.ph.log.no-constant
   0 syslimits.ph.log.no-constant
   0 syslog.ph.log.no-constant
   2 termios.ph.log.no-constant
   3 time.ph.log.no-constant
   5 wait.ph.log.no-constant
  15 total

Cheers,
-- 
Niko Tyni   [EMAIL PROTECTED]


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to