From 879f4354d6557cccb22fb4fdbf50808685b58d05 Mon Sep 17 00:00:00 2001 From: nithishkumars Date: Tue, 21 Nov 2023 16:11:40 +0100 Subject: [PATCH 1/6] Updated Micro epsilon SDK and dependencies --- .docker/Dockerfile | 49 +++++++++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 22 deletions(-) diff --git a/.docker/Dockerfile b/.docker/Dockerfile index d13576e..1e806f9 100644 --- a/.docker/Dockerfile +++ b/.docker/Dockerfile @@ -1,6 +1,6 @@ -ARG SCANCONTROL_SDK_VERSION=0.2.5 +ARG SCANCONTROL_SDK_VERSION=1.0.0 -FROM ubuntu:bionic AS build +FROM ubuntu:focal AS build ARG SCANCONTROL_SDK_VERSION ARG DEBIAN_FRONTEND=noninteractive @@ -13,45 +13,50 @@ RUN apt-get update && \ gcc \ git \ intltool \ - libglib2.0-dev \ - libxml2-dev \ - meson \ + python3-pip \ + ninja-build \ pkg-config \ unzip \ wget \ + libxml2-dev libglib2.0-dev cmake libusb-1.0-0-dev gobject-introspection \ + libgtk-3-dev gtk-doc-tools xsltproc libgstreamer1.0-dev \ + libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev \ + libgirepository1.0-dev gettext \ && rm -rf /var/lib/apt/lists/* -RUN wget http://ftp.acc.umu.se/pub/GNOME/sources/aravis/0.6/aravis-0.6.4.tar.xz && \ - tar xfJ aravis-0.6.4.tar.xz && \ - rm aravis-0.6.4.tar.xz && \ - cd aravis-0.6.4 && \ - ./configure && \ - make && \ - checkinstall --pkgname aravis --requires="libglib2.0-dev, libxml2-dev" && \ - ldconfig +RUN pip3 install meson + +RUN wget https://github.com/AravisProject/aravis/releases/download/0.8.30/aravis-0.8.30.tar.xz -O aravis-0.8.30.tar.xz &&\ + tar xfJ aravis-0.8.30.tar.xz && \ + rm aravis-0.8.30.tar.xz && \ + cd aravis-0.8.30 && \ + meson setup build && \ + cd build && \ + ninja && \ + checkinstall --pkgname aravis --pkgversion 0.8.30 ninja install SHELL ["/bin/bash", "-c"] -RUN wget https://software.micro-epsilon.com/scanCONTROL-Linux-SDK-${SCANCONTROL_SDK_VERSION//./-}.zip && \ - unzip scanCONTROL-Linux-SDK-${SCANCONTROL_SDK_VERSION//./-}.zip && \ +RUN wget https://software.micro-epsilon.com/scanCONTROL-Linux-SDK-${SCANCONTROL_SDK_VERSION//./-}.zip -O scanCONTROL-Linux-SDK-${SCANCONTROL_SDK_VERSION//./-}.zip && \ + unzip scanCONTROL-Linux-SDK-${SCANCONTROL_SDK_VERSION//./-}.zip -d scanCONTROL-Linux-SDK/ && \ rm scanCONTROL-Linux-SDK-${SCANCONTROL_SDK_VERSION//./-}.zip && \ - cd /scanCONTROL\ Linux\ SDK\ ${SCANCONTROL_SDK_VERSION}/libmescan/ && \ + cd scanCONTROL-Linux-SDK/libmescan/ && \ meson builddir && \ cd builddir && \ ninja && \ checkinstall --pkgname mescan --pkgversion ${SCANCONTROL_SDK_VERSION} --requires="aravis \(\>= 0.6.0\)" ninja install && \ ldconfig && \ - cd "/scanCONTROL Linux SDK ${SCANCONTROL_SDK_VERSION}/libllt/" && \ + cd ../../libllt && \ meson builddir && \ cd builddir && \ ninja && \ checkinstall --pkgname llt --pkgversion ${SCANCONTROL_SDK_VERSION} --requires="mescan \(\>= ${SCANCONTROL_SDK_VERSION}\),aravis \(\>= 0.6.0\)" ninja install RUN mkdir /library_pkgs && \ - mv /aravis-0.6.4/aravis_0.6.4-1_amd64.deb /library_pkgs && \ - mv "/scanCONTROL Linux SDK ${SCANCONTROL_SDK_VERSION}/libmescan/builddir/mescan_${SCANCONTROL_SDK_VERSION}-1_amd64.deb" /library_pkgs && \ - mv "/scanCONTROL Linux SDK ${SCANCONTROL_SDK_VERSION}/libllt/builddir/llt_${SCANCONTROL_SDK_VERSION}-1_amd64.deb" /library_pkgs + mv /aravis-0.8.30/build/aravis_0.8.30-1_amd64.deb /library_pkgs && \ + mv "/scanCONTROL-Linux-SDK/libmescan/builddir/mescan_${SCANCONTROL_SDK_VERSION}-1_amd64.deb" /library_pkgs && \ + mv "/scanCONTROL-Linux-SDK/libllt/builddir/llt_${SCANCONTROL_SDK_VERSION}-1_amd64.deb" /library_pkgs -FROM ros:melodic-ros-core +FROM ros:noetic-ros-core ARG SCANCONTROL_SDK_VERSION RUN apt-get update && \ @@ -63,6 +68,6 @@ RUN apt-get update && \ COPY --from=build ["/library_pkgs", "/library_pkgs"] RUN apt-get update && \ - apt install -y /library_pkgs/aravis_0.6.4-1_amd64.deb && \ + apt install -y /library_pkgs/aravis_0.8.30-1_amd64.deb && \ apt install /library_pkgs/mescan_${SCANCONTROL_SDK_VERSION}-1_amd64.deb && \ apt install /library_pkgs/llt_${SCANCONTROL_SDK_VERSION}-1_amd64.deb From af3e1686442352bfbcf83734274ea0fe61f7cfc8 Mon Sep 17 00:00:00 2001 From: nithishkumars Date: Wed, 22 Nov 2023 14:20:39 +0100 Subject: [PATCH 2/6] Code review fixes --- .docker/Dockerfile | 39 +++++++++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/.docker/Dockerfile b/.docker/Dockerfile index 1e806f9..852c9b4 100644 --- a/.docker/Dockerfile +++ b/.docker/Dockerfile @@ -8,23 +8,31 @@ ARG DEBIAN_FRONTEND=noninteractive RUN apt-get update && \ apt-get install -y --no-install-recommends \ checkinstall \ + cmake \ debhelper \ g++ \ gcc \ + gettext \ git \ + gobject-introspection \ + gtk-doc-tools \ intltool \ + libgirepository1.0-dev \ + libglib2.0-dev \ + libgstreamer1.0-dev \ + libgstreamer-plugins-base1.0-dev \ + libgstreamer-plugins-good1.0-dev \ + libgtk-3-dev \ + libusb-1.0-0-dev \ + libxml2-dev \ python3-pip \ ninja-build \ pkg-config \ unzip \ wget \ - libxml2-dev libglib2.0-dev cmake libusb-1.0-0-dev gobject-introspection \ - libgtk-3-dev gtk-doc-tools xsltproc libgstreamer1.0-dev \ - libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev \ - libgirepository1.0-dev gettext \ - && rm -rf /var/lib/apt/lists/* - -RUN pip3 install meson + xsltproc \ + && rm -rf /var/lib/apt/lists/* && \ + pip3 install meson RUN wget https://github.com/AravisProject/aravis/releases/download/0.8.30/aravis-0.8.30.tar.xz -O aravis-0.8.30.tar.xz &&\ tar xfJ aravis-0.8.30.tar.xz && \ @@ -33,7 +41,7 @@ RUN wget https://github.com/AravisProject/aravis/releases/download/0.8.30/aravis meson setup build && \ cd build && \ ninja && \ - checkinstall --pkgname aravis --pkgversion 0.8.30 ninja install + checkinstall --pkgname aravis --pkgversion 0.8.30 --requires="libglib2.0-dev, libxml2-dev" ninja install SHELL ["/bin/bash", "-c"] RUN wget https://software.micro-epsilon.com/scanCONTROL-Linux-SDK-${SCANCONTROL_SDK_VERSION//./-}.zip -O scanCONTROL-Linux-SDK-${SCANCONTROL_SDK_VERSION//./-}.zip && \ @@ -43,13 +51,13 @@ RUN wget https://software.micro-epsilon.com/scanCONTROL-Linux-SDK-${SCANCONTROL_ meson builddir && \ cd builddir && \ ninja && \ - checkinstall --pkgname mescan --pkgversion ${SCANCONTROL_SDK_VERSION} --requires="aravis \(\>= 0.6.0\)" ninja install && \ + checkinstall --pkgname mescan --pkgversion ${SCANCONTROL_SDK_VERSION} --requires="aravis \(\>= 0.8.0\)" ninja install && \ ldconfig && \ - cd ../../libllt && \ + cd /scanCONTROL-Linux-SDK/libllt && \ meson builddir && \ cd builddir && \ ninja && \ - checkinstall --pkgname llt --pkgversion ${SCANCONTROL_SDK_VERSION} --requires="mescan \(\>= ${SCANCONTROL_SDK_VERSION}\),aravis \(\>= 0.6.0\)" ninja install + checkinstall --pkgname llt --pkgversion ${SCANCONTROL_SDK_VERSION} --requires="mescan \(\>= ${SCANCONTROL_SDK_VERSION}\),aravis \(\>= 0.8.0\)" ninja install RUN mkdir /library_pkgs && \ mv /aravis-0.8.30/build/aravis_0.8.30-1_amd64.deb /library_pkgs && \ @@ -59,9 +67,10 @@ RUN mkdir /library_pkgs && \ FROM ros:noetic-ros-core ARG SCANCONTROL_SDK_VERSION -RUN apt-get update && \ - apt-get install -y \ +RUN apt-get update && apt-get install -y --no-install-recommends\ intltool \ + libglib2.0-dev \ + libusb-1.0-0-dev \ pkg-config \ && rm -rf /var/lib/apt/lists/* @@ -70,4 +79,6 @@ COPY --from=build ["/library_pkgs", "/library_pkgs"] RUN apt-get update && \ apt install -y /library_pkgs/aravis_0.8.30-1_amd64.deb && \ apt install /library_pkgs/mescan_${SCANCONTROL_SDK_VERSION}-1_amd64.deb && \ - apt install /library_pkgs/llt_${SCANCONTROL_SDK_VERSION}-1_amd64.deb + apt install /library_pkgs/llt_${SCANCONTROL_SDK_VERSION}-1_amd64.deb \ + && rm -rf /var/lib/apt/lists/* + From 56f064f796bb7b15c4a537bb8bfbb3c046437363 Mon Sep 17 00:00:00 2001 From: nithishkumars Date: Thu, 23 Nov 2023 14:04:29 +0100 Subject: [PATCH 3/6] Removed redundant dependencies --- .docker/Dockerfile | 2 -- 1 file changed, 2 deletions(-) diff --git a/.docker/Dockerfile b/.docker/Dockerfile index 852c9b4..2900a1e 100644 --- a/.docker/Dockerfile +++ b/.docker/Dockerfile @@ -69,8 +69,6 @@ ARG SCANCONTROL_SDK_VERSION RUN apt-get update && apt-get install -y --no-install-recommends\ intltool \ - libglib2.0-dev \ - libusb-1.0-0-dev \ pkg-config \ && rm -rf /var/lib/apt/lists/* From 8bcd33102595411a718b6acdb92f2de34c60cef7 Mon Sep 17 00:00:00 2001 From: Dave Kroezen Date: Thu, 23 Nov 2023 16:46:22 +0100 Subject: [PATCH 4/6] Update CI to use noetic --- .github/workflows/industrial_ci_action.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/industrial_ci_action.yaml b/.github/workflows/industrial_ci_action.yaml index 1b0bd94..68dd495 100644 --- a/.github/workflows/industrial_ci_action.yaml +++ b/.github/workflows/industrial_ci_action.yaml @@ -7,7 +7,7 @@ jobs: strategy: matrix: env: - - {OS_NAME: ubuntu, OS_CODE_NAME: bionic, ROS_DISTRO: melodic, DOCKER_IMAGE: "samxl/scancontrol:latest"} + - {OS_NAME: ubuntu, OS_CODE_NAME: focal, ROS_DISTRO: noetic, DOCKER_IMAGE: "samxl/scancontrol:sdk_v1.0.0"} env: CCACHE_DIR: /github/home/.ccache runs-on: ubuntu-latest @@ -18,4 +18,4 @@ jobs: path: ${{ env.CCACHE_DIR }} key: ccache-${{ matrix.env.ROS_DISTRO }}-${{ matrix.env.ROS_REPO }} - uses: 'ros-industrial/industrial_ci@master' - env: ${{ matrix.env }} \ No newline at end of file + env: ${{ matrix.env }} From a781687743c4417f9c11fa67ead1d95f871115e9 Mon Sep 17 00:00:00 2001 From: Dave Kroezen Date: Fri, 24 Nov 2023 13:11:49 +0100 Subject: [PATCH 5/6] Add missing libusb dependency to aravis .deb --- .docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.docker/Dockerfile b/.docker/Dockerfile index 2900a1e..1dfa244 100644 --- a/.docker/Dockerfile +++ b/.docker/Dockerfile @@ -41,7 +41,7 @@ RUN wget https://github.com/AravisProject/aravis/releases/download/0.8.30/aravis meson setup build && \ cd build && \ ninja && \ - checkinstall --pkgname aravis --pkgversion 0.8.30 --requires="libglib2.0-dev, libxml2-dev" ninja install + checkinstall --pkgname aravis --pkgversion 0.8.30 --requires="libglib2.0-dev, libxml2-dev, libusb-1.0-0-dev" ninja install SHELL ["/bin/bash", "-c"] RUN wget https://software.micro-epsilon.com/scanCONTROL-Linux-SDK-${SCANCONTROL_SDK_VERSION//./-}.zip -O scanCONTROL-Linux-SDK-${SCANCONTROL_SDK_VERSION//./-}.zip && \ From 7f09b0fe1ed944926d60b09db6a50f271039dded Mon Sep 17 00:00:00 2001 From: Dave Kroezen Date: Fri, 24 Nov 2023 13:13:09 +0100 Subject: [PATCH 6/6] Update min aravis version Format the dependencies as well --- micro_epsilon_scancontrol_driver/CMakeLists.txt | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/micro_epsilon_scancontrol_driver/CMakeLists.txt b/micro_epsilon_scancontrol_driver/CMakeLists.txt index 17c6344..92cf265 100644 --- a/micro_epsilon_scancontrol_driver/CMakeLists.txt +++ b/micro_epsilon_scancontrol_driver/CMakeLists.txt @@ -4,12 +4,22 @@ project(micro_epsilon_scancontrol_driver) find_package(catkin REQUIRED COMPONENTS roscpp pcl_ros nodelet micro_epsilon_scancontrol_msgs) find_package(PkgConfig REQUIRED) -pkg_check_modules(scancontrol REQUIRED glib-2.0 aravis-0.6 mescan llt) +pkg_check_modules(scancontrol REQUIRED + aravis-0.8 + glib-2.0 + llt + mescan +) catkin_package( INCLUDE_DIRS include - CATKIN_DEPENDS roscpp pcl_ros nodelet micro_epsilon_scancontrol_msgs - DEPENDS scancontrol + CATKIN_DEPENDS + micro_epsilon_scancontrol_msgs + nodelet + pcl_ros + roscpp + DEPENDS + scancontrol ) include_directories(include ${catkin_INCLUDE_DIRS} ${scancontrol_INCLUDE_DIRS})