From b03ef7acdc4d848252dbf3f8d901761e8feb00dc Mon Sep 17 00:00:00 2001 From: Guilherme Rodrigues de Lima Date: Thu, 16 May 2024 14:39:03 -0300 Subject: [PATCH] base: Add MCA IOC - The MCA IOC was added to module, it was necessary to install libnet and libpcap libraries. - It was observed that some IOC need to instance their own directory in the RELEASE file, for this reason the "dependency_name" is being added before get_module_path in the install_module() function. - The IOC was built and created the docker-compose-mca.yml file to generate new container image. --- .github/workflows/included-images.yml | 2 +- CHANGES.md | 4 ++-- base/.env | 1 + base/Dockerfile | 3 +++ base/docker-compose.yml | 2 ++ base/install-functions.sh | 5 +++-- base/install_modules.sh | 12 ++++++++++++ base/musl/Dockerfile | 6 +++++- base/musl/docker-compose.yml | 2 ++ images/docker-compose-mca.yml | 13 +++++++++++++ 10 files changed, 44 insertions(+), 6 deletions(-) create mode 100644 images/docker-compose-mca.yml diff --git a/.github/workflows/included-images.yml b/.github/workflows/included-images.yml index 798e419..a51723d 100644 --- a/.github/workflows/included-images.yml +++ b/.github/workflows/included-images.yml @@ -29,5 +29,5 @@ jobs: uses: docker/bake-action@v4 with: workdir: images/ - files: docker-compose-opcua.yml docker-compose-motorpigcs2.yml + files: docker-compose-opcua.yml docker-compose-motorpigcs2.yml docker-compose-mca.yml push: true diff --git a/CHANGES.md b/CHANGES.md index 371156b..d34a059 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -4,8 +4,8 @@ ### New features -* base: Pmac module version update, add motorPIGCS2 IOC and - add scaler IOC, and image. +* base: Pmac module version update, add motorPIGCS2 IOC, + scaler IOC and MCA IOC, and images. by @guirodrigueslima in https://github.com/cnpem/epics-in-docker/pull/64 ## v0.8.0 diff --git a/base/.env b/base/.env index 4a0e6a2..e8d8011 100644 --- a/base/.env +++ b/base/.env @@ -17,6 +17,7 @@ CAPUTLOG_VERSION=R4.0 RETOOLS_VERSION=b7abe82533cdbd7ddbc2dc845c95a2c51b7f2db9 ETHER_IP_VERSION=ether_ip-3-3 SCALER_VERSION=4.1 +MCA_VERSION=R7-10 AREA_DETECTOR_VERSION=R3-12-1 NDSSCPIMEGA_VERSION=1.0.0 diff --git a/base/Dockerfile b/base/Dockerfile index 122def7..7aad6e4 100644 --- a/base/Dockerfile +++ b/base/Dockerfile @@ -18,6 +18,8 @@ RUN apt update -y && \ libusb-1.0-0-dev \ libxml2-dev \ libssl-dev \ + libnet-dev \ + libpcap-dev \ re2c \ wget \ ca-certificates @@ -53,6 +55,7 @@ ARG CAPUTLOG_VERSION ARG RETOOLS_VERSION ARG ETHER_IP_VERSION ARG SCALER_VERSION +ARG MCA_VERSION COPY caputlog-waveform-fix.patch . COPY install_modules.sh . diff --git a/base/docker-compose.yml b/base/docker-compose.yml index fc20589..72fda1c 100644 --- a/base/docker-compose.yml +++ b/base/docker-compose.yml @@ -32,3 +32,5 @@ services: PIGCS2_VERSION: ${PIGCS2_VERSION} PMAC_VERSION: ${PMAC_VERSION} OPCUA_VERSION: ${OPCUA_VERSION} + SCALER_VERSION: ${SCALER_VERSION} + MCA_VERSION: ${MCA_VERSION} diff --git a/base/install-functions.sh b/base/install-functions.sh index a7ac5e0..d6295cd 100644 --- a/base/install-functions.sh +++ b/base/install-functions.sh @@ -28,6 +28,9 @@ install_module() { release_modules="$3" cd $module_name + + echo ${dependency_name}=${PWD} >> ${EPICS_RELEASE_FILE} + get_module_path "$release_modules" > configure/RELEASE if [ -n "$NEEDS_TIRPC" ]; then @@ -40,8 +43,6 @@ install_module() { make -C iocBoot fi - echo ${dependency_name}=${PWD} >> ${EPICS_RELEASE_FILE} - cd - } diff --git a/base/install_modules.sh b/base/install_modules.sh index 306191a..6e03e2c 100755 --- a/base/install_modules.sh +++ b/base/install_modules.sh @@ -70,3 +70,15 @@ install_from_github -i epics-modules scaler SCALER $SCALER_VERSION " EPICS_BASE ASYN " + +install_from_github -i epics-modules mca MCA $MCA_VERSION " +EPICS_BASE +CALC +SSCAN +BUSY +SCALER +SNCSEQ +AUTOSAVE +ASYN +MCA +" diff --git a/base/musl/Dockerfile b/base/musl/Dockerfile index a3f51f0..ed29858 100644 --- a/base/musl/Dockerfile +++ b/base/musl/Dockerfile @@ -22,7 +22,10 @@ RUN apk add --no-cache \ meson \ re2c \ readline-dev \ - readline-static + readline-static \ + libnet-dev \ + libpcap-dev \ + libusb-dev COPY lnls-get-n-unpack.sh /usr/local/bin/lnls-get-n-unpack COPY lnls-run.sh /usr/local/bin/lnls-run @@ -53,6 +56,7 @@ ARG CAPUTLOG_VERSION ARG RETOOLS_VERSION ARG ETHER_IP_VERSION ARG SCALER_VERSION +ARG MCA_VERSION WORKDIR ${EPICS_MODULES_PATH} COPY caputlog-waveform-fix.patch . diff --git a/base/musl/docker-compose.yml b/base/musl/docker-compose.yml index e21d3ba..5fee8ed 100644 --- a/base/musl/docker-compose.yml +++ b/base/musl/docker-compose.yml @@ -25,3 +25,5 @@ services: CAPUTLOG_VERSION: ${CAPUTLOG_VERSION} RETOOLS_VERSION: ${RETOOLS_VERSION} ETHER_IP_VERSION: ${ETHER_IP_VERSION} + SCALER_VERSION: ${SCALER_VERSION} + MCA_VERSION: ${MCA_VERSION} diff --git a/images/docker-compose-mca.yml b/images/docker-compose-mca.yml new file mode 100644 index 0000000..3ebb5d9 --- /dev/null +++ b/images/docker-compose-mca.yml @@ -0,0 +1,13 @@ +services: + ioc: + image: ghcr.io/cnpem/mca-epics-ioc:$TAG + build: + context: ./ + dockerfile: ../Dockerfile + target: no-build + labels: + org.opencontainers.image.source: https://github.com/cnpem/epics-in-docker + args: + REPONAME: mca + RUNDIR: /opt/epics/modules/mca/iocBoot/iocAmptek + RUNTIME_PACKAGES: libusb-1.0-0