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 | 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 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: ioc startup files not installed to INSTALL_LOCATION |
From: | Matt Rippa via Tech-talk <tech-talk at aps.anl.gov> |
To: | Felix Krämer <tech-talk at felix-kraemer.de> |
Cc: | Talk EPICS Tech <tech-talk at aps.anl.gov> |
Date: | Mon, 14 Dec 2020 10:31:38 -1000 |
Hi all,
Currently, I do some contractor work for Gemini for a new Application
Development Environment based on RPM.
In this context, I am working on one part of it to provide a framework
for softIOC installation, everything readily set up with conserver
configuration, procServ etc. after installing a respective softIOC RPM.
I do this development work based on a makeBaseApp.pl generated softIOC
example from the EPICS Application Developer's Guide (
https://epics.anl.gov/base/R3-15/6-docs/AppDevGuide/GettingStarted.html#x3-60002.2
). For installing EPICS software using RPM we have to _relocate_
installed binaries, scripts etc. This works well, principally, but
regarding the example softIOC there do arise a few questions:
(1) The startup file under iocBoot (st.cmd) is not installed anywhere.
If INSTALL_LOCATION is not redefined, then this is not a problem, but if
I want to keep the sources distinct from the product, this seems not to
be consequent. I changed the Makefile from
TOP = ../..
include $(TOP)/configure/CONFIG
ARCH = $(EPICS_HOST_ARCH)
TARGETS = envPaths
include $(TOP)/configure/RULES.ioc
to
TOP = ../..
include $(TOP)/configure/CONFIG
ARCH = $(EPICS_HOST_ARCH)
TARGETS = envPaths
SCRIPTS_IOC_Linux += st.cmd
include $(TOP)/configure/RULES.ioc
include $(TOP)/configure/RULES
to install the st.cmd to the binary install dir, at least. Additionally,
I set IOCS_APPL_TOP in CONFIG_SITE to the install location to let
envPaths look right. This works so far. Is this the way to go?
In this context it might also be an idea to create a new template
directory for makeBaseApp.pl and point to it using the -T option. I'd
rather use the EPICS original ones, though, to have no adaption work
with future versions.
(2) Another option I thought about would be to define a User Created
File type
(
https://epics.anl.gov/base/R3-15/6-docs/AppDevGuide/BuildFacility.html#x5-1570004.6.35
), e.g. a FILE_TYPE IOCBOOT which would install this st.cmd to a
INSTALL_IOCBOOT = $(INSTALL_LOCATION)/iocBoot/.... directory, for
example. But same here: it's sort of 'proprietary' to do things like
these and such special solutions might be incompatible with future
versions of EPICS.
Or do I think completely in the wrong direction and there is already a
mechanism in place which to install the startup files to
INSTALL_LOCATION which I simply do not see?
Any help or ideas as well as confirmation appreciated.
Thanks,
Felix