mirror of https://gitee.com/bigwinds/arangodb
add debian package with debug symbols
This commit is contained in:
parent
91d486d1da
commit
0b97b30cd6
|
@ -406,6 +406,7 @@ elif [ "${XCGCC}" = 1 ]; then
|
|||
export LD=$TOOL_PREFIX-g++
|
||||
export LINK=$TOOL_PREFIX-g++
|
||||
export STRIP=$TOOL_PREFIX-strip
|
||||
export OBJCOPY=$TOOL_PREFIX-objcopy
|
||||
# we need ARM LD:
|
||||
GOLD=0;
|
||||
|
||||
|
@ -468,6 +469,18 @@ if [ -z "${MSVC}" ]; then
|
|||
if test -n "${STRIP}"; then
|
||||
CONFIGURE_OPTIONS="${CONFIGURE_OPTIONS} -DCMAKE_STRIP=${STRIP}"
|
||||
fi
|
||||
|
||||
if test -z "${OBJCOPY}"; then
|
||||
OBJCOPY=/usr/bin/objcopy
|
||||
if [ ! -f ${OBJCOPY} ] ; then
|
||||
OBJCOPY=`which objcopy`
|
||||
fi
|
||||
export OBJCOPY
|
||||
fi
|
||||
if test -n "${OBJCOPY}"; then
|
||||
CONFIGURE_OPTIONS="${CONFIGURE_OPTIONS} -DCMAKE_OBJCOPY=${OBJCOPY}"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
CONFIGURE_OPTIONS="${CONFIGURE_OPTIONS} ${MAINTAINER_MODE}"
|
||||
|
@ -535,6 +548,7 @@ DST=`pwd`
|
|||
SOURCE_DIR=`compute_relative ${DST}/ ${SRC}/`
|
||||
|
||||
if [ ! -f Makefile -o ! -f CMakeCache.txt ]; then
|
||||
rm -rf CMakeFiles
|
||||
CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS}" LIBS="${LIBS}" \
|
||||
cmake ${SOURCE_DIR} ${CONFIGURE_OPTIONS} -G "${GENERATOR}" || exit 1
|
||||
fi
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
stand-alone shell
|
||||
A distributed free and open-source database with a flexible data model for documents,
|
||||
graphs, and key-values. Build high performance applications using a convenient
|
||||
SQL-like query language or JavaScript extensions.
|
||||
Debug symbol file for development.
|
||||
.
|
||||
Copyright: 2014-2016 by ArangoDB GmbH
|
||||
Copyright: 2012-2013 by triAGENS GmbH
|
||||
ArangoDB Software
|
||||
www.arangodb.com
|
|
@ -0,0 +1,17 @@
|
|||
# -*- mode: CMAKE; -*-
|
||||
# these are the install targets for the client package.
|
||||
# we can't use RUNTIME DESTINATION here.
|
||||
|
||||
set(STRIP_DIR "${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/strip")
|
||||
execute_process(COMMAND mkdir -p ${STRIP_DIR})
|
||||
|
||||
set(FILE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/${BIN_ARANGOBENCH}${CMAKE_EXECUTABLE_SUFFIX})
|
||||
set(STRIP_FILE ${STRIP_DIR}/${BIN_ARANGOD}${CMAKE_EXECUTABLE_SUFFIX})
|
||||
if (NOT MSVC AND CMAKE_STRIP)
|
||||
execute_process(COMMAND "rm" -f ${STRIP_FILE})
|
||||
execute_process(COMMAND ${CMAKE_OBJCOPY} --only-keep-debug ${FILE} ${STRIP_FILE})
|
||||
set(FILE ${STRIP_FILE})
|
||||
endif()
|
||||
install(
|
||||
PROGRAMS ${FILE}
|
||||
DESTINATION ${CMAKE_INSTALL_DEBINFO_DIR}/${CMAKE_INSTALL_BINDIR})
|
|
@ -0,0 +1,63 @@
|
|||
# -*- mode: CMAKE; -*-
|
||||
# these are the install targets for the client package.
|
||||
# we can't use RUNTIME DESTINATION here.
|
||||
|
||||
set(STRIP_DIR "${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/strip")
|
||||
execute_process(COMMAND mkdir -p ${STRIP_DIR})
|
||||
|
||||
set(FILE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/${BIN_ARANGOBENCH}${CMAKE_EXECUTABLE_SUFFIX})
|
||||
set(STRIP_FILE ${STRIP_DIR}/${BIN_ARANGOBENCH}${CMAKE_EXECUTABLE_SUFFIX})
|
||||
if (NOT MSVC AND CMAKE_STRIP)
|
||||
execute_process(COMMAND "rm" -f ${STRIP_FILE})
|
||||
execute_process(COMMAND ${CMAKE_OBJCOPY} --only-keep-debug ${FILE} ${STRIP_FILE})
|
||||
set(FILE ${STRIP_FILE})
|
||||
endif()
|
||||
install(
|
||||
PROGRAMS ${FILE}
|
||||
DESTINATION ${CMAKE_INSTALL_DEBINFO_DIR}/${CMAKE_INSTALL_BINDIR})
|
||||
|
||||
|
||||
set(FILE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/${BIN_ARANGODUMP}${CMAKE_EXECUTABLE_SUFFIX})
|
||||
set(STRIP_FILE ${STRIP_DIR}/${BIN_ARANGODUMP}${CMAKE_EXECUTABLE_SUFFIX})
|
||||
if (NOT MSVC AND CMAKE_STRIP)
|
||||
execute_process(COMMAND "rm" -f ${STRIP_FILE})
|
||||
execute_process(COMMAND ${CMAKE_OBJCOPY} --only-keep-debug ${FILE} ${STRIP_FILE})
|
||||
set(FILE ${STRIP_FILE})
|
||||
endif()
|
||||
install(
|
||||
PROGRAMS ${FILE}
|
||||
DESTINATION ${CMAKE_INSTALL_DEBINFO_DIR}/${CMAKE_INSTALL_BINDIR})
|
||||
|
||||
set(FILE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/${BIN_ARANGOIMP}${CMAKE_EXECUTABLE_SUFFIX})
|
||||
set(STRIP_FILE ${STRIP_DIR}/${BIN_ARANGOIMP}${CMAKE_EXECUTABLE_SUFFIX})
|
||||
if (NOT MSVC AND CMAKE_STRIP)
|
||||
execute_process(COMMAND "rm" -f ${STRIP_FILE})
|
||||
execute_process(COMMAND ${CMAKE_OBJCOPY} --only-keep-debug ${FILE} ${STRIP_FILE})
|
||||
set(FILE ${STRIP_FILE})
|
||||
endif()
|
||||
install(
|
||||
PROGRAMS ${FILE}
|
||||
DESTINATION ${CMAKE_INSTALL_DEBINFO_DIR}/${CMAKE_INSTALL_BINDIR})
|
||||
|
||||
set(FILE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/${BIN_ARANGORESTORE}${CMAKE_EXECUTABLE_SUFFIX})
|
||||
set(STRIP_FILE ${STRIP_DIR}/${BIN_ARANGORESTORE}${CMAKE_EXECUTABLE_SUFFIX})
|
||||
if (NOT MSVC AND CMAKE_STRIP)
|
||||
execute_process(COMMAND "rm" -f ${STRIP_FILE})
|
||||
execute_process(COMMAND ${CMAKE_OBJCOPY} --only-keep-debug ${FILE} ${STRIP_FILE})
|
||||
set(FILE ${STRIP_FILE})
|
||||
endif()
|
||||
install(
|
||||
PROGRAMS ${FILE}
|
||||
DESTINATION ${CMAKE_INSTALL_DEBINFO_DIR}/${CMAKE_INSTALL_BINDIR})
|
||||
|
||||
set(FILE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_X}/${BIN_ARANGOSH}${CMAKE_EXECUTABLE_SUFFIX})
|
||||
set(STRIP_FILE ${STRIP_DIR}/${BIN_ARANGOSH}${CMAKE_EXECUTABLE_SUFFIX})
|
||||
if (NOT MSVC AND CMAKE_STRIP)
|
||||
execute_process(COMMAND "rm" -f ${STRIP_FILE})
|
||||
execute_process(COMMAND ${CMAKE_OBJCOPY} --only-keep-debug ${FILE} ${STRIP_FILE})
|
||||
set(FILE ${STRIP_FILE})
|
||||
endif()
|
||||
install(
|
||||
PROGRAMS ${FILE}
|
||||
DESTINATION ${CMAKE_INSTALL_DEBINFO_DIR}/${CMAKE_INSTALL_BINDIR})
|
||||
|
|
@ -16,6 +16,10 @@ if (MSVC)
|
|||
set(CMAKE_INSTALL_SBINDIR ${CMAKE_INSTALL_BINDIR})
|
||||
endif()
|
||||
|
||||
# debug info directory:
|
||||
set(CMAKE_INSTALL_DEBINFO_DIR "${CMAKE_INSTALL_LIBDIR}/debug/${CMAKE_PROJECT_NAME}")
|
||||
|
||||
|
||||
set(CMAKE_INSTALL_SYSCONFDIR_ARANGO "${CMAKE_INSTALL_SYSCONFDIR}/${CMAKE_PROJECT_NAME}")
|
||||
set(CMAKE_INSTALL_FULL_SYSCONFDIR_ARANGO "${CMAKE_INSTALL_FULL_SYSCONFDIR}/${CMAKE_PROJECT_NAME}")
|
||||
|
||||
|
@ -30,10 +34,9 @@ FILE(MAKE_DIRECTORY "${ARANGODB_APPS_DIRECTORY}")
|
|||
# logs
|
||||
FILE(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/var/log/${CMAKE_PROJECT_NAME}")
|
||||
|
||||
set(INSTALL_ICU_DT_DEST "${CMAKE_INSTALL_DATAROOTDIR}/arangodb3")
|
||||
set(INSTALL_ICU_DT_DEST "${CMAKE_INSTALL_DATAROOTDIR}/${CMAKE_PROJECT_NAME}")
|
||||
|
||||
include(InstallMacros)
|
||||
|
||||
# install ----------------------------------------------------------------------
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/Documentation/man/
|
||||
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/man)
|
||||
|
|
|
@ -0,0 +1,115 @@
|
|||
################################################################################
|
||||
# the client package is a complete cmake sub package.
|
||||
################################################################################
|
||||
project(PACKAGE-DBG)
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
################################################################################
|
||||
# variables from the main build have to be explicitely forwarded:
|
||||
################################################################################
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "@PROJECT_BINARY_DIR@/bin/")
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_X ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
|
||||
set(CMAKE_INSTALL_DO_STRIP 0)
|
||||
set(CROSS_COMPILING @CROSS_COMPILING@)
|
||||
|
||||
set(CMAKE_INSTALL_BINDIR @CMAKE_INSTALL_BINDIR@)
|
||||
set(CMAKE_INSTALL_FULL_BINDIR @CMAKE_INSTALL_FULL_BINDIR@)
|
||||
|
||||
set(CMAKE_INSTALL_DATAROOTDIR @CMAKE_INSTALL_DATAROOTDIR@)
|
||||
set(CMAKE_INSTALL_DATAROOTDIR_ARANGO @CMAKE_INSTALL_DATAROOTDIR_ARANGO@)
|
||||
set(CMAKE_INSTALL_FULL_DATAROOTDIR_ARANGO @CMAKE_INSTALL_FULL_DATAROOTDIR_ARANGO@)
|
||||
|
||||
set(CMAKE_INSTALL_DIR @CMAKE_INSTALL_DIR@)
|
||||
set(CMAKE_INSTALL_PREFIX @CMAKE_INSTALL_PREFIX@)
|
||||
|
||||
set(CMAKE_INSTALL_SYSCONFDIR @CMAKE_INSTALL_SYSCONFDIR@)
|
||||
set(CMAKE_INSTALL_SYSCONFDIR_ARANGO @CMAKE_INSTALL_SYSCONFDIR_ARANGO@)
|
||||
set(CMAKE_INSTALL_FULL_SYSCONFDIR_ARANGO @CMAKE_INSTALL_FULL_SYSCONFDIR_ARANGO@)
|
||||
|
||||
set(CMAKE_INSTALL_DEBINFO_DIR @CMAKE_INSTALL_DEBINFO_DIR@)
|
||||
|
||||
set(INSTALL_CONFIGFILES_LIST)
|
||||
set(PACKAGING_HANDLE_CONFIG_FILES false)
|
||||
|
||||
################################################################################
|
||||
# Substitute the install binaries:
|
||||
################################################################################
|
||||
set(BIN_ARANGOD @BIN_ARANGOD@)
|
||||
|
||||
set(BIN_ARANGOBENCH @BIN_ARANGOBENCH@)
|
||||
set(BIN_ARANGODUMP @BIN_ARANGODUMP@)
|
||||
set(BIN_ARANGOIMP @BIN_ARANGOIMP@)
|
||||
set(BIN_ARANGORESTORE @BIN_ARANGORESTORE@)
|
||||
set(BIN_ARANGOSH @BIN_ARANGOSH@)
|
||||
set(BIN_ARANGOVPACK @BIN_ARANGOVPACK@)
|
||||
|
||||
################################################################################
|
||||
# build specific variables:
|
||||
################################################################################
|
||||
set(ARANGODB_URL_INFO_ABOUT @ARANGODB_URL_INFO_ABOUT@)
|
||||
set(ARANGODB_SOURCE_DIR @ARANGODB_SOURCE_DIR@)
|
||||
set(ARANGODB_VERSION @ARANGODB_VERSION@)
|
||||
set(ARANGODB_PACKAGE_CONTACT @ARANGODB_PACKAGE_CONTACT@)
|
||||
set(ARANGODB_PACKAGE_REVISION @ARANGODB_PACKAGE_REVISION@)
|
||||
set(ARANGODB_PACKAGE_VENDOR @ARANGODB_PACKAGE_VENDOR@)
|
||||
set(CMAKE_TARGET_ARCHITECTURES @CMAKE_TARGET_ARCHITECTURES@)
|
||||
|
||||
set(ORIGINAL_SOURCE_DIR @PROJECT_SOURCE_DIR@)
|
||||
set(PROJECT_SOURCE_DIR @PROJECT_SOURCE_DIR@)
|
||||
set(CPACK_PACKAGE_NAME @CPACK_PACKAGE_NAME@)
|
||||
set(CPACKG_PACKAGE_CONFLICTS @CPACKG_PACKAGE_CONFLICTS@)
|
||||
|
||||
################################################################################
|
||||
# Get the final values for cpack:
|
||||
################################################################################
|
||||
set(CPACK_PACKAGE_VERSION "${ARANGODB_VERSION}")
|
||||
set(CPACK_PACKAGE_NAME "${CPACK_PACKAGE_NAME}-dbg")
|
||||
set(CPACK_DEBIAN_PACKAGE_SECTION "devel")
|
||||
set(CPACK_PACKAGE_VENDOR ${ARANGODB_PACKAGE_VENDOR})
|
||||
set(CPACK_PACKAGE_CONTACT ${ARANGODB_PACKAGE_CONTACT})
|
||||
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ${ARANGODB_URL_INFO_ABOUT})
|
||||
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
|
||||
set(CPACK_DEBIAN_COMPRESSION_TYPE "xz")
|
||||
set(CPACK_COMPONENTS_ALL debian-extras)
|
||||
set(CPACK_GENERATOR "DEB")
|
||||
set(CPACK_SET_DESTDIR ON)
|
||||
|
||||
set(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
|
||||
|
||||
if (USE_ENTERPRISE)
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/enterprise/LICENSE")
|
||||
else ()
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE")
|
||||
endif ()
|
||||
|
||||
file(READ "${PROJECT_SOURCE_DIR}/Installation/debian/dbg_packagedesc.txt"
|
||||
CPACK_DEBIAN_PACKAGE_DESCRIPTION)
|
||||
|
||||
################################################################################
|
||||
# specify which target archcitecture the package is going to be:
|
||||
################################################################################
|
||||
|
||||
if(CMAKE_TARGET_ARCHITECTURES MATCHES ".*x86_64.*")
|
||||
set(ARANGODB_PACKAGE_ARCHITECTURE "amd64")
|
||||
elseif(CMAKE_TARGET_ARCHITECTURES MATCHES "aarch64")
|
||||
set(ARANGODB_PACKAGE_ARCHITECTURE "arm64")
|
||||
elseif(CMAKE_TARGET_ARCHITECTURES MATCHES "armv7")
|
||||
set(ARANGODB_PACKAGE_ARCHITECTURE "armhf")
|
||||
else()
|
||||
set(ARANGODB_PACKAGE_ARCHITECTURE "i386")
|
||||
endif()
|
||||
|
||||
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE ${ARANGODB_PACKAGE_ARCHITECTURE})
|
||||
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${ARANGODB_PACKAGE_REVISION}_${ARANGODB_PACKAGE_ARCHITECTURE}")
|
||||
|
||||
################################################################################
|
||||
# Install the external files into the package directory:
|
||||
################################################################################
|
||||
|
||||
|
||||
set(INSTALL_MACROS_NO_TARGET_INSTALL TRUE)
|
||||
include(${ORIGINAL_SOURCE_DIR}/cmake/InstallMacros.cmake)
|
||||
include(${ORIGINAL_SOURCE_DIR}/arangosh/dbg.cmake)
|
||||
include(${ORIGINAL_SOURCE_DIR}/arangod/dbg.cmake)
|
||||
|
||||
include(CPack)
|
|
@ -99,8 +99,6 @@ add_custom_target(package-arongodb-client
|
|||
COMMAND cp *.deb ${PROJECT_BINARY_DIR}
|
||||
WORKING_DIRECTORY ${CLIENT_BUILD_DIR})
|
||||
|
||||
|
||||
|
||||
list(APPEND PACKAGES_LIST package-arongodb-client)
|
||||
|
||||
|
||||
|
@ -116,3 +114,18 @@ add_custom_target(remove_packages
|
|||
)
|
||||
|
||||
list(APPEND CLEAN_PACKAGES_LIST remove_packages)
|
||||
|
||||
|
||||
################################################################################
|
||||
# hook to build the debug package
|
||||
################################################################################
|
||||
set(DEBUG_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/packages/arangodb3-dbg)
|
||||
configure_file(cmake/packages/dbg/deb.txt ${DEBUG_BUILD_DIR}/CMakeLists.txt @ONLY)
|
||||
|
||||
add_custom_target(package-arongodb-dbg
|
||||
COMMAND ${CMAKE_COMMAND} .
|
||||
COMMAND ${CMAKE_CPACK_COMMAND} -G DEB
|
||||
COMMAND cp *.deb ${PROJECT_BINARY_DIR}
|
||||
WORKING_DIRECTORY ${DEBUG_BUILD_DIR})
|
||||
|
||||
list(APPEND PACKAGES_LIST package-arongodb-dbg)
|
||||
|
|
Loading…
Reference in New Issue