diff --git a/Dockerfile b/Dockerfile index 5855286..dd09156 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ros:humble +FROM ros:iron RUN mkdir -p /ros2/src @@ -6,12 +6,15 @@ RUN apt-get update \ && apt-get install -y \ python3-bloom \ python3-rosdep \ + python3-pip \ fakeroot \ debhelper \ dh-python \ - && rosdep init; exit 0 \ - && rosdep update \ - && rosdep install --from paths /ros2/src -y --ignore-src \ + && echo "deb [ signed-by=/etc/apt/keyrings/hippocampus-robotics.asc ] https://repositories.hippocampus-robotics.net/ubuntu jammy main" > /etc/apt/sources.list.d/hippocampus.list \ + && curl https://repositories.hippocampus-robotics.net/repositories.hippocampus-robotics.net.gpg.key -o /etc/apt/keyrings/hippocampus-robotics.asc \ + && rm /etc/ros/rosdep/sources.list.d/20-default.list \ + && rosdep init \ + && echo 'yaml https://raw.githubusercontent.com/HippoCampusRobotics/hippo_common/main/rosdep.yaml' > /etc/ros/rosdep/sources.list.d/50-hippocampus-packages.list \ && apt-get autoremove -y \ && apt-get clean -y \ && rm -rf /var/lib/apt/lists/* diff --git a/entrypoint.sh b/entrypoint.sh index 525a22c..55604a3 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -1,16 +1,22 @@ #!/usr/bin/bash +set -e + PKGS="$@" cp -R /src/* /ros2/src/ +apt update \ + +rosdep install --from-paths /ros2/src -y --ignore-src \ + for pkg in $PKGS; do echo "Processing $pkg" current_dir=$(pwd) cd "$pkg" - bloom-generate rosdebian export DEB_BUILD_OPTIONS="parallel=`nproc`" - fakeroot debian/rules "binary --parallel" + bloom-generate rosdebian + fakeroot debian/rules binary cd "${current_dir}" done diff --git a/run b/run index 8cc9d9e..600231a 100755 --- a/run +++ b/run @@ -1,3 +1,3 @@ #!/usr/bin/bash -docker run -v ./debs:/debs -v ./src:/src ros2-deb-builder:latest px4_msgs +docker run --rm -v ./debs:/debs -v ./src:/src ros2-deb-builder:latest "$@"