Draft
Conversation
54e0781 to
9140d07
Compare
b40b7fc to
2ac1763
Compare
9140d07 to
69d6468
Compare
2ac1763 to
daf0bf7
Compare
69d6468 to
e5f6f1a
Compare
30fb754 to
17bfc65
Compare
This implementation was introduced due to the need to build IOCs using only internal modules from epics-in-docker. With this new approach, defining the necessary libraries and database files in the YAML configuration file is all that is required to build this type of IOC. As a consequence, IOCs that are currently built together with the modules and exported with the no-build target will be removed in the future. Initially, the use of the sed command was considered to replace and inject parameters into the Makefile; however, after further discussion, this approach was deemed unsustainable in the long term. Therefore, a static Makefile approach was adopted, simplifying maintenance. During development, it was identified that the direct use of the DBD, LIBS, and DB environment variables was not feasible, as it caused variable conflicts during the make execution. This was solved by using the 'IOC_' prefix. When IS_IOC_AREADETECTOR is set to true, the ADCore commonDriverMakefile is included, enabling all areaDetector plugins. It was also noticed that adding a single RUN statement in the current Dockerfile was enough, avoiding code duplication and preserving compatibility with the static-link and dynamic-link targets. The Dockerfile build copies all contents from the current working directory before running lnls-create-ioc. This is still necessary because the IOC creation script expects to generate the entire IOC structure from internal modules and to copy additional files into the new IOC (such as .db, .proto, .cmd, .yaml, etc.). At the end of the structure creation process, these files are automatically removed. The libevent-pthreads-2.1-7 library is now installed by default in the Dockerfile, since all IOCs that support PVXs require this package. This change avoids installing the library through the RUNTIME_PACKAGES variable.
bf16ba9 to
0e3fd9d
Compare
The RUNTIME_PACKAGES variable has been removed from the docker-compose-epics-base.yml file. The libevent-pthreads-2.1-7 library is now installed natively in the Dockerfile. Docker Compose files for existing IOC images (mca, motorpaker, motorpigcs2 and opcua) were restructured to use the new IOC build method. In the docker-compose-opcua.yml file, the installation of the libssl3 library was removed since it is no longer required. The distributed module was built without crypto support in Debian 12, making this dependency obsolete. This change also addresses an oversight from the Debian 12 upgrade. Fixes: 39bb0d4 (base: update to Debian 12., 2024-10-31) The docker-compose-mca.yml file was replaced by docker-compose-mca-amptek.yml, Since only Amptek modules are used by customers in our facilities, we may be able to export new modules in the future. All IOCs built with the new build method are using no dynamic links, the main reason for using this target is to keep the module folders and their corresponding database files separate.
0e3fd9d to
d14f795
Compare
The motorParker module was updated to a new tag, adding support for the OEM controller. The Parker IOC build was removed due to the new IOC build support (#133).
e5f6f1a to
b6519f5
Compare
ed7cd8f to
34b6465
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The motorParker module was updated to a new tag, adding support for the OEM controller. The Parker IOC build was removed due to the new IOC build support (#133).