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  2018  2019  2020  2021  2022  2023  2024  <2025 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  2018  2019  2020  2021  2022  2023  2024  <2025
<== Date ==> <== Thread ==>

Subject: Re: Installing .req files via DB vs. REQ?
From: "Johnson, Andrew N. via Tech-talk" <tech-talk at aps.anl.gov>
To: "Muir, John Lewis" <jlmuir at imca-cat.org>, EPICS Tech-Talk <tech-talk at aps.anl.gov>
Date: Tue, 27 May 2025 19:32:52 +0000

Hi Lewis,

 

There is no one “right way”, different sites can and do install them in different places depending on how they configure their IOCs; the APS accelerator IOCs use a few different approaches, depending on who created that IOC. Sometimes the .req files are placed directly in the IOC’s iocBoot directory, sometimes in the iocBoot/ioc… directory, or they might be loaded directly from a support module — there are iocsh commands provided by autosave which tell the code where to go looking for them, and they must match.

 

The EPICS build system makes it easy to add build rules to install new file types from a Makefile, there are comments giving instructions in the Base/configure/CONFIG_FILE_TYPES file. For example, if the REQ files should be installed into $(INSTALL_LOCATION)/req adding these 2 lines to the main body of the Makefile which sets REQ would create the appropriate rule automatically:

 

FILE_TYPE += REQ

INSTALL_REQ = $(INSTALL_LOCAION)/req

 

You don’t have to put those lines in the Makefile itself though, they could go in your Base/CONFIG_SITE file if you want them to apply to all IOCs; a support module could set them in an exported cfg/CONFIG_something file, or they could go in the IOC area’s configure/CONFIG_SITE file for example.

 

HTH,

 

- Andrew

 

-- 

Complexity comes for free, Simplicity you have to work for.

 

 

On 5/23/25, 6:01PM, "Tech-talk" <tech-talk-bounces at aps.anl.gov> wrote:

 

Hi, Tech-Talkers!

What's the right way for an EPICS module to install .req files?

On RHEL 9 x86_64 with EPICS 7.0.8.1, I've seen some modules that add
.req files to the DB make variable; for example:

  https://urldefense.us/v3/__https://github.com/epics-modules/motor/blob/26efd2f044f6281b5c5889d604cd43f84b4bf615/motorApp/Db/Makefile*L22__;Iw!!G_uCfscf7eWS!Y8ODgDI84V7emUA4orWL6bHzwKq0Si2HpJk-XRcZo2jDfFUZv7grO1CMmT-G8S5WRDyzZ6DWb2APlisRm8b0pg$

And I've seen some modules that add .req files to the REQ make variable;
for example:

  https://urldefense.us/v3/__https://github.com/epics-modules/sscan/blob/6cf674065a7855d4b033b7a97ab941758dac715b/sscanApp/Db/Makefile*L33__;Iw!!G_uCfscf7eWS!Y8ODgDI84V7emUA4orWL6bHzwKq0Si2HpJk-XRcZo2jDfFUZv7grO1CMmT-G8S5WRDyzZ6DWb2APliv3vv5y9g$

For the modules that add .req files to the DB make variable, the .req
files get installed into the module's "db" directory.  And for the
modules that add .req files to the REQ make variable, those .req files
don't seem to get installed anywhere.

So, I'm inclined to think that adding .req files to the DB make variable
is the right way to install .req files, and adding them to the REQ make
variable is wrong and doesn't work.  Or am I missing something?

Thanks!

Lewis


References:
Installing .req files via DB vs. REQ? J. Lewis Muir via Tech-talk

Navigate by Date:
Prev: RE: AreaDetector Monthly Collaboration Meetings and project owners Pearson, Matthew via Tech-talk
Next: Eaton UPS Network-M3 boj via Tech-talk
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  2018  2019  2020  2021  2022  2023  2024  <2025
Navigate by Thread:
Prev: Installing .req files via DB vs. REQ? J. Lewis Muir via Tech-talk
Next: No motor ui in pydm l123173 via Tech-talk
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  2018  2019  2020  2021  2022  2023  2024  <2025
ANJ, 28 May 2025 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions ·
· Download · Search · IRMIS · Talk · Documents · Links · Licensing ·