Merge pull request #319 from andreasbaak/master

Reduction of runtime dependencies
This commit is contained in:
KristofRobot 2015-03-03 18:36:27 +01:00
commit 224b15a0b0
9 changed files with 100 additions and 28 deletions

View File

@ -4,7 +4,7 @@
inherit cmake distutils-base ros faulty-solibs
DEPENDS_prepend = "${@['catkin-native ', ''][d.getVar('BPN', True) == 'catkin']}"
DEPENDS_prepend = "${@['catkin-native ', ''][(d.getVar('BPN', True) == 'catkin') | (d.getVar('BPN', True) == 'catkin-runtime')]}"
EXTRA_OECMAKE_CATKIN = "\
-DCMAKE_PREFIX_PATH='${STAGING_DIR_HOST}${ros_prefix};${STAGING_DIR_HOST}${prefix};${STAGING_DIR_NATIVE}${ros_prefix};${STAGING_DIR_NATIVE}${prefix}' \

View File

@ -0,0 +1,22 @@
ROS_SPN = "catkin"
require catkin.inc
S = "${WORKDIR}/catkin-${PV}"
# This package includes ONLY the python packages.
# The catkin_${PV} package includes all other files
# from the catkin tool.
FILES_${PN} = "${PYTHON_SITEPACKAGES_DIR}"
RDEPENDS_${PN} = "\
python-catkin-pkg python-argparse python-misc python-multiprocessing \
python-shell python-subprocess python-xml python-pkgutil"
# Delete everything but the python packages in order to avoid
# that the QA error [installed-vs-shipped] hits on us.
do_install_append() {
rm -rf ${D}${ros_bindir}
rm -rf ${D}${ros_datadir}
rm -rf ${D}${ros_libdir}/pkgconfig
}

View File

@ -0,0 +1,26 @@
DESCRIPTION = "Low-level build system macros and infrastructure for ROS"
SECTION = "devel"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://package.xml;beginline=7;endline=7;md5=d566ef916e9dedc494f5f793a6690ba5"
DEPENDS = "cmake python-empy python-catkin-pkg python-empy-native python-catkin-pkg-native"
SRC_URI = "https://github.com/ros/${ROS_SPN}/archive/${PV}.tar.gz;downloadfilename=${ROS_SP}.tar.gz"
SRC_URI[md5sum] = "a0dd74c4a665a56b02af9f8c873c451d"
SRC_URI[sha256sum] = "71441206945e8d77dace831375effde5b5f54b95e3a054106848432eceec58c0"
SRC_URI += "file://0001-CATKIN_WORKSPACES-Don-t-require-.catkin-file.patch"
inherit catkin
FILES_${PN}-dev += "\
${ros_datadir}/eigen/cmake \
${ros_datadir}/ros/cmake \
${ros_datadir}/.catkin \
${ros_prefix}/.catkin \
${ros_prefix}/.rosinstall \
${ros_prefix}/_setup_util.py \
${ros_prefix}/env.sh \
${ros_prefix}/setup.* \
"

View File

@ -1,32 +1,20 @@
DESCRIPTION = "Low-level build system macros and infrastructure for ROS"
SECTION = "devel"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://package.xml;beginline=7;endline=7;md5=d566ef916e9dedc494f5f793a6690ba5"
require catkin.inc
DEPENDS = "cmake python-empy python-catkin-pkg python-empy-native python-catkin-pkg-native"
SRC_URI = "https://github.com/ros/${ROS_SPN}/archive/${PV}.tar.gz;downloadfilename=${ROS_SP}.tar.gz"
SRC_URI[md5sum] = "a0dd74c4a665a56b02af9f8c873c451d"
SRC_URI[sha256sum] = "71441206945e8d77dace831375effde5b5f54b95e3a054106848432eceec58c0"
SRC_URI += "file://0001-CATKIN_WORKSPACES-Don-t-require-.catkin-file.patch"
inherit catkin
FILES_${PN}-dev += "\
${ros_datadir}/eigen/cmake \
${ros_datadir}/ros/cmake \
${ros_datadir}/.catkin \
${ros_prefix}/.catkin \
${ros_prefix}/.rosinstall \
${ros_prefix}/_setup_util.py \
${ros_prefix}/env.sh \
${ros_prefix}/setup.* \
"
DEPENDS_virtclass-native += "catkin-runtime"
RDEPENDS_${PN}_class-native = ""
RDEPENDS_${PN} = "cmake make binutils binutils-symlinks gcc gcc-symlinks g++ g++-symlinks \
python-catkin-pkg python-argparse python-misc python-multiprocessing \
python-shell python-subprocess python-xml python-pkgutil"
catkin-runtime"
# The files in ${PYTHON_SITEPACKAGES_DIR} are installed by
# the catkin-runtime package. Therefore, we remove them here
# so that they are not installed.
# Moreover: the ${ros_libdir}/python2.7 is empty. We need to
# remove it, otherwise the QA error [installed-vs-shipped] will hit on us.
do_install_append() {
rm -rf ${D}${PYTHON_SITEPACKAGES_DIR}
rmdir ${D}${ros_libdir}/python2.7
}
BBCLASSEXTEND += "native"

View File

@ -16,7 +16,6 @@ SRC_URI += "file://0001-increase-rosmaster-timeout.patch \
ROS_PKG_SUBDIR = "tools"
RDEPENDS_${PN} = "\
coreutils \
python-textutils \
python-logging \
python-threading \

View File

@ -0,0 +1,35 @@
From 300ac79a86f580040a1676004e1e8758cc7c6781 Mon Sep 17 00:00:00 2001
From: Alexis Ballier <aballier@gentoo.org>
Date: Thu, 22 Jan 2015 09:56:41 +0100
Subject: [PATCH] rosclean: Use "du -sk * 1024" on Linux for getting disk usage
since "du -b" is not supported by busybox du, while "du -k" is supported by
both coreutils and busybox.
Upstream-Status: Submitted [https://github.com/ros/ros/pull/76]
---
tools/rosclean/src/rosclean/__init__.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/rosclean/src/rosclean/__init__.py b/tools/rosclean/src/rosclean/__init__.py
index 5dafb05..6f051f1 100644
--- a/tools/rosclean/src/rosclean/__init__.py
+++ b/tools/rosclean/src/rosclean/__init__.py
@@ -121,13 +121,13 @@ def get_disk_usage(d):
"""
Get disk usage in bytes for directory
:param d: directory path, ``str``
- :returns: disk usage in bytes (du -b) or (du -A) * 1024, ``int``
+ :returns: disk usage in bytes (du -k) * 1024 or (du -A) * 1024, ``int``
:raises: :exc:`CleanupException` If get_disk_usage() cannot be used on this platform
"""
# only implemented on Linux and FreeBSD for now. Should work on OS X but need to verify first (du is not identical)
if platform.system() == 'Linux':
try:
- return int(subprocess.Popen(['du', '-sb', d], stdout=subprocess.PIPE).communicate()[0].split()[0])
+ return int(subprocess.Popen(['du', '-sk', d], stdout=subprocess.PIPE).communicate()[0].split()[0]) * 1024
except:
raise CleanupException("rosclean is not supported on this platform")
elif platform.system() == 'FreeBSD':
--
1.9.3

View File

@ -6,3 +6,5 @@ LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=d566ef916e9dedc
require ros.inc
ROS_PKG_SUBDIR = "tools"
SRC_URI += "file://0001-rosclean-Use-du-sk-1024-on-Linux-for-getting-disk-us.patch;striplevel=3"

View File

@ -9,4 +9,4 @@ require ros.inc
ROS_PKG_SUBDIR = "core"
RDEPENDS_${PN} = "python-rospkg catkin"
RDEPENDS_${PN} = "python-rospkg catkin-runtime"