-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
Mass bug: architecture_independent tag verification #4037
Comments
@cottsay Is there a way we could work this sort of check into roslint to make it easier for maintainers to detect? Can we run the tool in the installation directory instead of an rpm? I'm assuming it's applying some heuristic for file types and locations? |
Actually @tfoote, the way I checked this was by looking at the generated I'm not sure how to tell beyond that, but you're right, this would be a great thing to include in Since there are quite a few packages on this list, I'll probably invoke the help of some minions here at school to help with the testing, forking, and PR-ing process. |
@tfoote: roslint checks C++ and Python files. This would be more in the nature of catkin_lint. Glad to see this is finally being used. |
I presume you want this tag added to metapackages, also. Are you packaging them? |
@jack-oquin I've been assuming that metapackages are By them do you mean metapackages? If so, yes: EDIT: |
Thanks for all your work on this @cottsay, this is definitely a big effort item. |
released ackermann_msgs 0.9.1 (ros-drivers/ackermann_msgs#3) |
|
@cottsay Is this still of interest ? Is the aforementioned fedora buildfarm still active (for testing, if we keep adding the architecture independant tag to packages) ? |
The Fedora buildfarm is not currently active. Maybe I'll have cycles to get things running again some day, but not now. |
I recently noticed a ROS2 pull request to remove Is there opposite motion going on? |
While this tag is used only in the RPM metadata generated by bloom, I think it's valuable information and maybe the ROS buildfarm will leverage it some day. So we do not encourage users to get rid of it in ROS2. One thing to keep in mind though is that ROS2 message packages do compile code and libraries so cannot be considered |
@cottsay Maybe this would be worth returning to briefly with your current work. I audited all the ones with PRs open and was able to check most of them off as merged. |
I'll start by working through the list as it was 4 years ago, but I expect there have been new packages which need to be discovered. Since we don't have an RPM buildfarm active at the moment, I may have to come up with an alternate bulk discovery method. Since the ROS2 package list is more containable right now, I might go after those to get ahead of the problem. |
@cottsay We've turned on RPM builds on ROS 2 rolling and we've shipped Noetic already which is the last ROS 1. To that end this seems like it should be caught now in rolling and we're not likely to turn on for Noetic so can we close out this long running ticket as enough for now? |
The new buildfarm code doesn't have support for RPM linting yet, so we won't catch packages that are missing the tag but should have it. We'll still catch packages that claim to be architecture-independent but actually aren't. I have a hunch that ROS 2 is in pretty rough shape as far as this flag is concerned. There are advantages to doing I think we should close this bug now - it was intended for tracking the feature in ROS 1, and like you said, it's unlikely that we'll ever see Noetic RPMs on the buildfarm. We can always re-open it if things change. |
With the addition of
noarch
support for RPMs in bloom (ros-infrastructure/bloom#270), I found a couple of packages that incorrectly markedarchitecture_independent
when they were, in fact, not so. These packages were notified and the appropriatepackage.xml
s updated.Inversely, there are MANY packages that do not mark
architecture_independent
when they should. This is mostly because the current debian buildfarm is unable to leverage this.My experimental RPM buildfarm (http://csc.mcs.sdsmt.edu/jenkins/) has the capability to both utilize this and to check when it is missing, so I'm compiling a list of packages that should be updated.
Hopefully this will act as a first step in implementing this functionality on the debian buildfarm, and to produce smaller, more accurate builds on the RPM buildfarm.
Thanks!
Originally ros/catkin#623
Package List (work-in-progress):
After compiling the list, I've decided that there are just too many packages to target all of Hydro. Instead, I'll try to catch Indigo packages as they come in.
This is a preliminary list. Some of these may be false positives.
ackermann_msgs
Export architecture_independent flag in package.xml ros-drivers/ackermann_msgs#3actionlib_msgs
Export architecture_independent flag in package.xml common_msgs#35angles
Export architecture_independent flag in package.xml angles#4bond
Export architecture_independent flag in package.xml bond_core#4bondpy
Export architecture_independent flag in package.xml bond_core#4calibration_estimation
Export architecture_independent flag in package.xml ros-perception/calibration#24calibration_launch
Export architecture_independent flag in package.xml ros-perception/calibration#24calibration_msgs
Export architecture_independent flag in package.xml ros-perception/calibration#24camera_calibration
ros-perception/image_pipeline@dac6e56capabilities
Export architecture_independent flag in package.xml osrf/capabilities#76catkin
Export architecture_independent flag in package.xml catkin#625cmake_modules
Export architecture_independent flag in package.xml cmake_modules#18concert_msgs
Export architecture_independent flag in package.xml robotics-in-concert/rocon_msgs#95concert_service_msgs
Export architecture_independent flag in package.xml robotics-in-concert/rocon_msgs#95control_msgs
Export architecture_independent flag in package.xml ros-controls/control_msgs#11diagnostic_msgs
Export architecture_independent flag in package.xml common_msgs#35driver_base
Export architecture_independent flag in package.xml ros-drivers/driver_common#6ecl_build
ecl_concepts
ecl_converters_lite
ecl_eigen
ecl_license
ecl_linear_algebra
ecl_math
ecl_mpl
eigen_stl_containers
flir_ptu_description
flir_ptu_viz
gateway_msgs
Export architecture_independent flag in package.xml robotics-in-concert/rocon_msgs#95gencpp
Export architecture_independent flag in package.xml gencpp#19geneus
genlisp
genmsg
add architecture_independent flag genmsg#71genpy
Export architecture_independent flag in package.xml genpy#27geometry_msgs
Export architecture_independent flag in package.xml common_msgs#35household_objects_database_msgs
joint_state_publisher
librviz_tutorial
manipulation_msgs
map_msgs
media_export
message_generation
message_runtime
mk
moveit_commander
moveit_ikfast
moveit_msgs
moveit_resources
nav_msgs
Export architecture_independent flag in package.xml common_msgs#35nmea_msgs
nodelet_topic_tools
object_recognition_msgs
octomap_msgs
pcl_conversions
pcl_msgs
pr2_mechanism_msgs
python_qt_binding
qt_dotgraph
qt_gui_app
qt_gui
qt_gui_py_common
rail_maps
rocon_app_manager_msgs
Export architecture_independent flag in package.xml robotics-in-concert/rocon_msgs#95rocon_bubble_icons
rocon_console
rocon_device_msgs
Export architecture_independent flag in package.xml robotics-in-concert/rocon_msgs#95rocon_ebnf
rocon_gateway
rocon_gateway_tests
rocon_gateway_utils
rocon_hub_client
rocon_hub
rocon_icons
rocon_interaction_msgs
Export architecture_independent flag in package.xml robotics-in-concert/rocon_msgs#95rocon_interactions
rocon_launch
rocon_master_info
rocon_python_comms
rocon_python_redis
rocon_python_utils
rocon_python_wifi
rocon_semantic_version
rocon_service_pair_msgs
Export architecture_independent flag in package.xml robotics-in-concert/rocon_msgs#95rocon_std_msgs
Export architecture_independent flag in package.xml robotics-in-concert/rocon_msgs#95rocon_test
rocon_tutorial_msgs
Export architecture_independent flag in package.xml robotics-in-concert/rocon_msgs#95rocon_uri
rosapi
rosbag_migration_rule
rosbash
rosboost_cfg
rosbridge_library
rosbridge_server
rosbuild
rosclean
roscpp_traits
roscreate
rosdoc_lite
rosgraph
Export architecture_independent flag in package.xml ros_comm#391rosgraph_msgs
roslang
roslaunch
Export architecture_independent flag in package.xml ros_comm#391roslint
roslisp
rosmake
rosmaster
Export architecture_independent flag in package.xml ros_comm#391rosmsg
Export architecture_independent flag in package.xml ros_comm#391rosnode
Export architecture_independent flag in package.xml ros_comm#391rosparam
Export architecture_independent flag in package.xml ros_comm#391rospy
Export architecture_independent flag in package.xml ros_comm#391rospy_tutorials
rosservice
Export architecture_independent flag in package.xml ros_comm#391rostest
Export architecture_independent flag in package.xml ros_comm#391rostopic
rosunit
roswtf
Export architecture_independent flag in package.xml ros_comm#391rqt_action
Export architecture_independent flag in package.xml ros-visualization/rqt_common_plugins#254rqt_bag
Export architecture_independent flag in package.xml ros-visualization/rqt_common_plugins#254rqt_bag_plugins
Export architecture_independent flag in package.xml ros-visualization/rqt_common_plugins#254rqt_console
Export architecture_independent flag in package.xml ros-visualization/rqt_common_plugins#254rqt_dep
Export architecture_independent flag in package.xml ros-visualization/rqt_common_plugins#254rqt_gui
rqt_gui_py
rqt_graph
Export architecture_independent flag in package.xml ros-visualization/rqt_common_plugins#254rqt_launch
Export architecture_independent flag in package.xml ros-visualization/rqt_common_plugins#254rqt_logger_level
Export architecture_independent flag in package.xml ros-visualization/rqt_common_plugins#254rqt_msg
Export architecture_independent flag in package.xml ros-visualization/rqt_common_plugins#254rqt_plot
Export architecture_independent flag in package.xml ros-visualization/rqt_common_plugins#254rqt_publisher
Export architecture_independent flag in package.xml ros-visualization/rqt_common_plugins#254rqt_py_common
Export architecture_independent flag in package.xml ros-visualization/rqt_common_plugins#254rqt_py_console
Export architecture_independent flag in package.xml ros-visualization/rqt_common_plugins#254rqt_reconfigure
Export architecture_independent flag in package.xml ros-visualization/rqt_common_plugins#254rqt_service_caller
Export architecture_independent flag in package.xml ros-visualization/rqt_common_plugins#254rqt_shell
Export architecture_independent flag in package.xml ros-visualization/rqt_common_plugins#254rqt_srv
Export architecture_independent flag in package.xml ros-visualization/rqt_common_plugins#254rqt_top
Export architecture_independent flag in package.xml ros-visualization/rqt_common_plugins#254rqt_topic
Export architecture_independent flag in package.xml ros-visualization/rqt_common_plugins#254rqt_web
Export architecture_independent flag in package.xml ros-visualization/rqt_common_plugins#254rviz_python_tutorial
Export architecture_independent flag in package.xml ros-visualization/rqt_common_plugins#254scheduler_msgs
Export architecture_independent flag in package.xml robotics-in-concert/rocon_msgs#95sensor_msgs
Export architecture_independent flag in package.xml common_msgs#35shape_msgs
Export architecture_independent flag in package.xml common_msgs#35smach
smach_msgs
smach_ros
smach_viewer
smclib
Export architecture_independent flag in package.xml bond_core#4std_capabilities
std_msgs
std_srvs
stereo_msgs
Export architecture_independent flag in package.xml common_msgs#35tf2_bullet
tf2_geometry_msgs
tf2_kdl
tf2_msgs
tf2_py
tf2_tools
timestamp_tools
Export architecture_independent flag in package.xml ros-drivers/driver_common#6trajectory_msgs
Export architecture_independent flag in package.xml common_msgs#35Mass bug: architecture_independent tag verification #4037 (comment)unique_id
urdfdom_headers
urdfdom_py
urdf_parser_plugin
uuid_msgs
Mass bug: architecture_independent tag verification #4037 (comment)visualization_msgs
Export architecture_independent flag in package.xml common_msgs#35xacro
Export architecture_independent flag in package.xml xacro#32xdot
Export architecture_independent flag in package.xml jbohren/xdot#4zeroconf_msgs
Export architecture_independent flag in package.xml stonier/zeroconf_msgs#1The text was updated successfully, but these errors were encountered: