osquery-1/CMake/Packages.cmake

148 lines
4.3 KiB
CMake
Raw Normal View History

2015-02-03 05:21:36 +00:00
# make package
if(APPLE)
2015-07-13 19:24:58 +00:00
add_custom_target(
packages
COMMAND "${CMAKE_SOURCE_DIR}/tools/deployment/make_osx_package.sh"
COMMAND "${CMAKE_SOURCE_DIR}/tools/codegen/genapi.py" "${CMAKE_SOURCE_DIR}"
"--output" "--directory" "${CMAKE_BINARY_DIR}"
2015-07-13 19:24:58 +00:00
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
COMMENT "Building default OS X package (no custom config)" VERBATIM
DEPENDS daemon shell
)
2015-02-03 05:21:36 +00:00
elseif(LINUX)
if(DEBIAN_BASED)
# Set basic catch-alls for debian-based systems.
2015-02-03 05:21:36 +00:00
set(PACKAGE_TYPE "deb")
set(PACKAGE_ITERATION "1.debian")
2015-02-03 05:21:36 +00:00
set(PACKAGE_DEPENDENCIES
"zlib1g"
"libbz2-1.0"
"libreadline6"
)
# Improve catch-alls for debian or ubuntu.
if(OSQUERY_BUILD_PLATFORM STREQUAL "ubuntu")
set(PACKAGE_DEPENDENCIES
"${PACKAGE_DEPENDENCIES}"
"libgcrypt11"
)
elseif(OSQUERY_BUILD_PLATFORM STREQUAL "debian")
set(PACKAGE_DEPENDENCIES
"${PACKAGE_DEPENDENCIES}"
"libgcrypt20"
)
endif()
# Improve package and iterations for each specific distribution.
2015-07-30 01:11:41 +00:00
if(NOT OSQUERY_BUILD_DISTRO STREQUAL "lucid")
set(PACKAGE_ITERATION "1.ubuntu10")
set(PACKAGE_DEPENDENCIES
"${PACKAGE_DEPENDENCIES}"
"libc6 (>=2.15)"
"libapt-pkg4.12"
)
endif()
if(OSQUERY_BUILD_DISTRO STREQUAL "precise")
set(PACKAGE_ITERATION "1.ubuntu12")
2015-02-03 05:21:36 +00:00
set(PACKAGE_DEPENDENCIES
"${PACKAGE_DEPENDENCIES}"
"libstdc++6"
"libudev0"
)
elseif(OSQUERY_BUILD_DISTRO STREQUAL "wheezy")
set(PACKAGE_ITERATION "1.debian7")
set(PACKAGE_DEPENDENCIES
"${PACKAGE_DEPENDENCIES}"
"libstdc++6"
"libudev0"
)
elseif(OSQUERY_BUILD_DISTRO STREQUAL "trusty")
set(PACKAGE_ITERATION "1.ubuntu14")
2015-02-03 05:21:36 +00:00
set(PACKAGE_DEPENDENCIES
"${PACKAGE_DEPENDENCIES}"
"libstdc++6 (>= 4.8)"
"libudev1"
)
elseif(OSQUERY_BUILD_DISTRO STREQUAL "jessie")
set(PACKAGE_ITERATION "1.debian8")
set(PACKAGE_DEPENDENCIES
"${PACKAGE_DEPENDENCIES}"
"libstdc++6 (>= 4.8)"
"libudev1"
)
2015-02-03 05:21:36 +00:00
endif()
elseif(REDHAT_BASED)
2015-02-03 05:21:36 +00:00
set(PACKAGE_TYPE "rpm")
2015-03-28 02:19:55 +00:00
set(PACKAGE_ITERATION "1.el")
set(PACKAGE_DEPENDENCIES
"glibc >= 2.12"
"openssl >= 1.0"
"bzip2-libs"
"readline"
"zlib"
"rpm-libs"
)
if(OSQUERY_BUILD_DISTRO STREQUAL "centos6")
set(PACKAGE_ITERATION "1.el6")
set(PACKAGE_DEPENDENCIES
"${PACKAGE_DEPENDENCIES}"
"libudev"
)
elseif(OSQUERY_BUILD_DISTRO STREQUAL "rhel6")
set(PACKAGE_ITERATION "1.rhel6")
2015-04-03 23:53:02 +00:00
set(PACKAGE_DEPENDENCIES
"${PACKAGE_DEPENDENCIES}"
"libudev"
)
elseif(OSQUERY_BUILD_DISTRO STREQUAL "oracle6")
set(PACKAGE_ITERATION "1.oel6")
set(PACKAGE_DEPENDENCIES
"${PACKAGE_DEPENDENCIES}"
"libudev"
)
elseif(OSQUERY_BUILD_DISTRO STREQUAL "centos7")
set(PACKAGE_ITERATION "1.el7")
set(PACKAGE_DEPENDENCIES
"${PACKAGE_DEPENDENCIES}"
)
elseif(OSQUERY_BUILD_DISTRO STREQUAL "rhel7")
set(PACKAGE_ITERATION "1.rhel7")
set(PACKAGE_DEPENDENCIES
"${PACKAGE_DEPENDENCIES}"
)
elseif(OSQUERY_BUILD_DISTRO STREQUAL "oracle7")
set(PACKAGE_ITERATION "1.oel7")
set(PACKAGE_DEPENDENCIES
"${PACKAGE_DEPENDENCIES}"
)
elseif(OSQUERY_BUILD_DISTRO STREQUAL "amazon2015.03")
set(PACKAGE_ITERATION "1.amazon2015")
set(PACKAGE_DEPENDENCIES
"${PACKAGE_DEPENDENCIES}"
)
endif()
2015-02-03 05:21:36 +00:00
endif()
JOIN("${PACKAGE_DEPENDENCIES}" ", " PACKAGE_DEPENDENCIES)
add_custom_target(
packages
COMMAND "${CMAKE_SOURCE_DIR}/tools/deployment/make_linux_package.sh"
2015-03-28 02:19:55 +00:00
-t ${PACKAGE_TYPE} -i "${PACKAGE_ITERATION}"
-d "${PACKAGE_DEPENDENCIES}"
COMMAND "${CMAKE_SOURCE_DIR}/tools/codegen/genapi.py" "${CMAKE_SOURCE_DIR}"
"--output" "--directory" "${CMAKE_BINARY_DIR}"
2015-02-03 05:21:36 +00:00
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
COMMENT "Building linux packages (no custom config)" VERBATIM
2015-05-04 21:15:19 +00:00
DEPENDS daemon shell
2015-02-03 05:21:36 +00:00
)
endif()
# Add dependencies and additional package data based on optional components.
if(NOT ${KERNEL_BINARY} STREQUAL "" AND
EXISTS "${CMAKE_BINARY_DIR}/kernel/${KERNEL_BINARY}")
# The osquery kernel was built
add_dependencies(packages kernel-build)
endif()