Draft: Suggestion for a new FESA FWK Installation Structure
In order to provide an RPM installation mechanism for FESA installations at GSI and other locations (e.g. cosylab) some further structural changes in FESA3 installation and its related projects appear to be useful:
FESA-Libraries
Following FHS (Filesystem Hierarchy Standard)(*) a FESA installation could look like this:
/opt/fesa/fesa-fwk/links to fesa-core,fesa-core-gsi,fesa-codegen,fesa-codegen-gsi,fesa-model,fesa-model-gsi
/fesa-core/...
/fesa-core-gsi/...
/fesa-codegen/...
/fesa-codegen-gsi/...
/fesa-model/...
/fesa-model-gsi/...
Required Third-Party Libraries
/opt/cern/cmw-...
/rda
/rbac (@GSI: implement a stub to mimick CERN-Library as long as no access control solution is decided)
Notes / Questions / Suggestions / Thoughts
- Even more closer to the FHS standard were a distinction of lib and include folders only for the FESA binaries, e.g. /opt/fesa/version/lib/fesa-core.a + /opt/fesa/version/lib/fesa-core-gsi.a and /opt/fesa/include/*.h. The required XML and XSLT-files and templates could be collected in /opt/fesa/version/model and /opt/fesa/version/codegen. But this is currently regarded as a too large impact on the tight FESA structures.
- Is subversioning of FESA components such as model, codegen really necessary or just a further complication? In which case do I need FESA-model of version 0.3.0 to work with a FESA-codegen of version 1.4.0? Who knows which parts truly belong and work together?
- For the FESA-binaries no distinction in the installation location is necessary since they have different names and both are linked statically into a resulting class/deploy unit. For locating them one path to their location should be enough.
- Similar for the model and the codegen. If no name clashes are expected they may be in the same base directory. If really necessary a further distinction in the base directory into core and attached part may be done. This could be done during installation since a clear distinction of the core- and /specific part simplifies development.
(
)*Linux Filesystem Standard:
http://en.wikipedia.org/wiki//usr/local
CommentsOnThisDraft
--
SolveighMatthies - 31 Jul 2012