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

hanska-guest at alioth.debian.org hanska-guest at alioth.debian.org
Sat Feb 2 18:19:24 UTC 2008


Author: hanska-guest
Date: 2008-02-02 18:19:24 +0000 (Sat, 02 Feb 2008)
New Revision: 1265

Added:
   trunk/community/website/docs/policy.html
Log:
Adding HTML version -- still a rough draft though
(generated by hevea -- still needs optimization!)


Added: trunk/community/website/docs/policy.html
===================================================================
--- trunk/community/website/docs/policy.html	                        (rev 0)
+++ trunk/community/website/docs/policy.html	2008-02-02 18:19:24 UTC (rev 1265)
@@ -0,0 +1,279 @@
+<!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="policy001.png">
+<HR SIZE=2><BR>
+<FONT SIZE=6><B>Group Policy</B></FONT>
+<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&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>




More information about the debian-med-commit mailing list