def minimal_package_set():
    ''' Define the minimal set of packages needed for a cross compiled ros runtime that can run ros clients and server. '''
    version = ros_version()
    if ( version == "boxturtle" ):
        packages = ["rospack", "genmsg_cpp", "roslang", "xmlrpcpp", "pycrypto", "paramiko", "roslib", "rospy", "rosconsole", "roscpp", "rosout", "roslaunch", "rostest"]
    elif ( version == "cturtle" ):
        packages = ["rospack", "genmsg_cpp", "rosbag", "rosclean", "rosdoc", "rosgraph", "roslang", "roslib", "rosmaster", "rosmsg", "rospy", "rosconsole", "roscpp", "rosout", "roslaunch", "rostest", "rxdeps", "topic_tools", "xmlrpcpp"]
    elif ( version == "diamondback" ):
        packages = ["rospack", "rosbuild", "cpp_common", "roslib", "roslang", "xmlrpcpp", "rosgraph_msgs", "roscpp_traits", "rostime", "std_msgs", "roscpp_serialization", "rosconsole", "roscpp", "rosclean", "rosgraph", "rosmaster", "rosunit", "rospy", "rosout", "roslaunch", "rostest", "topic_tools", "rosbag", "rosmsg" ]
    else:
        print "Unsupported version - defaulting to build/protect the latest official release's minimal set (diamondback)."
        packages = ["rospack", "rosbuild", "cpp_common", "roslib", "roslang", "xmlrpcpp", "rosgraph_msgs", "roscpp_traits", "rostime", "std_msgs", "roscpp_serialization", "rosconsole", "roscpp", "rosclean", "rosgraph", "rosmaster", "rosunit", "rospy", "rosout", "roslaunch", "rostest", "topic_tools", "rosbag", "rosmsg" ]
    return packages
def comms_package_set():
    '''
    Defines the minimum set of packages required for cpp communications. Only 
    supported for diamondback and later.
    '''
    version = ros_version()
    if ( version == "boxturtle" ):
        print "Boxturtle is unsupported (req. diamondback+)."
        packages = []
    elif ( version == "cturtle" ):
        print "Cturtle is unsupported (req. diamondback+)."
        packages = []
    elif ( version == "diamondback" ):
        packages = ["rosbuild", "roslang", "cpp_common", "roscpp_traits", "rostime", "roscpp_serialization", "rospack", "roslib", "xmlrpcpp", "rosconsole", "std_msgs", "rosgraph_msgs", "roscpp" ]
    else:
        print "Unsupported version - defaulting to build/protect the latest official release's comms set (diamondback)."
        packages = ["rosbuild", "roslang", "cpp_common", "roscpp_traits", "rostime", "roscpp_serialization", "rospack", "roslib", "xmlrpcpp", "rosconsole", "std_msgs", "rosgraph_msgs", "roscpp" ]
    return packages