Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017 Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
<== Date ==> <== Thread ==>

Subject: Re: EPICS Base module split / bundle build (EPICS 7 prep) ready to test
From: "Johnson, Andrew N." <anj@aps.anl.gov>
To: Ralph Lange <ralph.lange@gmx.de>
Cc: EPICS Core Talk <core-talk@aps.anl.gov>
Date: Thu, 3 Aug 2017 21:03:54 +0000
If you get errors from the git clone --recursive command about checking out the submodules it might be that your version of git is too old; I found that git 1.9.x was too old, 2.5.0 was OK (reports from versions between those two will be useful in narrowing down what the minimum version is that works).

This is a significant reorganization of the structure of the source in preparation for adding the V4 modules, which Ralph has done a great job on, so please test and report back.

- Andrew

-- 
Sent from my iPad

On Aug 3, 2017, at 8:38 AM, Ralph Lange <ralph.lange@gmx.de> wrote:

Dear colleagues,

After three iterations, the reorganized EPICS Base sources are in good shape and ready to be tested by a broader audience.
(For motivation and more details of this reorganization, please refer to the minutes of the Core Developers Workshops in March and June.)

Overview:
  • EPICS Base (3.16) has been split into four modules:
    • core - startup, build system and tools, bundle build directory
    • libcom - EPICS utility and OS abstraction layer library
    • ca - Channel Access client library
    • database - EPICS database, records, device support, rsrv server and IOC shell.
  • Only the core module (containing the build system) is special, the others are regular EPICS TOP structures.
  • The four modules can be built separately (dependencies via RELEASE files) or as a bundle (using git submodules).
  • Inside each module, tests have been pulled up into a TOP level test directory, next to src, for a better separation of sources and test code.
  • The four modules are held as different branches of the same git repository; their default branches are <module>/master.
  • That git repository contains the full history, i.e. it is the existing EPICS Base repository.
    (To speed up cloning and save disk space in a bundle setup, you can point the origin of the three submodules to the parent bundle module.)
  • Version numbering of the modules is individual; an EPICS release is a tested bundle of the modules at a specific set of versions.
The test candidate repository is available on my GitHub account.
Cloning and building of the complete bundle:
git clone --recursive https://github.com/ralphlange/epics-base.git -b core/master bundle
cd bundle
make
The resulting installation (in the bundle directory) is mostly equivalent to an existing (pre-split) EPICS Base installation.
To build the core module stand-alone, clone it without cloning the submodules (i.e. without --recursive).

In the next step, the EPICS V4 modules (which are also regular EPICS TOP structures) will be added, as git submodules from another repository.

To-Do-List / Known Issues:
  • The error registration service in libcom needs an API to allow other modules to register their error messages.
  • The environment setting script generated in the database module needs a way for other modules to add their settings.
Please check, test and comment.
After this iteration, I would like to push the result upstream and make these the default branches of EPICS Base development towards EPICS 7.

Cheers,
~Ralph


Replies:
Re: EPICS Base module split / bundle build (EPICS 7 prep) ready to test Ralph Lange
References:
EPICS Base module split / bundle build (EPICS 7 prep) ready to test Ralph Lange

Navigate by Date:
Prev: EPICS Base module split / bundle build (EPICS 7 prep) ready to test Ralph Lange
Next: Re: EPICS Base module split / bundle build (EPICS 7 prep) ready to test Hartman, Steven M.
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
Navigate by Thread:
Prev: EPICS Base module split / bundle build (EPICS 7 prep) ready to test Ralph Lange
Next: Re: EPICS Base module split / bundle build (EPICS 7 prep) ready to test Ralph Lange
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
ANJ, 04 Aug 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·