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 <[email protected]>
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