Bug#810823: perl: break .ph files into a separate (source?) package

Niko Tyni ntyni at debian.org
Tue Jan 12 15:40:25 UTC 2016


Package: perl
Version: 5.22.1-4
Severity: wishlist

The h2ph conversion of selected system header files we're doing as
part of the perl build is giving me some grief in my cross building
experiments, because h2ph can't be run with miniperl (it loads re.so)
but needs Config.pm for the target system.

While this can be worked around, it prompted me to investigate the
usefulness of the generated .ph files a bit. We know that h2ph is a
gross hack (see #510984) that doesn't always work (#190887), and the
generated files produce lots of warnings (#688974).

codesearch.debian.net reports 48 source packages matching
 \b(require|do)\b.*\.ph\b

I went through those and weeded out 19 false positives, leaving just 29
packages actually using those .ph files. While there may of course be
local scripts using them, I don't think these numbers warrant shipping
.ph files with perl, effectively on all Debian systems.

I propose that we break these .ph files out into a separate
perl-system-headers binary package. I would also like to separate their
generation into a separate source package, which could use something
like our current build time checks as its test suite, as there's no real
reason to tie them to src:perl anymore. The source package could use h2ph
from perl or bundle/fork its own; I'm not sure which would be cleaner.

A clean transition would probably require having perl (or maybe
libperl5.22) Depend: perl-system-headers for one release cycle, so we
don't have to declare Breaks on all the packages currently using these
.ph files.  Filing bugs on those 29 packages now and trying to get them
to depend on perl-system-headers for stretch would enable dropping the
dependency from perl after that.

I'm attaching a list of the affected packages, and another list of
manually identified false positives in case we have to regenerate the
list later.

Thoughts?
-- 
Niko Tyni   ntyni at debian.org
-------------- next part --------------
eekboek # lib/EB/CPAN/Term/ReadLine/readline.pm: sys/ioctl.ph sgtty.ph
plum # socket.ph sys/socket.ph
acedb # sys/socket.ph
libfilesys-diskspace-perl # sys/syscall.ph
squid3 # scripts/*: sys/socket.ph
vile # sys/ioctl.ph
irssi-scripts # scripts/nicklist.pl: asm/ioctls.ph sys/ioctl.ph
libfuse-perl # examples/*: linux/ioctl.ph sys/ioccom.ph syscall.ph
pegasus-wms # bin/pegasus-status: sys/ioctl.ph
tightvnc # vncserver: sys/socket.ph
qpdf # qtest/module/TestDriver.pm: sys/ioctl.ph
rcconf # rcconf:  eval require sys/ioctl.ph
libperl4-corelibs-perl # syslog.ph socket.ph
liblinux-io-prio-perl # lib/Linux/IO_Prio.pm: syscall.ph sys/syscall.ph
thp # lib/thpfunc.pl: sys/syscall.ph
webmagick # utils/aub: sys/socket.ph
isakmpd # regress/exchange/run.pl sys/syscall.ph
lookup # server.info/network.pl: sys/socket.ph socket.ph
apt-cacher # lib/Linux/IO_Prio.pm: syscall.ph sys/syscall.ph
libsys-syscall-perl # syscall.ph sys/syscall.ph
percona-toolkit # bin/pt-diskstats: sys/ioctl.ph
libschedule-cron-perl # lib/Schedule/Cron.pm: ioctl.ph
minbif # scripts/irssi/im_cacacam.pl: sys/ioctl.ph asm/ioctls.ph
libterm-readline-perl-perl # ReadLine/readline.pm: sys/ioctl.ph sgtty.ph
vnc4 # unix/vncserver: sys/socket.ph
nas # clients/audio/auscope/auscope: sys/socket.ph syscall.ph
im # IM/*: sys/syslog.ph syscall.ph sys.ph
sendmail # contrib/mailprio: errno.ph sys/unistd.ph sys/file.ph fcntl.ph
ifmail # misc/contrib/u-tic/u-*: errno.ph fcntl.ph stdio.ph errno.ph
-------------- next part --------------
migrationtools
llvm-toolchain-snapshot
llvm-toolchain-3.6
llvm-toolchain-3.7
libio-interface-perl
libmoe
dcmtk
llvm-toolchain-3.5
info2man
libvideo-capture-v4l-perl
rplay
libmsgcat-perl
colplot
when
collectl
am-utils
perl
nasm
imgsizer


More information about the Perl-maintainers mailing list