* fixes:
WARNING: roslaunch-1.11.21-r1 do_patch:
Some of the context lines in patches were ignored. This can lead to incorrectly applied patches.
The context lines in the patches can be updated with devtool:
devtool modify <recipe>
devtool finish --force-patch-refresh <recipe> <layer_path>
Then the updated patches and the source tree (in devtool's workspace)
should be reviewed to make sure the patches apply in the correct place
and don't introduce duplicate lines (which can, and does happen
when some of the context is ignored). Further information:
http://lists.openembedded.org/pipermail/openembedded-core/2018-March/148675.htmlhttps://bugzilla.yoctoproject.org/show_bug.cgi?id=10450
Details:
Applying patch 0001-increase-rosmaster-timeout.patch
patching file src/roslaunch/launch.py
Hunk #1 succeeded at 59 with fuzz 2 (offset 4 lines).
Now at patch 0001-increase-rosmaster-timeout.patch
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
In commit openembedded/openembedded-core@54ac820b8a, the packaging of
python3 base libraries changed. Amongst others, the packages,
python3-argparse, python3-subprocess and python3-textutils, are merged
into the python3 package.
Hence, this commit adjusts the runtime dependencies in the meta-ros
recipes accordingly.
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
By default meta-ros uses python2. In case you want to get
python3-compatible builds add the following line to your local.conf:
ROS_USE_PYTHON3 = "yes"
Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
Due to this update, this commit also drops the rosconsole patch,
which is now included in the released version.
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
Compiling rosconsole failed with:
```
[...]/ros_comm-1.11.20/tools/rosconsole/include/ros/console.h:121:14: error: 'vector' in namespace 'std' does not name a template type
typedef std::vector<TokenPtr> V_Token;
```
The console.h assumed that vector is included already by one of its
dependencies. This bold assumption has been uncovered by the update
of the boost library to version 1.62.0 [1, 2] in openembedded-core
repository.
Coincidently, this issue was also noticed by ROS users on Gentoo and
Arch Linux, which probably also use the latest boost library and gcc6,
and they opened pull requests on the indigo and kinetic branches [3, 4, 5]
with commits to address the issue. The patch in the kinetic branch has
been merged, the others to the indigo branch have been rejected as the
ros-comm maintainers intend to simply backport the patch from the
kinetic branch for the next release.
This commit applies the patch merged in the kinetic branch in our
recipe for the current indigo release version.
[1] http://cgit.openembedded.org/openembedded-core/commit/?id=c31030d87cd1741a4186d711325b8eab9c70b327
[2] http://cgit.openembedded.org/openembedded-core/commit/?id=42b4fa2f923244bc047874752d2e0381ff6f0a25
[3] https://github.com/ros/ros_comm/pull/911
[4] https://github.com/ros/ros_comm/pull/930
[5] https://github.com/ros/ros_comm/pull/939
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
This commit:
- removes std-srvs and rosgraph-msgs recipes, as their sources
now are located in the ros_comm_msgs repository.
- adds a recipe for the new roslz4 package, which rosbag-storage
depends on.
- removes the patch that has been merged upstream.
When roslaunch is started, it checks the file size of the local log
directory by calling:
disk_usage = rosclean.get_disk_usage(d) [1]
The function `get_disk_usage` [2] in rosclean creates a subprocess and
calls `du -sb` on Linux systems (cf. [3]).
However, the `du` command, which busybox usually provides on an
embedded Linux image, does not support the `-b` option, and only the
`du` command from the coreutils [4] supports this option.
This issue was first reported in April 2013 on the meta-ros issue
tracker [5]. Hence, on the first iteration of this issue, the
commit db0c8d5c [6] simply adds the dependency on coreutils to
roslaunch.
However, this has certain disadvantages:
- coreutils is licensed under GPLv3 and must not be deployed in a
product, which is massively distributed to customers.
- coreutils has larger file-system foot print than busybox and makes
the minimal Linux images considerably larger.
As a fortuitous circumstance, Alexis Ballier [7] had already observed
this disadvantage and provides a patch [8, 9] that makes
`get_disk_usage` use `du -k`, which works with busybox and coreutils.
So, on the second iteration of this issue, this commit here patches
rosclean's `get_disk_usage` function with the aforementioned patch.
This slightly modifies the semantics of this function. However, I
believe this plays only a minor role for the overall intended
functionality to check if the log usage has reached a critical file-size
limit, and it allows us to remove the dependency on coreutils, which is
much more critical.
Andreas Baak reported the disadvantages of the previous solution, which
triggered the re-investigation. The current resolution has been
discussed and worked out in collaboration with Andreas Baak.
[1] 9da29441f3/tools/roslaunch/src/roslaunch/rlutil.py (L63)
[2] c6e91f9af1/tools/rosclean/src/rosclean/__init__.py (L120)
[3] c6e91f9af1/tools/rosclean/src/rosclean/__init__.py (L130)
[4] http://cgit.openembedded.org/cgit.cgi/openembedded-core/tree/meta/recipes-core/coreutils/coreutils_8.23.bb?h=master
[5] https://github.com/bmwcarit/meta-ros/issues/60
[6] db0c8d5cd1
[7] https://github.com/aballier
[8] https://github.com/ros/ros/pull/76
[9] bbf1f945c7
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
Signed-off-by: Andreas Baak <andreas.baak@bmw-carit.de>
roscore-default: Removing not supported variable in variable
roscore-default: Adding PATH, LD_LIBRARY_PATH and PYTHONPATH
roscore.service: Using /opt/ros/hydro/bin instead of /usr/bin to launch
roscore
You can now install roslaunch-systemd :
opkg install roslaunch-systemd
and start roscore :
systemctl start roscore
In commit 53796fc4, bitbake fails at parsing. It slipped through,
as I did not invoke any testing before submitting 53796fc4. This
commit resolves the obvious shortcoming.
The description is not indented after line breaks. All other
information, i.e., the dependencies and SRCURI, are indented with
four spaces after line breaks. Shell scripts are indented with
multiples of four spaces.
In recipes-ros, I located and checked for tabulators and spacing
with these bash commands:
egrep '^ [^ ]+' . --exclude *.patch -R
egrep '^ [^ ]+' . --exclude *.patch -R
egrep '^ [^ ]+' . --exclude *.patch -R
egrep '^ [ ]+[^ ]+' . --exclude *.patch -R
While going through the recipes and manually improving the layout,
I also adjusted the descriptions to use maximal 100 characters
per line.
After running oe-stylize.py on all recipes in recipes-ros, this
commit improves the formatting of some recipes.
To achieve this, I executed these commands in recipes-ros:
find . -name *.bb | sed 's#\(.*\)#./oe-stylize.py \1 > \1_sanitized#' | sh
find . -name *.bb | sed 's#\(.*\)#diff -Naur \1 \1_sanitized#' | sh > diffs
Then, I manually inspected the diffs file, and improved the
recipes.
For the DESCRIPTION line in the addressed recipes, the line width
of 100 characters was chosen, as the LIC_FILES_CHKSUM line and
SRC_URI line usually are also around about 100 characters long.
Hence, choosing a shorter line width, e.g. 80 characters, would
have only created more line breaks, but not reduced the need to
use a file viewer with which 100 characters line width can be
displayed. For the github file and diff viewer and most editors
on reasonably-sized screens, 100 character line width is no
problem.
In the commit 21f7799ee9, I manually
modified the patch, but it slipped my eyes to adjust the line
information in the patch accordingly.
This commit corrects the line information, so that the patch can
now be applied correctly.
When CATKIN_ENABLE_TESTING is deactivated, the ROS packages do not
require the rostest package.
This commit includes a number of patches to be submitted in the
upstream repositories and removes the rostest dependencies from
the recipes.
The native packages are not required anymore, because the needed
python scripts during compile time are also provided by the
cross-compiled packages and the python scripts are platform
independent. Only the catkin package is provided as native package.
The ros-comm recipes are updated to 1.9.48 to be in line with
4551e7c32d/hydro/release.yaml.
The previously applied patches have been included in 1.9.48 and are
removed from the recipe and this repository.