Merge pull request #34 from herbrechtsmeier/master

add catkin configuration class and rework ros recipes
This commit is contained in:
Lukas Bulwahn 2013-02-18 09:11:14 -08:00
commit 30306b6bba
35 changed files with 381 additions and 507 deletions

49
classes/catkin.bbclass Normal file
View File

@ -0,0 +1,49 @@
#
# Copyright (c) 2013 Stefan Herbrechtsmeier, Bielefeld University
#
inherit cmake distutils-base
DEPENDS_prepend = "${@['catkin-native ', ''][d.getVar('BPN', True) == 'catkin']}"
EXTRA_OECMAKE_CATKIN = "\
-DCMAKE_PREFIX_PATH='${STAGING_DIR_HOST}/usr;${STAGING_DIR_NATIVE}/usr' \
"
EXTRA_OECMAKE_CATKIN_class-native = "\
-DCMAKE_PREFIX_PATH=${STAGING_DIR_NATIVE}/usr \
-DRT_LIBRARY=${libdir_native} \
"
EXTRA_OECMAKE_prepend = "\
${EXTRA_OECMAKE_CATKIN} \
-DCATKIN_BUILD_BINARY_PACKAGE=ON \
-DSETUPTOOLS_DEB_LAYOUT=OFF \
"
export BUILD_SYS
export HOST_SYS
FILES_SOLIBSDEV = ""
FILES_${PN} += "${libdir}/lib*${SOLIBSDEV}"
ROS_BPN = "${@d.getVar('BPN', True).replace('-', '_')}"
ROS_BP = "${BPN}-${PV}"
FILES_${PN} += "\
${prefix}/etc \
${datadir}/${BPN}/conf \
${datadir}/${BPN}/scripts \
${datadir}/${ROS_BPN}/conf \
${datadir}/${ROS_BPN}/scripts \
"
FILES_${PN}-dev += "\
${datadir}/${BPN}/cmake \
${datadir}/${BPN}/package.xml \
${datadir}/${BPN}/*.template \
${datadir}/${ROS_BPN}/cmake \
${datadir}/${ROS_BPN}/package.xml \
${datadir}/${ROS_BPN}/*.template \
"

View File

@ -1,74 +0,0 @@
inherit distutils-base
DISTUTILS_BUILD_ARGS ?= ""
DISTUTILS_STAGE_HEADERS_ARGS ?= "--install-dir=${STAGING_INCDIR}/${PYTHON_DIR}"
DISTUTILS_STAGE_ALL_ARGS ?= "--prefix=${STAGING_DIR_HOST}${prefix} \
--install-data=${STAGING_DATADIR}"
DISTUTILS_INSTALL_ARGS ?= "--prefix=${D}/${prefix} \
--install-data=${D}/${datadir}"
distutils_do_compile() {
STAGING_INCDIR=${STAGING_INCDIR} \
STAGING_LIBDIR=${STAGING_LIBDIR} \
BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
${STAGING_BINDIR_NATIVE}/python-native/python setup.py build ${DISTUTILS_BUILD_ARGS} || \
bbfatal "python setup.py build_ext execution failed."
}
distutils_stage_headers() {
install -d ${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR}
BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
${STAGING_BINDIR_NATIVE}/python-native/python setup.py install_headers ${DISTUTILS_STAGE_HEADERS_ARGS} || \
bbfatal "python setup.py install_headers execution failed."
}
distutils_stage_all() {
STAGING_INCDIR=${STAGING_INCDIR} \
STAGING_LIBDIR=${STAGING_LIBDIR} \
install -d ${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR}
PYTHONPATH=${STAGING_DIR_HOST}${PYTHON_SITEPACKAGES_DIR} \
BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
${STAGING_BINDIR_NATIVE}/python-native/python setup.py install ${DISTUTILS_STAGE_ALL_ARGS} || \
bbfatal "python setup.py install (stage) execution failed."
}
distutils_do_install() {
install -d ${D}${PYTHON_SITEPACKAGES_DIR}
STAGING_INCDIR=${STAGING_INCDIR} \
STAGING_LIBDIR=${STAGING_LIBDIR} \
PYTHONPATH=${D}/${PYTHON_SITEPACKAGES_DIR} \
BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
${STAGING_BINDIR_NATIVE}/python-native/python setup.py install --install-lib=${D}/${PYTHON_SITEPACKAGES_DIR} ${DISTUTILS_INSTALL_ARGS} || \
bbfatal "python setup.py install execution failed."
for i in `find ${D} -name "*.py"` ; do \
sed -i -e s:${D}::g $i
done
if test -e ${D}${bindir} ; then
for i in ${D}${bindir}/* ; do \
sed -i -e s:${STAGING_BINDIR_NATIVE}/python-native/python:${bindir}/python:g $i
sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g $i
done
fi
if test -e ${D}${sbindir}; then
for i in ${D}${sbindir}/* ; do \
sed -i -e s:${STAGING_BINDIR_NATIVE}/python-native/python:${bindir}/python:g $i
sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g $i
done
fi
rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/easy-install.pth
#
# FIXME: Bandaid against wrong datadir computation
#
if test -e ${D}${datadir}/share; then
mv -f ${D}${datadir}/share/* ${D}${datadir}/
fi
}
EXPORT_FUNCTIONS do_compile do_install
export LDSHARED="${CCLD} -shared"

View File

@ -0,0 +1,57 @@
From 812453c0fcd2db5b562b568c8e844a2b7764dc4e Mon Sep 17 00:00:00 2001
From: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
Date: Thu, 14 Feb 2013 11:46:34 +0100
Subject: [PATCH 1/2] catkin_package: use relative paths in PKG_CFG_EXTRAS
---
cmake/catkin_package.cmake | 6 +++---
cmake/templates/pkgConfig.cmake.in | 6 +++++-
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/cmake/catkin_package.cmake b/cmake/catkin_package.cmake
index 73fc5bb..ee107c7 100644
--- a/cmake/catkin_package.cmake
+++ b/cmake/catkin_package.cmake
@@ -284,13 +284,13 @@ function(_catkin_package)
${CMAKE_CURRENT_BINARY_DIR}/catkin_generated/${extra}.develspace.context.cmake.py
${em_template}
${CATKIN_DEVEL_PREFIX}/share/${PROJECT_NAME}/cmake/${extra})
- list(APPEND PKG_CFG_EXTRAS ${CATKIN_DEVEL_PREFIX}/share/${PROJECT_NAME}/cmake/${extra})
+ list(APPEND PKG_CFG_EXTRAS ${extra})
elseif(EXISTS ${base}.in)
configure_file(${base}.in
${CATKIN_DEVEL_PREFIX}/share/${PROJECT_NAME}/cmake/${extra}
@ONLY
)
- list(APPEND PKG_CFG_EXTRAS ${CATKIN_DEVEL_PREFIX}/share/${PROJECT_NAME}/cmake/${extra})
+ list(APPEND PKG_CFG_EXTRAS ${extra})
else()
message(FATAL_ERROR "catkin_package() could not find CFG_EXTRAS file. Either 'cmake/${extra}', 'cmake/${extra}.em', 'cmake/${extra}.develspace.em' or 'cmake/${extra}.in' must exist.")
endif()
@@ -376,7 +376,7 @@ function(_catkin_package)
else()
message(FATAL_ERROR "catkin_package() could not find CFG_EXTRAS file. Either 'cmake/${extra}', 'cmake/${extra}.em', 'cmake/${extra}.installspace.em' or 'cmake/${extra}.in' must exist.")
endif()
- list(APPEND PKG_CFG_EXTRAS ${CMAKE_INSTALL_PREFIX}/share/${PROJECT_NAME}/cmake/${extra})
+ list(APPEND PKG_CFG_EXTRAS ${extra})
endforeach()
install(FILES
${installable_cfg_extras}
diff --git a/cmake/templates/pkgConfig.cmake.in b/cmake/templates/pkgConfig.cmake.in
index 6ed4f96..8e451de 100644
--- a/cmake/templates/pkgConfig.cmake.in
+++ b/cmake/templates/pkgConfig.cmake.in
@@ -155,5 +155,9 @@ if(@PROJECT_NAME@_LIBRARIES)
endif()
foreach(extra @PKG_CFG_EXTRAS@)
- include(${extra})
+ if(IS_ABSOLUTE ${extra})
+ include(${extra})
+ else()
+ include(${CMAKE_CURRENT_LIST_DIR}/${extra})
+ endif()
endforeach()
--
1.7.0.4

View File

@ -0,0 +1,35 @@
From fcdeade11a2d2e882512fcbaa0ea32bc0d5fd6d0 Mon Sep 17 00:00:00 2001
From: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
Date: Fri, 15 Feb 2013 13:06:36 +0100
Subject: [PATCH 2/2] catkinConfig: use curent path for catkin_EXTRA_DIR
Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
---
cmake/catkin_package.cmake | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/cmake/catkin_package.cmake b/cmake/catkin_package.cmake
index ee107c7..8b2bf2c 100644
--- a/cmake/catkin_package.cmake
+++ b/cmake/catkin_package.cmake
@@ -255,7 +255,7 @@ function(_catkin_package)
# prepend library path of this workspace
set(PKG_CONFIG_LIB_PATHS ${lib_paths})
list(INSERT PKG_CONFIG_LIB_PATHS 0 ${PROJECT_SPACE_DIR}/lib)
- set(PKG_CMAKE_DIR ${PROJECT_SPACE_DIR}/share/${PROJECT_NAME}/cmake)
+ set(PKG_CMAKE_DIR "\${CMAKE_CURRENT_LIST_DIR}")
if("${PROJECT_NAME}" STREQUAL "catkin")
set(PKG_CMAKE_DIR "${catkin_EXTRAS_DIR}")
endif()
@@ -336,7 +336,7 @@ function(_catkin_package)
# prepend library path of this workspace
set(PKG_CONFIG_LIB_PATHS ${lib_paths})
list(INSERT PKG_CONFIG_LIB_PATHS 0 ${PROJECT_SPACE_DIR}/lib)
- set(PKG_CMAKE_DIR ${PROJECT_SPACE_DIR}/share/${PROJECT_NAME}/cmake)
+ set(PKG_CMAKE_DIR "\${CMAKE_CURRENT_LIST_DIR}")
# ensure that output folder exists
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/catkin_generated/installspace)
--
1.7.0.4

View File

@ -1,20 +0,0 @@
diff -cr a/cmake/python.cmake b/cmake/python.cmake
*** a/cmake/python.cmake 2012-12-22 03:30:48.000000000 +0100
--- b/cmake/python.cmake 2013-01-11 09:25:35.790346760 +0100
***************
*** 6,12 ****
set(PYTHON_VERSION_XDOTY ${PYTHON_VERSION_XDOTY} CACHE STRING "Python version")
#This should be resolved automatically one day...
! option(SETUPTOOLS_DEB_LAYOUT "ON for debian style python packages layout" ON)
if(APPLE OR MSVC)
set(SETUPTOOLS_DEB_LAYOUT OFF)
--- 6,12 ----
set(PYTHON_VERSION_XDOTY ${PYTHON_VERSION_XDOTY} CACHE STRING "Python version")
#This should be resolved automatically one day...
! option(SETUPTOOLS_DEB_LAYOUT "ON for debian style python packages layout" OFF)
if(APPLE OR MSVC)
set(SETUPTOOLS_DEB_LAYOUT OFF)

View File

@ -1,21 +0,0 @@
diff -crB a/cmake/tools/rt.cmake b/cmake/tools/rt.cmake
*** a/cmake/tools/rt.cmake 2012-12-22 03:30:48.000000000 +0100
--- b/cmake/tools/rt.cmake 2013-01-31 08:09:48.789321920 +0100
***************
*** 39,45 ****
set(RT_LIBRARY rt CACHE FILEPATH "Hacked find of rt for cmake < 2.8.4")
else()
find_library(RT_LIBRARY rt)
! assert_file_exists(${RT_LIBRARY} "RT Library")
endif()
#message(STATUS "RT_LIBRARY: ${RT_LIBRARY}")
endif()
--- 39,45 ----
set(RT_LIBRARY rt CACHE FILEPATH "Hacked find of rt for cmake < 2.8.4")
else()
find_library(RT_LIBRARY rt)
! #assert_file_exists(${RT_LIBRARY} "RT Library")
endif()
#message(STATUS "RT_LIBRARY: ${RT_LIBRARY}")
endif()
Only in b/cmake/tools: rt.cmake~

View File

@ -3,26 +3,26 @@ SECTION = "devel"
LICENSE = "BSD" LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://package.xml;beginline=7;endline=7;md5=d566ef916e9dedc494f5f793a6690ba5" LIC_FILES_CHKSUM = "file://package.xml;beginline=7;endline=7;md5=d566ef916e9dedc494f5f793a6690ba5"
SRC_URI = "https://github.com/ros/catkin/archive/0.5.58.tar.gz;downloadfile=catkin_0.5.58.tar.gz \ DEPENDS = "cmake python-empy python-catkin-pkg"
file://catkin-change_default_for_debsetuptools.patch \
file://catkin-remove_assertion_for_rt_library.patch \ SRC_URI = "https://github.com/ros/${BPN}/archive/${PV}.tar.gz;downloadfilename=${BP}.tar.gz \
file://0001-catkin_package-use-relative-paths-in-PKG_CFG_EXTRAS.patch \
file://0002-catkinConfig-use-curent-path-for-catkin_EXTRA_DIR.patch \
" "
SRC_URI[md5sum] = "e4df85e60dc792af9324334547cc76aa" SRC_URI[md5sum] = "e4df85e60dc792af9324334547cc76aa"
SRC_URI[sha256sum] = "dd99cc04eeaf16a13185dd0a2f576939fa997dfb16a40ba45068c4d2ebbcb44b" SRC_URI[sha256sum] = "dd99cc04eeaf16a13185dd0a2f576939fa997dfb16a40ba45068c4d2ebbcb44b"
# DEPENDS = "python-setuptools" inherit catkin
DEPENDS = "python-empy-native python-catkin-pkg-native python"
EXTRA_OECMAKE = "-DSETUPTOOLS_DEB_LAYOUT=OFF" FILES_${PN}-dev += "\
${datadir}/eigen/cmake \
${datadir}/ros/cmake \
${prefix}/.catkin \
${prefix}/.rosinstall \
${prefix}/_setup_util.py \
${prefix}/env.sh \
${prefix}/setup.* \
"
BBCLASSEXTEND += "native" BBCLASSEXTEND += "native"
inherit cmake pythonnative python-dir
FILES_${PN} += "${libdir}/${PYTHON_DIR}/* ${PYTHON_SITEPACKAGES_DIR}/*"
# FILES_${PN}-dev += "${libdir}/${PYTHON_DIR}/* ${PYTHON_SITEPACKAGES_DIR}/*"
export BUILD_SYS
export HOST_SYS
export STAGING_LIBDIR
export STAGING_INCDIR

View File

@ -3,23 +3,10 @@ SECTION = "devel"
LICENSE = "BSD" LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://package.xml;beginline=7;endline=7;md5=d566ef916e9dedc494f5f793a6690ba5" LIC_FILES_CHKSUM = "file://package.xml;beginline=7;endline=7;md5=d566ef916e9dedc494f5f793a6690ba5"
SRC_URI = "https://github.com/ros-gbp/gencpp-release/archive/release/gencpp/0.4.11.tar.gz;downloadfilename=gencpp_0.4.11.tar.gz" DEPENDS = "genmsg"
SRC_URI[md5sum] = "7a3e28fb0719805aa3a2059b6b0514fd"
SRC_URI[sha256sum] = "63258067e6c2ba034bfbcf6aaf396eb36c3c407023d7db0de1af774bbb12b6a9"
S = "${WORKDIR}/gencpp-release-release-gencpp-0.4.11" SRC_URI = "https://github.com/ros/${BPN}/archive/${PV}.tar.gz;downloadfilename=${BP}.tar.gz"
SRC_URI[md5sum] = "be0b3986e98f3370fef4c1fffe3a69f4"
SRC_URI[sha256sum] = "c68b4518dbc5d65fd19d43724e5c9b0e66c769ef6066e3d511a6ffce2623f3c7"
DEPENDS = "catkin-native genmsg" inherit catkin
FILES_${PN} += "${libdir}/*"
inherit cmake pythonnative
EXTRA_OECMAKE = " \
-Dgenmsg_DIR=${STAGING_DATADIR}/genmsg/cmake/ \
"
export BUILD_SYS
export HOST_SYS
export STAGING_LIBDIR
export STAGING_INCDIR

View File

@ -3,24 +3,10 @@ SECTION = "devel"
LICENSE = "BSD" LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://package.xml;beginline=9;endline=9;md5=d566ef916e9dedc494f5f793a6690ba5" LIC_FILES_CHKSUM = "file://package.xml;beginline=9;endline=9;md5=d566ef916e9dedc494f5f793a6690ba5"
SRC_URI = "https://github.com/ros-gbp/genlisp-release/archive/release/genlisp/0.4.10.tar.gz;downloadfilename=genlisp_0.4.10.tar.gz" DEPENDS = "genmsg"
SRC_URI[md5sum] = "ce2d424a6e0496248dc2dd0c1c383f12"
SRC_URI[sha256sum] = "d9be2ac2c64f05745ca7716bfea0e3e5857554f4caf769c8550e3502d5fc257d"
S = "${WORKDIR}/genlisp-release-release-genlisp-0.4.10" SRC_URI = "https://github.com/ros/${BPN}/archive/${PV}.tar.gz;downloadfilename=${BP}.tar.gz"
SRC_URI[md5sum] = "ae3026fd36a31d286f79a9111450adfa"
DEPENDS = "catkin-native genmsg" SRC_URI[sha256sum] = "13f606f23eec18c0f653a259d972d9bdb13251111e4af280830a961a4858c475"
FILES_${PN} += "${libdir}/*"
inherit cmake pythonnative
EXTRA_OECMAKE = " \
-Dgenmsg_DIR=${STAGING_DATADIR}/genmsg/cmake/ \
"
export BUILD_SYS
export HOST_SYS
export STAGING_LIBDIR
export STAGING_INCDIR
inherit catkin

View File

@ -3,20 +3,8 @@ SECTION = "devel"
LICENSE = "BSD" LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://package.xml;beginline=9;endline=9;md5=d566ef916e9dedc494f5f793a6690ba5" LIC_FILES_CHKSUM = "file://package.xml;beginline=9;endline=9;md5=d566ef916e9dedc494f5f793a6690ba5"
SRC_URI = "https://github.com/ros-gbp/genmsg-release/archive/release/genmsg/0.4.17.tar.gz;downloadfilename=genmsg_0.4.17.tar.gz" SRC_URI = "https://github.com/ros/${BPN}/archive/${PV}.tar.gz;downloadfilename=${BP}.tar.gz"
SRC_URI[md5sum] = "cd88647b1f37987e75a543ff826dbfcb" SRC_URI[md5sum] = "de385f1796bf025915ed7b20e1e1acc4"
SRC_URI[sha256sum] = "12509645b02dbe8180321fc263abb45feded4cc1172eb485a2780ed93607e64e" SRC_URI[sha256sum] = "e510caa7692a4b0a0948688b9d2d8f6ff2f329980d7f78787276afec030806b7"
S = "${WORKDIR}/genmsg-release-release-genmsg-0.4.17"
DEPENDS = "catkin-native"
FILES_${PN} += "${libdir}/*"
inherit distutils cmake pythonnative
export BUILD_SYS
export HOST_SYS
export STAGING_LIBDIR
export STAGING_INCDIR
inherit catkin

View File

@ -3,24 +3,10 @@ SECTION = "devel"
LICENSE = "BSD" LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://package.xml;beginline=7;endline=7;md5=d566ef916e9dedc494f5f793a6690ba5" LIC_FILES_CHKSUM = "file://package.xml;beginline=7;endline=7;md5=d566ef916e9dedc494f5f793a6690ba5"
SRC_URI = "https://github.com/ros-gbp/genpy-release/archive/release/genpy/0.4.10.tar.gz;downloadfilename=genpy_0.4.10.tar.gz" DEPENDS = "genmsg"
SRC_URI[md5sum] = "694f2e0841c81a05874cf3f5801b16c1"
SRC_URI[sha256sum] = "00d585627d1f17090a99de3978dec2eef290bdadede397cf3588f7b2584ba975"
S = "${WORKDIR}/genpy-release-release-genpy-0.4.10" SRC_URI = "https://github.com/ros/${BPN}/archive/${PV}.tar.gz;downloadfilename=${BP}.tar.gz"
SRC_URI[md5sum] = "23915e68167ba6d58c65920bfabd2fad"
DEPENDS = "catkin-native genmsg" SRC_URI[sha256sum] = "6c77bde606c9637b0fa9e6f4ed85882e98547500a7472d2643bcc52b6c8a8b78"
FILES_${PN} += "${libdir}/*"
inherit cmake pythonnative
EXTRA_OECMAKE = " \
-Dgenmsg_DIR=${STAGING_DATADIR}/genmsg/cmake/ \
"
export BUILD_SYS
export HOST_SYS
export STAGING_LIBDIR
export STAGING_INCDIR
inherit catkin

View File

@ -3,18 +3,12 @@ SECTION = "devel"
LICENSE = "BSD" LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://package.xml;beginline=7;endline=7;md5=d566ef916e9dedc494f5f793a6690ba5" LIC_FILES_CHKSUM = "file://package.xml;beginline=7;endline=7;md5=d566ef916e9dedc494f5f793a6690ba5"
SRC_URI = "https://github.com/ros-gbp/message_generation-release/archive/release/message_generation/0.2.9.tar.gz;downloadfilename=message-generation_0.2.9.tar.gz" DEPENDS = "gencpp"
SRC_URI[md5sum] = "9458c88437cb9bc3f3b70dd4d67bf1f3"
SRC_URI[sha256sum] = "c474649944ec01ad2df80dc2674d235705771cd9a9cf3794fc9490b5fe9c0d5e"
S = "${WORKDIR}/message_generation-release-release-message_generation-0.2.9" SRC_URI = "https://github.com/ros/${ROS_BPN}/archive/${PV}.tar.gz;downloadfilename=${ROS_BP}.tar.gz"
SRC_URI[md5sum] = "b3086fbe24cc103f412cb30d83362e36"
SRC_URI[sha256sum] = "9ce9c5b4e995933c575f2a5cb5c4b042b39913637bca06554092a52c3bb24c12"
DEPENDS = "catkin-native gencpp" S = "${WORKDIR}/${ROS_BPN}-${PV}"
FILES_${PN} += "${libdir}/*" inherit catkin
inherit cmake pythonnative
EXTRA_OECMAKE = " \
-Dgencpp_DIR=${STAGING_DATADIR}/gencpp/cmake/ \
"

View File

@ -0,0 +1,30 @@
DESCRIPTION = "ros-comm package group"
LICENSE = "MIT"
inherit packagegroup
PACKAGES = "${PN}"
RDEPENDS_${PN} = "\
rosconsole \
rosparam \
catkin \
genmsg \
rosgraph \
genpy \
rospack \
roslib \
rosunit \
roscpp-serialization \
roscpp-traits \
rostest \
message-generation \
cpp-common \
genlisp \
rosgraph-msgs \
xmlrpcpp \
roswtf \
std-msgs \
rostime \
gencpp \
"

View File

@ -0,0 +1,5 @@
SRC_URI = "https://github.com/ros/ros_comm/archive/${PV}.tar.gz;downloadfilename=ros_comm-${PV}.tar.gz"
SRC_URI[md5sum] = "80b68959b8e6d5162c50a361a55d9b1a"
SRC_URI[sha256sum] = "b0422f914ca27f928e5acacf25353cb44bd7e3be8ba8942253013fe85cc355f8"
inherit catkin

View File

@ -3,20 +3,8 @@ SECTION = "devel"
LICENSE = "BSD" LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://package.xml;beginline=6;endline=6;md5=d566ef916e9dedc494f5f793a6690ba5" LIC_FILES_CHKSUM = "file://package.xml;beginline=6;endline=6;md5=d566ef916e9dedc494f5f793a6690ba5"
SRC_URI = "https://github.com/ros-gbp/ros_comm-release/archive/release/rosconsole/1.9.41.tar.gz;downloadfilename=rosconsole_1.9.41.tar.gz" DEPENDS = "apr boost cpp-common log4cxx rostime rosunit-native"
SRC_URI[md5sum] = "b1aa08c225ae0f81728452e08effe933"
SRC_URI[sha256sum] = "40c86e3121de8651dafed5238b8647347cf40be96066e5fa01a82875aff4a6d3"
S = "${WORKDIR}/ros_comm-release-release-rosconsole-1.9.41" require ros-comm.inc
DEPENDS = "catkin-native apr boost cpp-common log4cxx rostime rosunit" S = "${WORKDIR}/ros_comm-${PV}/tools/${BPN}"
FILES_${PN} += "${libdir}/*"
inherit cmake pythonnative
EXTRA_OECMAKE = " \
-Dcpp_common_DIR=${STAGING_DATADIR}/cpp_common/cmake/ \
-Drostime_DIR=${STAGING_DATADIR}/rostime/cmake/ \
-Drosunit_DIR=${STAGING_DATADIR}/rosunit/cmake/ \
"

View File

@ -3,19 +3,8 @@ SECTION = "devel"
LICENSE = "BSD" LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=d566ef916e9dedc494f5f793a6690ba5" LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=d566ef916e9dedc494f5f793a6690ba5"
SRC_URI = "https://github.com/ros-gbp/ros_comm-release/archive/release/rosgraph_msgs/1.9.41.tar.gz;downloadfilename=rosgraph-msgs_1.9.41.tar.gz" DEPENDS = "message-generation std-msgs"
SRC_URI[md5sum] = "741009a25766157ac436f836b5bf5519"
SRC_URI[sha256sum] = "ec8302229ad51d1174c72d12f5e849c924a8e6d5a13c42fee76f7738d15405f2"
S = "${WORKDIR}/ros_comm-release-release-rosgraph_msgs-1.9.41" require ros-comm.inc
DEPENDS = "catkin-native message-generation std-msgs"
FILES_${PN} += "${libdir}/*"
inherit cmake pythonnative
EXTRA_OECMAKE = " \
-Dmessage_generation_DIR=${STAGING_DATADIR}/message_generation/cmake/ \
"
S = "${WORKDIR}/ros_comm-${PV}/messages/${ROS_BPN}"

View File

@ -4,23 +4,6 @@ SECTION = "devel"
LICENSE = "BSD" LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=d566ef916e9dedc494f5f793a6690ba5" LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=d566ef916e9dedc494f5f793a6690ba5"
SRC_URI = "https://github.com/ros-gbp/ros_comm-release/archive/release/rosgraph/1.9.41.tar.gz;downloadfilename=rosgraph_1.9.41.tar.gz" require ros-comm.inc
SRC_URI[md5sum] = "c4a6fe2109e36f08e00634a60efa2b46"
SRC_URI[sha256sum] = "69c23ece0af24c68b404622bcbd224e84fa19da88cb08f80b62769849ba26e70"
S = "${WORKDIR}/ros_comm-release-release-rosgraph-1.9.41"
DEPENDS = "catkin-native"
FILES_${PN} += "${libdir}/*"
inherit cmake pythonnative
EXTRA_OECMAKE = " \
"
export BUILD_SYS
export HOST_SYS
export STAGING_LIBDIR
export STAGING_INCDIR
S = "${WORKDIR}/ros_comm-${PV}/tools/${BPN}"

View File

@ -4,23 +4,6 @@ SECTION = "devel"
LICENSE = "BSD" LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://package.xml;beginline=15;endline=15;md5=d566ef916e9dedc494f5f793a6690ba5" LIC_FILES_CHKSUM = "file://package.xml;beginline=15;endline=15;md5=d566ef916e9dedc494f5f793a6690ba5"
SRC_URI = "https://github.com/ros-gbp/ros_comm-release/archive/release/rosparam/1.9.41.tar.gz;downloadfilename=rosparam_1.9.41.tar.gz" require ros-comm.inc
SRC_URI[md5sum] = "9539b0fbb6e50d44a6038d2f4d57d67b"
SRC_URI[sha256sum] = "49a6e4c5d8607bebf3b995fe2b4f2105898ebbac04e542008e953baa0892b255"
S = "${WORKDIR}/ros_comm-release-release-rosparam-1.9.41"
DEPENDS = "catkin-native"
FILES_${PN} += "${libdir}/*"
inherit distutils cmake pythonnative
EXTRA_OECMAKE = " \
"
export BUILD_SYS
export HOST_SYS
export STAGING_LIBDIR
export STAGING_INCDIR
S = "${WORKDIR}/ros_comm-${PV}/tools/${BPN}"

View File

@ -3,24 +3,8 @@ SECTION = "devel"
LICENSE = "BSD" LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=d566ef916e9dedc494f5f793a6690ba5" LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=d566ef916e9dedc494f5f793a6690ba5"
SRC_URI = "https://github.com/ros-gbp/ros_comm-release/archive/release/rostest/1.9.41.tar.gz;downloadfilename=rostest_1.9.41.tar.gz" DEPENDS = "boost rosunit-native"
SRC_URI[md5sum] = "82c09640a27dedc6b1eabed2951a23dd"
SRC_URI[sha256sum] = "f259d89e5ce02359c65dfc5bdb6c62be104600ddcb62ce6f9cffd630ff99a55d"
S = "${WORKDIR}/ros_comm-release-release-rostest-1.9.41" require ros-comm.inc
DEPENDS = "catkin-native boost rosunit"
FILES_${PN} += "${libdir}/*"
inherit cmake pythonnative
EXTRA_OECMAKE = " \
-Drosunit_DIR=${STAGING_DATADIR}/rosunit/cmake/ \
"
export BUILD_SYS
export HOST_SYS
export STAGING_LIBDIR
export STAGING_INCDIR
S = "${WORKDIR}/ros_comm-${PV}/tools/${BPN}"

View File

@ -3,18 +3,8 @@ SECTION = "devel"
LICENSE = "BSD" LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=d566ef916e9dedc494f5f793a6690ba5" LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=d566ef916e9dedc494f5f793a6690ba5"
SRC_URI = "https://github.com/ros-gbp/ros_comm-release/archive/release/roswtf/1.9.41.tar.gz;downloadfilename=roswtf_1.9.41.tar.gz" DEPENDS = "rostest"
SRC_URI[md5sum] = "422724ca5fb8bb1424f1cd7f73c9f7aa"
SRC_URI[sha256sum] = "74f8028c7eb43e2507d70461257c48cca3c4ea162eaf66e0163d307846d32ce3"
S = "${WORKDIR}/ros_comm-release-release-roswtf-1.9.41" require ros-comm.inc
DEPENDS = "catkin-native rostest" S = "${WORKDIR}/ros_comm-${PV}/utilities/${BPN}"
FILES_${PN} += "${libdir}/*"
inherit cmake pythonnative
EXTRA_OECMAKE = " \
-Drostest_DIR=${STAGING_DATADIR}/rostest/cmake/ \
"

View File

@ -4,22 +4,11 @@ DESCRIPTION = \
support roscpp's threading model. As such, we are maintaining our \ support roscpp's threading model. As such, we are maintaining our \
own fork." own fork."
SECTION = "devel" SECTION = "devel"
LICENSE = "LGPL" LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://package.xml;beginline=11;endline=11;md5=46ee8693f40a89a31023e97ae17ecf19" LIC_FILES_CHKSUM = "file://package.xml;beginline=11;endline=11;md5=46ee8693f40a89a31023e97ae17ecf19"
SRC_URI = "https://github.com/ros-gbp/ros_comm-release/archive/release/xmlrpcpp/1.9.41.tar.gz;downloadfilename=xmlrpcpp_1.9.41.tar.gz" DEPENDS = "cpp-common"
SRC_URI[md5sum] = "036a6544a574faca48c52489e6767530"
SRC_URI[sha256sum] = "1e3ced256ecbbd05f0c1821ce99c33127cbdd5284e4b789bced55508f2581c48"
S = "${WORKDIR}/ros_comm-release-release-xmlrpcpp-1.9.41" require ros-comm.inc
DEPENDS = "catkin-native cpp-common"
FILES_${PN} += "${libdir}/*"
inherit distutils cmake pythonnative
EXTRA_OECMAKE = " \
-Dcpp_common_DIR=${STAGING_DATADIR}/cpp_common/cmake/ \
"
S = "${WORKDIR}/ros_comm-${PV}/utilities/${BPN}"

5
recipes-ros/ros/ros.inc Normal file
View File

@ -0,0 +1,5 @@
SRC_URI = "https://github.com/ros/ros/archive/${PV}.tar.gz;downloadfilename=ros_${PV}.tar.gz"
SRC_URI[md5sum] = "e38f95785dc6dcbb8f8620c9298c2752"
SRC_URI[sha256sum] = "2d8997e1f6980c9cea85a27f39e17beb58db924283fc337c8df11fd79bcb3cb2"
inherit catkin

View File

@ -3,24 +3,8 @@ SECTION = "devel"
LICENSE = "BSD" LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://package.xml;beginline=9;endline=9;md5=d566ef916e9dedc494f5f793a6690ba5" LIC_FILES_CHKSUM = "file://package.xml;beginline=9;endline=9;md5=d566ef916e9dedc494f5f793a6690ba5"
SRC_URI = "https://github.com/ros-gbp/ros-release/archive/release/roslib/1.9.42.tar.gz;downloadfilename=roslib_1.9.42.tar.gz" DEPENDS = "boost rospack"
SRC_URI[md5sum] = "3234ab5475e80e2598a534ab94066b40"
SRC_URI[sha256sum] = "9443166266ba025984552d764c0a74e7d4a79f9ef3b533c5de6d3220f4aa03e8"
S = "${WORKDIR}/ros-release-release-roslib-1.9.42" require ros.inc
DEPENDS = "catkin-native boost rospack"
FILES_${PN} += "${libdir}/*"
inherit cmake pythonnative
EXTRA_OECMAKE = " \
-Drospack_DIR=${STAGING_DATADIR}/rospack/cmake/ \
"
export BUILD_SYS
export HOST_SYS
export STAGING_LIBDIR
export STAGING_INCDIR
S = "${WORKDIR}/ros-${PV}/core/${BPN}"

View File

@ -3,23 +3,8 @@ SECTION = "devel"
LICENSE = "BSD" LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=d566ef916e9dedc494f5f793a6690ba5" LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=d566ef916e9dedc494f5f793a6690ba5"
SRC_URI = "https://github.com/ros-gbp/ros-release/archive/release/rosunit/1.9.42.tar.gz;downloadfilename=rosunit_1.9.42.tar.gz" require ros.inc
SRC_URI[md5sum] = "1ddf9898fdde848e7ccaea88abb62296"
SRC_URI[sha256sum] = "65ef24469c572f5b4105b95db3830a565e0de71f8f9c8982ecf80b3244ca9a33"
S = "${WORKDIR}/ros-release-release-rosunit-1.9.42" S = "${WORKDIR}/ros-${PV}/tools/${BPN}"
DEPENDS = "catkin-native"
FILES_${PN} += "${libdir}/*"
inherit cmake pythonnative
EXTRA_OECMAKE = " \
"
export BUILD_SYS
export HOST_SYS
export STAGING_LIBDIR
export STAGING_INCDIR
BBCLASSEXTEND += "native"

View File

@ -1,22 +0,0 @@
DESCRIPTION = "Low-level build system macros and infrastructure for ROS"
SECTION = "devel"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://package.xml;beginline=13;endline=13;md5=d566ef916e9dedc494f5f793a6690ba5"
SRC_URI = "https://github.com/ros-gbp/roscpp_core-release/archive/release/cpp_common/0.3.11.tar.gz;downloadfilename=cpp-common_0.3.11.tar.gz"
SRC_URI[md5sum] = "7bf32963b9e2c82911bf089531c18482"
SRC_URI[sha256sum] = "86018219aa77f109d3340d332e7a041a9e047fd48d3d0e03bf2a4bd9baa66bde"
S = "${WORKDIR}/roscpp_core-release-release-cpp_common-0.3.11"
DEPENDS = "catkin-native"
ALLOW_EMPTY = "1"
EXTRA_OECMAKE = ""
inherit cmake pythonnative
FILES_${PN} += "${libdir}/*"
FILES_${PN}-dev += "${datadir}/*"

View File

@ -0,0 +1,8 @@
DESCRIPTION = "Low-level build system macros and infrastructure for ROS"
SECTION = "devel"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://package.xml;beginline=13;endline=13;md5=d566ef916e9dedc494f5f793a6690ba5"
require roscpp-core.inc
S = "${WORKDIR}/roscpp_core-${PV}/${ROS_BPN}"

View File

@ -0,0 +1,7 @@
SRC_URI = "https://github.com/ros/roscpp_core/archive/${PV}.tar.gz;downloadfilename=rosscpp_core-${PV}.tar.gz"
SRC_URI[md5sum] = "ddbed4b9c97e406ecf104915eb31319c"
SRC_URI[sha256sum] = "662595304df7ba932906aa30774dfd4c3074cc4b7773620fc80de2d724769ef8"
S = "${WORKDIR}/roscpp_core-${PV}/${BPN}"
inherit catkin

View File

@ -3,21 +3,8 @@ SECTION = "devel"
LICENSE = "BSD" LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=d566ef916e9dedc494f5f793a6690ba5" LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=d566ef916e9dedc494f5f793a6690ba5"
SRC_URI = "https://github.com/ros-gbp/roscpp_core-release/archive/release/roscpp_core/0.3.12.tar.gz;downloadfilename=roscpp-cppcore_0.3.12.tar.gz" DEPENDS = "cpp-common roscpp-serialization roscpp-traits rostime"
SRC_URI[md5sum] = "56cfd5b11cba6d28f742106a1eeafc92"
SRC_URI[sha256sum] = "b9ed9dadb21430deb87d56f4051da80238a36feea972ec0d3cecbfe91bb42d84"
S = "${WORKDIR}/roscpp_core-release-release-roscpp_core-0.3.12" require roscpp-core.inc
ALLOW_EMPTY = "1"
DEPENDS = "\
cpp-common \
roscpp-serialization \
roscpp-traits \
rostime \
"
FILES_${PN} = ""
FILES_${PN}-dev = ""
S = "${WORKDIR}/roscpp_core-${PV}/${ROS_BPN}"

View File

@ -3,23 +3,8 @@ SECTION = "devel"
LICENSE = "BSD" LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://package.xml;beginline=11;endline=11;md5=d566ef916e9dedc494f5f793a6690ba5" LIC_FILES_CHKSUM = "file://package.xml;beginline=11;endline=11;md5=d566ef916e9dedc494f5f793a6690ba5"
SRC_URI = "https://github.com/ros-gbp/roscpp_core-release/archive/release/roscpp_serialization/0.3.12.tar.gz;downloadfilename=roscpp-serialization_0.3.12.tar.gz" DEPENDS = "cpp-common roscpp-traits rostime"
SRC_URI[md5sum] = "38827d61eb88211d6be597d3be30ee58"
SRC_URI[sha256sum] = "27581440aabb75df787e850124daaec252fdca8f5b70f8a4996f82bb8eb65eb7"
S = "${WORKDIR}/roscpp_core-release-release-roscpp_serialization-0.3.12" require roscpp-core.inc
ALLOW_EMPTY = "1" S = "${WORKDIR}/roscpp_core-${PV}/${ROS_BPN}"
DEPENDS = "catkin-native \
cpp-common \
roscpp-traits \
rostime"
EXTRA_OECMAKE = " \
-Dcpp_common_DIR=${STAGING_DATADIR}/cpp_common/cmake/ \
-Droscpp_traits_DIR=${STAGING_DATADIR}/roscpp_traits/cmake/ \
-Drostime_DIR=${STAGING_DATADIR}/rostime/cmake/ \
"
inherit cmake pythonnative

View File

@ -3,14 +3,6 @@ SECTION = "devel"
LICENSE = "BSD" LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://package.xml;beginline=11;endline=11;md5=d566ef916e9dedc494f5f793a6690ba5" LIC_FILES_CHKSUM = "file://package.xml;beginline=11;endline=11;md5=d566ef916e9dedc494f5f793a6690ba5"
SRC_URI = "https://github.com/ros-gbp/roscpp_core-release/archive/release/roscpp_traits/0.3.12.tar.gz;downloadfilename=roscpp-traits_0.3.12.tar.gz" require roscpp-core.inc
SRC_URI[md5sum] = "bf9d1ef41bb21a8ee1b2defa415cc0d8"
SRC_URI[sha256sum] = "f35cd1e29b50a2ffd89b36a9c919653ba2f6242c4b92618b544ded4f005ab912"
S = "${WORKDIR}/roscpp_core-release-release-roscpp_traits-0.3.12" S = "${WORKDIR}/roscpp_core-${PV}/${ROS_BPN}"
ALLOW_EMPTY = "1"
DEPENDS = "catkin-native"
inherit cmake pythonnative

View File

@ -3,18 +3,6 @@ SECTION = "devel"
LICENSE = "BSD" LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=d566ef916e9dedc494f5f793a6690ba5" LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=d566ef916e9dedc494f5f793a6690ba5"
SRC_URI = "https://github.com/ros-gbp/roscpp_core-release/archive/release/rostime/0.3.12.tar.gz;downloadfilename=rostime_0.3.12.tar.gz" DEPENDS = "boost cpp-common"
SRC_URI[md5sum] = "ad80d12cf7dac87e7a5ef4573ced9db7"
SRC_URI[sha256sum] = "887a89406d9682dc49c4049b4fe0766b6613208fd9df95a0efa55579b93cc965"
S = "${WORKDIR}/roscpp_core-release-release-rostime-0.3.12" require roscpp-core.inc
DEPENDS = "catkin-native boost cpp-common"
FILES_${PN} += "${libdir}/*"
inherit cmake pythonnative
EXTRA_OECMAKE = " \
-Dcpp_common_DIR=${STAGING_DATADIR}/cpp_common/cmake/ \
"

View File

@ -3,17 +3,10 @@ SECTION = "devel"
LICENSE = "BSD" LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://package.xml;beginline=6;endline=6;md5=d566ef916e9dedc494f5f793a6690ba5" LIC_FILES_CHKSUM = "file://package.xml;beginline=6;endline=6;md5=d566ef916e9dedc494f5f793a6690ba5"
SRC_URI = "https://github.com/ros-gbp/rospack-release/archive/release/rospack/2.1.16.tar.gz;downloadfilename=rospack_2.1.16.tar.gz" DEPENDS = "boost python libtinyxml"
SRC_URI[md5sum] = "35b37d6bea2ed092e9265dd975b3be17"
SRC_URI[sha256sum] = "a9a997ea584ef2c41a78e03e3b24d315dc1020545b2a1a0cde474d24fe912f24"
S = "${WORKDIR}/rospack-release-release-rospack-2.1.16" SRC_URI = "https://github.com/ros/${BPN}/archive/${PV}.tar.gz;downloadfilename=${BP}.tar.gz"
SRC_URI[md5sum] = "1383bdce36fe6319884e7b158c22d8b4"
SRC_URI[sha256sum] = "5bfdcc93db555fe23dead5d471f8bba25dc72c2f0f928bd2319e06bf42f9d117"
DEPENDS = "catkin-native boost python libtinyxml" inherit catkin
FILES_${PN} += "${libdir}/*"
inherit cmake pythonnative
EXTRA_OECMAKE = " \
"

View File

@ -4,20 +4,12 @@ SECTION = "devel"
LICENSE = "BSD" LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://package.xml;beginline=9;endline=9;md5=d566ef916e9dedc494f5f793a6690ba5" LIC_FILES_CHKSUM = "file://package.xml;beginline=9;endline=9;md5=d566ef916e9dedc494f5f793a6690ba5"
SRC_URI = "https://github.com/ros-gbp/std_msgs-release/archive/release/std_msgs/0.5.7.tar.gz;downloadfilename=std-msgs_0.5.7.tar.gz" DEPENDS = "message-generation genlisp"
SRC_URI[md5sum] = "7665733101cc69106dd7a2902dc67f19"
SRC_URI[sha256sum] = "636f0871d52531d6764d7b26ded476a49881e5e9166999efed2f1a6ee3787fec"
S = "${WORKDIR}/std_msgs-release-release-std_msgs-0.5.7" SRC_URI = "https://github.com/ros/${ROS_BPN}/archive/${PV}.tar.gz;downloadfilename=${ROS_BP}.tar.gz"
SRC_URI[md5sum] = "ea40e6dd8ea19fe54a2b476358c0ceea"
SRC_URI[sha256sum] = "acc3d6aed8ede795e4bc6676c1849924699a418769b3d29016a9a2ac08319a56"
DEPENDS = "catkin-native message-generation" S = "${WORKDIR}/${ROS_BPN}-${PV}"
# also depends on genlisp
FILES_${PN} += "${libdir}/*"
inherit cmake pythonnative
EXTRA_OECMAKE = " \
-Dmessage_generation_DIR=${STAGING_DATADIR}/message_generation/cmake/ \
"
inherit catkin

36
scripts/create-packagegroup.py Executable file
View File

@ -0,0 +1,36 @@
#!/usr/bin/env python
#
# Copyright (c) 2013 Stefan Herbrechtsmeier, Bielefeld University
#
import sys
import httplib
import re
name = 'ros_comm'
if len(sys.argv) > 1:
name = sys.argv[1]
conn = httplib.HTTPConnection('packages.ros.org')
conn.request('GET', '/web/rosinstall/generate/raw/groovy/' + name)
res = conn.getresponse()
data = res.read()
conn.close()
packages = []
for p in re.findall('local-name:.(\w+)' ,data):
packages.append(p.replace('_', '-'))
name = name.replace('_', '-')
print('packagegroup-' + name + '.bb')
print('')
print('DESCRIPTION = "' + name + ' package group"');
print('LICENSE = "MIT"')
print('')
print('inherit packagegroup')
print('')
print('PACKAGES = "${PN}"')
print('')
print('RDEPENDS_${PN} = "\\\n ' + ' \\\n '.join(packages) + ' \\\n "')

92
scripts/create-recipe.py Normal file → Executable file
View File

@ -1,45 +1,71 @@
#!/usr/bin/env python #!/usr/bin/env python
# #
# Copyright (c) 2013 Lukas Bulwahn, BMW Car IT GmbH # Copyright (c) 2013 Stefan Herbrechtsmeier, Bielefeld University
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
# #
info = {'description' : '', import sys
'license' : '', 'lic_file_beginline' : '', 'lic_file_endline' : '', 'lic_file_md5' : '', import os
'url' : '', 'downloadfilename' : '', 'md5sum' : '', 'sha256sum' : '', 'directoryname' : ''} import xml.etree.ElementTree as ElementTree
import hashlib
print '''DESCRIPTION = "%(description)s" filename = 'package.xml'
SECTION = "devel"
LICENSE = "%(license)s"
LIC_FILES_CHKSUM = "file://package.xml;beginline=%(lic_file_beginline)s;endline=%(lic_file_endline)s;md5=%(lic_file_md5)s"
SRC_URI = "%(url)s;downloadfilename=%(downloadfilename)s" if len(sys.argv) > 1:
SRC_URI[md5sum] = "%(md5sum)s" filename = sys.argv[1]
SRC_URI[sha256sum] = "%(sha256sum)s"
S = "${WORKDIR}/%(directoryname)s" if not os.path.isfile(filename):
exit(-1)
DEPENDS = "catkin-native" tree = ElementTree.parse(filename)
root = tree.getroot()
inherit cmake pythonnative name = tree.findtext('name', '')
version = tree.findtext('version', '')
description = tree.findtext('description', '').strip()
license = tree.findtext('license', '')
homepage = tree.findtext('url', '')
''' % info f = file(filename)
license_line = ''
license_md5 = ''
i = 0
for line in f:
i += 1
if 'license' in line:
license_line = str(i)
md5 = hashlib.md5()
md5.update(line)
license_md5 = md5.hexdigest()
break
buildtools = []
for e in root.findall('buildtool_depend'):
buildtools.append(e.text)
depends = []
for e in root.findall('build_depend'):
depends.append(e.text.replace('_', '-'))
print(name + '_' + version + ".bb")
print('')
print('DESCRIPTION = "' + description + '"')
if homepage:
print('HOMEPAGE = "' + homepage + '"')
print('SECTION = "devel"')
print('LICENSE = "' + license + '"')
print('LIC_FILES_CHKSUM = "file://package.xml;beginline=' + license_line +
';endline=' + license_line + ';md5=' + license_md5 + '"')
if depends:
print('')
print('DEPENDS = "' + ' '.join(depends) + '"')
print('')
print('SRC_URI = ";downloadfilename=${P}.tar.gz"')
print('SRC_URI[md5sum] = ""')
print('SRC_URI[sha256sum] = ""')
print('')
print('S = "${WORKDIR}/-${PV}"')
print('')
if buildtools:
print('inherit ' + ' '.join(buildtools))