Experimental Physics and Industrial Control System
|
Thanks for the various replies with ideas how to do what I want, and especially to ANJ for explaining why it's not a good idea to get the value of an envireonment variable in the configure/RELEASE file.
On Wed, Jan 16, 2019 at 2:40 PM Johnson, Andrew N. via Tech-talk < [email protected]> wrote: Hi Mike,
On 1/15/19 7:57 PM, Michael Westfall via Tech-talk wrote:
> For example, if I currently have:
> EPICS_BASE=/my_epics_location/epics/R3.14.12.7/base
>
> but I want to be able to change the location of /my_epics_locationon
> the fly (perhaps because I want to use a different version of EPIS)
> by setting an environment variable $MY_EPICS_LOCATION,
>
> then how would I pick up the environment variable value in
> configure/RELEASE?
>
> I feel like I should know this, but I guess I haven't ever had reason
> to do it before.
The basic EPICS build system was designed explicitly to *not* take
RELEASE paths from the build-time environment, as that makes the build
process potentially unrepeatable. At the APS and many other sites we
expect to be able to revert our operational IOCs to an older version
that might depend on different support modules just by checking out the
files for that version of the IOC and running 'make'. Any EPICS
developer should also be able to replicate a build the same way
irrespective of their current environment, but this wouldn't work if
environment variables could override the settings in the RELEASE files.
You can define and use variables in your RELEASE files and even include
other files, but you would still have to modify at least one line of one
file to switch to a different Base version (and change the paths for any
other dependent modules at the same time). Synapps includes a
configuration management system that modifies RELEASE files, and BESSY
publish a tool called SUMO which can check out and build a complete set
of dependent modules for you, including reusing any modules that have
already been built for the desired configuration.
Other sites have developed alternative approaches and made local changes
to the code for their approach to builds, but I don't think the current
approach is likely to be changed in the EPICS core build system
until/unless someone else takes over maintenance of it.
- Andrew
--
Arguing for surveillance because you have nothing to hide is no
different than making the claim, "I don't care about freedom of
speech because I have nothing to say." -- Edward Snowdon
--
Mike Westfall
Control Systems Software Engineer
- References:
- How to pick up value of environment variable in /configure/RELEASE? Michael Westfall via Tech-talk
- Re: How to pick up value of environment variable in /configure/RELEASE? Johnson, Andrew N. via Tech-talk
- Navigate by Date:
- Prev:
Re: How to pick up value of environment variable in /configure/RELEASE? Johnson, Andrew N. via Tech-talk
- Next:
Re: Re: How to use synApps optics module to control XIA pf4 filter shenzb--- 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
- Navigate by Thread:
- Prev:
Re: How to pick up value of environment variable in /configure/RELEASE? Johnson, Andrew N. via Tech-talk
- Next:
How to use synApps optics module to control XIA pf4 filter Zhibang Shen 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
|
ANJ, 16 Jan 2019 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|