public:user_software:user_software

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
public:user_software:user_software [2011-11-21 15:25] Lars Bahrenpublic:user_software:user_software [2017-03-08 15:27] (current) – external edit 127.0.0.1
Line 2: Line 2:
  
 ====== LOFAR 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__:  __TOC__: 
Line 13: Line 17:
     * [[CR-Tools]]     * [[CR-Tools]]
     * [[DAL|Data Access Library]] (DAL)     * [[DAL|Data Access Library]] (DAL)
 +    * [[http://www.lofar.org/operations/doku.php?id=dynspec&do=edit&rev=1413205756|Dynspec Toolkit Container (DTC)]]
     * [[LOPES-Eventbrowser]]     * [[LOPES-Eventbrowser]]
-    * [[pyBDSM]] +    * <del>[[pyBDSM]]</del> (moved to LOFAR) 
-    * [[PyCRTools]]+    * [[http://www.astro.ru.nl/software/pycrtools/|PyCRTools]]
     * [[Pulsar Tools]]     * [[Pulsar Tools]]
 +    * <del>selfcal (Self-Calibration Imaging standalone tool)</del> (moved to LOFAR) [[http://www.lofar.org/operations/doku.php?id=commissioning:selfcal|selfcal wiki page]]
 +  - [[Building an individual package]]
   - [[#Supported platforms]]   - [[#Supported platforms]]
   - [[Reorganization of the software collection]]   - [[Reorganization of the software collection]]
Line 29: Line 36:
 |   |-- branches |   |-- branches
 |   `-- trunk |   `-- trunk
-|     |-- build+|     |-- devel_common
 |     |-- data |     |-- data
 |     |-- external |     |-- external
Line 40: Line 47:
 === Checking out code === === Checking out code ===
  
-As read-only access to the repository is not restricted in any ways, you can obtain a working copy of the source code by running+You can obtain a working copy of the source code by running (Registration is needed to access the repository; January 2013)
   * __using Subversion...__ <code bash>   * __using Subversion...__ <code bash>
-svn co http://usg.lofar.org/svn/code/trunk lofarsoft +svn co http://usg.lofar.org/svn/code/trunk code</code>
-</code>+
   * __using Git...__ <code bash>   * __using Git...__ <code bash>
-git svn clone http://usg.lofar.org/svn/code/trunk lofarsoft+git svn clone http://usg.lofar.org/svn/code/trunk code
 </code> Please be aware though that this will retrieve to complete backlog of all changes, so you might rather use <code bash> </code> Please be aware though that this will retrieve to complete backlog of all changes, so you might rather use <code bash>
-git svn clone -r <revision> http://usg.lofar.org/svn/code/trunk lofarsoft+git svn clone -r <revision> http://usg.lofar.org/svn/code/trunk code
 cd lofarsoft cd lofarsoft
 git svn rebase git svn rebase
 </code> where ''<revision>'' is either a specific revision number or the word ''HEAD'', which refers to the latest available version. </code> 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, you do have two options to options of retrieval: +In case you not only want a working version of the source code, but also of the various documents:<code bash>
-  - Check out everything in a single go: <code bash> +
-svn co http://usg.lofar.org/svn usg +
-</code> +
-  - Check out a slightly cleaned-up version, omitting the ''trunk'' directories from your working version: <code bash>+
 mkdir usg mkdir usg
 cd usg cd usg
Line 63: Line 65:
 </code> </code>
  
 +Note: Release versions of the Pulsar tools (as used on CEP2 and CEP3) can be obtained from the URL (for example):<code>
 +svn co http://usg.lofar.org/svn/code/branches/LOFAR-Pulp-Release-2_12 src
 +</code>
 +This will download the whole tree, including the pulsar tools.
  
-=== Updating your working copy ===+=== Bootstrapping your working copy ===
  
-Go to the ''build'' directory and type +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...
-<code bash> +
-make update +
-</code> +
-In the simplest case this might be nothing but a wrapper around the ''update'' command of Subversion, but further actions might carried out if necessary.+
  
-Then build your target, for example "dal" with +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:
-<code bash> +
-make dal +
-</code>+
  
-You can also just build the target folder leaving everything else untouched using 
 <code bash> <code bash>
-cd dal +./bootstrap
-make rebuild_cache && make && make install+
 </code> </code>
  
-=== Write access to the repository === +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). 
-FIXME <html><font color=red><b>This information is outdated! It will be updated soon</b></font color></html>+
  
-While (by design) the user software repository is world-wide readable, write access is being restricted to a list of registered users. The basic procedure for getting added to that list -- which basically relies on a combination of a ''username'' and MD5 encrypted ''password'' -- is described below:+=== Updating your working copy ===
  
-The information which needs to be provided by the user is a combination of ''username'' and ''password''where the latter is being hashed using the MD5 algorithm. The encryption of the password can be done in a number of ways, depending on the tools available to the user requesting access:+As with the case of retrieving your working working copy from the central repositorythis step is very much depending on the tool used locally for version control:
  
-  * Using ''htpasswd''<code bash>htpasswd -nbm <username> <password></code> +  * __Subversion__ Change back to the top-level directory of your working copy and and run <code bash>svn up</code>
-  * Using ''openssl'': <code bash>openssl passwd -apr1 <password></code>+
  
-If none of the above mentioned tools are available, use can be made of an [[http://www.htaccesstools.com/htpasswd-generator|online htpasswd generator]]. +  * __Git__ : Depending on your choice to deal with upstream changesyou might change back to the ''master'' branch of your working copy before running <code bash
- +git checkout master 
-Depending on the command line tool being usedthe output will contain the full string to be entered into the password file or the encrypted password only (in which case the username needs to be prepended): +git svn rebase 
-<file+</codeIf however you prefer to directly merge the upstream changes into your feature/development branch, you simply run <code bash>git svn rebase</code> In either case ensure there are no uncommitted changes -- either add and then commit them or stash them, before pulling in the upstream changes.
-lbaehren:$apr1$ziNPu...$YYKeohAqIiIzfz4YA12345    ## htpasswd +
-$apr1$9H8IBSvy$yswI9jLosDkDx1a6.12345             ## openssl +
-</file> +
- +
-==== Supported platforms ==== +
- +
-First-level supported platforms: +
- +
-  Ubuntu 10.04 LTS+
  
-Second-level supported platforms: 
  
-  - Debian GNU/Linux 6.x 
  
 +==== Local installation ====
 +{{public:user_software:installation_manual.pdf}}
  • Last modified: 2011-11-21 15:25
  • by Lars Bahren