This commit is just a copy of the patch that Dmitry Rozhkov
submitted to openembedded-core, but it was rejected there [1].
If only python3 is installed on an image nothing provides
/usr/bin/python even though many scripts compatible with
both python2 and python3 just state `#!/usr/bin/env python`
in their shebang line.
Make python and python3 recipes provide alternatives for
/usr/bin/python and /usr/bin/python-config. By default
python2 has higher priority over python3.
In meta-ros, we need this behaviour for ROS_USE_PYTHON3 = "yes"
because ROS packages are always written to be python2 and python3
compatible.
[1] https://patchwork.openembedded.org/patch/139143/
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
This commit includes:
- use `DEPENDS =` instead of `DEPENDS +=`.
- put single-line configurations into a single line
- move DEPENDS to right location in recipe files
- remove superfluous ROS_SPN declarations
The clean up was motivated by the commits for
object-recognition-msgs and hector-mapping in #519.
Issues were identified with `grep "DEPENDS +=" . -R` and by looking
at the output of oe-stylize.py with this bash script:
```
for RECIPE in $(find . -name *.bb)
do
echo "Processing: $RECIPE"
~/work/repositories/openembedded.org/meta-openembedded/contrib/oe-stylize.py $RECIPE > $RECIPE-oestylize
diff $RECIPE $RECIPE-oestylize
done
```
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
Since Github's auto-generated tarballs aren't garanteed to be identical
over time it's better to tie the recipe to a git revision.
closes#552
Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
Recently, the log4cxx development version is not only provided
through a svn repository, but also provided through a git
repository.
In the past, various meta-ros users reported some issues
(#413, #470, #483) when fetching log4cxx from the svn repository,
probably due to the non-standard handling of http/https proxy in
the svn client.
I expect that fetching from git causes less issues than from svn.
So, the log4cxx recipe now makes bitbake fetch the sources from the
git repository instead of the svn repository. Furthermore, this
commit updates the source revision to the currently latest commit.
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
The added patch makes resource-retriever compatible with python3.
Also drop python-urlgrabber which resource-retriever used to
depend on.
Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
python-rosdep still depends on python-rosdistro in ROS Indigo.
This dependency needs to be dropped after updating the meta
layer to Kinetic.
Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
roswtf reports uninitialized /etc/ros structure and recommends
to fix the issue by running `rosdep init`. But rosdep throws an
exception when trying to import the missing rosdistro library.
The library is supposed to be dropped in kinetic, but it's still
needed in indigo which the layer is based on at the moment.
So, the patch adds the library to the layer.
Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
The Openembedded Layer Index [1] shows that python-six in
version 1.10.0 is already provided in the openembedded-core layer
and in the meta-python layer, so there is no need for a third copy
of the python-six recipe in meta-ros.
The recipe python-six is provided since commit a36869c7 in the
meta-openembedded repository (commit date: 2015-04-13), and
is provided since commit 9979e35f in the openembedded-core
repository (commit date: 2016-07-20).
In my opinion, at least the commit a36869c7 is far enough in the
past, so that we can safely assume that all new meta-ros use a setup
where python-six is included at least in meta-python.
For users of older versions, we include a remark in the README.md to
allow `git blame` to pinpoint to this commit here.
[1] https://layers.openembedded.org/layerindex/branch/master/recipes/?q=python-six
[2] http://cgit.openembedded.org/meta-openembedded/commit/?id=a36869c700bed940f7f0aa4b9703ae630dc84eac
[3] http://cgit.openembedded.org/openembedded-core/commit/?id=9979e35ffb0dfb20d8aaffa8e2ec5e33f27fc009
Signed-off-by: Lukas.Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
The recent versions of the rosbridge_library package does not depend
on python-pytz anymore. So, this commit removes the dependency in
the recipe file and removes the now unneeded python-pytz recipe.
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
This commit adds recipes for rosbridge_suite and its dependencies.
Its main content is based on the commits of pull request #364 by
Christoph Schultz.
As maintainer, Lukas Bulwahn just included the contributions
with a proper commit message, added the new packages to the
packagegroup-ros-world, and slightly improved the line breaking.
The resource_retriever package's source was moved into
its own repository, and needs now python-urlgrabber.
Hence, this commit provides the recipe for python-urlgrabber, moves
the resource-retriever to its own location, and updates all other
packages in the robot_model repository.
I noticed a build failure for yaml-cpp (#328), that the boost
headers could not be found. Probably since the update to 0.5.2 [1],
yaml-cpp depends on boost. This commit resolves the issue by adding
this dependency.
[1] da10180fc5
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
Due to the recent commit 6eddc9e2@openembedded-core [1], which
updated python-nose from 1.2.1 to 1.3.6, the bbappend for
python-nose 1.2.1 leads to an error during parsing. Instead of
making the bbappend version-independent, this commit simply drops
the bbappend file, as python-nose is provided as native package
already since 78711c88@openembedded-core [2] (since January 2014).
[1] 6eddc9e222
[2] 78711c8875
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
When compiling python-rosdep before python-nose has been built,
'bitbake python-rosdep' fails with:
| distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('nose>=1.0')
| ERROR: python setup.py build_ext execution failed.
| WARNING: /[...]/build/tmp-glibc/work/i586-oe-linux/python-rosdep/0.11.0-r0/temp/run.do_compile.14813:1 exit 1 from
| exit 1
| ERROR: Function failed: do_compile (log file is located at /[...]/build/tmp-glibc/work/i586-oe-linux/python-rosdep/0.11.0-r0/temp/log.do_compile.14813)
ERROR: Task 6 (/[...]/meta-ros/recipes-devtools/python/python-rosdep_0.11.0.bb, do_compile) failed with exit code '1'
In a recent commit in the rosdep repository [1], the dependency for
the rosdep setup on python's nose package is added. Hence, we must
also add this dependency in the rosdep recipe, which then resolves
the reported failure.
[1] fc8b56be07
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>