Skip to content

Update module motorParker#139

Draft
guirodrigueslima wants to merge 3 commits intolnls-create-iocfrom
update_parker
Draft

Update module motorParker#139
guirodrigueslima wants to merge 3 commits intolnls-create-iocfrom
update_parker

Conversation

@guirodrigueslima
Copy link
Contributor

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).

@guirodrigueslima guirodrigueslima changed the title base: update module motorParker Update module motorParker Feb 9, 2026
@gustavosr8 gustavosr8 marked this pull request as draft February 25, 2026 14:39
@guirodrigueslima guirodrigueslima force-pushed the lnls-create-ioc branch 2 times, most recently from 30fb754 to 17bfc65 Compare March 6, 2026 12:50
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.
@guirodrigueslima guirodrigueslima force-pushed the lnls-create-ioc branch 2 times, most recently from bf16ba9 to 0e3fd9d Compare March 12, 2026 18:54
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.
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).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant