Skip to content
This repository has been archived by the owner on Feb 21, 2021. It is now read-only.

Commit

Permalink
[fix #915] New packages for the next release
Browse files Browse the repository at this point in the history
Changes for atomic packages and new metapackages
  • Loading branch information
aitormf committed Oct 2, 2017
2 parents 0402982 + 27eda30 commit 93bc5e1
Show file tree
Hide file tree
Showing 81 changed files with 741 additions and 336 deletions.
139 changes: 5 additions & 134 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -163,13 +163,13 @@ list_subdirectories2( LIST_DRIVERS ${CMAKE_CURRENT_SOURCE_DIR}/src/drivers/ 1)
list_subdirectories2( LIST_TOOLS ${CMAKE_CURRENT_SOURCE_DIR}/src/tools/ 1)

# Install Deps cmake's tree
INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Deps DESTINATION ${CMAKE_INSTALL_PREFIX}/share/jderobot)
INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Deps DESTINATION ${CMAKE_INSTALL_PREFIX}/share/jderobot COMPONENT setup)

# Install ROS Launch files
INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/scripts/launch DESTINATION ${CMAKE_INSTALL_PREFIX}/share/jderobot)
INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/scripts/launch DESTINATION ${CMAKE_INSTALL_PREFIX}/share/jderobot COMPONENT setup)

# Install setup.bash
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/setup.bash DESTINATION ${CMAKE_INSTALL_PREFIX})
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/setup.bash DESTINATION ${CMAKE_INSTALL_PREFIX} COMPONENT setup)



Expand All @@ -196,134 +196,5 @@ configure_file(
add_custom_target(uninstall
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)

#
# Deb packages
#

# Determine current architecture
macro(dpkg_arch VAR_NAME)
find_program(DPKG_PROGRAM dpkg DOC "dpkg program of Debian-based systems")
if (DPKG_PROGRAM)
execute_process(
COMMAND ${DPKG_PROGRAM} --print-architecture
OUTPUT_VARIABLE ${VAR_NAME}
OUTPUT_STRIP_TRAILING_WHITESPACE
)
endif(DPKG_PROGRAM)
endmacro(dpkg_arch)

include (InstallRequiredSystemLibraries)
SET (CPACK_GENERATOR "DEB")
SET (CPACK_SOURCE_GENERATOR TGZ)
SET (CPACK_SET_DESTDIR ON)
SET (CPACK_DEB_COMPONENT_INSTALL OFF)
SET (CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
SET (CPACK_PACKAGING_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")


# CPack version numbers for release tarball name.
SET (CPACK_PACKAGE_VERSION_MAJOR 5)
SET (CPACK_PACKAGE_VERSION_MINOR 5)
SET (CPACK_PACKAGE_VERSION_PATCH 2)
SET (CPACK_DEBIAN_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH})


SET (CPACK_DEBIAN_PACKAGE_PRIORITY "extra")
SET (CPACK_DEBIAN_PACKAGE_SECTION "net")
dpkg_arch(CPACK_DEBIAN_PACKAGE_ARCHITECTURE)

SET (CPACK_MONOLITHIC_INSTALL ON)
#set(CPACK_COMPONENTS_ALL core deps)
#set(CPACK_COMPONENT_NONAME_FOR core)
#set(CPACK_COMPONENT_CORE_GROUP "Core")
#set(CPACK_COMPONENT_DEPS_GROUP "Development")

#SET (CPACK_DEBIAN_CORE_PACKAGE_SHLIBDEPS ON)
#SET (CPACK_DEBIAN_DEPS_PACKAGE_SHLIBDEPS ON)

SET(CPACK_DEBIAN_PACKAGE_DEPENDS "${DEPS}")
#set(CPACK_DEBIAN_CORE_PACKAGE_DEPENDS "${DEPS}")
#set(CPACK_DEBIAN_DEPS_PACKAGE_DEPENDS "${DEPS_DEV}")

if(DEFINED debug_deps)
MESSAGE("Dependencias: ${DEPS}")
MESSAGE("Dependencias_dev: ${DEPS_DEV}")
endif()

set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
"${CMAKE_CURRENT_SOURCE_DIR}/scripts/cmake/postinst"
"${CMAKE_CURRENT_SOURCE_DIR}/scripts/cmake/postrm")


## Include Git HEAD into description (feature: traceback builds)
execute_process(COMMAND git rev-parse HEAD
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE GIT_HEAD
)
string(STRIP "${GIT_HEAD}" GIT_HEAD)

SET (CPACK_PACKAGE_DESCRIPTION_SUMMARY
"Software development suite for robotics and computer vision applications.")
SET (CPACK_PACKAGE_DESCRIPTION
"JdeRobot is a software development suite for robotics and computer vision applications.
The applications are made up of a collection of concurrent processes (named components) that
interoperate among them. They exchange messages using ICE communication middleware. The components may
run in a distributed network of computers and may be written in several languages (C++, Python, JavaScript...).
JdeRobot includes a collection of drivers and tools.
Get source from https://github.com/RoboticsURJC/JdeRobot
Package created with revision ${GIT_HEAD}")

## Patch: CPACK_PACKAGE_DESCRIPTION behavior is broken. Always use SUMMARY
SET (CPACK_PACKAGE_DESCRIPTION_SUMMARY ${CPACK_PACKAGE_DESCRIPTION})

SET (CPACK_PACKAGE_CONTACT "Roberto Calvo <rocapal@gsyc.urjc.es>")
SET (CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}_${CPACK_DEBIAN_PACKAGE_VERSION}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}")


## Metapackages (at cmake time)
include(scripts/metapackages/FindMetapackages.cmake)

SET (PACKAGE_VERSION ${CPACK_DEBIAN_PACKAGE_VERSION})
set(PACKAGE_DEPENDS "${DEPS}")
configure_file(${MAKE_PACKAGE_CONFIG_DIR}/jderobot-deps.info.in ${CMAKE_BINARY_DIR}/${PROJECT_NAME}-deps_${PACKAGE_VERSION}_all.info)

set(PACKAGE_DEPENDS "${DEPS_DEV}")
configure_file(${MAKE_PACKAGE_CONFIG_DIR}/jderobot-deps-dev.info.in ${CMAKE_BINARY_DIR}/${PROJECT_NAME}-deps-dev_${PACKAGE_VERSION}_all.info)

execute_process(
COMMAND ${MAKE_PACKAGE_EXECUTABLE}
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
)


## Inject release roll up (incremental releases)
# this step should be only for jderobot package
#set(PROJECT_VERSION ${CPACK_DEBIAN_PACKAGE_VERSION})
#include(scripts/incremental_releases/incremental-releases.cmake)
#set(CPACK_DEBIAN_PACKAGE_VERSION ${PROJECT_VERSION})


#SET (CPACK_COMPONENTS_ALL Libraries ApplicationData)
include (CPack Documentation)




SET(JdeRobot_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib/jderobot )
SET(ALL_LIBS ${LIBS_NEEDED} ${LIBS_EXTRA})
foreach (l ${ALL_LIBS} )
if (TARGET ${l})
SET(JdeRobot_LIBS_NAMES ${JdeRobot_LIBS_NAMES} ${l})
endif()
endforeach()


configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/JdeRobotInstallConfig.cmake.in "${PROJECT_BINARY_DIR}/JdeRobotInstallConfig.cmake" @ONLY)
install (SCRIPT "${PROJECT_BINARY_DIR}/JdeRobotInstallConfig.cmake")
SET(INSTALL_CMAKE_DIR ${CMAKE_INSTALL_PREFIX}/share/jderobot)
install(FILES
"${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/JdeRobotConfig.cmake"
"${PROJECT_BINARY_DIR}/JdeRobotConfigVersion.cmake"
DESTINATION "${INSTALL_CMAKE_DIR}" COMPONENT dev)


# include cpack instructions
include(${PROJECT_SOURCE_DIR}/cmake/cpackit.cmake)
2 changes: 1 addition & 1 deletion Deps/ros/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ if (ENABLE_ROS)
kobuki_gazebo
)

list(APPEND DEPS ros-kinetic-roscpp ros-kinetic-std-msgs ros-kinetic-cv-bridge ros-kinetic-image-transport ros-kinetic-roscpp-core ros-kinetic-rospy ros-kinetic-nav-msgs ros-kinetic-geometry-msgs ros-kinetic-kobuki-gazebo ros-kinetic-turtlebot-gazebo)
list(APPEND DEPS ros-kinetic-roscpp ros-kinetic-std-msgs ros-kinetic-cv-bridge ros-kinetic-image-transport ros-kinetic-roscpp-core ros-kinetic-rospy ros-kinetic-nav-msgs ros-kinetic-geometry-msgs ros-kinetic-kobuki-gazebo)

# list(APPEND DEPS_DEV )
else()
Expand Down
53 changes: 53 additions & 0 deletions cmake/cpack_metainfo/drivers.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
SET(CPACK_DEBIAN_ARDRONE-SERVER_PACKAGE_DEPENDS "jderobot-easyice, jderobot-interfaces, jderobot-colorspaces")
SET(CPACK_COMPONENT_ARDRONE-SERVER_DESCRIPTION
"Driver for the Parrot ArDrone 2.0
Manual page http://jderobot.org/index.php/Drivers#ardrone_server
Home page https://jderobot.org")

SET(CPACK_DEBIAN_CAMERASERVER_DEPENDS "jderobot-easyice, jderobot-util, jderobot-interfaces, jderobot-logger, jderobot-ns, jderobot-colorspaces")
SET(CPACK_COMPONENT_CAMERASERVER_DESCRIPTION
"Generic server for RGB cameras.
Manual Page http://jderobot.org/index.php/Drivers#cameraserver
Home page https://jderobot.org")

SET(CPACK_DEBIAN_EVICAMDRIVER_PACKAGE_DEPENDS " jderobot-interfaces")
SET(CPACK_COMPONENT_EVICAMDRIVER_DESCRIPTION
"Driver for Sony EVI camera.
Manual page http://jderobot.org/index.php/Drivers#ardrone_server
Home page https://jderobot.org")

SET(CPACK_DEBIAN_GAZEBOSERVER_PACKAGE_DEPENDS "jderobot-easyice, jderobot-util, jderobot-interfaces, jderobot-colorspaces, gazebo7")
SET(CPACK_COMPONENT_GAZEBOSERVER_DESCRIPTION
"Collection of plugins, worlds and models made by JdeRobot.
Manual Page http://jderobot.org/index.php/Drivers (sections 3-9)
Home page https://jderobot.org")

SET(CPACK_DEBIAN_LASER-SERVER_PACKAGE_DEPENDS "jderobot-easyice, jderobot-viewer, jderobot-util, jderobot-interfaces, jderobot-logger, jderobot-ns, jderobot-colorspaces")
SET(CPACK_COMPONENT_LASER-SERVER_DESCRIPTION
"Server for Hokuyo and RPLidar lasers.
Manual Page http://jderobot.org/index.php/Drivers#Laser_Server
Home page https://jderobot.org")

SET(CPACK_DEBIAN_OPENNISERVER_PACKAGE_DEPENDS "jderobot-easyice, jderobot-geometry, jderobot-util, jderobot-interfaces, jderobot-logger, jderobot-ns, jderobot-colorspaces")
SET(CPACK_COMPONENT_OPENNISERVER_DESCRIPTION
"Server for RGBD cameras (ASUS Xtion, Microsoft Kinect, Orbecc, ...)
Manual Page http://jderobot.org/index.php/Drivers#OpenniServer
Home page https://jderobot.org")

SET(CPACK_DEBIAN_PCLRGBDSERVER_PACKAGE_DEPENDS "jderobot-easyice, jderobot-util, jderobot-interfaces, jderobot-colorspaces")
SET(CPACK_COMPONENT_PCLRGBDSERVER_DESCRIPTION
"Server for RGBD cameras.
Manual Page
Home page https://jderobot.org")

SET(CPACK_DEBIAN_KOBUKI-DRIVER_PACKAGE_DEPENDS "jderobot-easyice, jderobot-interfaces, jderobot-colorspaces")
SET(CPACK_COMPONENT_KOBUKI-DRIVER_DESCRIPTION
"Driver for the Yujin Robot Kobuki
Manual page http://jderobot.org/index.php/Drivers#kobuki_driver
Home page https://jderobot.org")

SET(CPACK_DEBIAN_MAVLINKSERVER_PACKAGE_DEPENDS "jderobot-easyice, jderobot-interfaces, jderobot-colorspaces")
SET(CPACK_COMPONENT_MAVLINKSERVER_DESCRIPTION
"Driver for MAVLink based air drones and planes
Manual page http://jderobot.org/index.php/Drivers#ardrone_server
Home page https://jderobot.org")
123 changes: 123 additions & 0 deletions cmake/cpack_metainfo/libs.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
SET(CPACK_DEBIAN_SETUP_PACKAGE_DEPENDS "")
SET(CPACK_COMPONENT_SETUP_DESCRIPTION
"Setup package for JdeRobot.
Home page https://jderobot.org")

SET(CPACK_DEBIAN_COLORSPACES_PACKAGE_DEPENDS "jderobot-setup")
SET(CPACK_COMPONENT_COLORSPACES_DESCRIPTION
"Library for
Home page https://jderobot.org")

SET(CPACK_DEBIAN_COMM_PACKAGE_DEPENDS "jderobot-types, jderobot-logger, jderobot-interfaces, jderobot-colorspaces, jderobot-setup")
SET(CPACK_COMPONENT_COMM_DESCRIPTION
"Library for
Home page https://jderobot.org")

SET(CPACK_DEBIAN_COMM-PYTHON_PACKAGE_DEPENDS "jderobot-types-python, jderobot-setup")
SET(CPACK_COMPONENT_COMM-PYTHON_DESCRIPTION
"Library for
Home page https://jderobot.org")
SET(CPACK_DEBIAN_COMM-PYTHON_PACKAGE_CONTROL_EXTRA
"${CMAKE_CURRENT_SOURCE_DIR}/scripts/cmake/ice/postinst"
"${CMAKE_CURRENT_SOURCE_DIR}/scripts/cmake/ice/postrm")

SET(CPACK_DEBIAN_CVBLOB_PACKAGE_DEPENDS "jderobot-setup")
SET(CPACK_COMPONENT_CVBLOB_DESCRIPTION
"Library for
Home page https://jderobot.org")

SET(CPACK_DEBIAN_CVFAST_PACKAGE_DEPENDS "jderobot-setup")
SET(CPACK_COMPONENT_CVFAST_DESCRIPTION
"Library for
Home page https://jderobot.org")

SET(CPACK_DEBIAN_DEPTHLIB_PACKAGE_DEPENDS "jderobot-setup")
SET(CPACK_COMPONENT_DEPTHLIB_DESCRIPTION
"Library for
Home page https://jderobot.org")

SET(CPACK_DEBIAN_EASYICE_PACKAGE_DEPENDS "jderobot-setup")
SET(CPACK_COMPONENT_EASYICE_DESCRIPTION
"Library for
Home page https://jderobot.org")

SET(CPACK_DEBIAN_EASYICE-PYTHON_PACKAGE_DEPENDS "jderobot-setup")
SET(CPACK_COMPONENT_EASYICE-PYTHON_DESCRIPTION
"Library for
Home page https://jderobot.org")
SET(CPACK_DEBIAN_EASYICE-PYTHON_PACKAGE_CONTROL_EXTRA
"${CMAKE_CURRENT_SOURCE_DIR}/scripts/cmake/ice/postinst"
"${CMAKE_CURRENT_SOURCE_DIR}/scripts/cmake/ice/postrm")

SET(CPACK_DEBIAN_FUZZYLIB_PACKAGE_DEPENDS "jderobot-setup")
SET(CPACK_COMPONENT_FUZZYLIB_DESCRIPTION
"Library for
Home page https://jderobot.org")

SET(CPACK_DEBIAN_GEOMETRY_PACKAGE_DEPENDS "jderobot-setup")
SET(CPACK_COMPONENT_GEOMETRY_DESCRIPTION
"Library for
Home page https://jderobot.org")

SET(CPACK_DEBIAN_HANDLERS_PACKAGE_DEPENDS "jderobot-logger, jderobot-colorspaces, jderobot-setup")
SET(CPACK_COMPONENT_HANDLERS_DESCRIPTION
"Library for
Home page https://jderobot.org")

SET(CPACK_DEBIAN_IMGANALYZE_PACKAGE_DEPENDS "jderobot-progeo, jderobot-cvfast, jderobot-setup")
SET(CPACK_COMPONENT_IMGANALYZE_DESCRIPTION
"Library for
Home page https://jderobot.org")

SET(CPACK_DEBIAN_INTERFACES_PACKAGE_DEPENDS "jderobot-setup")
SET(CPACK_COMPONENT_INTERFACES_DESCRIPTION
"Library for
Home page https://jderobot.org")

SET(CPACK_DEBIAN_LOGGER_PACKAGE_DEPENDS "jderobot-setup")
SET(CPACK_COMPONENT_LOGGER_DESCRIPTION
"Library for
Home page https://jderobot.org")

SET(CPACK_DEBIAN_NS_PACKAGE_DEPENDS "jderobot-logger, jderobot-interfaces, jderobot-setup")
SET(CPACK_COMPONENT_NS_DESCRIPTION
"Library for
Home page https://jderobot.org")

SET(CPACK_DEBIAN_PARALLELICE_PACKAGE_DEPENDS "jderobot-logger, jderobot-colorspaces, jderobot-setup")
SET(CPACK_COMPONENT_PARALLELICE_DESCRIPTION
"Library for
Home page https://jderobot.org")

SET(CPACK_DEBIAN_PARALLELICE-PYTHON_PACKAGE_DEPENDS "jderobot-setup")
SET(CPACK_COMPONENT_PARALLELICE-PYTHON_DESCRIPTION
"Library for
Home page https://jderobot.org")
SET(CPACK_DEBIAN_PARALLELICE-PYTHON_PACKAGE_CONTROL_EXTRA
"${CMAKE_CURRENT_SOURCE_DIR}/scripts/cmake/ice/postinst"
"${CMAKE_CURRENT_SOURCE_DIR}/scripts/cmake/ice/postrm")

SET(CPACK_DEBIAN_PIONEER_PACKAGE_DEPENDS "jderobot-setup")
SET(CPACK_COMPONENT_PIONEER_DESCRIPTION
"Library for
Home page https://jderobot.org")

SET(CPACK_DEBIAN_PROGEO_PACKAGE_DEPENDS "jderobot-setup")
SET(CPACK_COMPONENT_PROGEO_DESCRIPTION
"Library for
Home page https://jderobot.org")

SET(CPACK_DEBIAN_RESOURCELOCATOR_PACKAGE_DEPENDS "jderobot-setup")
SET(CPACK_COMPONENT_RESOURCELOCATOR_DESCRIPTION
"Library for
Home page https://jderobot.org")

SET(CPACK_DEBIAN_UTIL_PACKAGE_DEPENDS "jderobot-setup")
SET(CPACK_COMPONENT_UTIL_DESCRIPTION
"Library for
Home page https://jderobot.org")

SET(CPACK_DEBIAN_XMLPARSER_PACKAGE_DEPENDS "jderobot-setup")
SET(CPACK_COMPONENT_XMLPARSER_DESCRIPTION
"Library for
Home page https://jderobot.org")

0 comments on commit 93bc5e1

Please sign in to comment.