diff --git a/CHANGES.md b/CHANGES.md index 6444e05..3b5a0dd 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -14,7 +14,8 @@ need to update if they noticed missing features. https://github.com/cnpem/epics-in-docker/pull/42 * ci: add reusable job for IOC images. by @ericonr in https://github.com/cnpem/epics-in-docker/pull/49 -* base: new functionality for installing iocs. by @guirodrigueslima in +* base: new functionality for installing iocs. + base: add OPCUA and ether_ip IOC. by @guirodrigueslima in https://github.com/cnpem/epics-in-docker/pull/57 ### Bug fixes diff --git a/base/.env b/base/.env index ee947ff..d089510 100644 --- a/base/.env +++ b/base/.env @@ -23,3 +23,6 @@ MOTOR_VERSION=R7-3-1 PMAC_VERSION=2-6-1 LIBSSCPIMEGA_VERSION=fb8acf533a7c01b5266bf32d60d1a5f923e19523 + +OPCUA_VERSION=0.9.4 +ETHER_IP_VERSION=ether_ip-3-3 diff --git a/base/Dockerfile b/base/Dockerfile index 1b527ef..12b1ffd 100644 --- a/base/Dockerfile +++ b/base/Dockerfile @@ -65,6 +65,8 @@ WORKDIR ${EPICS_MODULES_PATH} COPY caputlog-waveform-fix.patch . COPY install_modules.sh . RUN ./install_modules.sh +COPY install_opcua.sh . +RUN ./install_opcua.sh COPY backport-adsupport-nanohttp.patch . COPY install_area_detector.sh . diff --git a/base/docker-compose.yml b/base/docker-compose.yml index f5dd741..7469a01 100644 --- a/base/docker-compose.yml +++ b/base/docker-compose.yml @@ -29,4 +29,5 @@ services: PMAC_VERSION: ${PMAC_VERSION} LIBSSCPIMEGA_VERSION: ${LIBSSCPIMEGA_VERSION} RETOOLS_VERSION: ${RETOOLS_VERSION} - \ No newline at end of file + OPCUA_VERSION: ${OPCUA_VERSION} + ETHER_IP_VERSION: ${ETHER_IP_VERSION} diff --git a/base/install_modules.sh b/base/install_modules.sh index 311e0c4..0516e5c 100755 --- a/base/install_modules.sh +++ b/base/install_modules.sh @@ -61,3 +61,7 @@ EPICS_BASE install_from_github brunoseivam retools RETOOLS $RETOOLS_VERSION " EPICS_BASE " + +install_from_github -i epics-modules ether_ip ETHER_IP $ETHER_IP_VERSION " +EPICS_BASE +" diff --git a/base/install_opcua.sh b/base/install_opcua.sh new file mode 100755 index 0000000..35191d5 --- /dev/null +++ b/base/install_opcua.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +set -ex + +. /opt/epics/install-functions.sh + +opcua_release_url=https://github.com/epics-modules/opcua/releases/download/v${OPCUA_VERSION} +opcua_release_file=IOC_opcua-${OPCUA_VERSION}_Base-${EPICS_BASE_VERSION}_debian${DEBIAN_VERSION%.*}.tar.gz +lnls-get-n-unpack -l $opcua_release_url/$opcua_release_file +mv binaryOpcuaIoc opcua +install_module -i opcua OPCUA " +EPICS_BASE +" +EPICS_HOST_ARCH=`perl ${EPICS_BASE_PATH}/lib/perl/EpicsHostArch.pl` +ln -s ${EPICS_MODULES_PATH}/opcua/{opcuaIocApp/libopcua.so.0.9,lib/${EPICS_HOST_ARCH}/libopcua.so} diff --git a/base/musl/Dockerfile b/base/musl/Dockerfile index 04b50b8..9d3eabf 100644 --- a/base/musl/Dockerfile +++ b/base/musl/Dockerfile @@ -51,6 +51,8 @@ ARG RECCASTER_VERSION ARG IPAC_VERSION ARG CAPUTLOG_VERSION ARG RETOOLS_VERSION +ARG OPCUA_VERSION +ARG ETHER_IP_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 1f7f52a..4f82968 100644 --- a/base/musl/docker-compose.yml +++ b/base/musl/docker-compose.yml @@ -24,3 +24,5 @@ services: IPAC_VERSION: ${IPAC_VERSION} CAPUTLOG_VERSION: ${CAPUTLOG_VERSION} RETOOLS_VERSION: ${RETOOLS_VERSION} + OPCUA_VERSION: ${OPCUA_VERSION} + ETHER_IP_VERSION: ${ETHER_IP_VERSION}