diff --git a/CMakeLists.txt b/CMakeLists.txt index 8b74eae6db..0abf518077 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -638,7 +638,7 @@ if ( WIN32 ) install ( FILES example.sql DESTINATION ${SHAREDIR}/doc COMPONENT doc ) install ( DIRECTORY misc/stopwords DESTINATION ${SHAREDIR} COMPONENT doc ) if (USE_ICU) - install ( FILES ${ICU_DATA} DESTINATION ${SHAREDIR}/icu COMPONENT icu) + install ( FILES ${ICU_DATA} DESTINATION ${SHAREDIR}/icu COMPONENT icudata) endif() install ( FILES COPYING INSTALL manticore.conf.in @@ -663,7 +663,7 @@ IF (NOT DISTR_BUILD AND NOT WIN32 ) DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/manticoresearch COMPONENT doc RENAME manticore.conf ) install ( DIRECTORY misc/stopwords DESTINATION ${CMAKE_INSTALL_DATADIR}/${PACKAGE_NAME} COMPONENT doc) if (USE_ICU) - install(FILES ${ICU_DATA} DESTINATION ${CMAKE_INSTALL_DATADIR}/${PACKAGE_NAME}/icu COMPONENT icu) + install(FILES ${ICU_DATA} DESTINATION ${CMAKE_INSTALL_DATADIR}/${PACKAGE_NAME}/icu COMPONENT icudata) endif () install ( DIRECTORY DESTINATION ${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/lib/manticore/data COMPONENT applications) install ( DIRECTORY DESTINATION ${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/run/manticore COMPONENT applications ) @@ -714,9 +714,9 @@ set ( CPACK_COMPONENT_CONVERTER_GROUP "converter" ) set ( CPACK_COMPONENT_GROUP_CONVERTER_DISPLAY_NAME "Runtime" ) set ( CPACK_COMPONENT_CONVERTER_DISPLAY_NAME "CONVERTER application" ) -# icu library -set ( CPACK_COMPONENT_ICU_GROUP "icu" ) -set ( CPACK_COMPONENT_ICU_DISPLAY_NAME "ICU DAT file" ) +# icu data library +set ( CPACK_COMPONENT_ICUDATA_GROUP "icudata" ) +set ( CPACK_COMPONENT_ICUDATA_DISPLAY_NAME "ICU DAT file" ) # development files set ( CPACK_COMPONENT_DEVEL_GROUP "devel" ) diff --git a/README.md b/README.md index ac4e1ae5ed..53074fff7b 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@

- Manticore Search 3.5.0 + Manticore Search 3.5.2

diff --git a/cmake/builds/CommonDeb.cmake b/cmake/builds/CommonDeb.cmake index d1562c5436..656c8f9e97 100644 --- a/cmake/builds/CommonDeb.cmake +++ b/cmake/builds/CommonDeb.cmake @@ -91,7 +91,7 @@ install ( FILES INSTALL DESTINATION usr/${CMAKE_INSTALL_DATADIR}/manticore CO install ( DIRECTORY misc/stopwords DESTINATION usr/${CMAKE_INSTALL_DATADIR}/${PACKAGE_NAME} COMPONENT doc) if (USE_ICU) - install ( FILES ${ICU_DATA} DESTINATION usr/${CMAKE_INSTALL_DATADIR}/${PACKAGE_NAME}/icu COMPONENT icu) + install ( FILES ${ICU_DATA} DESTINATION usr/${CMAKE_INSTALL_DATADIR}/${PACKAGE_NAME}/icu COMPONENT icudata) endif() install ( DIRECTORY DESTINATION ${CMAKE_INSTALL_LOCALSTATEDIR}/lib/manticore/data COMPONENT adm) @@ -125,8 +125,8 @@ set ( CPACK_DEBIAN_META_PACKAGE_DEPENDS "manticore-server, manticore-tools" ) set ( CPACK_DEBIAN_META_FILE_NAME "DEB-DEFAULT" ) set ( CPACK_DEBIAN_META_PACKAGE_DEBUG "OFF" ) -set ( CPACK_DEBIAN_ICU_PACKAGE_NAME "manticore-icu" ) -set ( CPACK_COMPONENT_ICU_DESCRIPTION "Manticore Search is a powerful free open source search engine +set ( CPACK_DEBIAN_ICUDATA_PACKAGE_NAME "manticore-icudata" ) +set ( CPACK_COMPONENT_ICUDATA_DESCRIPTION "Manticore Search is a powerful free open source search engine with a focus on low latency and high throughput full-text search and high volume stream filtering. This package contains the ICU DAT file. You need this package only if you use the ICU morphology" ) diff --git a/cmake/builds/CommonRpm.cmake b/cmake/builds/CommonRpm.cmake index a415afe52b..44255a70ac 100644 --- a/cmake/builds/CommonRpm.cmake +++ b/cmake/builds/CommonRpm.cmake @@ -32,7 +32,7 @@ set ( CPACK_RPM_BIN_INSTALL_WITH_EXEC ON) set ( CPACK_RPM_BIN_PACKAGE_OBSOLETES "sphinx, manticore <= 3.5.0_200722.1d34c49" ) set ( CPACK_RPM_BIN_PACKAGE_CONFLICTS "sphinx, manticore <= 3.5.0_200722.1d34c49" ) if ( "${DISTR_BUILD}" STREQUAL "rhel8" ) - set ( CPACK_RPM_BIN_PACKAGE_SUGGESTS "manticore-icu" ) + set ( CPACK_RPM_BIN_PACKAGE_SUGGESTS "manticore-icudata" ) endif() set ( CPACK_COMPONENT_BIN_SUMMARY "Manticore Search server files") set ( CPACK_COMPONENT_BIN_DESCRIPTION "Manticore Search is a powerful free open source search engine @@ -40,17 +40,17 @@ with a focus on low latency and high throughput full-text search and high volume stream filtering. This package contains the service daemon.") -set ( CPACK_RPM_ICU_PACKAGE_NAME "manticore-icu" ) -set ( CPACK_RPM_ICU_FILE_NAME "RPM-DEFAULT" ) -set ( CPACK_COMPONENT_ICU_SUMMARY "Manticore Search ICU files") -set ( CPACK_COMPONENT_ICU_DESCRIPTION "Manticore Search is a powerful free open source search engine +set ( CPACK_RPM_ICUDATA_PACKAGE_NAME "manticore-icudata" ) +set ( CPACK_RPM_ICUDATA_FILE_NAME "RPM-DEFAULT" ) +set ( CPACK_COMPONENT_ICUDATA_SUMMARY "Manticore Search ICU files") +set ( CPACK_COMPONENT_ICUDATA_DESCRIPTION "Manticore Search is a powerful free open source search engine with a focus on low latency and high throughput full-text search and high volume stream filtering. This package contains the ICU DAT file. You need this package only if you use the ICU morphology.") set ( CPACK_RPM_TOOLS_PACKAGE_NAME "manticore-tools" ) set ( CPACK_RPM_TOOLS_PACKAGE_CONFLICTS "sphinx, manticore <= 3.5.0_200722.1d34c49" ) if ( "${DISTR_BUILD}" STREQUAL "rhel8" ) - set ( CPACK_RPM_TOOLS_PACKAGE_SUGGESTS "manticore-icu" ) + set ( CPACK_RPM_TOOLS_PACKAGE_SUGGESTS "manticore-icudata" ) endif() set ( CPACK_RPM_TOOLS_FILE_NAME "RPM-DEFAULT" ) set ( CPACK_COMPONENT_TOOLS_SUMMARY "Manticore Search utilities") @@ -73,7 +73,7 @@ Manticore Search 3.x format." ) set ( CPACK_RPM_BIN_DEBUGINFO_PACKAGE ON ) set ( CPACK_RPM_TOOLS_DEBUGINFO_PACKAGE ON ) set ( CPACK_RPM_CONVERTER_DEBUGINFO_PACKAGE ON ) -set ( CPACK_RPM_ICU_DEBUGINFO_PACKAGE OFF ) +set ( CPACK_RPM_ICUDATA_DEBUGINFO_PACKAGE OFF ) set ( CPACK_RPM_DEVEL_DEBUGINFO_PACKAGE OFF ) set ( CPACK_RPM_META_DEBUGINFO_PACKAGE OFF ) @@ -162,7 +162,7 @@ install ( FILES doc/searchd.1 DESTINATION usr/${CMAKE_INSTALL_MANDIR}/man1 COMPO install ( DIRECTORY misc/stopwords DESTINATION usr/${CMAKE_INSTALL_DATADIR}/${PACKAGE_NAME} COMPONENT doc ) if (USE_ICU) - install ( FILES ${ICU_DATA} DESTINATION usr/${CMAKE_INSTALL_DATADIR}/${PACKAGE_NAME}/icu COMPONENT icu) + install ( FILES ${ICU_DATA} DESTINATION usr/${CMAKE_INSTALL_DATADIR}/${PACKAGE_NAME}/icu COMPONENT icudata) endif() if (NOT NOAPI) diff --git a/cmake/builds/build_bionic.cmake b/cmake/builds/build_bionic.cmake index 7641fd9fd5..9413bed8a5 100644 --- a/cmake/builds/build_bionic.cmake +++ b/cmake/builds/build_bionic.cmake @@ -37,5 +37,5 @@ install ( FILES "${MANTICORE_BINARY_DIR}/manticore-generator" set ( DISTR_SUFFIX "~bionic_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}" ) set ( CPACK_DEBIAN_TOOLS_PACKAGE_SUGGESTS "libmysqlclient20, libpq5, libexpat1, libodbc1" ) -set ( CPACK_DEBIAN_TOOLS_PACKAGE_RECOMMENDS "manticore-icu" ) -set ( CPACK_DEBIAN_BIN_PACKAGE_RECOMMENDS "manticore-icu" ) \ No newline at end of file +set ( CPACK_DEBIAN_TOOLS_PACKAGE_RECOMMENDS "manticore-icudata" ) +set ( CPACK_DEBIAN_BIN_PACKAGE_RECOMMENDS "manticore-icudata" ) \ No newline at end of file diff --git a/cmake/builds/build_buster.cmake b/cmake/builds/build_buster.cmake index 14fa170543..0cc888f86f 100644 --- a/cmake/builds/build_buster.cmake +++ b/cmake/builds/build_buster.cmake @@ -37,5 +37,5 @@ install ( FILES "${MANTICORE_BINARY_DIR}/manticore-generator" set ( DISTR_SUFFIX "~buster_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}" ) set ( CPACK_DEBIAN_TOOLS_PACKAGE_SUGGESTS "libmariadb3, libpq5, libexpat1, libodbc1" ) -set ( CPACK_DEBIAN_TOOLS_PACKAGE_RECOMMENDS "manticore-icu" ) -set ( CPACK_DEBIAN_BIN_PACKAGE_RECOMMENDS "manticore-icu" ) \ No newline at end of file +set ( CPACK_DEBIAN_TOOLS_PACKAGE_RECOMMENDS "manticore-icudata" ) +set ( CPACK_DEBIAN_BIN_PACKAGE_RECOMMENDS "manticore-icudata" ) \ No newline at end of file diff --git a/cmake/builds/build_focal.cmake b/cmake/builds/build_focal.cmake index c3a5bde164..d852d1eac0 100644 --- a/cmake/builds/build_focal.cmake +++ b/cmake/builds/build_focal.cmake @@ -37,5 +37,5 @@ install ( FILES "${MANTICORE_BINARY_DIR}/manticore-generator" set ( DISTR_SUFFIX "~focal_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}" ) set ( CPACK_DEBIAN_TOOLS_PACKAGE_SUGGESTS "libmysqlclient21, libpq5, libexpat1, libodbc1" ) -set ( CPACK_DEBIAN_TOOLS_PACKAGE_RECOMMENDS "manticore-icu" ) -set ( CPACK_DEBIAN_BIN_PACKAGE_RECOMMENDS "manticore-icu" ) \ No newline at end of file +set ( CPACK_DEBIAN_TOOLS_PACKAGE_RECOMMENDS "manticore-icudata" ) +set ( CPACK_DEBIAN_BIN_PACKAGE_RECOMMENDS "manticore-icudata" ) \ No newline at end of file diff --git a/cmake/builds/build_jessie.cmake b/cmake/builds/build_jessie.cmake index 6c074b6560..c45ed93828 100644 --- a/cmake/builds/build_jessie.cmake +++ b/cmake/builds/build_jessie.cmake @@ -38,5 +38,5 @@ install ( FILES "${MANTICORE_BINARY_DIR}/manticore-generator" set ( DISTR_SUFFIX "~jessie_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}" ) set ( CPACK_DEBIAN_TOOLS_PACKAGE_SUGGESTS "libmysqlclient18, libpq5, libexpat1, libodbc1" ) -set ( CPACK_DEBIAN_TOOLS_PACKAGE_RECOMMENDS "manticore-icu" ) -set ( CPACK_DEBIAN_BIN_PACKAGE_RECOMMENDS "manticore-icu" ) \ No newline at end of file +set ( CPACK_DEBIAN_TOOLS_PACKAGE_RECOMMENDS "manticore-icudata" ) +set ( CPACK_DEBIAN_BIN_PACKAGE_RECOMMENDS "manticore-icudata" ) \ No newline at end of file diff --git a/cmake/builds/build_stretch.cmake b/cmake/builds/build_stretch.cmake index 66f3d5d093..56d746366d 100644 --- a/cmake/builds/build_stretch.cmake +++ b/cmake/builds/build_stretch.cmake @@ -37,5 +37,5 @@ install ( FILES "${MANTICORE_BINARY_DIR}/manticore-generator" set ( DISTR_SUFFIX "~stretch_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}" ) set ( CPACK_DEBIAN_TOOLS_PACKAGE_SUGGESTS "libmysqlclient18, libpq5, libexpat1, libodbc1" ) -set ( CPACK_DEBIAN_TOOLS_PACKAGE_RECOMMENDS "manticore-icu" ) -set ( CPACK_DEBIAN_BIN_PACKAGE_RECOMMENDS "manticore-icu" ) \ No newline at end of file +set ( CPACK_DEBIAN_TOOLS_PACKAGE_RECOMMENDS "manticore-icudata" ) +set ( CPACK_DEBIAN_BIN_PACKAGE_RECOMMENDS "manticore-icudata" ) \ No newline at end of file diff --git a/cmake/builds/build_trusty.cmake b/cmake/builds/build_trusty.cmake index fd5586e427..f160443853 100644 --- a/cmake/builds/build_trusty.cmake +++ b/cmake/builds/build_trusty.cmake @@ -44,5 +44,5 @@ install ( FILES "${MANTICORE_BINARY_DIR}/manticore-generator" set ( DISTR_SUFFIX "~trusty_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}" ) set ( CPACK_DEBIAN_TOOLS_PACKAGE_SUGGESTS "libmysqlclient18, libpq5, libexpat1, libodbc1" ) -set ( CPACK_DEBIAN_TOOLS_PACKAGE_RECOMMENDS "manticore-icu" ) -set ( CPACK_DEBIAN_BIN_PACKAGE_RECOMMENDS "manticore-icu" ) \ No newline at end of file +set ( CPACK_DEBIAN_TOOLS_PACKAGE_RECOMMENDS "manticore-icudata" ) +set ( CPACK_DEBIAN_BIN_PACKAGE_RECOMMENDS "manticore-icudata" ) \ No newline at end of file diff --git a/cmake/builds/build_xenial.cmake b/cmake/builds/build_xenial.cmake index 4e89ce89c1..fcefb8d9f3 100644 --- a/cmake/builds/build_xenial.cmake +++ b/cmake/builds/build_xenial.cmake @@ -38,5 +38,5 @@ install ( FILES "${MANTICORE_BINARY_DIR}/manticore-generator" set ( DISTR_SUFFIX "~xenial_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}" ) set ( CPACK_DEBIAN_TOOLS_PACKAGE_SUGGESTS "libmysqlclient20, libpq5, libexpat1, libodbc1" ) -set ( CPACK_DEBIAN_TOOLS_PACKAGE_RECOMMENDS "manticore-icu" ) -set ( CPACK_DEBIAN_BIN_PACKAGE_RECOMMENDS "manticore-icu" ) \ No newline at end of file +set ( CPACK_DEBIAN_TOOLS_PACKAGE_RECOMMENDS "manticore-icudata" ) +set ( CPACK_DEBIAN_BIN_PACKAGE_RECOMMENDS "manticore-icudata" ) \ No newline at end of file diff --git a/manual/Changelog.md b/manual/Changelog.md index 25aac50124..df12a10bd9 100644 --- a/manual/Changelog.md +++ b/manual/Changelog.md @@ -26,6 +26,16 @@ Per `SELECT` query the number of threads can be limited with [OPTION threads=N]( The official Docker image is now based on Ubuntu 20.04 LTS +### Packaging + +`manticore` DEB and RPM packages are now split in several components: + +- `manticore-server` - provides `searchd`, config and service files +- `manticore-tools` - provides auxiliary tools ( `indexer`, `indextool` etc.) +- `manticore` - meta-package, installs `manticore-server` and `manticore-tools` +- `manticore-icudata` - provides ICU data file for icu morphology usage +- `manticore-dev` (DEB) or `manticore-devel` (RPM) - provides dev headers for UDFs + ### Bugifixes 1. [2a474dc1](https://github.com/manticoresoftware/manticoresearch/commit/2a474dc1a26e8b0f8aaaae95669caf2f1d4b7746) Crash of daemon at grouper at RT index with different chunks diff --git a/manual/Installation/Compiling_from_sources.md b/manual/Installation/Compiling_from_sources.md index 8a8303114b..ad689b8807 100644 --- a/manual/Installation/Compiling_from_sources.md +++ b/manual/Installation/Compiling_from_sources.md @@ -56,12 +56,12 @@ For the server these dependencies may be in play: ### From git -Manticore sources are [hosted on github](https://github.com/manticoresoftware/manticoresearch). Clone the repo, then checkout desired branch or tag. Our public git workfow contains only main `master` branch, which represents bleeding-edge of development. On release we create a versioned tag, like `3.5.0`, and start a new branch for current release, in this case `manticore-3.5.0`. The head of the versioned branch after all changes is used as source to build all binary releases. For example, to take sources of version 3.5.0 you can run: +Manticore sources are [hosted on github](https://github.com/manticoresoftware/manticoresearch). Clone the repo, then checkout desired branch or tag. Our public git workfow contains only main `master` branch, which represents bleeding-edge of development. On release we create a versioned tag, like `3.5.2`, and start a new branch for current release, in this case `manticore-3.5.2`. The head of the versioned branch after all changes is used as source to build all binary releases. For example, to take sources of version 3.5.2 you can run: ```bash git clone https://github.com/manticoresoftware/manticoresearch.git cd manticoresearch -git checkout manticore-3.5.0 +git checkout manticore-3.5.2 ``` When using sources from GitHub you'll need `flex` and `bison` tools, since all internal parsers are provided as lex/yacc sources. @@ -71,9 +71,9 @@ When using sources from GitHub you'll need `flex` and `bison` tools, since all i Tarballs are available [here](https://manticoresearch.com/downloads/). Look for "Source tar.gz". Those provided by github 'Source code' archives are not what you want, so avoid using them (mainly they lack the git version which we use to make version string). The tarball sources have pre-built lexers and parsers, so flex and bison tools are not required for a build. ```bash -wget -c https://repo.manticoresearch.com/repository/manticoresearch_source/release/manticore-3.5.0-200722-6903305-release.tar.gz -tar -zxf manticore-3.5.0-*.tar.gz -cd manticore-3.5.0-* +wget -c https://repo.manticoresearch.com/repository/manticoresearch_source/release/manticore-3.5.2-200722-6903305-release.tar.gz +tar -zxf manticore-3.5.2-*.tar.gz +cd manticore-3.5.2-* ``` ### Configuring @@ -81,7 +81,7 @@ cd manticore-3.5.0-* Manticore uses cmake for pre-compiling configuration. To use it make a build directory somewhere, go to it, then invoke cmake, pointing it to the source dir. Simplest is to create the build directory inside unpacked sources. ```bash -cd manticore-3.5.0 +cd manticore-3.5.2 mkdir build && cd build cmake -DWITH_MYSQL=1 -DWITH_RE2=1 .. ``` diff --git a/manual/Installation/Debian_and_Ubuntu.md b/manual/Installation/Debian_and_Ubuntu.md index dd0ad706c2..7a47590996 100644 --- a/manual/Installation/Debian_and_Ubuntu.md +++ b/manual/Installation/Debian_and_Ubuntu.md @@ -45,7 +45,7 @@ Manticore package depends on zlib and ssl libraries, nothing else is strictly re ```bash $ sudo -u manticore indexer -Manticore 3.5.0 6903305@200722 release +Manticore 3.5.2 6903305@200722 release Copyright (c) 2001-2016, Andrew Aksyonoff Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com) Copyright (c) 2017-2020, Manticore Software LTD (http://manticoresearch.com) diff --git a/manual/Installation/MacOS.md b/manual/Installation/MacOS.md index 167bf08ad0..10f0581eaf 100644 --- a/manual/Installation/MacOS.md +++ b/manual/Installation/MacOS.md @@ -32,7 +32,7 @@ Download it [from the website](https://manticoresearch.com/downloads/) and unpac ```bash mkdir manticore -tar -zxvf manticore-3.5.0-200722-69033058-release-osx10.14.4-x86_64-bin.tar.gz -C manticore +tar -zxvf manticore-3.5.2-200722-69033058-release-osx10.14.4-x86_64-bin.tar.gz -C manticore cd manticore bin/searchd -c manticore.conf ``` diff --git a/manual/Installation/Windows.md b/manual/Installation/Windows.md index 2edd624f5e..08ead0355f 100644 --- a/manual/Installation/Windows.md +++ b/manual/Installation/Windows.md @@ -6,7 +6,7 @@ In the following example we'll assume we unpack the zip contents to folder `C:\M ```bat cd C:\Manticore -unzip manticore-3.5.0-200722-1d34c491-release-x64-bin.zip +unzip manticore-3.5.2-200722-1d34c491-release-x64-bin.zip ``` The zip comes with a sample configuration file in `sphinx.conf.in`. diff --git a/src/sphinxversion.h.in b/src/sphinxversion.h.in index a5701fbf8f..54367da3f7 100644 --- a/src/sphinxversion.h.in +++ b/src/sphinxversion.h.in @@ -1,5 +1,5 @@ // this is the main place where version number is defined -#define VERNUMBERS "3.5.1" +#define VERNUMBERS "3.5.2" // GIT_COMMIT_ID "$Format:%h$" // GIT_TIMESTAMP_ID "$Format:%ai$" // GIT_EPOCH_ID "$Format:%ct$"