diff --git a/.gitignore b/.gitignore index a367757d187ec4aa719f736d9bba94dcf5130064..56c23eec4610de5a11cf8cfedea2e8fa996885f6 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,8 @@ cmake_install.cmake mod/silverbox/tarantool_silverbox mod/feeder/tarantool_feeder include/config.h +CPackConfig.cmake +CPackSourceConfig.cmake +_CPack_Packages +install_manifest.txt +tarantool-*.tar.gz diff --git a/CMakeLists.txt b/CMakeLists.txt index f7ab70f1e31c86788838f30dc2cbdf73cfad0fb9..64de4233d9981c77e84290899f26e048efe34b65 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 2.6) -project(Tarantool) +project(tarantool) include(CheckLibraryExists) include(CheckIncludeFile) find_program(ECHO echo) @@ -72,10 +72,23 @@ add_custom_target(TAGS COMMAND ctags -R -e -f TAGS # # Define TARANTOOL_VERSION -- a string constant with tarantool version. # +set (TARANTOOL_VERSION "") execute_process (COMMAND ${GIT} describe HEAD OUTPUT_VARIABLE TARANTOOL_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE ) +# +# Make sure the version is set even if building +# out of source. +# +set (CPACK_PACKAGE_VERSION_MAJOR "1") +set (CPACK_PACKAGE_VERSION_MINOR "3") +set (CPACK_PACKAGE_VERSION_PATCH "4") +if (TARANTOOL_VERSION STREQUAL "") + set (TARANTOOL_VERSION + "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") +endif() + # # Set flags for all include files: those maintained by us and @@ -155,6 +168,10 @@ add_subdirectory(core) add_subdirectory(mod) add_subdirectory(test) +install (FILES README LICENSE doc/silverbox-protocol.txt + DESTINATION doc) + +include (cmake/tarantool_cpack.cmake) # # Output compile-time defines into config.h. Do it at the end # of the script to make sure all variables are set. diff --git a/cmake/tarantool_cpack.cmake b/cmake/tarantool_cpack.cmake new file mode 100644 index 0000000000000000000000000000000000000000..f6f7c42c4ceee6a23efb9ea20131f7ebe3b94786 --- /dev/null +++ b/cmake/tarantool_cpack.cmake @@ -0,0 +1,27 @@ +# +# List generators +# +set (CPACK_GENERATOR "TGZ") +set (CPACK_SOURCE_GENERATOR "TGZ") +# +# Describe the source distribution +# +set (CPACK_SOURCE_IGNORE_FILES "\\\\.git" "_CPack_Packages" + "CMakeCache.txt" "CPackSourceConfig.cmake" "CPackConfig.cmake" + "CMakeFiles" "\\\\.gz" "\\\\.Z" "\\\\.zip" + "mod/silverbox/tarantool_silverbox" + "mod/silverbox/tarantool_feeder" "install_manifest.txt" + "Makefile" "cmake_install.cmake" "test/var/" "\\\\.a") +set (CPACK_SOURCE_PACKAGE_FILE_NAME +"tarantool-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}-src") +# +# Provide options for the binary distribution. +# +STRING(TOLOWER "${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}" platform) + +set (CPACK_PACKAGE_FILE_NAME +"tarantool-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}-${platform}") + +# +# +include (CPack) diff --git a/core/log_io.c b/core/log_io.c index ea572971a862ab8345c68ed98f538252881c2685..6c5df8ee42b45319eea5f40d5cc9d83f09545847 100644 --- a/core/log_io.c +++ b/core/log_io.c @@ -1131,7 +1131,7 @@ recover(struct recovery_state *r, i64 lsn) result = recover_snap(r); if (result < 0) { if (greatest_lsn(r->snap_prefered_class) <= 0) { - say_crit("don't you forget to initialize storage with --init_storage switch?"); + say_crit("didn't you forget to initialize storage with --init-storage switch?"); _exit(1); } panic("snapshot recovery failed"); diff --git a/include/config.h.cmake b/include/config.h.cmake index 3bd80eb234c8635e716c4e9341743e21fdaca49a..cadf475ba9ba2d40add64417f94cb54efa300d49 100644 --- a/include/config.h.cmake +++ b/include/config.h.cmake @@ -5,7 +5,7 @@ * config.h.cmake. Please do not modify. */ /* - A string with major-minor-patch-commit-id identifier of the + * A string with major-minor-patch-commit-id identifier of the * release. */ #define TARANTOOL_VERSION "@TARANTOOL_VERSION@" diff --git a/mod/CMakeLists.txt b/mod/CMakeLists.txt index 1cb0091835874ddb5e9f8cb99605d70a7fc35127..590433959ff28dfec8c768c613492df8925e7e9e 100644 --- a/mod/CMakeLists.txt +++ b/mod/CMakeLists.txt @@ -24,6 +24,8 @@ function(tarantool_module mod) set_target_properties(tarantool_${mod} PROPERTIES COMPILE_FLAGS "${core_cflags}") + install (TARGETS tarantool_${mod} DESTINATION bin) + endfunction() foreach (module ${TARANTOOL_MODULES}) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 877f7744571c0ed786cdd3fd3ab2402e144664af..a34de08cd686bf75f29fcb9cb96f90ba61ba6e87 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,3 +1,8 @@ add_custom_target(test COMMAND ${PROJECT_SOURCE_DIR}/test/test-run.py --bindir=${PROJECT_BINARY_DIR}/mod/silverbox --vardir=${PROJECT_BINARY_DIR}/test/var ) + +install (PROGRAMS tarantool DESTINATION bin) +install (DIRECTORY lib DESTINATION bin) +install (FILES box/tarantool.cfg box/00000000000000000001.snap + DESTINATION bin) diff --git a/test/box/00000000000000000001.snap b/test/box/00000000000000000001.snap new file mode 100644 index 0000000000000000000000000000000000000000..8f8d8ac5b4c8634e2099b9d6671560db48518960 Binary files /dev/null and b/test/box/00000000000000000001.snap differ diff --git a/test/box/args.result b/test/box/args.result index 48153743f811f698db50a0077740878fad05e771..68b984bcfecf67a955553e0f5ba2dc0afa317e3a 100644 --- a/test/box/args.result +++ b/test/box/args.result @@ -60,8 +60,8 @@ tarantool_silverbox --daemonize tarantool_silverbox: the daemon is already running tarantool_silverbox --version -1.3.minor-<rev>-<commit> +1.minor.patch-<rev>-<commit> tarantool_silverbox -V -1.3.minor-<rev>-<commit> +1.minor.patch-<rev>-<commit> diff --git a/test/box/args.test b/test/box/args.test index 77ba40e862d1f971081f947e1ea4dcaa8b8154f9..05e942901dc1a351f83e94d6c8b57c96325b0cfd 100644 --- a/test/box/args.test +++ b/test/box/args.test @@ -9,7 +9,7 @@ server.test_option("-c") server.test_option("--config tarantool.cfg") server.test_option("--daemonize") sys.stdout.pop_filter() -sys.stdout.push_filter("(\d\.\d)\.\d-\d+-\S+", "\\1.minor-<rev>-<commit>") +sys.stdout.push_filter("(\d)\.\d\.\d(-\d+-\S+)?", "\\1.minor.patch-<rev>-<commit>") server.test_option("--version") server.test_option("-V ") sys.stdout.pop_filter()