If a DEB package contains a shared library that was built from source code that was generated by flex , /usr/bin/lintian would report
because of the exit() call in the flex-generated function yy_fatal_error:
static void yy_fatal_error (yyconst char* msg )
{
(void) fprintf( stderr, "%s\n", msg );
exit( YY_EXIT_FAILURE );
}
How can I modify the DEB package so that the lintian will stop reporting shlib-calls-exit?
The DEB package makes use of CMake in its build script. The corresponding snippet of CMake source code is
flex_target(scanner lexer.l ${CMAKE_CURRENT_BINARY_DIR}/lexer.c)
bison_target(parser parser.y ${CMAKE_CURRENT_BINARY_DIR}/parser.c)
add_flex_bison_dependency(scanner parser)
add_library(parse-and-scan SHARED ${FLEX_scanner_OUTPUTS} ${BISON_parser_OUTPUT_SOURCE})
Information about the software versions:
- flex 2.5.35
- cmake 2.8.9
- lintian 2.5.10
- Linux distribution: Debian Unstable (sid)
About a week ago I posted a similar question to the debian-mentors mailing list
The problem of having an exit() call in the flex generated source code has been brought up on the flex-help mailing list, but that post rendered no answers.