Control: found -1 1:0.99.19-5

On 2015-11-04 18:46 +0100, Sven Joachim wrote:

> Source: jed
> Version: 1:0.99.19-4
>
> Your package currently FTBFS in unstable.  From my pbuilder log:
>
> ,----
> | i586-linux-gnu-gcc -g -Wall -Wformat=2 -Wunused -Wundef -Wextra
> | -Wswitch-enum -Wpointer-arith -Wnested-externs -Wbad-function-cast
> | -Wcast-qual -Wcast-align -Wshadow -O2 -I/usr/include/freetype2
> | -Dunix -DJED -DUSE_GPM_MOUSE -Wl,-export-dynamic
> | /build/jed-0.99.19/src/chkslang.c -o
> | /build/jed-0.99.19/src/objs/chkslang -Wl,-export-dynamic
> | -Wl,-R/usr/lib/i386-linux-gnu -L/usr/lib/i386-linux-gnu -lslang
> | -lgpm -ltermcap -lutil
> | /usr/bin/ld.bfd.real: cannot find -ltermcap
> `----
>
> This is an unexpected fallout from the fix for bug #745479[1], I did not
> really consider it possible that packages use the ncurses5-config script
> without a build dependency on libncurses5-dev.  Anyway, here's the
> analysis:
>
> The configure script tries to run "ncurses5-config --terminfo", and if
> this does not succeed, uses a hardcoded list of terminfo directories
> which unfortunately does not include the directories /etc/terminfo and
> /lib/terminfo which we ship in ncurses-base.  Failing to find a terminfo
> directory, it then concludes that the system must be using termcap and
> adds "-ltermcap" to the linker line which fails.
>
> I will work around that by shipping an /usr/share/terminfo directory in
> ncurses-base, but jed might still FTBFS on the buildds until they
> upgrade their base system.

I have re-opened the bug, since removing the /usr/share/terminfo
directory from the build system still triggers the FTBFS bug, and maybe
we want to drop the empty directory from ncurses-base at some point in
the future.

> Properly fixing this bug requires patching the buggy test in
> autoconf/aclocal.m4 and regenerating configure, but since jed does not
> currently build-depend on autoconf and uses dpatch which I haven't used
> for years I can't really come up with a patch.

I have tried the attached patch, but unfortunately the build broke:

,----
| dh_testdir
| #
| # --- MAKE ---
| #
| /usr/bin/make DL_LIB="" OTHERLIBS=-lutil XRENDERFONTLIBS=-lXft jed # getmail
| make[1]: Entering directory '/build/jed-0.99.19'
| cd autoconf && autoconf && mv ./configure ..
| Makefile is older than the configure script.
| Please re-run the configure script.
| Makefile:18: recipe for target 'Makefile' failed
| make[1]: *** [Makefile] Error 1
| make[1]: Leaving directory '/build/jed-0.99.19'
| debian/rules:72: recipe for target 'build-stamp' failed
`----

Apparently there's something fishy with the build system, I don't know
whether it's related to debian/rules or if it is an upstream bug.

Anyway, thanks for switching away from dpatch!

Cheers,
       Sven

Description: check for /lib/terminfo in addition to other directories
 The configure script tries to run "ncurses5-config --terminfo", and if
 this does not succeed, uses a hardcoded list of terminfo directories
 which unfortunately does not include the directories /etc/terminfo and
 /lib/terminfo which we ship in ncurses-base.  Failing to find a terminfo
 directory, it then concludes that the system must be using termcap and
 adds "-ltermcap" to the linker line which fails.
 .
 To avoid this problem, add /lib/terminfo to the list of directories to
 search.
Author: Sven Joachim <svenj...@gmx.de>
Bug-Debian: https://bugs.debian.org/804083

---

--- jed-0.99.19.orig/autoconf/aclocal.m4
+++ jed-0.99.19/autoconf/aclocal.m4
@@ -481,7 +481,8 @@ JD_Terminfo_Dirs="$MISC_TERMINFO_DIRS \
                   /usr/lib/terminfo \
                   /usr/share/terminfo \
                   /usr/share/lib/terminfo \
-		  /usr/local/lib/terminfo"
+		  /usr/local/lib/terminfo \
+		  /lib/terminfo"
 TERMCAP=-ltermcap
 
 for terminfo_dir in $JD_Terminfo_Dirs

Reply via email to