ros-infrastructure / superflore

An extended platform release manager for Robot Operating System
Apache License 2.0
51 stars 33 forks source link

docker.errors.ContainerError while generating humble manifest #295

Open tomkimsour opened 1 year ago

tomkimsour commented 1 year ago

Running the following command generates ebuild for humble while ignoring packages running the error mentioned in #289

superflore-gen-ebuilds --ros-distro humble --skip-keys foxglove_msgs depthai_ros_msgs depthai_examples depthai depthai-ros depthai_bridge behaviortree_cpp_v3 automotive_autonomy_msgs automotive_navigation_msgs automotive_platform_msgs lanelet2 lanelet2_core lanelet2_examples lanelet2_io lanelet2_python lanelet2_routing lanelet2_maps lanelet2_projection lanelet2_matching lanelet2_traffic_rules lanelet2_validation lgsvl_msgs moveit_ros_perception mrpt2 mrpt_msgs osqp_vendor plotjuggler plotjuggler_ros pose_cov_ops rtcm_msgs tvm_vendor point_cloud_msg_wrapper quality_of_service_demo_cpp mrt_cmake_modules mvsim --output-repository-path ~/Documents/ros-overlay
Traceback (most recent call last):
  File "/usr/local/bin/superflore-gen-ebuilds", line 33, in <module>
    sys.exit(load_entry_point('superflore==0.3.3+2.gd475c34.dirty', 'console_scripts', 'superflore-gen-ebuilds')())
  File "/usr/local/lib/python3.10/dist-packages/superflore-0.3.3+2.gd475c34.dirty-py3.10.egg/superflore/generators/ebuild/run.py", line 202, in main
  File "/usr/local/lib/python3.10/dist-packages/superflore-0.3.3+2.gd475c34.dirty-py3.10.egg/superflore/generators/ebuild/overlay_instance.py", line 103, in regenerate_manifests
  File "/usr/local/lib/python3.10/dist-packages/superflore-0.3.3+2.gd475c34.dirty-py3.10.egg/superflore/docker.py", line 110, in run
  File "/usr/local/lib/python3.10/dist-packages/docker-6.0.0-py3.10.egg/docker/models/containers.py", line 875, in run
    raise ContainerError(
docker.errors.ContainerError: Command 'bash -c ' cd /tmp/ros-overlay/ros-humble/zstd_vendor &>> /tmp/tmp23b1vxa4/log.txt && repoman manifest & ...' 

This error occurs on the manifest creation step however the error not clear.

nuclearsandwich commented 1 year ago

I haven't ever looked deeply into how superflore's gentoo support works but the fact that it relies on Docker images which have not been updated for a number of years suggests that it may need to be reworked entirely.

As I've said I'm not intimately familiar with the details but if there's a way to generate the required data without using Docker (possibly by using ports of the Gentoo tools to other systems like Debian, or independently implementing a subset of their behavior) that would make this a lot more maintainable.

tomkimsour commented 1 year ago

I am fairly new to gentoo so I don't have a good grasp on every concept. I don't really know how manifest are generated. Is there a link to the dockerfile used somewhere ?