Package: lintian Version: 2.5.31 Severity: wishlist Tags: lfs Hi!
I was checking the tags for inetutils when I noticed that inetutils-ftpd is marked as binary-file-built-without-LFS-support, but only that binary out of all binaries. The build system enables LFS, and the relevant files include <config.h> before anything else. So after that, my suspicion was that lintian might be detecting a tainted symbol. And I remembered that gnulib provides its local implementation of FTS, one that is compatible with LFS. objdump confirms that the local symbols are visible, so it seems to me lintian is tripping on those. Here's a small test case: ,--- #include <stddef.h> #include <sys/types.h> #include <sys/stat.h> #include <fts.h> #ifdef LOCAL_FTS extern FTS *fts_open(char * const *paths, int flags, int (*compar)(const FTSENT **, const FTSENT **)) { return NULL; } extern int fts_close(FTS *fts) { return 0; } #endif int main() { char *paths[] = { NULL }; FTS *fts = fts_open(paths, 0, NULL); return fts_close(fts); } `--- By default (after stripping) it produces this «objdump -T» output: ,--- fts: file format elf32-i386 DYNAMIC SYMBOL TABLE: 00000000 DF *UND* 00000000 GLIBC_2.0 fts_open 00000000 DF *UND* 00000000 GLIBC_2.0 fts_close 00000000 w D *UND* 00000000 __gmon_start__ 00000000 DF *UND* 00000000 GLIBC_2.0 __libc_start_main 0804850c g DO .rodata 00000004 Base _IO_stdin_used `--- which should trigger the lintian tag. But when defining LOCAL_FTS: ,--- fts: file format elf32-i386 DYNAMIC SYMBOL TABLE: 00000000 w D *UND* 00000000 __gmon_start__ 00000000 DF *UND* 00000000 GLIBC_2.0 __libc_start_main 0804840b g DF .text 0000000a Base fts_open 080484ec g DO .rodata 00000004 Base _IO_stdin_used 08048415 g DF .text 0000000a Base fts_close `--- it should not. So I think that, to avoid false-positives, only undefined symbols should be considered. Thanks, Guillem -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org