public:user_software:user_software

LOFAR User Software

<html> <div style=“border:2px dashed red; padding: 2em;”><h2>WARNING:</h2> This page appears to conflate the LOFAR system software repository (https://svn.astron.nl/LOFAR/) with the USG/LUS repository (http://usg.lofar.org/svn/code). Please treat any instructions below with caution until that has been sorted out!</div> </html>

TOC:

  1. Software packages

Organization of the repository

usg.lofar.org/svn
|-- code
|   |-- branches
|   `-- trunk
|   |   |-- devel_common
|   |   |-- data
|   |   |-- external
|   |   `-- src
`-- documents
    |-- branches
    `-- trunk

Checking out code

You can obtain a working copy of the source code by running (Registration is needed to access the repository; January 2013)

  • using Subversion…
    svn co http://usg.lofar.org/svn/code/trunk code
  • using Git…
    git svn clone http://usg.lofar.org/svn/code/trunk code

    Please be aware though that this will retrieve to complete backlog of all changes, so you might rather use

    git svn clone -r <revision> http://usg.lofar.org/svn/code/trunk code
    cd lofarsoft
    git svn rebase

    where <revision> is either a specific revision number or the word HEAD, which refers to the latest available version.

In case you not only want a working version of the source code, but also of the various documents:

mkdir usg
cd usg
svn co http://usg.lofar.org/svn/code/trunk code
svn co http://usg.lofar.org/svn/documents/trunk docs

Note: Release versions of the Pulsar tools (as used on CEP2 and CEP3) can be obtained from the URL (for example):

svn co http://usg.lofar.org/svn/code/branches/LOFAR-Pulp-Release-2_12 src

This will download the whole tree, including the pulsar tools.

Bootstrapping your working copy

Once the checkout from the central repository has completed, you are left with a directory structure as described above. The next step now is to get to the point where it is possible to build (and subsequently install) packages in the software collection…

As the LUS uses the CMake cross-platform makefile generator to handle the configuration of the code base, the most important thing to check is whether or not a suitable version of CMake is available on your platform – this check is carried out through the bootstrap script in the top-level directory of the working copy:

./bootstrap

The the main job of the bootstrap script is to check whether or not a recent enough version of CMake is installed on your system; if the found installation is too old or not available at all, a build from the provided sources is triggered and the resulting executables will be installed into “release/bin” (which of course then should be in your PATH).

Updating your working copy

As with the case of retrieving your working working copy from the central repository, this step is very much depending on the tool used locally for version control:

  • Subversion : Change back to the top-level directory of your working copy and and run
    svn up
  • Git : Depending on your choice to deal with upstream changes, you might change back to the master branch of your working copy before running
    git checkout master
    git svn rebase

    If however you prefer to directly merge the upstream changes into your feature/development branch, you simply run

    git svn rebase

    In either case ensure there are no uncommitted changes – either add and then commit them or stash them, before pulling in the upstream changes.

  • Last modified: 2017-03-08 15:27
  • by 127.0.0.1