Differences between revisions 3 and 4
Revision 3 as of 2006-04-19 13:24:31
Size: 5678
Comment:
Revision 4 as of 2006-04-20 05:40:01
Size: 5685
Comment: Gender neutrality
Deletions are marked like this. Additions are marked like this.
Line 23: Line 23:
If a maintainer wants to maintain his package within subversion, he can use the collab-maint repository even if the package is not (yet) collaboratively maintained. This is always useful since contributors are more likely to propose patch if they can be sure that the work has not yet been done. That's why the use of the SVN repository should be documented as a [http://www.debian.org/doc/manuals/developers-reference/ch-resources.en.html#s-pts-web static news in the PTS] (check the result on the [http://packages.qa.debian.org/debian-cd debian-cd PTS page] for example). If a maintainer wants to maintain his/her package within subversion, (s)he can use the collab-maint repository even if the package is not (yet) collaboratively maintained. This is always useful since contributors are more likely to propose patch if they can be sure that the work has not yet been done. That's why the use of the SVN repository should be documented as a [http://www.debian.org/doc/manuals/developers-reference/ch-resources.en.html#s-pts-web static news in the PTS] (check the result on the [http://packages.qa.debian.org/debian-cd debian-cd PTS page] for example).

This page contains guidelines to help you setup collaborative maintenance of packages on Alioth. You may also want to check the other Alioth pages: ["Alioth"] and ["AliothFAQ"].

1. Collaborative maintenance of a single package

If you maintain collaboratively only a single package, you probably don't need a full Alioth project with mailing list and everything. You should use the [http://svn.debian.org/wsvn/collab-maint/deb-maint/ subversion repository] of the [http://alioth.debian.org/projects/collab-maint/ collab-maint project]. Thanks to ACL, all Debian developers have write access on this repository. SVN commit notifications are automatically sent to the Package Tracking System (you need to subscribe in "advanced mode" on the web interface and to activate the "cvs" keyword, check the [http://www.debian.org/doc/manuals/developers-reference/ch-resources.en.html#s-pkg-tracking-system PTS documentation]).

To integrate your package in the repository, use svn-inject (with option -o to avoid storing upstream sources) with the following URL: svn+ssh://svn.debian.org/svn/collab-maint/deb-maint/ If the package is maintained by external contributors, it should be put in the ext-maint directory instead of deb-maint (it can easily be moved later if needed).

If you need to grant access to external contributors, please ask RaphaelHertzog to add a specific "xxx-guest" user to the collab-maint Alioth project.

1.1. Discussions between co-maintainers

Since you don't have a dedicated mailing list for the maintenance, you have 2 solutions:

  • use extensively the BTS. You can submit wishlist bugs on your package to keep track of improvements that you want to do. Since co-maintainers are subscribed to the PTS, they will receive everything and the discussion can happen via the BTS itself. The BTS is the TODO list for your package and every contributor can follow your plans (and offer help and patches!).
  • create a dedicated email alias on a debian account. Putting emails of all co-maintainers in a ~/.forward-<package> file on master.debian.org will create the <login>-<package>@debian.org email alias.

1.2. Non-collaborative maintenance

If a maintainer wants to maintain his/her package within subversion, (s)he can use the collab-maint repository even if the package is not (yet) collaboratively maintained. This is always useful since contributors are more likely to propose patch if they can be sure that the work has not yet been done. That's why the use of the SVN repository should be documented as a [http://www.debian.org/doc/manuals/developers-reference/ch-resources.en.html#s-pts-web static news in the PTS] (check the result on the [http://packages.qa.debian.org/debian-cd debian-cd PTS page] for example).

If you plan to maintain many related packages with the help of a team, you can request a dedicated Alioth project. Its name should start with "pkg-". This gives you access to all the services associated to an Alioth project (website, mailing lists, trackers, forums, etc.).

Examples of such projects are: [http://pkg-perl.alioth.debian.org/ pkg-perl], [http://alioth.debian.org/projects/pkg-gnome/ pkg-gnome], ...

2.1. Configuring SVN to send commit notifications

It is very important that you install a SVN hook to send commit notifications to the Package Tracking System since this is the canonical way for many people to follow what's happening on a given source package.

[http://opensource.perlig.de/svnmailer/ Svnmailer] is a python script that can be configured to handle this complicated task (extract the package name from the changeset and send out the diff to the right email) and it's available on svn.debian.org. You can find a sample configuration file with full comments (and a sample of a post-commit file for the hooks directory of a subversion repository) in the [http://svn.debian.org/wsvn/collab-maint/lib/trunk/hooks/ collab-maint SVN repository]: [http://svn.debian.org/wsvn/collab-maint/lib/trunk/hooks/post-commit?op=file&rev=0&sc=0 post-commit] and [http://svn.debian.org/wsvn/collab-maint/lib/trunk/hooks/svnmailer.conf?op=file&rev=0&sc=0 svnmailer.conf]

You may need to modify the for_paths variable if packages maintained in the repository are somewhere else than in /packages/. If you have a mailing list which should receive all commit notifications, you can comment to_fake and use to_addr, listing there your mailing list for commits.

Please never disclose publicly the package_cvs _AT_ packages.qa.debian.org email address used to send the commit notification. That's why the default configuration above uses bcc_addr instead of to_addr to effectively send the mail to package_cvs@... while pretending to send to package@....

Feel free to ask RaphaelHertzog if you need more information on this subject.

2.2. Setup a basic web site

Having an empty project web page doesn't look good. Please put some useful information in /org/alioth.debian.org/chroot/home/groups/<project>/htdocs, at the very least some links to the subversion repository, to the web page used to follow the status of all the packages maintained within the project, etc.

Check for example http://pkg-perl.alioth.debian.org/.

2.3. Disable Alioth services which are not needed

An Alioth project provide many services like trackers, forums, surveys, file download, etc. Most of those services are activated by default. Please disable all that you don't use via the administration web page.