1
0
Fork 0

Fix debian build

This commit is contained in:
Andreas Streichardt 2016-05-12 15:11:55 +02:00
parent 1661733d99
commit d633067c3c
6 changed files with 59 additions and 24 deletions

View File

@ -1,7 +1,7 @@
# debian
if (CPACK_GENERATOR STREQUAL "DEB")
set(CPACK_PACKAGE_FILE_NAME "arangodb_${CPACK_PACKAGE_VERSION}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}")
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}")
set(CPACK_COMPONENTS_ALL debian-extras)
endif ()

View File

@ -111,7 +111,7 @@ case "$1" in
;;
*)
log_success_msg "Usage: /etc/init.d/arangodb {start|stop|restart|force-reload|status|upgrade}"
log_success_msg "Usage: /etc/init.d/arangodb3 {start|stop|restart|force-reload|status|upgrade}"
exit 1
;;
esac

View File

@ -1,13 +1,13 @@
Source: arangodb
Source: arangodb3
Section: database
Priority: optional
Maintainer: ArangoDB GmbH <info@arangodb.com>
Build-Depends: debhelper (>= 5), libreadline-dev, libssl-dev, python, libicu-dev, libtool, autoconf, automake
Package: arangodb
Package: arangodb3
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Conflicts: arangodb-client
Conflicts: arangodb3-client
Description: a multi-purpose NoSQL database
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
@ -18,7 +18,7 @@ Description: a multi-purpose NoSQL database
ArangoDB Software
www.arangodb.com
Package: arangodb-client
Package: arangodb3-client
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Conflicts: arangodb

View File

@ -11,19 +11,13 @@ ArangoDB 3 (http://www.arangodb.org)
First Steps with ArangoDB:
http:/www.arangodb.org/quickstart
Upgrading ArangoDB:
http://www.arangodb.org/manuals/current/Upgrading.html
Upgrading ArangoDB database files:
> /etc/init.d/arangodb upgrade
Configuration file:
/etc/arangodb/arangod.conf
/etc/arangodb3/arangod.conf
Start ArangoDB shell client:
> /usr/bin/arangosh
Start ArangoDB service:
> /etc/init.d/arangodb start
> /etc/init.d/arangodb3 start
"

View File

@ -2,7 +2,7 @@
set -e
getent group arangodb >/dev/null || groupadd -r arangodb
getent passwd arangodb >/dev/null || useradd -r -g arangodb -d /usr/share/arangodb -s /bin/false -c "ArangoDB Application User" arangodb
getent passwd arangodb >/dev/null || useradd -r -g arangodb -d /usr/share/arangodb3 -s /bin/false -c "ArangoDB Application User" arangodb
install -o arangodb -g arangodb -m 755 -d /var/lib/arangodb3
install -o arangodb -g arangodb -m 755 -d /var/lib/arangodb3-apps

View File

@ -46,7 +46,7 @@ FILE(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/var/lib/arangodb3")
FILE(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/var/lib/arangodb3-apps")
# logs
FILE(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/var/log/arangodb3")
FILE(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/var/log/arangodb")
# package
set(TRI_PKGDATADIR "${CMAKE_INSTALL_PREFIX}/share/arangodb3")
@ -230,6 +230,52 @@ if (NOT(MSVC))
set(CPACK_SET_DESTDIR ON)
endif()
find_program(DH_INSTALLINIT dh_installinit)
if (DH_INSTALLINIT)
add_custom_target(prepare_debian)
SET(DEBIAN_CONTROL_EXTRA_BASENAMES
postinst
preinst
postrm
prerm
)
add_custom_command(TARGET prepare_debian POST_BUILD
COMMAND ${CMAKE_COMMAND} -E
remove_directory "${PROJECT_BINARY_DIR}/debian"
)
foreach (_DEBIAN_CONTROL_EXTRA_BASENAME ${DEBIAN_CONTROL_EXTRA_BASENAMES})
SET(RELATIVE_NAME "debian/${_DEBIAN_CONTROL_EXTRA_BASENAME}")
SET(SRCFILE "${PROJECT_SOURCE_DIR}/Installation/${RELATIVE_NAME}")
SET(DESTFILE "${PROJECT_BINARY_DIR}/${RELATIVE_NAME}")
list(APPEND DEBIAN_CONTROL_EXTRA_SRC "${SRCFILE}")
list(APPEND DEBIAN_CONTROL_EXTRA_DEST "${DESTFILE}")
add_custom_command(TARGET prepare_debian POST_BUILD
COMMAND ${CMAKE_COMMAND} -E
copy ${SRCFILE} ${DESTFILE})
endforeach()
SET(DEBIAN_WORK_DIR "${PROJECT_BINARY_DIR}/debian")
add_custom_command(TARGET prepare_debian POST_BUILD
COMMAND ${CMAKE_COMMAND} -E
copy "${PROJECT_SOURCE_DIR}/Installation/debian/control" "${PROJECT_BINARY_DIR}/debian/control"
)
add_custom_command(TARGET prepare_debian POST_BUILD
COMMAND ${CMAKE_COMMAND} -E
copy "${PROJECT_SOURCE_DIR}/Installation/debian/compat" "${PROJECT_BINARY_DIR}/debian/compat"
)
add_custom_command(TARGET prepare_debian POST_BUILD
COMMAND "${DH_INSTALLINIT}" -o 2>/dev/null
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
)
add_custom_command(TARGET prepare_debian POST_BUILD
COMMAND "dh_installdeb"
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
)
endif()
# General
set(CPACK_PACKAGE_NAME "arangodb3")
set(CPACK_PACKAGE_VENDOR "ArangoDB GmbH")
@ -251,22 +297,17 @@ set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "a multi-purpose NoSQL database
ArangoDB Software
www.arangodb.com
")
SET(CPACK_DEBIAN_PACKAGE_CONFLICTS "arangodb")
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
set(CPACK_DEBIAN_COMPRESSION_TYPE "xz")
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://www.arangodb.com/")
set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/Installation/debian/postinst;${CMAKE_CURRENT_SOURCE_DIR}/Installation/debian/preinst;${CMAKE_CURRENT_SOURCE_DIR}/Installation/debian/postrm;${CMAKE_CURRENT_SOURCE_DIR}/Installation/debian/prerm;")
set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${PROJECT_BINARY_DIR}/debian/${CPACK_PACKAGE_NAME}/DEBIAN/postinst;${PROJECT_BINARY_DIR}/debian/${CPACK_PACKAGE_NAME}/DEBIAN/preinst;${PROJECT_BINARY_DIR}/debian/${CPACK_PACKAGE_NAME}/DEBIAN/postrm;${PROJECT_BINARY_DIR}/debian/${CPACK_PACKAGE_NAME}/DEBIAN/prerm;")
set(CPACK_BUNDLE_NAME "${CPACK_PACKAGE_NAME}")
configure_file("${PROJECT_SOURCE_DIR}/Installation/MacOSX/Bundle/Info.plist.in" "${CMAKE_CURRENT_BINARY_DIR}/Info.plist")
set(CPACK_BUNDLE_PLIST "${CMAKE_CURRENT_BINARY_DIR}/Info.plist")
set(CPACK_BUNDLE_ICON "${PROJECT_SOURCE_DIR}/Installation/MacOSX/Bundle/icon.icns")
set(CPACK_BUNDLE_STARTUP_COMMAND "${PROJECT_SOURCE_DIR}/Installation/MacOSX/Bundle/arangodb-cli.sh")
# OSX bundle
if (CPACK_GENERATOR STREQUAL "Bundle")
set(CPACK_PACKAGE_NAME "ArangoDB-CLI")
endif ()
# MS installer
if (MSVC)
set(CPACK_PACKAGE_NAME "ArangoDB")