Packaging Salome for Debian

The current work is done on Debian sid, amd64. It is supposed that you start from a fresh install. A dedicated directory will be used for building the salome package:

    mkdir ~/sdeb

For starting, the prerequisites are:

    git-core
    git-buildpackage
    quilt

Getting the sources

The sources are stored in a git repository hosted by the Debian project. A clone can be done by:

    cd ~/sdeb
    git clone http://git.debian.org/git/debian-science/packages/salome.git -b master
    cd salome

Then you can start to look at the remaining dependencies by running:

    git-buildpackage

All the dependencies should be available in Debian sid.

Building Salome

The Salome package building is resource intensive work. By starting from a fresh install, the hard disk consumption was at the end 11Go. Moreover by having 1024Mo of RAM and 900Mo of swap, the package building failed. I then updated the RAM to 1280Mo for making the first release. The building steps are:

    cd ~/sdeb/salome
    git-buildpackage
    cd

In case the build command fails, do not run it again else it will clean everything and start from scratch. Instead, have a look at the package building workflow. Once deb packages built, a runtime dependency will be:

    omniorb-nameserver

You can then start to install the runtime packages by:

    cd ~/sdeb
    su
    dpkg -i salome-common_5.1.3-11_all.deb 

A runtime dependency is:

    apt-get install omniorb-nameserver

Finally the main components are installed by:

    dpkg -i salome_5.1.3-11_amd64.deb

Then exit from root session:

    exit

Finally, Salome can be run by:

    runSalome

The Salome server can be stopped by:

    killSalome

Package building workflow

In case the command:

    git-buildpackage

does not finish, you have several solutions depending on the error. If you get a compilation error, try to fix it by using quilt and applying changes to the right patches in debian/patches. Then run the command:

    make

for testing the component build. You can then start again the whole build process with:

    ./debian/rules build

The same remark applies if you get an error in the install step. In that case, run:

    make install

for the failing component and continue the whole installation by:

    ./debian/rules install

Finally you can build the binary package by:

    fakeroot debian/rules binary

The same command will be used in case you get an error in the package building. Once the package installed and tested, you can first clean the build directory:

    fakeroot debian/rules clean

Your changes can at that step be commited to the local git repository which should only concern the debian directory. Then you need to start back from the beginning:

    git-buildpackage

Note that in case git-buildpackage does not work at that step, the build process may be wrong. You may want to start from scratch by:

    git reset --hard HEAD