What's the best way to package ROS?
Presently ROS has packages for Ubuntu and a source distribution for everyone else. I'd like to put together a package for my distro (archlinux) so I can install it across multiple computers efficiently.
Are there best practices for this? For a system installation of ROS? Are there packaging scripts that can be referenced or modified to support other packagers?
It appears that in ROS, each package has dependencies that are a mix of ROS packages and distribution packages; and that some ROS packages exist only because Ubuntu does not distribute the correct version for ROS.
Other distributions will have a different combo of package versions. They might be missing a version that Ubuntu has (thus wanting ROS to build the correct version from source) or they might have the correct version where Ubuntu did not.
How do I determine the expected (package) version of each package dependency?
ROS evolves rapidly. Understand that maintaining this is going to be a significant long-term commitment.