Package: shelldap
Version: 1.4.0-2
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu bionic ubuntu-patch autopkgtest

Dear Salvatore,

Since version 1.35-2, libterm-readline-gnu-perl deliberately refuses to run
when $TERM is set to 'dumb' or 'unknown', on the grounds that readline is a
terminal technology and dumb/unknown indicates there is no properly
configured terminal, so it's better to abort and let callers fall back to
other interfaces (bug #166987).

However, when autopkgtests are run on automated infrastructure, they quite
reasonably run without a terminal; so the shelldap autopkgtest now fails:

autopkgtest [19:56:24]: test smoke-test: [-----------------------
TESTING: shelldap --version
Use of uninitialized value $ENV{"TERM"} in pattern match (m//) at 
/usr/lib/x86_64-linux-gnu/perl5/5.26/Term/ReadLine/Gnu.pm line 86.
autopkgtest [19:56:25]: test smoke-test: -----------------------]
autopkgtest [19:56:25]: test smoke-test:  - - - - - - - - - - results - - - - - 
- - - - -
smoke-test           FAIL stderr: Use of uninitialized value $ENV{"TERM"} in 
pattern match (m//) at 
/usr/lib/x86_64-linux-gnu/perl5/5.26/Term/ReadLine/Gnu.pm line 86.
autopkgtest [19:56:25]: test smoke-test:  - - - - - - - - - - stderr - - - - - 
- - - - -
Use of uninitialized value $ENV{"TERM"} in pattern match (m//) at 
/usr/lib/x86_64-linux-gnu/perl5/5.26/Term/ReadLine/Gnu.pm line 86.

  https://ci.debian.net/packages/s/shelldap/unstable/amd64/

The error message here is a bug in libterm-readline-gnu-perl, which should
handle the case of TERM not being set in the environment at all; but even
fixing libterm-readline-gnu-perl, shelldap's autopkgtest would still fail
with:

$ TERM=unknown ./debian/tests/smoke-test  > /dev/null
Term::ReadLine::Gnu not installed.
Continuing, but shelldap is of limited usefulness without it.

$

(this output is on stderr, which is not allowed by default in autopkgtests.)

The simplest solution for shelldap is to set a sensible $TERM in its
autopkgtest before calling.  The attached patch which implements this has
been uploaded to Ubuntu, to fix the bug there.  (Unfortunately autopkgtest
regressions are not considered blockers for release in Debian, but they are
in Ubuntu.)

Please consider including this patch in Debian as well.

Cheers,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slanga...@ubuntu.com                                     vor...@debian.org
diff -Nru shelldap-1.4.0/debian/tests/smoke-test 
shelldap-1.4.0/debian/tests/smoke-test
--- shelldap-1.4.0/debian/tests/smoke-test      2017-06-17 11:46:43.000000000 
-0700
+++ shelldap-1.4.0/debian/tests/smoke-test      2018-04-07 13:53:17.000000000 
-0700
@@ -4,4 +4,4 @@
 
 # ----------------------------------------------------------------------
 echo TESTING: shelldap --version
-shelldap --version | ( ! grep -vE '^shelldap [0-9a-z.+-:~]+$' )
+TERM=xterm shelldap --version | ( ! grep -vE '^shelldap [0-9a-z.+-:~]+$' )

Reply via email to