This is an old revision of the document!
LOFAR User Software
TOC:
-
- Checking out code / Read access
- Software packages
- Data Access Library (DAL)
Code repository
Organization of the repository
usg.lofar.org/svn |-- code | |-- branches | `-- trunk | | |-- build | | |-- data | | |-- external | | `-- src `-- documents |-- branches `-- trunk
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
- using Subversion…
svn co http://usg.lofar.org/svn/code/trunk lofarsoft
- using Git…
git svn clone http://usg.lofar.org/svn/code/trunk lofarsoft
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 lofarsoft cd lofarsoft git svn rebase
where
<revision>
points to a specific revision number.
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:
- Check out everything in a single go:
svn co http://usg.lofar.org/svn usg
- Check out a slightly cleaned-up version, omitting the
trunk
directories from your working version:mkdir usg cd usg svn co http://usg.lofar.org/svn/code/trunk code svn co http://usg.lofar.org/svn/documents/trunk docs
Updating your working copy
Go to the build
directory and type
make update
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
make dal
You can also just build the target folder leaving everything else untouched using
cd dal make rebuild_cache && make && make install
Write access to the repository
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:
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:
- Using
htpasswd
:htpasswd -nbm <username> <password>
- Using
openssl
:openssl passwd -apr1 <password>
If none of the above mentioned tools are available, use can be made of an online htpasswd generator.
Depending on the command line tool being used, the 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):
lbaehren:$apr1$ziNPu...$YYKeohAqIiIzfz4YA12345 ## htpasswd $apr1$9H8IBSvy$yswI9jLosDkDx1a6.12345 ## openssl