Package: libauthen-libwrap-perl
Version: 0.23-2
Severity: normal
Tags: patch
User: [email protected]
Usertags: perl-5.44-transition
This package fails to build with Perl 5.44.0-RC1 (not in Debian quite
yet), because lib/Authen/Libwrap.xs has a C style comment (/* ... */)
at the end where only XS style comments (# ...) are allowed.
The ExtUtils::ParseXS module, which does the parsing, was
largely rewritten during the Perl 5.44 development cycle,
and the new versions consider this a hard error.
Building Authen-Libwrap
Error: unrecognised line: '/ * EOF * /' in Libwrap.xs, line 32
(possible start of a truncated XSUB definition?)
The perlxs documentation in 5.44.0-RC1 has this to say on the subject:
An XSUB ends when /\n\n\S/ is encountered: i.e. a blank line followed
by something on column one. (This is why it's recommended to indent
XSUB-scoped keywords.) If the thing at column one matches any of the
items which can appear in between XSUBs (such as file-scoped keywords)
then it, and any subsequent lines, are processed as such. Anything
starting on column one which isn't otherwise recognised, is interpreted
as the first line of the next XSUB definition. In particular it is
interpreted as the return type of the XSUB: this can lead to weird
errors when something is unexpectedly interpreted as the start of a
new XSUB, such as /* */, which isn't valid in the XS half of the file
apart from within code blocks.
The attached trivial patch makes libauthen-libwrap-perl build with
both Perl 5.40 and Perl 5.44.
--
Niko Tyni [email protected]
From: Niko Tyni <[email protected]>
Date: Tue, 7 Jul 2026 14:12:41 +0100
X-Dgit-Generated: 0.23-2 1a40c8da2f2aeb4c5f452ddd6a3614eeb315a4e7
Subject: Fix XS comment syntax
C style comments are not supported in the XS part, and they cause
a hard error with newer versions of ExtUtils::ParseXS (3.63 or so.)
---
diff --git a/lib/Authen/Libwrap.xs b/lib/Authen/Libwrap.xs
index da197df..8e50bf8 100644
--- a/lib/Authen/Libwrap.xs
+++ b/lib/Authen/Libwrap.xs
@@ -29,4 +29,4 @@ _hosts_ctl(daemon, client_name, client_addr, client_user)
XSRETURN_UNDEF;
}
-/* EOF */
+# EOF