You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MASTER_RELEASE lists all out epics modules and is a single file that can be used in any IOC. While it was convenient way to build an IOC in the past, using it has a few downsides and it is better to be explicit about which modules you really use:
slower builds: the build system does a cross-check during build for consistent versions. For example our IOC may include the calc module in its RELEASE file and also include asyn, which too includes calc in its RELEASE. These must point to the same calc version. If you use MASTER_RELEASE then then there is a lot of cross checking to do of modules that you don't actually use
potential ioc startup failures: every bin directory for the modules listed in MASTER_RELEASE gets added to the PATH environment of the IOC, depending on how long the local path on a computer is you may exceed the PATH length and get an ioc start failure. I saw this recently when i made procserv start on demand in ioc startup: make individual iocs bats more flexible and start procServ on demand from procServControl #8558 - as i was spawning procServ from an IOC, the initial PATH was a little longer and the startup then failed with a corrupted PATH. I have mostly worked around this by excluding some of the initial environment.
We should aim to patch the most used IOCs first. If we miss one and it causes an issue, we can manually remove unused items from dllPath.bat on the instrument to fix, hence we should concentrate first on iocs below used on many instruments.
acceptance criteria
git grep used below shows no MASTER_RELEASE remaining
MASTER_RELEASE
lists all out epics modules and is a single file that can be used in any IOC. While it was convenient way to build an IOC in the past, using it has a few downsides and it is better to be explicit about which modules you really use:calc
module in its RELEASE file and also includeasyn
, which too includescalc
in its RELEASE. These must point to the same calc version. If you use MASTER_RELEASE then then there is a lot of cross checking to do of modules that you don't actually useWe should aim to patch the most used IOCs first. If we miss one and it causes an issue, we can manually remove unused items from dllPath.bat on the instrument to fix, hence we should concentrate first on iocs below used on many instruments.
acceptance criteria
notes
MASTER_RELEASE is only now used in
ioc/master
and runninggit grep MASTER_RELEASE
there shows iocs remainingThe text was updated successfully, but these errors were encountered: