Open RafaelRey opened 3 years ago
Hi @RafaelRey, Thank you for your interest in using this package. Its a great suggestion to convert this package to a Debian package. We encourage users to contribute to our repos. Feel free to start a pull request. Vidur
Thanks for your pull request @RafaelRey. We will be reviewing this pull request soon and merge it as soon as possible. I have created a ticket [AIRO/1368] to track it internally.
This issue has been marked stale because it has been open for 14 days with no activity. Please remove the stale label or comment on this issue, or the issue will be automatically closed in the next 14 days.
This issue has been marked stale for 14 days and will now be closed. If this issue is still valid, please ping a maintainer.
Pinging @vidurvij-Unity to avoid issue closing
Is there a reason this can't be released to the ROS Build Farm using the typical package release process instead of requiring people to manually build the package?
We are currently reviewing the changes in https://github.com/Unity-Technologies/ROS-TCP-Endpoint/pull/100.
Is there a reason this can't be released to the ROS Build Farm using the typical package release process instead of requiring people to manually build the package?
@JWhitleyWork That's a good question and we can't really give a satisfactory answer. The vague justification is that there is a higher internal quality bar that we need to hit to apply for release as a Package, as opposed to simply pushing to our open source repository, and our codebase is not yet mature enough to be certified at that level.
Addendum: We may be able to get away with adding a hook to automatically build the .deb file on main merges, though, and add it to our releases page... if that sounds like something that would improve your and others' experience, I can bring it up with the team.
Is your feature request related to a problem? Please describe. When deploying a setup, it's very useful to be allow to directly use the package as a debian package. It gives precise control of the version that is currently used and allow dependent packages to install it automatically if the debian package is uploaded to an APT repository and the package is listed in some rosdep yaml file.
Describe the solution you'd like The package is almost ready to allow you create a working debian package of it using for example python-bloom tool. Four changes need to be apply:
installs
to CMakeLists.txt to install launch, config, requirements.txt and scripts:Add "std_msgs" ROS package and python packages to package.xml
Add a postinst file to automatically create the python virtual environment: The content will depend on the python or ROS versions that you want to support, but the basic structure could be the following (valid for ROS Noetic):
default_server_endpoint_script.py
!/usr/bin/env python
import os import subprocess import sys from time import sleep
def is_venv(): return (hasattr(sys, 'real_prefix') or (hasattr(sys, 'base_prefix') and sys.base_prefix != sys.prefix))
arg='--venv'
args = sys.argv[1:]
path_to_venv = args[args.index(arg) + 1].rstrip('/')
if not is_venv(): python_bin = path_to_venv + "/bin/python" else: python_bin = sys.executable
dirname, filename = os.path.split(os.path.abspath(file)) script_file = dirname + "/default_server_endpoint.py"
try: s = subprocess.Popen([python_bin, script_file] + args) return_node = s.wait() exit(return_node)
except KeyboardInterrupt:
postrm
file to delete the virtual environement after removing the package withapt remove
command:Sorry because it's a little bit long but I think that this are the only necessary changes. I can create also a pull request with the changes.
Describe alternatives you've considered
Additional context Add any other context or screenshots about the feature request here.