-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Why can data_files destinations not be absolute for ament_python packages? #616
Comments
That seems like a reasonable restriction. A package should always be installing files relative to its colcon-assigned installspace location (ideally using GNUInstallDirs though that is still under discussion), not spraying them out into arbitrary absolute locations on the filesystem, where the user invoking colcon may not even necessarily have write permissions. |
We want to "export" the default config files to an absolute path that is mounted onto the Docker container running ROS2/colcon. This would allow us to distribute these default configs outside the container and later to mount modified versions of them without requiring a rebuild (for production images where the source is not available anymore). |
Maybe we can add an optional argument/flag that enables absolute install paths? |
A more conventional approach would be just to have a |
This is about building an ament_python package with setup.py.
When I try to install my
config
folder into an absolute path (in my case/data/config
), I get an AssertionError from the build system, because the path is absolute.This is coming from this line in the code:
https://github.com/colcon/colcon-core/blob/master/colcon_core/task/python/__init__.py#L38
Why should the destination path for an installed file not be absolute?
With CMakeLists.txt, this is possible with something like:
Maybe there is a good reason for enforcing non-absolute source paths, but for destinations?
The text was updated successfully, but these errors were encountered: