This is a Getting-Started about how to use the software management tools to develop, use and distrubute software in the KLOE Online UNIX environment. The main concepts, organisation, rules and tools are already described in KLOE memo #40. In the meantime I have introduced some small modifications which are described in an up-to-date document.
This Getting-Started will use the package skel to demonstrate the general concept and to get familiar with the tools and skills needed to manage and distribute the software. The package skel is also a set of skeleton files which can be used to create a package from scratch. Just follow all the instructions and links and you will quickly learn and understand.
On the LNF UNIX cluster an Anonymous FTP service has been enabled on hpkloe01.lnf.infn.it to allow easy distribution of software packages which are located under the root for KLOE online software /kloe/soft/onl.
If you do not have direct access to this root because you are outside LNF or the system has no NFS access like most of the real-time systems you must install the software packages on your local system first. But to get familiar it is recommanded to make the installation in you home directory ... otherwise go directly to the next chapter
tcsh> mkdir <root for online software> tcsh> cd <root for online software> tcsh> ftp hpkloe01.lnf.infn.it anonymous <user name> ftp> cd dist/online ftp> get packimport.csh ftp> quit tcsh> chmod u+x packimport.cshNow you have the script packimport.csh which easily allows you to import packages from the KLOE online software respository. Some quick remark about the shells: for the moment only the tcsh shell is fully supported. You can find more information here.
tcsh> packimport.csh manange v1 tcsh> cd manage/v1/mgr tcsh> ./packconf.csh tcsh> source setup.cshNow you have the package manage installed, configured and setup and from now on you can use the package management utility packman ... how? This you will see later (see also packman.html).
tcsh> cd <root for online software> tcsh> packimport.csh skel v1 tcsh> cd skel/v1/mgr tcsh> $MANAGEMGR/packconf.csh tcsh> source setup.cshThis is the basic way to do it. With the utility packman the above configuration and setup steps can be done in one line:
tcsh> cd <root for online software> tcsh> packimport.csh skel v1 tcsh> packman -c -s skel v1 tcsh> cd $SKELMGR
into your tcsh startup script e.g. ~.tcshrc or ~/.cshrc. If necessary replace kloe/soft/onl with your local root for the online software. And if you want to use a none default flavor putsource /kloe/soft/onl/manage/v1/mgr/setup.csh
instead. Then typesetenv MANAGEFLAVOR HP-RT source /kloe/soft/onl/manage/v1/mgr/setup.csh
to retrieve your system name which is the default flavor. If you work for example on a cross development environment like for HP-RT the default system name is not appropriate. You can do the same with:tcsh> uname
tcsh> packman -f HP-RT
tcsh> cd <root for online software> tcsh> cd skel tcsh> cd v1 tcsh> cd mgr
tcsh> packman -cto configure the package. Maybe you remember that you have already done that at the previous installation step. Here it's just repeated to explain the steps in more detail.
SKELROOT, SKELMGR, SKELSRC, SKELDOC, SKELBINfor the package. It then calls the flavor specific setup file, here HP-UX.csh which contains the c-shell specific definitions defined in requirements. Between the lines
#--- User area ----------------------------------- #--- End of user area ----------------------------you can put user specific definitions , which can not be handled with the requirements file like setting up a offline package for example setup rbio.
A (re)configuration of the package is needed at installation
time or if the file requirements was modified or if
the absolute pathname has changed. And it must be done on
each flavor or platform seperately.
tcsh> packman -s tcsh> packman -s skel v1For the first one you must be in the mgr directory which simply performs the command:
tcsh> source setup.cshIf a symbolic link default in skel is pointing to the default version, you can omit the version number.
to completely build the package and run myskel which is defined as alias in requirements. You can also move to ../src. and do a make there ... it's actually the same. Note that we should use Gnu-Make available as gmake on most systems.tcsh> gmake tcsh> myskel
a compressed tar file will be created in the $MANAGESAVE directory.tcsh> cd $SKELMGR tcsh> gmake tar
In a second step the compressed tar file can then be moved from the backup directory $MANAGESAVE to the official distribution place $MANAGEFTP which is accessabile via Anonymous FTP with:
tcsh> packman -e skel v1
Suggestions, comments or questions? Please contact: