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>
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>