diff --git a/CHANGES.md b/CHANGES.md index 8369348..016056b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,6 +2,11 @@ ## Unreleased +### New features + +* base: update to EPICS 7.0.8.1 and OPCUA 0.10.0. by @ericonr in + https://github.com/cnpem/epics-in-docker/pull/85 + ## v0.12.0 ### New features diff --git a/base/Dockerfile b/base/Dockerfile index 11cf7ff..f4d3537 100644 --- a/base/Dockerfile +++ b/base/Dockerfile @@ -46,7 +46,7 @@ ENV EPICS_RELEASE_FILE $EPICS_IN_DOCKER/RELEASE WORKDIR /opt/epics -COPY backport-epics-base-musl.patch epics-base-static-linking.patch $EPICS_IN_DOCKER +COPY epics-base-static-linking.patch $EPICS_IN_DOCKER COPY epics_versions.sh install_epics.sh $EPICS_IN_DOCKER RUN $EPICS_IN_DOCKER/install_epics.sh diff --git a/base/backport-epics-base-musl.patch b/base/backport-epics-base-musl.patch deleted file mode 100644 index 236ad16..0000000 --- a/base/backport-epics-base-musl.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 7c4a21eab44183a84f25ea234ce2fde8ad08c4ed Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C3=89rico=20Nogueira?= -Date: Mon, 31 Jul 2023 11:36:11 -0300 -Subject: [PATCH] libCom: detect support for backtrace() with __has_include. - -This is necessary in order to build epics-base with musl libc, for -example, and any other C libraries which don't include this -functionality. In order to not regress builds with older compilers, we -still support the uclibc check. Furthermore, it has been checked that -uclibc-ng (the maintained version of uclibc) doesn't install the - header when the functionality is disabled [1] [2]. - -To avoid repetition, we don't define HAS_EXECINFO to 0 when it is not -available. - -[1] https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/tree/Makefile.in?id=cdb07d2cd52af39feb425e6d36c02b30916b9f0a#n224 -[2] https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/tree/Makefile.in?id=cdb07d2cd52af39feb425e6d36c02b30916b9f0a#n277 ---- - modules/libcom/src/osi/os/posix/osdExecinfoBackTrace.cpp | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -diff --git a/modules/libcom/src/osi/os/posix/osdExecinfoBackTrace.cpp b/modules/libcom/src/osi/os/posix/osdExecinfoBackTrace.cpp -index 8d50e6a8e0..9be48755af 100644 ---- a/modules/libcom/src/osi/os/posix/osdExecinfoBackTrace.cpp -+++ b/modules/libcom/src/osi/os/posix/osdExecinfoBackTrace.cpp -@@ -12,10 +12,13 @@ - #include - - // execinfo.h may not be present if uclibc is configured to omit backtrace() --#if !defined(__UCLIBC_MAJOR__) || defined(__UCLIBC_HAS_EXECINFO__) -+// some C libraries, such as musl, don't have execinfo.h at all -+#if defined(__has_include) -+# if __has_include() -+# define HAS_EXECINFO 1 -+# endif -+#elif !defined(__UCLIBC_MAJOR__) || defined(__UCLIBC_HAS_EXECINFO__) - # define HAS_EXECINFO 1 --#else --# define HAS_EXECINFO 0 - #endif - - #if HAS_EXECINFO diff --git a/base/epics_versions.sh b/base/epics_versions.sh index d44e9a0..4f9a4e3 100644 --- a/base/epics_versions.sh +++ b/base/epics_versions.sh @@ -1 +1 @@ -EPICS_BASE_VERSION=7.0.7 +EPICS_BASE_VERSION=7.0.8.1 diff --git a/base/install_epics.sh b/base/install_epics.sh index 289c892..5e1be34 100755 --- a/base/install_epics.sh +++ b/base/install_epics.sh @@ -8,7 +8,6 @@ set -ex lnls-get-n-unpack -l https://epics-controls.org/download/base/base-${EPICS_BASE_VERSION}.tar.gz mv base-${EPICS_BASE_VERSION} ${EPICS_BASE_PATH} -patch -d ${EPICS_BASE_PATH} -Np1 < $EPICS_IN_DOCKER/backport-epics-base-musl.patch patch -d ${EPICS_BASE_PATH} -Np1 < $EPICS_IN_DOCKER/epics-base-static-linking.patch if [ -n "$COMMANDLINE_LIBRARY" ]; then diff --git a/base/install_opcua.sh b/base/install_opcua.sh index b2a9799..9fc17f9 100755 --- a/base/install_opcua.sh +++ b/base/install_opcua.sh @@ -7,13 +7,17 @@ set -ex . $EPICS_IN_DOCKER/opcua_versions.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 +opcua_release_file=BDIST_opcua-${OPCUA_VERSION}_Base-${EPICS_BASE_VERSION}_debian${DEBIAN_VERSION%.*}.tar.gz lnls-get-n-unpack -l $opcua_release_url/$opcua_release_file +rm HOW_TO.md -mv binaryOpcuaIoc opcua -install_module -i opcua OPCUA " +mv opcuaBinaryDist opcua-module +install_module opcua-module 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} +mv opcuaExampleIoc opcua +install_module -i opcua OPCUA_IOC " +EPICS_BASE +OPCUA +" diff --git a/base/musl/Dockerfile b/base/musl/Dockerfile index 4a8e23f..90e8069 100644 --- a/base/musl/Dockerfile +++ b/base/musl/Dockerfile @@ -47,7 +47,7 @@ ENV EPICS_RELEASE_FILE $EPICS_IN_DOCKER/RELEASE WORKDIR /opt/epics -COPY backport-epics-base-musl.patch epics-base-static-linking.patch $EPICS_IN_DOCKER +COPY epics-base-static-linking.patch $EPICS_IN_DOCKER COPY epics_versions.sh install_epics.sh $EPICS_IN_DOCKER RUN COMMANDLINE_LIBRARY=READLINE_NCURSES $EPICS_IN_DOCKER/install_epics.sh diff --git a/base/opcua_versions.sh b/base/opcua_versions.sh index 4c5a647..7f91707 100644 --- a/base/opcua_versions.sh +++ b/base/opcua_versions.sh @@ -1 +1 @@ -OPCUA_VERSION=0.9.4 +OPCUA_VERSION=0.10.0