[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Group policy draft



Le Sun, Feb 03, 2008 at 05:51:26PM +0100, David Paleino a écrit :
> Il giorno Tue, 29 Jan 2008 12:56:35 +0100
> David Paleino <d.paleino@gmail.com> ha scritto:
> 
> > Hi all,
> > as you might have seen, r1213 introduces a "Group Policy".
> 
> And r1277 added the DocBook XML version :)

Hi all,

I have tried to develop our Policy and prepared the following patch. I
tried to be a little bit more verbose in order to justify our choices
when there could be alternatives. I tried to reflect what makes
consensus on this list, but I would prefer that a few persons confirm
that they agree that there is no personal bias in this patch.

Another reason why I will not commit this patch now is that it may
contain DocBook errors. I intend to work on this later, and propose do
downgrade the version of DocBook used to 4.5, the latest official
version. The currently used one (5.0CR7) is not available in the
docbook-xml package, and this is not convenient for offline work. I
propose to sumbit an "editorial" patch that does this downgrade and
fixes the DocBook errors that it introduces.

Have a nice day,

-- Charles



Index: policy.xml
===================================================================
--- policy.xml	(révision 1738)
+++ policy.xml	(copie de travail)
@@ -14,6 +15,11 @@
 				<email>d.paleino@gmail.com</email>
 				<contrib>Initial writing </contrib>
 			</author>
+			<author>
+				<personname>Charles Plessy</personname>
+				<email>charles-debian-nospap@plessy.org</email>
+				<contrib>Contributions in 2008</contrib>
+			</author>
 		</authorgroup>
 		<releaseinfo>
 			$ policy.xml rev. @REV@ - @DATE@ (@AUTHOR@) $
@@ -105,12 +111,21 @@
 					</listitem>
 				</itemizedlist>
 			</para>
+			<para>
+				Another way to check the sources is through the use of the
+				<command>debcheckout</command> command, from the
+				<ulink url="http://packages.debian.org/devscripts";>devscripts</ulink>
+				package.
+			</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>
+			<note><para>We are currently considering an alternative layout in which all
+			the <filename>trunk</filename>, <filename>tags</filename> and
+			<filename>branches</filename> directories are grouped together, so that developpers can checkout trunks without tags.</para></note>
 		</sect2>
 	</sect1>
 	<sect1>
@@ -144,36 +159,106 @@
 ...</programlisting>
 			</blockquote>
 		</sect2>
+	</sect1>
+	<sect1>
+		<title>Policy</title>
 		<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@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/
+			<title><filename>debian/control</filename></title>
+			<orderedlist>
+				<listitem>
+				<formalpara>
+					<title>Section</title>
+					<para>Should be <quote>science</quote> for the source package.</para>
+				</formalpara>
+				</listitem>
+				
+				<listitem>
+				<formalpara>
+					<title>Priority</title>
+					<para>Should be <quote>optional</quote> unless forbidden by the Debian policy (see section 2.5). Packages of priority <quote>extra</quote> are excluded from some QA tests.</para>
+				</formalpara>
+				</listitem>
+				
+				<listitem>
+				<formalpara>
+					<title>Maintainer</title>
+					<para>Maintainer should be Debian-Med Packaging Team &lt;<email>debian-med-packaging@lists.alioth.debian.org</email>&gt;. Please subscribe to this list if you are Uploader of one of Debian-Med's packages. You can refer to <ulink url="http://qa.debian.org/developer.php?login=debian-med-packaging@lists.alioth.debian.org";>QA page</ulink> corresponding to this email to gather information about the packages.</para>
+				</formalpara>
+				</listitem>
+				
+				<listitem>
+				<formalpara>
+					<title>Upload by Debian Maintainers</title>
+					<para>should be enabled with the field DM-Upload-Allowed: yes. This means that when an Uploader becomes Debian Maintainer, he will immediately get the possibility to upload the package to Debian. Please consider this when you sponsor packages in which some Uploaders are added.</para>
+				</formalpara>
+				</listitem>
+				
+				<listitem>
+				<formalpara>
+					<title>Uploaders</title>
+					<para>Please add yourelf as an uploader when you have a significant interest in a package. Being Uploader means that you are expected to answer to the bug reports. It is totally acceptable to do some QA work on a package without adding oneself to the Uploaders field.
+					</para>
+				</formalpara>
+				</listitem>
+				
+				<listitem>
+				<formalpara>
+					<title>Standards-Version</title>
+					<para>Please always use the latest unless there are concerns for backporting. If no changes are needed, please indicate this fact in the changelog, and increment the value of the field.</para>
+				</formalpara>
+				</listitem>
+				
+				<listitem>
+				<formalpara>
+					<title>Homepage</title>
+					<para>should be documented whenever possible</para>
+				</formalpara>
+				</listitem>
+				
+				<listitem>
+				<formalpara>
+					<title>Vcs-Svn: and Vcs-Browser:</title>
+					<para>Please use the following template:
+					<programlisting>
+					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>
+					</programlisting>.</para>
+				</formalpara>
+				</listitem>
+			</orderedlist>
 		</sect2>
+		
 		<sect2>
+			<title><filename>debian/copyright</filename></title>
+			<para>We use the <ulink url="">proposed machine-readable forma</ulink>t for the <filename>debian/copyright</filename> file. Please list yourself in the <computeroutput>Files: debian/*</computeroutput> section if you think that your contributions are not trivial and therefore subjected to copyright. Please chose a license that is compatible with the program you package. You can also use <emphasis>same as if it were in the public domain</emphasis> or <emphasis>same as the packaged program itself</emphasis>.</para>
+		</sect2>
+		
+		<sect2>
+			<title><filename>debian/changelog</filename></title>
+			<para>Packages of the Subversion repository that have been modified but not uploaded must use <emphasis>UNRELEASED</emphasis> as a distribution name. This can be done automatically by declaring <emphasis>DEBCHANGE_RELEASE_HEURISTIC=changelog</emphasis> in <filename>~/.devscripts</filename> and using <command>dch</command>.</para>
+		</sect2>
+		
+		<sect2>
+			<title>Debhelper</title>
+			<para>Debhelper uses compatibility levels to control the behaviour of its commands. The latest level is not always available in <emphasis>Stable</emphasis> or <emphasis>Backports</emphasis>. Please avoid using it unless needed until it is available, to facilitate backporting.</para>			
+		</sect2>
+		
+		<sect2>
+			<title>CDBS</title>
+			<para>The use of CDBS is welcome as it helps us to factorise our code. Nevertheless, please do not use complex CDBS for non-trivial packages, so that other developpers can quickly understand the package when doing QA work.</para>
+			<para>CDBS packages using Debhelper can be build without <filename>debian/compat</filename> file. Please always included such a file according to the above guidelines.</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>
+			write access to it; i.e. you must be a member of the <emphasis>debian-med</emphasis> group on Alioth.</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>
+			it with <command>dpkg-buildpackage</command> (or any wrapper around it). We use the MergeWithUpstream workflow, so please keep all the modifications in the <filename>debian</filename> directory, and use the <option>-o</option> of <command>svn-buildpackage</command>, as in the following example:</para>
 			<blockquote>
 				<para><userinput>
 					<command>svn-inject</command>
+					<option>-o</option>
 					<filename>package.dsc</filename>
 					<filename class="directory">svn+ssh://user@alioth.debian.org/svn/debian-med/trunk/packages/</filename>
 				</userinput></para>
@@ -183,7 +268,7 @@
 			<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
+			debian-med <acronym>CDD</acronym> 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>
@@ -276,10 +361,9 @@
 			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>.
+			which should instead contain only debian. To better organise the patches and group the by function, please use a patch handling system which keeps patches under the
+			<filename class="directory">debian/patches</filename> directory.</para>
+			<para>The most known are <command>quilt</command>, <emphasis>simple-patchsys</emphasis> (from the <emphasis>CDBS</emphasis> package) and <command>dpatch</command>.
 			Please don't use any other patch system in Debian-Med, unless absolutely
 			necessary.</para>
 			<sect3>
@@ -381,7 +465,7 @@
 					<blockquote>
 						<programlisting>include <filename class="headerfile">/usr/share/quilt/quilt.make</filename></programlisting>
 					</blockquote>
-					<para>Remember to add the needed dependencies to its
+					<para>Please use this to import patch and unpatch rules instead of writing them, and remember to add the needed dependencies to its
 					targets:</para>
 					<blockquote>
 						<programlisting>...

-- 
Charles Plessy
http://charles.plessy.org
Wako, Saitama, Japan


Reply to: