[Debconf-devel] Bug#863071: debconf: POSIX::tmpnam() is deprecated in Perl 5.24 and will be removed in 5.26

Niko Tyni ntyni at debian.org
Sun May 21 09:49:25 UTC 2017


Package: debconf
Version: 1.5.60
Severity: important
User: debian-perl at lists.debian.org
Usertags: perl-5.24-transition perl-5.26-transition bcn2017

Debconf::TmpFile uses POSIX::tmpnam(), which was deprecated
in Perl 5.24:

 % perl -MPOSIX -e 'POSIX::tmpnam()'
 Calling POSIX::tmpnam() is deprecated at -e line 1.

It is removed totally in Perl 5.26 (currently in experimental,
targeted for buster):

 Unimplemented: POSIX::tmpnam(): use File::Temp instead at -e line 1.

I've confirmed that debconf crashes with this on Perl 5.26 when
dpkg-reconfiguring console-setup on a small enough terminal that the
textboxes need scrolling. It only happens with the dialog frontend,
not whiptail.

The 5.24 deprecation warning is not visible to the user at least
with the dialog frontend, so this has gone unnoticed until now.

While harmless now, if this goes into stretch, it has implications
for stretch -> buster upgrades: debconf will then need to be upgraded
strictly before perl-base, probably by making perl-base Break (or
even Conflict with?) older debconf versions. 

It would be nice if we could avoid this, so a fix for stretch would be
appreciated. Anything using File::Temp that works on 5.24 should do.

OTOH Ubuntu has already released with this issue so we may want to
do the Breaks/Conflict thing to help their upgrades anyway?

Feel free to downgrade the severity if it seems inflated.

Greetings for the Debian Perl Sprint in Lloret de Mar,
-- 
Niko Tyni   ntyni at debian.org



More information about the Debconf-devel mailing list