From dd1b465a65f4001ef4d2a2c48d8be81bc0ff528d 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 | 1 + CHANGES.md | 2 ++ base/.env | 1 + base/Dockerfile | 5 ++++- base/docker-compose.yml | 3 ++- base/install-functions.sh | 5 +++-- base/install_modules.sh | 12 ++++++++++++ base/musl/Dockerfile | 4 ++++ base/musl/docker-compose.yml | 2 ++ images/docker-compose-mca.yml | 13 +++++++++++++ 10 files changed, 44 insertions(+), 4 deletions(-) create mode 100644 images/docker-compose-mca.yml diff --git a/.github/workflows/included-images.yml b/.github/workflows/included-images.yml index 7d3d762..952d566 100644 --- a/.github/workflows/included-images.yml +++ b/.github/workflows/included-images.yml @@ -32,4 +32,5 @@ jobs: files: | docker-compose-opcua.yml docker-compose-motorpigcs2.yml + docker-compose-mca.yml push: true diff --git a/CHANGES.md b/CHANGES.md index cfa3ca0..f7371f3 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -13,6 +13,8 @@ https://github.com/cnpem/epics-in-docker/pull/64 * base: Add scaler module. by @guirodrigueslima in https://github.com/cnpem/epics-in-docker/pull/64 +* base: Add MCA IOC, and image. by @guirodrigueslima in + https://github.com/cnpem/epics-in-docker/pull/64 ## v0.8.0 diff --git a/base/.env b/base/.env index 4164649..47cb9d9 100644 --- a/base/.env +++ b/base/.env @@ -19,6 +19,7 @@ ETHER_IP_VERSION=ether_ip-3-3 IOCSTATS_VERSION=3.2.0 IPMICOMM_VERSION=R4.6.0 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 be66eb1..b8ca38b 100644 --- a/base/Dockerfile +++ b/base/Dockerfile @@ -12,12 +12,14 @@ RUN apt update -y && \ git \ libaravis-dev \ libevent-dev \ + libnet-dev \ + libpcap-dev \ libreadline-dev \ libssh2-1-dev \ + libssl-dev \ libtiff-dev \ libusb-1.0-0-dev \ libxml2-dev \ - libssl-dev \ re2c \ wget \ ca-certificates @@ -55,6 +57,7 @@ ARG ETHER_IP_VERSION ARG IOCSTATS_VERSION ARG IPMICOMM_VERSION ARG SCALER_VERSION +ARG MCA_VERSION COPY ipmicomm.patch . COPY caputlog-waveform-fix.patch . diff --git a/base/docker-compose.yml b/base/docker-compose.yml index 25a220d..04fdaeb 100644 --- a/base/docker-compose.yml +++ b/base/docker-compose.yml @@ -34,4 +34,5 @@ services: PIGCS2_VERSION: ${PIGCS2_VERSION} PMAC_VERSION: ${PMAC_VERSION} OPCUA_VERSION: ${OPCUA_VERSION} - SCALER_VERSION : ${SCALER_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 c3eb529..14808e8 100755 --- a/base/install_modules.sh +++ b/base/install_modules.sh @@ -81,3 +81,15 @@ install_from_github 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 4c70223..8c1fd25 100644 --- a/base/musl/Dockerfile +++ b/base/musl/Dockerfile @@ -9,8 +9,11 @@ RUN apk add --no-cache \ g++ \ libevent-dev \ libevent-static \ + libnet-dev \ + libpcap-dev \ libtirpc-dev \ libtirpc-static \ + libusb-dev \ linux-headers \ make \ musl-dev \ @@ -55,6 +58,7 @@ ARG ETHER_IP_VERSION ARG IOCSTATS_VERSION ARG IPMICOMM_VERSION ARG SCALER_VERSION +ARG MCA_VERSION WORKDIR ${EPICS_MODULES_PATH} COPY ipmicomm.patch . diff --git a/base/musl/docker-compose.yml b/base/musl/docker-compose.yml index e67c677..44601a7 100644 --- a/base/musl/docker-compose.yml +++ b/base/musl/docker-compose.yml @@ -28,3 +28,5 @@ services: IOCSTATS_VERSION: ${IOCSTATS_VERSION} IPMICOMM_VERSION: ${IPMICOMM_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