Differences between revisions 79 and 80
Revision 79 as of 2010-11-22 11:35:52
Size: 11918
Comment: added link to BioconductorBuntu
Revision 80 as of 2010-11-29 13:45:14
Size: 11974
Comment: added ref to DebianMed sprint
Deletions are marked like this. Additions are marked like this.
Line 42: Line 42:
  * [[Meetings/Luebeck2011]] - a Bioinformatics Sprint

http://people.debian.org/~tille/debian-med/logos/med-06.jpg

The Debian Med project presents packages that are associated with medicine, pre-clinical research, and life science. Its developments are mostly focused on three areas for the moment: medical practice, imaging and bioinformatics.

Over the previous years, several initiatives have spawned that address the scientific disciplines like chemistry or bioinformatics. Debian Med is not a competition to these efforts but a platform to present the packages to the community as a DebianPureBlends.

Contributing to Debian Med

From the developer to the user, there is a long chain of tasks in which we always welcome participation. First we must keep ourselves informed about the software landscape in biology and medicine. Software to be packaged is chosen according to criteria such as users' need and the consistency of the distribution. Once in Debian, the software is monitored for its quality and bugs are fixed, if possible in collaboration with the upstream maintainer(s). All this work would not be very useful if it remains confidential. We also dedicate some time to advertise it to the world wia http://www.debian.org and to ease the integration of new members through this wiki.

Please contact us on debian-med@lists.debian.org if you want to help to make medical and biological software available to Debian users. Next steps are the request of an account on the Alioth project management server and the request to access the source code repository by joining (see the hyperlink) via the Debian Med project page.

If you speak a language other than English, you can contribute rightaway with translations of package descriptions at http://ddtp.debian.org. When working on these, you will find immediate targets for improvements of the original English versions, too. For these, though, you need access to Debian Med's source code repository. Very welcome are tutorials that guide Debian users towards the use of packages to their immediate benefit. You may also consider to write respective articles for Magazines, be they online or in print.

If you would like to contribute to Debian Med you might also have a look at DebianMedTodo that contains a list of tasks to do.

Services for developers

Using subversion to group-maintain packages

Subversion is most convenient for organizing packages as a team and even for oneself since work can continue at multiple physical locations - like work, school, public transport and home. To join in, do as follows, a nice introduction due to be merged with this one (go ahead!) was found in Games/VCS:

  1. pre set up - install packages
    sudo apt-get install svn-buildpackage devscripts
  2. set up - create aliases for the most common commands
    alias svn-b='svn-buildpackage -us -uc -rfakeroot --svn-ignore'
    alias svn-br='svn-b --svn-dont-purge --svn-reuse'
    alias svn-bt='svn-buildpackage --svn-tag -rfakeroot'
    • The source of these aliases was lost. 'svn-b' does regularly build using the information of the repository. 'svn-br' speeds up the process by avoiding the untaring of the upstream source but is reusing the existing source tree of the prior build. The 3rd one does not need too often, don't use it, it is listed here as a reference only.

  3. checkout everything. If you have an account on Alioth then use it if you are interested in write access to the repository (you are)
    svn co svn+ssh://yourid-guest@svn.debian.org/svn/debian-med/trunk debian-med
    • Substitute yourid-guest with your Alioth account. The password you may have to enter multiple times if you do not use the ssh-add command. For read only access do

    svn co svn://svn.debian.org/debian-med/trunk debian-med
  4. cd debian-med

  5. If interested in packaging, not some other community efforts, then cd packages

  6. The package or your interest is aleady maintained with debian-med? Then it should be here. Go that directory. It might offer a directory 'trunk'. Go into that directory and in there you should find the directory 'debian'.
  7. You need the upstream sources. There are different ways to get it. What should work is
    • ./debian/rules get-orig-source

    • and if this does not work, then uscan --force-download. This will only work if there is a watch file in trunk/debian.

    • if that does not work, then inspect debian/copyright and/or debian/README.source for an indication how to retrieve it.
  8. If the above command retrieved a new version of the source, and would like to upgrade your package, use svn-upgrade ../newsourcefile. This will, among other things, update your changelog.

  9. The packages are to be built with svn-buildpackage. It should be informed on the whereabout of your sources. Inform it with echo "origDir=.." >> .svn/deb-layout.

  10. Edit files and build the package with svn-b (or svn-br)
  11. Are you a developer of Alioth and registered for DebianMed?

    • No: Register yourself and ask to be added as a developer
    • Or: Send the result of svn diff to the Debian Med mailing list

    • Yes: svn commit

  12. When a new version got accepted in the Debian archive, and you didn't tag the last build via
    svn-buildpackage --svn-tag
    • you can tag this version retroactively:
  13. create the tags directory within your package-folder, e.g. debian-med/trunk/packages/gwyddion, if it doesn't yet exist
    svn mkdir tags
    and commit or directly type the long phrase
    svn mkdir svn+ssh://<username>@svn.debian.org/svn/debian-med/trunk/packages/<package>/tags
  14. Then tag the release
    svn-buildpackage --svn-tag-only --svn-noautodch
    which avoids the changelog getting tagged UNRELEASED.

Whenever preparing new packages, please:

  1. use patches and ?dpatch or ?quilt, so there is no or little need to tamper with upstream's files directly.

  2. Upload the new package to the repository: New packages are first submitted to the Alioth svn after that package was first successfully packaged through dpkg-buildpackage

    aliothID="yourid-guest" # adapt to what your ID is
    svnrepos=svn+ssh://${aliothID}@svn.debian.org/svn/debian-med/trunk/packages
    svn-inject -v -o package.dsc $svnrepos
  3. a. Check out the source from svn. Change directory to the folder containing the debian directory and the merge mode of subversion. From the man page: "With this method, only the debian directory (and maybe some other modified files) are stored in the repository. At build time, the contents of the svn trunk are copied to the extracted tarball contents (and can overwrite parts of it). To choose this working model, set the svn property mergeWithUpstream on the Debian directory: svn  propset  mergeWithUpstream  1 debian"

  4. If svn-b (see above aliases) does not find the orig.tar.gz, then help with with setting the origDir. For best compatibility with the ?uscan auto-downloader from the ?devscripts package, it is suggested to specify the folder to folders above your package's debian folder. From within the trunk folder execute: echo "origDir=.." >> .svn/deb-layout. To retrieve the latest version of the package, if the debian/watch file is correctly set, then execute "uscan" as usual.

See also