--
You received this message because you are subscribed to the Google Groups "ROS Buildsystem Special Interest Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ros-sig-buildsy...@googlegroups.com.
To post to this group, send email to ros-sig-b...@googlegroups.com.
In general executables should be installed package local, just like in the past. Only the few things that we previously promoted to $ROS_ROOT/bin should be on the $PATH like before.
On Sun, Feb 3, 2013 at 4:38 PM, Tully Foote <tfo...@willowgarage.com> wrote:In general executables should be installed package local, just like in the past. Only the few things that we previously promoted to $ROS_ROOT/bin should be on the $PATH like before.Could that cause confusion, since modules in the setup.py are installed to the install target lib/python... path?
-j--Jonathan BohrenPhD StudentDynamical Systems and Control LaboratoryLaboratory for Computational Sensing and RoboticsThe Johns Hopkins University
--
You received this message because you are subscribed to the Google Groups "ROS Buildsystem Special Interest Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ros-sig-buildsy...@googlegroups.com.
To post to this group, send email to ros-sig-b...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
The script tf/view_frames should not be in the path, that is the bug. Anything listed in scripts of the setup.py will be put in the path, which is consistent with conventional Python development. If you want to install a python script and not have it on the path it should be absent from the scripts section of the setup.py and should in stead be installed some place using a CMake install rule.
On Sun, Feb 3, 2013 at 1:41 PM, Jonathan Bohren <jonatha...@gmail.com> wrote:On Sun, Feb 3, 2013 at 4:38 PM, Tully Foote <tfo...@willowgarage.com> wrote:In general executables should be installed package local, just like in the past. Only the few things that we previously promoted to $ROS_ROOT/bin should be on the $PATH like before.Could that cause confusion, since modules in the setup.py are installed to the install target lib/python... path?Again you would expect, from a conventional python development standpoint, for things listed in modules to be on the PYTHONPATH after installation. So I would say it is correct, expected behavior.
-j--Jonathan BohrenPhD StudentDynamical Systems and Control LaboratoryLaboratory for Computational Sensing and RoboticsThe Johns Hopkins University
--
You received this message because you are subscribed to the Google Groups "ROS Buildsystem Special Interest Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ros-sig-buildsystem+unsub...@googlegroups.com.
To post to this group, send email to ros-sig-b...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
Also, why do python scripts go into lib, not share? I though lib was for architecture-dependent stuff only. Not sure whether that relates to python3 compatibility. But the layout of scripts going into lib/packagename/ does not seem to allow providing separate python2 and python3 compatible scripts of the same name.
--
You received this message because you are subscribed to the Google Groups "ROS Buildsystem Special Interest Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ros-sig-buildsy...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/ros-sig-buildsystem/-/k_zAmDU3B4QJ.
--
You received this message because you are subscribed to the Google Groups "ROS Buildsystem Special Interest Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ros-sig-buildsy...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/ros-sig-buildsystem/-/CnpyadABMtkJ.
There is no reason for users to shy away from using the Python setup.py scripts section when deploying scripts, they just need to be aware that they are doing this. The whole idea of putting these executables somewhere not on the path and using rosrun to execute them is a purely ROS concept, and has nothing to do with catkin.
CATKIN_PACKAGE_BIN_DESTINATION
? Shouldn't that then be a ROS_PACKAGE_BIN_DESTINATION ?If you want to preserve the behavior of a converted ROS stack or install scripts without polluting the PATH then use either the data_files entry within the setup.py or a CMake install rule to install it.
The only thing I am not sure about is how data_files handles permissions, there might be some special logic in scripts to ensure the installed file is executable.
On Monday, February 4, 2013 8:51:22 PM UTC+1, William Woodall wrote:There is no reason for users to shy away from using the Python setup.py scripts section when deploying scripts, they just need to be aware that they are doing this. The whole idea of putting these executables somewhere not on the path and using rosrun to execute them is a purely ROS concept, and has nothing to do with catkin.
Then why would catkin provide aCATKIN_PACKAGE_BIN_DESTINATION
? Shouldn't that then be a ROS_PACKAGE_BIN_DESTINATION ?
If you want to preserve the behavior of a converted ROS stack or install scripts without polluting the PATH then use either the data_files entry within the setup.py or a CMake install rule to install it.
The cmake install rule does not put things into the devel space. I know that's not an issue for rosrun, but it's not clean either.
Is there maybe some value in recommending just one approach? Which should go into out documentation and tutorials?
The only thing I am not sure about is how data_files handles permissions, there might be some special logic in scripts to ensure the installed file is executable.distutils also manipulates the hashbang line when installing. Not sure how much that will trouble us, in particular with python3 in ringtail.
--
You received this message because you are subscribed to the Google Groups "ROS Buildsystem Special Interest Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ros-sig-buildsy...@googlegroups.com.
To post to this group, send email to ros-sig-b...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/ros-sig-buildsystem/-/HrGbKuWD7d0J.
On Mon, Feb 4, 2013 at 11:58 AM, tkruse <tibo...@googlemail.com> wrote:
On Monday, February 4, 2013 8:51:22 PM UTC+1, William Woodall wrote:There is no reason for users to shy away from using the Python setup.py scripts section when deploying scripts, they just need to be aware that they are doing this. The whole idea of putting these executables somewhere not on the path and using rosrun to execute them is a purely ROS concept, and has nothing to do with catkin.
Then why would catkin provide aCATKIN_PACKAGE_BIN_DESTINATION
? Shouldn't that then be a ROS_PACKAGE_BIN_DESTINATION ?This is a use variable for being FHS compliant. This is where you should put executables which don't belong on the path.
CATKIN_PACKAGE_BIN_DESTINATION, so why not provide something equivalent for setup.py?
Longstanding Debian practice is to use /usr/lib/pythonX.Y/dist-packages. I don't know why that is, or what interpretation of the FHS it implies.
There may be several factors:* The original definition of /usr/share/ was for files that could be shared read-only across multiple machines in an NFS network. Even though Python *.pyc files are architecture-independent, they are not Python-version-independent. So, they can't be shared across a network of dissimilar systems with different Python versions.
--
You received this message because you are subscribed to the Google Groups "ROS Buildsystem Special Interest Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ros-sig-buildsy...@googlegroups.com.
To post to this group, send email to ros-sig-b...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/ros-sig-buildsystem/-/iL5FBG80njUJ.