[med-svn] r1277 - trunk/community/website/docs

hanska-guest at alioth.debian.org hanska-guest at alioth.debian.org
Sun Feb 3 16:38:13 UTC 2008


Author: hanska-guest
Date: 2008-02-03 16:38:12 +0000 (Sun, 03 Feb 2008)
New Revision: 1277

Added:
   trunk/community/website/docs/policy.xml
Removed:
   trunk/community/website/docs/policy.html
Log:
Adding DocBook version :)


Deleted: trunk/community/website/docs/policy.html
===================================================================
--- trunk/community/website/docs/policy.html	2008-02-03 12:36:46 UTC (rev 1276)
+++ trunk/community/website/docs/policy.html	2008-02-03 16:38:12 UTC (rev 1277)
@@ -1,286 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
-            "http://www.w3.org/TR/REC-html40/loose.dtd">
-<HTML>
-<HEAD>
-<TITLE>Debian-Med Policy
-</TITLE>
-
-<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<META name="GENERATOR" content="hevea 1.10">
-<STYLE type="text/css">
-.li-itemize{margin:1ex 0ex;}
-.li-enumerate{margin:1ex 0ex;}
-.dd-description{margin:0ex 0ex 1ex 4ex;}
-.dt-description{margin:0ex;}
-.toc{list-style:none;}
-.thefootnotes{text-align:left;margin:0ex;}
-.dt-thefootnotes{margin:0em;}
-.dd-thefootnotes{margin:0em 0em 0em 2em;}
-.footnoterule{margin:1em auto 1em 0px;width:50%;}
-.caption{padding-left:2ex; padding-right:2ex; margin-left:auto; margin-right:auto}
-.title{margin:2ex auto;text-align:center}
-.center{text-align:center;margin-left:auto;margin-right:auto;}
-.flushleft{text-align:left;margin-left:0ex;margin-right:auto;}
-.flushright{text-align:right;margin-left:auto;margin-right:0ex;}
-DIV TABLE{margin-left:inherit;margin-right:inherit;}
-PRE{text-align:left;margin-left:0ex;margin-right:auto;}
-BLOCKQUOTE{margin-left:4ex;margin-right:4ex;text-align:left;}
-TD P{margin:0px;}
-.boxed{border:1px solid black}
-.textboxed{border:1px solid black}
-.vbar{border:none;width:2px;background-color:black;}
-.hbar{border:none;height:2px;width:100%;background-color:black;}
-.hfill{border:none;height:1px;width:200%;background-color:black;}
-.vdisplay{border-collapse:separate;border-spacing:2px;width:auto; empty-cells:show; border:2px solid red;}
-.vdcell{white-space:nowrap;padding:0px;width:auto; border:2px solid green;}
-.display{border-collapse:separate;border-spacing:2px;width:auto; border:none;}
-.dcell{white-space:nowrap;padding:0px;width:auto; border:none;}
-.dcenter{margin:0ex auto;}
-.vdcenter{border:solid #FF8000 2px; margin:0ex auto;}
-.minipage{text-align:left; margin-left:0em; margin-right:auto;}
-.marginpar{border:solid thin black; width:20%; text-align:left;}
-.marginparleft{float:left; margin-left:0ex; margin-right:1ex;}
-.marginparright{float:right; margin-left:1ex; margin-right:0ex;}
-.theorem{text-align:left;margin:1ex auto 1ex 0ex;}
-.part{margin:2ex auto;text-align:center}
-</STYLE>
-</HEAD>
-<BODY >
-<!--HEVEA command line is: /usr/bin/hevea policy.tex -->
-<!--CUT DEF section 1 --><DIV CLASS="center">
-
-<IMG SRC="/img/debian-med.jpg" ALT="Debian-Med CDD">
-
-<HR SIZE=2><BR>
-<FONT SIZE=6><B>Group Policy</B></FONT>
-
-<BR>
-
-<TT>$policy.tex rev at REV@ - @DATE@ - @AUTHOR@$</TT>
-
-<HR SIZE=2><BR>
-<DIV CLASS="minipage">
-<DIV CLASS="flushleft">
-<FONT SIZE=4><EM>Authors:</EM></FONT><FONT SIZE=4><BR>
-David </FONT><FONT SIZE=4><SPAN STYLE="font-variant:small-caps">Paleino</SPAN></FONT><FONT SIZE=4>
-</FONT></DIV>
-</DIV>
-<DIV CLASS="minipage">
-<DIV CLASS="flushright">
-<FONT SIZE=4><EM>Supervisors:</EM></FONT><FONT SIZE=4><BR>
-Andreas </FONT><FONT SIZE=4><SPAN STYLE="font-variant:small-caps">Tille</SPAN></FONT><FONT SIZE=4>
-</FONT></DIV>
-</DIV>
-<HR SIZE=2>
-</DIV><!--TOC section Introduction-->
-<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc1">1</A>  Introduction</H2><!--SEC END --><P>
-Debian-Med is a “<A HREF="http://people.debian.org/~tille/cdd">Custom Debian Distribution</A>” with the aim to develop Debian into an operating system that is particularly well fit for the requirements for medical practice and research.<BR><BR>
-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.<BR><BR>
-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 Custom Debian Distribution.
-</P><!--TOC section How to Contribute-->
-<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc2">2</A>  How to Contribute</H2><!--SEC END --><P>
-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.<BR>
-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.<BR>
-We also dedicate some time to advertise it to the world via <A HREF="http://www.debian.org"><TT>http://www.debian.org</TT></A> and to ease the integration of new members through this wiki.<BR><BR>
-Please contact us on <A HREF="mailto:debian-med at lists.debian.org">debian-med at lists.debian.org</A> if you want to help to make medical and biological software available to Debian users. Read the <B>Membership</B> section if you’re interested in joining us.<BR><BR>
-If you speak a language other than English, you can contribute rightaway with translations of package descriptions at <A HREF="http://ddtp.debian.org"><TT>http://ddtp.debian.org</TT></A>. 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.
-</P><!--TOC subsection Membership-->
-<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc3">2.1</A>  Membership</H3><!--SEC END --><P>
-To request membership to this group, please go on our <A HREF="http://alioth.debian.org/projects/debian-med"><EM>Alioth page</EM></A>, or directly follow this <A HREF="http://alioth.debian.org/project/request.php?group_id=30063">link</A>. Remember that you <B>must</B> have an Alioth account before requesting membership.
-</P><!--TOC section Subversion-->
-<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc4">3</A>  Subversion</H2><!--SEC END --><P>
-Our Subversion (SVN) repository is currently hosted on <A HREF="http://alioth.debian.org"><EM>Alioth</EM></A>, the hosting facility provided by Debian to free software developers. You can have a look at the repository through Alioth’s <A HREF="http://svn.debian.org/wsvn/debian-med">web interface</A>.
-</P><!--TOC subsection Give me the source!-->
-<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc5">3.1</A>  Give me the source!</H3><!--SEC END --><P>
-To check sources out from SVN, please do:
-</P><UL CLASS="itemize"><LI CLASS="li-itemize">
-if you are a member of Debian-Med:
-<PRE CLASS="verbatim">svn co svn+ssh://user@alioth.debian.org/svn/debian-med/trunk/...
-</PRE></LI><LI CLASS="li-itemize">are <B>NOT</B> a member of Debian-Med:
-<PRE CLASS="verbatim">svn co svn://svn.debian.org/svn/debian-med/trunk/...
-</PRE></LI></UL><!--TOC subsection Repository structure-->
-<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc6">3.2</A>  Repository structure</H3><!--SEC END --><P>
-The SVN repository is structured as follows:<BR>
-.1 debian-med/.
-.2 trunk/.
-.3 community/.
-.4 debtags/.
-.4 infrastructure/.
-.4 website/.
-.3 packages/.
-.4 &lt;package&gt;/.
-.5 branches/.
-.5 tags/.
-.5 trunk/.
-.6 debian/.
-
-</P><!--TOC section Packaging-->
-<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc7">4</A>  Packaging</H2><!--SEC END --><!--TOC subsection Announcing intent to package-->
-<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc8">4.1</A>  Announcing intent to package</H3><!--SEC END --><P>If you intent to work on a Debian package you should follow the
-<A HREF="http://www.debian.org/devel/wnpp/#l1">normal Debian rules</A> and
-file a <TT>WNPP</TT> bug report. It is a good idea to keep the
-Debian-Med mailing list
-<A HREF="mailto:debian-med at lists.debian.org">debian-med at lists.debian.org</A>
-in CC or forward the response of the BTS that includes the bug number
-to the mailing list to keep your co-workers informed.</P><P>In addition to this you should add a user tag to this WNPP bug to
-make sure that your intent is in focus of the Debian-Med team. This
-can be done by sending a mail to 
-<A HREF="mailto:request at bugs.debian.org">request at bugs.debian.org</A> with
-the following content:
-</P><PRE CLASS="verbatim">user debian-med at lists.debian.org
-usertag &lt;bug-number&gt; + wnpp med-&lt;task&gt;
-thanks
-</PRE><P>For instance if you want to tag an ITP with bug number #123456 for
-Debian-Med section biology you would do the following: 
-</P><PRE CLASS="verbatim">mailx -s "Tagging bug #123456" request at bugs.debian.org &lt;&lt;...
-user debian-med at lists.debian.org
-usertag 123456 + wnpp med-bio
-thanks
-...
-</PRE><!--TOC subsection Conventions-->
-<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc9">4.2</A>  Conventions</H3><!--SEC END --><P>
-Please, in <TT>debian/control</TT>, use these values:
-</P><PRE CLASS="verbatim">...
-Section: ...
-Priority: ...
-Maintainer: Debian-Med Packaging Team &lt;debian-med-packaging at lists.alioth.debian.org&gt;
-XS-DM-Upload-Allowed: yes
-Uploaders: &lt;yourname&gt; &lt;youremail&gt;
-Standards-Version: 3.7.3
-Homepage: http://...
-Vcs-Svn: svn://svn.debian.org/svn/debian-med/trunk/packages/&lt;package&gt;/trunk/
-Vcs-Browser: http://svn.debian.org/wsvn/debian-med/trunk/packages/&lt;package&gt;/trunk/?rev=0&amp;sc=0
-...
-</PRE><P>Make sure you use the right Section and Priority fields for the package. Also, be sure to use the latest Standards-Version. Please also add the Homepage field, we aim at having our packages the most complete as they can be.
-</P><!--TOC subsection Uploading a new package-->
-<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc10">4.3</A>  Uploading a new package</H3><!--SEC END --><P>
-To upload a new package to the SVN repository, you must have write access to it; i.e. you must be a member of this group.<BR>
-You can upload a new package only <EM>after</EM> successfully building it with <B>dpkg-buildpackage</B> (or any wrapper around it). Then you can:
-</P><PRE CLASS="verbatim">$ svn-inject package.dsc svn+ssh://user@alioth.debian.org/svn/debian-med/trunk/packages/
-</PRE><P>The <TT>svn-inject</TT> command is found in the <TT>svn-buildpackage</TT> package (just <TT>apt-get</TT> it).<BR>
-
-Once you uploaded a new package please make sure that it is mentioned
-in the apropriate tasks file in the package source of the debian-med
-package
-<A HREF="http://svn.debian.org/wsvn/cdd/projects/med/trunk/debian-med/tasks/?rev=0&amp;sc=0">in
-SVN</A>. Normally maintainer watch the changes in the Debian-Med
-packaging pool but it helps if the maintainer of a certain package
-verifies that everything is in the right place.</P><!--TOC subsection Building the packages-->
-<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc11">4.4</A>  Building the packages</H3><!--SEC END --><P>
-To build the package, just use the tools that <TT>svn-buildpackage</TT> carries. First of all, we suggest you to define some aliases for the most common commands:
-</P><PRE CLASS="verbatim">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'
-</PRE><P>You’re ready now to checkout the sources (see the proper section).<BR><BR>
-Once done, you’re ready to do the work. First, cd to the <TT>trunk</TT> directory, and download the upstream sources (if there is a debianwatch file):
-</P><PRE CLASS="verbatim">echo "origDir=.." &gt;&gt; .svn/deb-layout &amp;&amp; uscan --force-download
-</PRE><P>Alternatively, you can try this, it depends on how the package was built (again, from the <TT>trunk</TT> directory:
-</P><PRE CLASS="verbatim">debian/rules get-orig-source
-</PRE><P>Once done, edit the files you need, and then build the package with <TT>svn-b</TT> or <TT>svn-br</TT>.<BR><BR>
-If you’re a Debian-Med member, you can commit your changes:
-</P><PRE CLASS="verbatim">svn commit
-</PRE><P>(also <TT>svn ci</TT>).<BR>
-Otherwise, you can ask to be added to the group (see the Membership section), or send the result of <TT>svn diff</TT> to the <A HREF="mailto:debian-med at lists.debian.org">mailing list</A> (gzip it, if it’s too large).
-</P><!--TOC subsection Tagging packages-->
-<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc12">4.5</A>  Tagging packages</H3><!--SEC END --><P>
-It may happen that a package version has been uploaded to Debian repositories, and you forgot to tag the last build with
-</P><PRE CLASS="verbatim">svn-buildpackage --svn-tag
-</PRE><P>You can tag this package also retroactively. A first step, creating the <TT>tags</TT> directory, can be achieved in two ways:
-</P><UL CLASS="itemize"><LI CLASS="li-itemize">
-create it locally (it is a sibling of <TT>trunk</TT>), and commit:
-<PRE CLASS="verbatim">svn mkdir tags
-svn commit
-</PRE></LI><LI CLASS="li-itemize">create it remotely:
-<PRE CLASS="verbatim">svn mkdir svn+ssh://user@svn.debian.org/svn/debian-med/trunk/packages/&lt;package&gt;/tags
-</PRE></LI></UL><P>
-After the <TT>tags</TT> directory has been created, you’re ready to tag the package:
-</P><PRE CLASS="verbatim">svn-buildpackage --svn-tag-only --svn-no-autodch
-</PRE><P>(<TT>--svn-no-autodch</TT> avoids <TT>debian</TT><TT>changelog</TT> to be marked as <TT>UNRELEASED</TT>).
-</P><!--TOC subsection Handling patches-->
-<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc13">4.6</A>  Handling patches</H3><!--SEC END --><P>
-Often happens that the upstream code doesn’t fit well into the Debian distribution: be this wrong paths, missing features, anything that implies editing the source files. When you directly edit upstream’s source files, your changes will be put into a <TT>.diff.gz</TT> file, which should instead contain only <TT>debian</TT>. Because of this, it’s best using a <EM>patch handling system</EM> which keeps patches under the <TT>debian</TT> directory.<BR>
-The most known are <TT>quilt</TT> and <TT>dpatch</TT>. Please don’t use any other patch system in Debian-Med, unless absolutely necessary.
-</P><!--TOC subsubsection Using <TT>quilt</TT>-->
-<H4 CLASS="subsubsection"><!--SEC ANCHOR --><A NAME="htoc14">4.6.1</A>  Using <TT>quilt</TT></H4><!--SEC END --><P>
-Using <TT>quilt</TT> is rather easy.<BR>
-First, make sure you have correctly setup <TT>quilt</TT>: open <TT>.quiltrc</TT> in your home directory (create it if you don’t have one), and make sure it looks like this:
-</P><PRE CLASS="verbatim">QUILT_DIFF_ARGS="--no-timestamps --no-index"
-QUILT_REFRESH_ARGS="--no-timestamps --no-index"
-QUILT_PATCH_OPTS="--unified-reject-files"
-QUILT_PATCHES="debian/patches"
-</PRE><P>After this, you’re ready to start working with quilt.
-</P><!--TOC paragraph Creating a patch-->
-<H5 CLASS="paragraph"><!--SEC ANCHOR -->Creating a patch</H5><!--SEC END --><P>
-<TT>new</TT>, <TT>edit</TT>, <TT>refresh</TT><BR>
-To create a patch, use the <TT>new</TT> command. Run:
-</P><PRE CLASS="verbatim">quilt new &lt;patch_name&gt;.patch
-</PRE><P>This will create (if it doesn’t exist yet) a <TT>debian</TT><TT>patches</TT><TT>series</TT> file, which contains all the patches to be applied by quilt. Moreover, the new patch is also the <EM>topmost</EM> (the currently applied).<BR><BR>
-Now start editing files, with:
-</P><PRE CLASS="verbatim">quilt edit &lt;file&gt;
-</PRE><P>and repeat the process for each file the patch is involved with. At the end, run
-</P><PRE CLASS="verbatim">quilt refresh
-</PRE><P>This will compare the noted state of the edited files with the current state, and will produce a patch in <TT>debian</TT><TT>patches</TT>. Remember: the patch is currently <B>applied</B> (you can check this with <TT>quilt applied</TT>).
-</P><!--TOC paragraph Applying and unapplying patches-->
-<H5 CLASS="paragraph"><!--SEC ANCHOR -->Applying and unapplying patches</H5><!--SEC END --><P>
-<TT>push</TT>, <TT>pop</TT>, <TT>applied</TT>, <TT>unapplied</TT><BR>
-Just two easy commands to do the job:<BR><BR>
-<TT>quilt pop</TT> will unapply the topmost patch.<BR>
-<TT>quilt push</TT> will apply the next patch in <TT>debian/patches/series</TT>.<BR>
-You can just add a “-a” flag to the commands above, to respectively apply/unapply <B>all</B> patches in the series.<BR><BR>
-You can check which patches are appliedunapplied with, respectively, <TT>quilt applied</TT> and <TT>quilt unapplied</TT>.
-</P><!--TOC paragraph Editing patches-->
-<H5 CLASS="paragraph"><!--SEC ANCHOR -->Editing patches</H5><!--SEC END --><P>
-<TT>push</TT>, <TT>pop</TT>, <TT>edit</TT>, <TT>refresh</TT><BR>
-To edit a patch, first make it the topmost:
-</P><PRE CLASS="verbatim">quilt push &lt;patch_name&gt;
-</PRE><P>If the patch is already applied, but is not the topmost, run <TT>quilt pop</TT> until it becomes the currently applied one.<BR><BR>
-You can now run <TT>quilt edit</TT> on the files you want to change, and, when you’re done, <TT>quilt refresh</TT>.
-</P><!--TOC paragraph Renaming patches-->
-<H5 CLASS="paragraph"><!--SEC ANCHOR -->Renaming patches</H5><!--SEC END --><P>
-<TT>rename</TT><BR>
-Sometimes it’s useful to rename a patch. Without any hassle, do:
-</P><PRE CLASS="verbatim">quilt rename -P &lt;old_name&gt;.patch &lt;new_name&gt;.patch
-</PRE><!--TOC paragraph Other commands-->
-<H5 CLASS="paragraph"><!--SEC ANCHOR -->Other commands</H5><!--SEC END --><P>
-.<BR>
-Please see <TT>man 1 quilt</TT> to have a comprehensive list of commands.
-</P><!--TOC paragraph Integration in the build process-->
-<H5 CLASS="paragraph"><!--SEC ANCHOR -->Integration in the build process</H5><!--SEC END --><P>
-Add in the very first part of <TT>debian</TT><TT>rules</TT> (i.e. <I>before</I> the targets), the line:
-</P><PRE CLASS="verbatim">include /usr/share/quilt/quilt.make
-</PRE><P>Remember to add the needed dependencies to <TT>Makefile</TT>’s targets:
-</P><PRE CLASS="verbatim">...
-build: patch build-stamp
-build-stamp: configure
-...
-</PRE><P>This kind of dependency will ensure that if you also patch the build system, you get a working <I>patched</I> build process. Please don’t also put <I>configure</I> as a dependency of <TT>build</TT> (leave it in <TT>build-stamp</TT>): that may cause problems during parallel buildings (i.e. the <TT>-j</TT> flag of <TT>make</TT>).<BR>
-Now add a dependency to the clean target:
-</P><PRE CLASS="verbatim">...
-clean: unpatch
-...
-</PRE><P>If you’ve also patched the build system, using upstream’s <TT>clean</TT> target might fail. This is what you should do:
-</P><PRE CLASS="verbatim">...
-clean: clean-patched unpatch
-clean-patched:
-...
-</PRE><P>Obviously, you could always use an approach like this, but it’s an useless complication if you don’t patch the build system, and you should keep <TT>debian</TT><TT>rules</TT> the simplest you can.
-</P><!--TOC subsubsection Using <TT>dpatch</TT>-->
-<H4 CLASS="subsubsection"><!--SEC ANCHOR --><A NAME="htoc15">4.6.2</A>  Using <TT>dpatch</TT></H4><!--SEC END --><!--TOC paragraph Creating a patch-->
-<H5 CLASS="paragraph"><!--SEC ANCHOR -->Creating a patch</H5><!--SEC END --><P>
-<TT>dpatch-edit-patch</TT><BR>
-</P><!--TOC paragraph Applying and unapplying patches-->
-<H5 CLASS="paragraph"><!--SEC ANCHOR -->Applying and unapplying patches</H5><!--SEC END --><P>
-<TT>apply(-all)</TT>, <TT>unapply(-all)</TT>, <TT>status</TT><BR>
-</P><!--TOC paragraph Editing a patch-->
-<H5 CLASS="paragraph"><!--SEC ANCHOR -->Editing a patch</H5><!--SEC END --><P>
-<TT>dpatch-edit-patch</TT>
-</P><!--TOC paragraph Integration in the build process-->
-<H5 CLASS="paragraph"><!--SEC ANCHOR -->Integration in the build process</H5><!--SEC END --><P>
-Follow the instructions for <TT>quilt</TT> and adapt the path of inclusion to <TT>usr</TT><TT>share</TT><TT>dpatch</TT><TT>dpatch.make</TT>.
-</P><!--CUT END -->
-<!--HTMLFOOT-->
-<!--ENDHTML-->
-<!--FOOTER-->
-<HR SIZE=2><BLOCKQUOTE CLASS="quote"><EM>This document was translated from L<sup>A</sup>T<sub>E</sub>X by
-</EM><A HREF="http://hevea.inria.fr/index.html"><EM>H</EM><EM><FONT SIZE=2><sup>E</sup></FONT></EM><EM>V</EM><EM><FONT SIZE=2><sup>E</sup></FONT></EM><EM>A</EM></A><EM>.</EM></BLOCKQUOTE></BODY>
-</HTML>

Added: trunk/community/website/docs/policy.xml
===================================================================
--- trunk/community/website/docs/policy.xml	                        (rev 0)
+++ trunk/community/website/docs/policy.xml	2008-02-03 16:38:12 UTC (rev 1277)
@@ -0,0 +1,450 @@
+<?xml version="1.0"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V5.0CR7//EN" "http://www.docbook.org/xml/5.0CR7/dtd/docbook.dtd">
+<article xmlns="http://docbook.org/ns/docbook" xml:base="http://debian-med.alioth.debian.org/">
+	<title>Debian-Med Group Policy</title>
+	<info>
+		<authorgroup>
+			<author>
+				<personname>Andreas Tille</personname>
+				<email>tille at debian.org</email>
+				<contrib>First review</contrib>
+			</author>
+			<author>
+				<personname>David Paleino</personname>
+				<email>d.paleino at gmail.com</email>
+				<contrib>Initial writing</contrib>
+			</author>
+		</authorgroup>
+		<releaseinfo>
+			$ policy.xml rev. @REV@ - @DATE@ (@AUTHOR@) $
+		</releaseinfo>
+	</info>
+	<mediaobject>
+		<imageobject>
+			<imagedata fileref="/img/debian-med.jpg" format="JPG" align="center" />
+		</imageobject>
+	</mediaobject>
+	<sect1>
+		<title>Introduction</title>
+		<para>Debian-Med is a "<link xlink:href="http://people.debian.org/~tille/cdd">Custom Debian Distribution</link>"
+		with the aim to develop Debian into an operating system that is particularly
+		well fit for the requirements for medical practice and research.</para>
+		<para>The Debian-Med project presents packages that are associated
+		with medicine, pre-clinical research, and life sciences. Its developments
+		are mostly focused on three areas for the moment: medical practice,
+		imaging and bioinformatics.</para>
+		<para>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 Custom Debian Distribution.</para>
+	</sect1>
+	<sect1>
+		<title>How to Contribute</title>
+		<para>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.</para>
+		<para>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.</para>
+		<para>We also dedicate some time to advertise it to the world via
+		<link xlink:href="http://www.debian.org">www.debian.org</link>
+		and to ease the integration of new members.</para>
+		<para>Please contact us on <link xlink:href="mailto:debian-med at lists.debian.org">debian-med at lists.debian.org</link>
+		if you want to help to make medical and biological software available
+		to Debian users. Read the <link>Membership</link> section if you're
+		interested in joining us.</para>
+		<para>If you speak a language other than English, you can contribute
+		rightaway with translations of package descriptions at
+		<link xlink:href="http://ddtp.debian.org">ddtp.debian.org</link>.</para>
+		<para>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.</para>
+		<sect2>
+			<title>Membership</title>
+			<para>To request membership to this group, please go on our
+			<link xlink:href="http://alioth.debian.org/projects/debian-med">Alioth page</link>,
+			or directly follow this <link xlink:href="http://alioth.debian.org/project/request.php?group_id=30063">link</link>.
+			Remember that you must have an Alioth account before requesting
+			membership (see <link xlink:href="http://alioth.debian.org/account/register.php">here</link>
+			to request an Alioth account).</para>
+		</sect2>
+	</sect1>
+	<sect1>
+		<title>Subversion</title>
+		<para>Our Subversion (SVN) repository is currently hosted on
+		<link xlink:href="http://alioth.debian.org/">Alioth</link>, the hosting
+		facility provided by Debian to free software developers. You can have a look at
+		the repository through Alioth's <link xlink:href="http://svn.debian.org/wsvn/debian-med/trunk/?rev=0&amp;sc=0">web</link>
+		<link xlink:href="http://svn.debian.org/viewsvn/debian-med">interfaces</link>.</para>
+		<sect2>
+			<title>Give me the source!</title>
+			<para>
+				To check sources out from SVN, please do:
+				<itemizedlist>
+					<listitem>
+						<para>if you are a member of Debian-Med:</para>
+						<blockquote>
+							<para><userinput>
+								<command>svn co</command> <filename class="directory">svn+ssh://user@alioth.debian.org/svn/debian-med/trunk/...</filename>
+							</userinput></para>
+						</blockquote>
+					</listitem>
+					<listitem>
+						<para>if you are NOT a member of Debian-Med:</para>
+						<blockquote>
+							<para><userinput>
+								<command>svn co</command> <filename class="directory">svn://svn.debian.org/svn/debian-med/trunk/...</filename>
+							</userinput></para>
+						</blockquote>
+					</listitem>
+				</itemizedlist>
+			</para>
+		</sect2>
+		<sect2>
+			<title>Repository structure</title>
+			<para>The SVN repository is structured as follows:
+.1 debian-med/. .2 trunk/. .3 community/. .4 debtags/. .4 infrastructure/. .4 website/. .3 packages/. .4 &lt;package&gt;/. .5 branches/. .5 tags/. .5 trunk/. .6 debian/.
+</para>
+		</sect2>
+	</sect1>
+	<sect1>
+		<title>Packaging</title>
+		<sect2>
+			<title>Announcing intent to package</title>
+			<para>If you intent to work on a Debian package you should follow
+			the <link xlink:href="http://www.debian.org/devel/wnpp/#l1">normal Debian rules</link> and file a <acronym>WNPP</acronym> bug report.</para>
+			<para>It is a good idea to keep the Debian-Med mailing list
+			<link xlink:href="mailto:debian-med at lists.debian.org">debian-med at lists.debian.org</link>
+			in CC or forward the response of the BTS that includes the bug
+			number to the mailing list to keep your co-workers informed.</para>
+			<para>In addition to this you should add a user tag to this
+			<acronym>WNPP</acronym> bug	to make sure that your intent is in focus
+			of the Debian-Med team.</para>
+			<para>This can be done by sending a mail to <link xlink:href="mailto:request at bugs.debian.org">request at bugs.debian.org</link>
+			with the following content:</para>
+			<blockquote>
+				<programlisting>user debian-med at lists.debian.org
+usertag &lt;bug-number&gt; + wnpp med-&lt;task&gt;
+thanks</programlisting>
+			</blockquote>
+			<para>For instance if you want to tag an <acronym>ITP</acronym> with
+			bug number #123456 for Debian-Med section biology you would do the
+			following:</para>
+			<blockquote>
+				<programlisting>mailx -s "Tagging bug #123456" request at bugs.debian.org &lt;&lt;...
+user debian-med at lists.debian.org
+usertag 123456 + wnpp med-bio
+thanks
+...</programlisting>
+			</blockquote>
+		</sect2>
+		<sect2>
+			<title>Conventions</title>
+			<para>Please, in <filename>debian/control</filename>, use these values:</para>
+			<blockquote>
+				<programlisting>...
+Section: ...
+Priority: ...
+Maintainer: Debian-Med Packaging Team &lt;debian-med-packaging at lists.alioth.debian.org&gt;
+XS-DM-Upload-Allowed: yes
+Uploaders: &lt;yourname&gt; &lt;youremail&gt;
+Standards-Version: 3.7.3
+Homepage: http://...
+Vcs-Svn: svn://svn.debian.org/svn/debian-med/trunk/packages/&lt;package&gt;/trunk/
+Vcs-Browser: http://svn.debian.org/wsvn/debian-med/trunk/packages/&lt;package&gt;/trunk/?rev=0&amp;sc=0
+...</programlisting>
+			</blockquote>
+			<para>Make sure you use the right Section and Priority fields for
+			the package. Also, be sure to use the latest Standards-Version.
+			Please also add the Homepage field, we aim at having our packages
+			the most complete as they can be.</para>
+		</sect2>
+		<sect2>
+			<title>Injecting a new package</title>
+			<para>To inject a new package to the SVN repository, you must have
+			write access to it; i.e. you must be a member of this group.</para>
+			<para>You can inject a new package only after successfully building
+			it with <command>dpkg-buildpackage</command> (or any wrapper around it). Then you can:</para>
+			<blockquote>
+				<para><userinput>
+					<command>svn-inject</command>
+					<filename>package.dsc</filename>
+					<filename class="directory">svn+ssh://user@alioth.debian.org/svn/debian-med/trunk/packages/</filename>
+				</userinput></para>
+			</blockquote>
+			<para>The <command>svn-inject</command> command is found in the
+			<command>svn-buildpackage</command> package	(just
+			<command>apt-get</command> it).</para>
+			<para>Once you injected a new package please make sure that it is
+			mentioned in the apropriate tasks file in the package source of the
+			debian-med package in SVN. Normally maintainer watch the changes in
+			the Debian-Med packaging pool but it helps if the maintainer of a
+			certain package verifies that everything is in the right place.</para>
+		</sect2>
+		<sect2>
+			<title>Building the packages</title>
+			<para>To build the package, just use the tools that <command>svn-buildpackage</command>
+			carries. First of all, we suggest you to define some aliases for the
+			most common commands:</para>
+			<blockquote>
+				<programlisting>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'</programlisting>
+			</blockquote>
+			<para>Checkout the sources (see the proper section).</para>
+			<para>Once done, you're ready to do the work. First, cd to the trunk
+			directory, and download the upstream sources (if there is a
+			<filename>debian/watch</filename> file):</para>
+			<blockquote>
+				<para><userinput>
+					<command>echo "origDir=.." &gt;&gt; .svn/deb-layout &amp;&amp; uscan --force-download</command>
+				</userinput></para>
+			</blockquote>
+			<para>Alternatively, you can try this, it depends on how the package
+			was built (again, from the <filename class="directory">trunk/</filename> directory):</para>
+			<blockquote>
+				<para><userinput>
+					<command>debian/rules get-orig-source</command>
+				</userinput></para>
+			</blockquote>
+			<para>Once done, edit the files you need, and then build the package with
+			<command>svn-b</command> or <command>svn-br</command>.</para>
+			<para>If you're a Debian-Med member, you can commit your changes:</para>
+			<blockquote>
+				<para><userinput>
+					<command>svn commit</command>
+				</userinput></para>
+			</blockquote>
+			<para>(also <command>svn ci</command>).</para>
+			<para>Otherwise, you can ask to be added to the group (see the Membership
+			section), or send the result of svn diff to the
+			<link xlink:href="mailto:debian-med at lists.debian.org">mailing list</link>
+			(<command>gzip -9</command> it, if it's too large).</para>
+		</sect2>
+		<sect2>
+			<title>Tagging packages</title>
+			<para>It may happen that a package version has been uploaded to Debian
+			repositories, and you forgot to tag the last build with</para>
+			<blockquote>
+				<para><userinput>
+					<command>svn-buildpackage --svn-tag</command>
+				</userinput></para>
+			</blockquote>
+			<para>
+				You can tag this package also retroactively. A first step, creating
+				the tags directory, can be achieved in two ways:
+				<itemizedlist>
+					<listitem>
+						<para>create it locally (it is a sibling of <filename class="directory">trunk/</filename>), and commit:</para>
+						<blockquote>
+							<para><userinput>
+								<command>svn mkdir</command> <filename class="directory">tags</filename>
+							</userinput></para>
+							<para><userinput>
+								<command>svn commit</command>
+							</userinput></para>
+						</blockquote>
+					</listitem>
+					<listitem>
+						<para>create it remotely:</para>
+						<blockquote>
+							<para><userinput>
+								<command>svn mkdir</command> <filename class="directory">svn+ssh://user@svn.debian.org/svn/debian-med/trunk/packages/&lt;package&gt;/tags</filename>
+							</userinput></para>
+						</blockquote>
+					</listitem>
+				</itemizedlist>
+			</para>
+			<para>After the tags directory has been created, you're ready to tag the
+			package:</para>
+			<blockquote>
+				<para><userinput>
+					<command>svn-buildpackage --svn-tag-only --svn-no-autodch</command>
+				</userinput></para>
+			</blockquote>
+			<para>(--svn-no-autodch avoids <filename>debian/changelog</filename> to be marked as UNRELEASED).</para>
+		</sect2>
+		<sect2>
+			<title>Handling patches</title>
+			<para>Often happens that the upstream code doesn't fit well into the
+			Debian distribution: be this wrong paths, missing features, anything
+			that implies editing the source files. When you directly edit
+			upstream's source files, your changes will be put into a .diff.gz file,
+			which should instead contain only debian. Because of this, it's best
+			using a patch handling system which keeps patches under the
+			<filename class="directory">debian/</filename> directory.</para>
+			<para>The most known are <command>quilt</command> and <command>dpatch</command>.
+			Please don't use any other patch system in Debian-Med, unless absolutely
+			necessary.</para>
+			<sect3>
+				<title>Using <command>quilt</command></title>
+				<para>Using quilt is rather easy.</para>
+				<para>First, make sure you have correctly setup quilt: open
+				<filename>.quiltrc</filename> in your home directory (create
+				it if you don't have one), and make sure it looks like this:</para>
+				<blockquote>
+					<programlisting>QUILT_DIFF_ARGS="--no-timestamps --no-index"
+QUILT_REFRESH_ARGS="--no-timestamps --no-index"
+QUILT_PATCH_OPTS="--unified-reject-files"
+QUILT_PATCHES="debian/patches"</programlisting>
+				</blockquote>
+				<para>After this, you're ready to start working with quilt.</para>
+				<sect4>
+					<title>Creating a patch</title>
+					<para>To create a patch, use the <command>new</command> command.
+					Run:</para>
+					<blockquote>
+						<para><userinput>
+							<command>quilt new</command> <filename>&lt;patch_name&gt;.patch</filename>
+						</userinput></para>
+					</blockquote>
+					<para>This will create (if it doesn't exist yet) a
+					<filename>debian/patches/series</filename> file, which
+					contains all the patches to be applied by quilt. Moreover,
+					the new patch is also the topmost (the currently
+					applied).</para>
+					<para>Now start editing files, with:</para>
+					<blockquote>
+						<para><userinput>
+							<command>quilt edit</command> <filename>&lt;file&gt;</filename>
+						</userinput></para>
+					</blockquote>
+					<para>and repeat the process for each file the patch is
+					involved with. At the end, run</para>
+					<blockquote>
+						<para><userinput>
+							<command>quilt refresh</command>
+						</userinput></para>
+					</blockquote>
+					<para>This will compare the noted state of the edited files
+					with the current state, and will produce a patch in
+					<filename>debian/patches</filename>. Remember: the patch
+					is currently applied (you can check this with
+					<command>quilt applied</command>).</para>
+				</sect4>
+				<sect4>
+					<title>Applying and unapplying patches</title>
+					<para>Just two easy commands to do the job:</para>
+					<itemizedlist>
+						<listitem><para><command>quilt pop</command> will unapply the topmost patch.</para></listitem>
+						<listitem><para><command>quilt push</command> will apply the next patch in debian/patches/series.</para></listitem>
+					</itemizedlist>
+					<para>You can just add a "-a" flag to the commands above, to
+					respectively apply/unapply all patches in the series.</para>
+					<tip>
+						<para>You can check which patches are applied/unapplied
+						with, respectively, <command>quilt applied</command> and
+						<command>quilt unapplied</command>.</para>
+					</tip>
+				</sect4>
+				<sect4>
+					<title>Editing patches</title>
+					<para>To edit a patch, first make it the topmost:</para>
+					<blockquote>
+						<para><userinput>
+							<command>quilt push</command> <filename>&lt;patch_name&gt;</filename>
+						</userinput></para>
+					</blockquote>
+					<para>If the patch is already applied, but is not the topmost,
+					run <command>quilt pop</command> until it becomes the currently
+					applied one.</para>
+					<para>You can now run <command>quilt edit</command> on the files
+					you want to change, and, when you're done, <command>quilt
+					refresh</command>.</para>
+				</sect4>
+				<sect4>
+					<title>Renaming patches</title>
+					<para>Sometimes it's useful to rename a patch. Without
+					any hassle, do:</para>
+					<blockquote>
+						<para><userinput>
+							<command>quilt rename -P</command> <filename>&lt;old_name&gt;.patch</filename>
+							<filename>&lt;new_name&gt;.patch</filename>
+						</userinput></para>
+					</blockquote>
+				</sect4>
+				<sect4>
+					<title>Other commands</title>
+					<para>Please see <command>man 1 quilt</command> to have a
+					comprehensive list of commands.</para>
+				</sect4>
+				<sect4>
+					<title>Integration in the build process</title>
+					<para>Add in the very first part of <filename>debian/rules</filename>
+					(i.e. before the targets), the line:</para>
+					<blockquote>
+						<programlisting>include <filename class="headerfile">/usr/share/quilt/quilt.make</filename></programlisting>
+					</blockquote>
+					<para>Remember to add the needed dependencies to its
+					targets:</para>
+					<blockquote>
+						<programlisting>...
+build: patch build-stamp
+build-stamp: configure
+...</programlisting>
+					</blockquote>
+					<para>This kind of dependency will ensure that if you also
+					patch the build system, you get a working patched build
+					process.</para>
+					<caution>
+						<para>Don't also put configure as a dependency of
+						build (leave it in build-stamp): that may cause problems
+						during parallel buildings (i.e. the -j flag of make).</para>
+					</caution>
+					<para>Now add a dependency to the clean target:</para>
+					<blockquote>
+						<programlisting>...
+clean: unpatch
+...</programlisting>
+					</blockquote>
+					<para>If you've also patched the build system, using upstream's
+					clean target might fail. This is what you should do:</para>
+					<blockquote>
+						<programlisting>...
+clean: clean-patched unpatch
+clean-patched:
+...</programlisting>
+					</blockquote>
+					<para>Obviously, you could always use an approach like this,
+					but it's an useless complication if you don't patch the build
+					system, and you should keep <filename>debian/rules</filename>
+					the simplest you can.</para>
+				</sect4>
+			</sect3>
+			<sect3>
+				<title>Using <command>dpatch</command></title>
+				<sect4>
+					<title>Creating a patch</title>
+					<para>dpatch-edit-patch</para>
+				</sect4>
+				<sect4>
+					<title>Applying and unapplying patches</title>
+					<para>apply(-all), unapply(-all), status</para>
+				</sect4>
+				<sect4>
+					<title>Editing patches</title>
+					<para>dpatch-edit-patch</para>
+				</sect4>
+				<sect4>
+					<title>Renaming patches</title>
+					<para>Is this possible?</para>
+				</sect4>
+				<sect4>
+					<title>Other commands</title>
+					<para>Please see <command>man 1 dpatch</command> for a
+					comprehensive list of commands.</para>
+				</sect4>
+				<sect4>
+					<title>Integration in the build process</title>
+					<para>Follow the instructions for quilt and adapt the path of
+					inclusion to <filename class="headerfile">/usr/share/dpatch/dpatch.make</filename></para>
+				</sect4>
+			</sect3>
+		</sect2>
+	</sect1>
+</article>




More information about the debian-med-commit mailing list