From 9723055fa62acd7b5a6797ca5b0cdb0b473663f7 Mon Sep 17 00:00:00 2001 From: Thies Lennart Alff Date: Mon, 25 Sep 2023 14:26:48 +0200 Subject: [PATCH] initial commit --- .gitignore | 3 +++ Dockerfile | 27 +++++++++++++++++++++++++++ build | 2 ++ debs/.gitkeep | 0 entrypoint.sh | 25 +++++++++++++++++++++++++ run | 3 +++ src/.gitkeep | 0 7 files changed, 60 insertions(+) create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100755 build create mode 100644 debs/.gitkeep create mode 100644 entrypoint.sh create mode 100755 run create mode 100644 src/.gitkeep diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7a3fc20 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +debs/*.deb +debs/*.ddeb +src/*/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5855286 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,27 @@ +FROM ros:humble + +RUN mkdir -p /ros2/src + +RUN apt-get update \ + && apt-get install -y \ + python3-bloom \ + python3-rosdep \ + fakeroot \ + debhelper \ + dh-python \ + && rosdep init; exit 0 \ + && rosdep update \ + && rosdep install --from paths /ros2/src -y --ignore-src \ + && apt-get autoremove -y \ + && apt-get clean -y \ + && rm -rf /var/lib/apt/lists/* +ENV TERM xterm-256color + +WORKDIR /ros2/src + +COPY ./entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +ENTRYPOINT ["/entrypoint.sh"] +CMD [""] + diff --git a/build b/build new file mode 100755 index 0000000..ed1e434 --- /dev/null +++ b/build @@ -0,0 +1,2 @@ +#!/usr/bin/bash +docker build . -t ros2-deb-builder diff --git a/debs/.gitkeep b/debs/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 0000000..525a22c --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,25 @@ +#!/usr/bin/bash + +PKGS="$@" + +cp -R /src/* /ros2/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" + cd "${current_dir}" +done + +PKGS=$(find . -type f -name '*.deb') +for pkg in $PKGS; do + mv "$pkg" /debs/ +done + +PKGS=$(find . -type f -name '*.ddeb') +for pkg in $PKGS; do + mv "$pkg" /debs/ +done diff --git a/run b/run new file mode 100755 index 0000000..8cc9d9e --- /dev/null +++ b/run @@ -0,0 +1,3 @@ +#!/usr/bin/bash +docker run -v ./debs:/debs -v ./src:/src ros2-deb-builder:latest px4_msgs + diff --git a/src/.gitkeep b/src/.gitkeep new file mode 100644 index 0000000..e69de29