-
Notifications
You must be signed in to change notification settings - Fork 10
Debian Build Instructions
Debian packaging for perfSONAR tools is described in Debian Packaging Guidelines.
This document will describe how to actually build the packages from the code repositories. Most perfSONAR git repositories contain one Debian/Ubuntu package description. Except the pscheduler and minor-packages that contain multiple packages, each one in a sub-directory.
A standalone building host can be setup through Vagrant. The distribution repository, in the debian/
directory, contains a Vagrantfile for that purpose. To make an easy use of it, you should clone this git repository in the same directory as the other perfSONAR repository you want to build.
Let's suppose you want to build the Debian package of the perfsonar-toolkit
git repository. You should then be able to do just that:
git clone [email protected]:perfsonar/toolkit.git
git clone [email protected]:perfsonar/distribution.git
cd distribution/debian
vagrant up
vagrant ssh
The building host will then contain all you need to build Debian packages out of your other local repositories.
There is a helper script to get you started, it is in the Vagrant host and is called ps-cowbuilder-build
For example, to build the perfsonar-toolkit
, after the vagrant ssh
and once in the Vagrant host, you just issue:
vagrant@d9-build-ps:)~$ ./ps-cowbuilder-build -b debian/stretch/4.2.3 toolkit
That command will build the toolkit packages out of the debian/stretch/4.2.3
branch. Check the script options to see how you can build different versions of the package or to build a release package from a tag. All the Vagrant setup and the associated scripts are contained in the distribution repository.
There are 2 special repositories that need an additional variable for the build, the actual package you want to build out of these repositories, because they contain multiple packages: pscheduler and minor-packages.
After a successful build, the resulting packages will be stored in the /vagrant/result/
directory in the Vagrant host or in the ../result/
directory on your development machine.
Check the debian directory in the distribution repository for more information.
To build multiple packages, we'll prefer to use the perfSONAR Jenkins infrastructure.
The setup we have is using custom scripts coming out of the same distribution repository. The internal of this setup is similar to the use of Vagrant host here above.