Information for Developers

Alioth accounts

You need to create an Alioth account in order to access DebianGis/Repository and SVN. If you are already a Debian Developer, you already have one with your usual username, else you can create a new one here which will look like user-guest. Alioth is a Gforge based distributed development environment, which collects and gives uniform access to a complete set of commonly used tools for free software projects.

After registering, you can contact one of the Project Manager of the Alioth Grass Project to have your account added to the pkg-grass group and have useful information and hints to access the repository. When you adopt a (possibly new) package you should communicate your intention to the pkg-grass-general list and add information in DebianGis/PackageList. Due to historical reasons the DebianGis project uses the pkg-grass repository and tools on Alioth, but it is not limited to grass-related software.

The SVN repository is hosted on svn.debian.org whose accounts are kept in sync with Alioth ones on regular basis. So you will be able to access the repository by svn+ssh for checkouts and commits. If you are not familiar with SVN please read the SVN book. Minimally, you can checkout the grass repository by using a command like:

 svn checkout svn+ssh://your_username@svn.debian.org/svn/pkg-grass/packages/grass/trunk

and many commands are CVS-like. Please remember to use svn export in order to create a clean environment for the package (without the .svn stuff) before the final building for uploading a package. If you had doubts about convention (branches and tags) used in the repository, please ask on a mailing list. Some packages are maintained by means of svn-buildpackage and svn-inject, some others not.

Note that git has been recently adopted as an alternative and distributed VCS for DebianGis, so a package repository could also be hosted as a bare repo at

git clone ssh://your_username@git.debian.org/git/pkg-grass/<package>.git

More and general information about git use for Debian package are available here

Adding your package to the DebianGis Status monitor

It is a good idea to add your source package to the daily report about the status of DebianGis. To do that you need to checkout the scripts directory from project SVN repository and modify the dgis-packages.inc file to add the source file name to the list of monitored packages. Please, respect the perl syntax doing that, else you could break things.

Maintainership

If you would share your work with the group or co-maintain a package, ask for SVN committment rights to the list. It is a good practice adding yourself among Uploaders in the debian/control file and setting the Maintainer: field to 'Debian GIS Project <pkg-grass-devel@lists.alioth.debian.org>'. Also, it is better if you submit a few patches for DebianGis packages bugs before asking for committment access, if you are not a Debian Developer. From time to time, when uploading a new version of a package, check the list of Uploaders and remove people who did not do any commits since one year ore more, on the basis of the changelog contents. Please, avoid to upload a new package just to modify the Uploaders list, but try to keep the list as up-to-date as possible. A grain of salt should be used in updating the Uploaders list in case of slowly evolving products.

If you are looking for tasks that need to be completed, you can consult DebianGis/ToDo for packages which need updating, or the DebianGis status monitor page for not-yet-packaged stuff. It is a good idea to annotate the work-in-progress in the DebianGis/ToDo page to avoid duplicate efforts.

Backporting

backports.org guidelines

General suggestions and constraints for backports.org policy apply in our case. First of all, you have to backport only packages from testing, not sid ones. Avoid (build-)dependencies from packages (or versions) not present in stable (or in backports.org as second - less optimal - choice). It is specifically useful using pbuilder to build-up packages. In order to do that use pinning in the pbuilder environment to install other debian-gis backports as well as other specific required backports.org packages. For instance, one could add to pbuilder /etc/apt/preferences some entries like:

 Package: gdal-bin
 Pin: release a=squeeze-backports
 Pin-Priority: 999
 Package: libgdal-doc
 Pin: release a=squeeze-backports
 Pin-Priority: 999
 Package: python-gdal
 Pin: release a=squeeze-backports
 Pin-Priority: 999
 Package: libgdal1-1.6.0
 Pin: release a=squeeze-backports
 Pin-Priority: 999
 Package: libgdal1-dev
 Pin: release a=squeeze-backports
 Pin-Priority: 999
 Package: ogdi-dfsg
 Pin: release a=squeeze-backports
 Pin-Priority: 999
 Package: grass
 Pin: release a=squeeze-backports
 Pin-Priority: 999
 Package: grass-dev
 Pin: release a=squeeze-backports
 Pin-Priority: 999
 Package: libgdal-grass
 Pin: release a=squeeze-backports
 Pin-Priority: 999
 Package: proj
 Pin: release a=squeeze-backports
 Pin-Priority: 999

in order to select debian-gis basic backports to build other packages consistently. This is specifically useful with developer packages such as libraries. To do that you need to add a preferences file at the shell prompt as follows

pbuilder --login --save-after-login
...
cat >/etc/apt/preferences <<EOF
 Package: gdal-bin
 Pin: release a=squeeze-backports
 Pin-Priority: 999
 ...
EOF

Any doubt?

Just in case, ask on the debian-gis list or query on the IRC #debian-gis channel on the OFTC network. It is also a good idea to subscribe the pkg-grass-devel list to see commit logs, bug reports and other developers-only information and discussions.