From a20d168340e0097b83c0524b552a1f797d42eb79 Mon Sep 17 00:00:00 2001 From: Gunnar Beutner Date: Tue, 13 Jan 2015 14:45:38 +0100 Subject: [PATCH] Remove libreadline support fixes #8168 --- CMakeLists.txt | 2 -- INSTALL.md | 2 -- config.h.cmake | 2 -- icinga2.spec | 2 -- lib/cli/CMakeLists.txt | 8 -------- lib/cli/consolecommand.cpp | 33 --------------------------------- 6 files changed, 49 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 31636cfe0..245510e1e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -158,8 +158,6 @@ check_function_exists(pipe2 HAVE_PIPE2) check_function_exists(nice HAVE_NICE) check_library_exists(dl dladdr "dlfcn.h" HAVE_DLADDR) check_library_exists(execinfo backtrace_symbols "" HAVE_LIBEXECINFO) -check_library_exists(readline readline "" HAVE_LIBREADLINE) -check_library_exists(ncurses attroff "" HAVE_LIBNCURSES) check_include_file_cxx(cxxabi.h HAVE_CXXABI_H) if(HAVE_LIBEXECINFO) diff --git a/INSTALL.md b/INSTALL.md index 1c902e766..c18660abe 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -27,8 +27,6 @@ parentheses): * GNU flex (flex) >= 2.5.35 * recommended: libexecinfo on FreeBSD (automatically used when Icinga 2 is installed via port or package) -* recommended: GNU readline (readline-devel on RHEL, libreadline-dev on Debian) -* recommended: ncurses (ncurses-devel on RHEL, libncurses-dev on Debian) * optional: MySQL (mysql-devel on RHEL, libmysqlclient-dev on Debian); set CMake variable `ICINGA2_WITH_MYSQL` to disable this module * optional: PostgreSQL (postgresql-devel on RHEL, libpq-dev on Debian); set CMake diff --git a/config.h.cmake b/config.h.cmake index 0f6f45cec..24c38ef27 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -9,8 +9,6 @@ #cmakedefine HAVE_LIBEXECINFO #cmakedefine HAVE_CXXABI_H #cmakedefine HAVE_NICE -#cmakedefine HAVE_LIBREADLINE -#cmakedefine HAVE_LIBNCURSES #cmakedefine ICINGA2_UNITY_BUILD diff --git a/icinga2.spec b/icinga2.spec index 5f8fc9f02..e51cb83e6 100644 --- a/icinga2.spec +++ b/icinga2.spec @@ -97,8 +97,6 @@ BuildRequires: cmake BuildRequires: flex >= 2.5.35 BuildRequires: bison BuildRequires: make -BuildRequires: readline-devel -BuildRequires: ncurses-devel %if "%{_vendor}" == "redhat" && (0%{?el5} || 0%{?rhel} == 5 || "%{?dist}" == ".el5") # el5 requires packages.icinga.org diff --git a/lib/cli/CMakeLists.txt b/lib/cli/CMakeLists.txt index f7b7e7cdd..720d8c355 100644 --- a/lib/cli/CMakeLists.txt +++ b/lib/cli/CMakeLists.txt @@ -37,14 +37,6 @@ add_library(cli SHARED ${cli_SOURCES}) target_link_libraries(cli ${Boost_LIBRARIES} base config remote) -if(HAVE_LIBREADLINE) - target_link_libraries(cli readline) -endif() - -if(HAVE_LIBNCURSES) - target_link_libraries(cli ncurses) -endif() - set_target_properties ( cli PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/icinga2 diff --git a/lib/cli/consolecommand.cpp b/lib/cli/consolecommand.cpp index 4d88dada2..a94c14e9a 100644 --- a/lib/cli/consolecommand.cpp +++ b/lib/cli/consolecommand.cpp @@ -27,12 +27,6 @@ #include "base/networkstream.hpp" #include -#if defined(HAVE_LIBREADLINE) && defined(HAVE_LIBNCURSES) -extern "C" { -#include -#include -} -#endif /* HAVE_LIBREADLINE && HAVE_LIBNCURSES */ using namespace icinga; namespace po = boost::program_options; @@ -86,41 +80,14 @@ int ConsoleCommand::Run(const po::variables_map& vm, const std::vector"; next_line++; -#if defined(HAVE_LIBREADLINE) && defined(HAVE_LIBNCURSES) - ConsoleType type = Console::GetType(std::cout); - - std::stringstream prompt_sbuf; - - prompt_sbuf << RL_PROMPT_START_IGNORE << ConsoleColorTag(Console_ForegroundCyan, type) - << RL_PROMPT_END_IGNORE << fileName - << RL_PROMPT_START_IGNORE << ConsoleColorTag(Console_ForegroundRed, type) - << RL_PROMPT_END_IGNORE << " => " - << RL_PROMPT_START_IGNORE << ConsoleColorTag(Console_Normal, type); -#else /* HAVE_LIBREADLINE && HAVE_LIBNCURSES */ std::cout << ConsoleColorTag(Console_ForegroundCyan) << fileName << ConsoleColorTag(Console_ForegroundRed) << " => " << ConsoleColorTag(Console_Normal); -#endif /* HAVE_LIBREADLINE && HAVE_LIBNCURSES */ - -#if defined(HAVE_LIBREADLINE) && defined(HAVE_LIBNCURSES) - String prompt = prompt_sbuf.str(); - - char *rline = readline(prompt.CStr()); - - if (!rline) - break; - - if (*rline) - add_history(rline); - String line = rline; - free(rline); -#else /* HAVE_LIBREADLINE */ std::string line; std::getline(std::cin, line); -#endif /* HAVE_LIBREADLINE */ if (addr.IsEmpty()) { Expression *expr; -- 2.50.1