EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: EPICS Application Package
From: Ralph Lange <[email protected]>
To: EPICS Tech Talk <[email protected]>
Date: Fri, 12 Oct 2018 09:37:59 +0200
Hi Vikram,

As so often, there are many solutions for packaging EPICS IOC applications.

Some institutes are building system packages (RPM or DEB depending on the distribution) of all EPICS and Driver modules (Asyn, Stream etc.). In such a context, an IOC application can also be packaged into an RPM/DEB that contains dependencies on the packages it needs to function. Installing the IOC application package on the production host will exactly pull all packages that it needs.
This approach needs a serious building and repository infrastructure, and package building has a steep learning curve. Only efficient for large installations.

Other institutes are using an NFS mounted repository of all applications and shared libraries and a database of versions of tested combinations of these, and load device support and EPICS modules dynamically from the startup script of the IOC. This also needs a careful design and serious building infrastructure in the background, but maybe requires less upfront work and learning compared to the first option.

Some installations have started experimenting with creating IOC applications as containers, e.g. using Docker. This increases robustness and portability, as all needed files and libraries are inside the container which can be run on any Docker server, with little further requirements on operating system and version of the host. Note that access to specific hardware is limited from inside a container, but applications that only need network access should work fine.

If your requirement really is "no EPICS installation necessary on target", the best simple and pretty robust option might be building your IOC application statically (and expanding all substitutions into db files on the host), then creating a tar of the (bin, dbd, db, iocBoot) directories. You should be able to unpack such a tar and run the IOC on any host that has the same operation system.

Change management (versioning and safe roll-back of your IOC applications) is a whole separate story.

Hope this helps,
~Ralph


Replies:
RE: EPICS Application Package Engbretson, Mark S.
Re: EPICS Application Package Bo Jakobsen
References:
EPICS Application Package Vikram Bhagat via Tech-talk

Navigate by Date:
Prev: EPICS Application Package Vikram Bhagat via Tech-talk
Next: Base R3.15.6 Released Ralph Lange
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: EPICS Application Package Vikram Bhagat via Tech-talk
Next: RE: EPICS Application Package Engbretson, Mark S.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
ANJ, 12 Oct 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·