[DRE-commits] [SCM] Debian Ruby packaging policy branch, master, updated. dfed064c7e2739744dc6ad87ba69c2c6abc92b1e

Vincent Fourmond fourmond at debian.org
Mon May 9 20:09:41 UTC 2011


The following commit has been merged in the master branch:
commit dfed064c7e2739744dc6ad87ba69c2c6abc92b1e
Author: Vincent Fourmond <fourmond at debian.org>
Date:   Mon May 9 22:08:04 2011 +0200

    Applying modifications suggested by Lucas Nussbaum

diff --git a/ruby-policy.xml b/ruby-policy.xml
index 5a225b2..58ed431 100644
--- a/ruby-policy.xml
+++ b/ruby-policy.xml
@@ -87,7 +87,7 @@
 
     <para>
       Similarly to the other subpolicies, the aim of the Debian Ruby
-      Policy is to unify the packaging of Ruby libraries and programs
+      Policy is to unify the packaging of Ruby libraries and applications
       under a single well-defined structure that packagers and users
       alike can rely on.
     </para>
@@ -102,7 +102,7 @@
       language to coexist and to share code (in as far as it is
       technically possible).
     </para>
-      
+    
     
     <para>
       As packaging practices and Ruby-related technologies evolve over
@@ -124,10 +124,6 @@
       url="&debian-policy;">Debian Policy</ulink>.
     </para>
 
-    <para>
-      Here a descroiption of the main points
-    </para>
-    
     <sect1 id="interpreters">
       <title>Ruby interpreters</title>
       
@@ -143,8 +139,8 @@
       <para>
         By library, we mean <quote>every package that contains ruby
         code and is not a Ruby interpreter</quote>. In particular,
-        this also includes programs not necessarily meant to be used
-        as libraries. For programs additional requirements and/or
+        this also includes applications not necessarily meant to be used
+        as libraries. For applications additional requirements and/or
         relaxing of some requirements listed here apply, see next
         section.
       </para>
@@ -154,56 +150,66 @@
         <para>
           All binary packages that contains Ruby code &must; have a
           package name in the form <literal>ruby-</literal>&pkg;,
-          where &pkg; is left to the choice of the packager. However,
-          packagers &may; ignore this rule in the following cases:
+          where &pkg; &should; be the <quote>library name</quote>,
+          that is either the gem name or the argument to
+          <literal>require</literal> (or the common part in case of a
+          library providing several sub-libraries that can be used
+          independently). However, packagers &may; ignore this rule in
+          the following cases:
           <itemizedlist>
             <listitem>
               <para>
-                ruby interpreters;
+                ruby interpreters, , such as
+                <literal>ruby-1.9.1</literal> or
+                <literal>jruby</literal>;
               </para>
             </listitem>
 
             <listitem>
               <para>
-                programs;
+                applications, such as <literal>chef</literal>,
+                <literal>rails</literal> or
+                <literal>rubygems</literal>.
               </para>
             </listitem>
 
-            <listitem>
-              <para>
-                packages providing ruby code to be use specifically as
-                plugins for a given program, and that have no use
-                outside of this program.
-              </para>
-            </listitem>
           </itemizedlist>
-          The source package name &should; match the name of package
-          that holds the code.
+          The source package name &should; match the name of the main
+          binary package.
         </para>
         <para>
           In the case of software previoulsy relased with the old
           package name policy
           (<literal>lib-</literal>&pkg;<literal>-ruby</literal> and
-          versioned variants thereof), packagers &should; provide
+          versioned variants thereof), packagers &must; provide
           transition packages with the old names depending on the new
           package.
         </para>
       </sect2>
 
       <sect2>
+        <title>Section</title>
+        <para>All libraries &must; be <literal>Section:
+        ruby</literal>. This rule does not apply to applications, whose
+        section should match their use.
+        </para>
+      </sect2>
+
+      <sect2>
         <title>Supported Ruby implementations</title>
         <para>
           Packages &should; support as many different implementations
           of Ruby as is possible. Reasons why this is not done
           &should; be documented visibly, such as in the
-          <filename>README.Debian</filename> file.
+          <filename>README.Debian</filename> file or the
+          <filename>changelog.Debian</filename> file
         </para>
         <para>
           Packages &must; list the versions of Ruby supported in the
           source package using the <literal>XS-Ruby-Versions</literal>
           statement in <filename>debian/control</filename>. This
           statement &must; be a space-separated list of one or more of
-          <literal>ruby1.8</literal>, <literal>ruby1.9</literal> or
+          <literal>ruby1.8</literal>, <literal>ruby1.9.1</literal> or
           <literal>all</literal> (the latter meaning all the supported
           Ruby versions).
         </para>
@@ -253,19 +259,22 @@
       <sect2>
         <title>Rubygems</title>
         <para>
-          Do we disallow the use of <literal>require
-          'rubygems'</literal> by policy ?
+          To avoid hard-to-detect mixes of Debian and local ruby
+          libraries, packages &mustnot; use
+          <literal>rubygems</literal>. In particular the use of
+          <literal>require 'rubygems'</literal> and
+          <literal>require_gem</literal> is not allowed.
         </para>
       </sect2>
       
     </sect1>
     
-    <sect1 id="programs">
-      <title>Ruby programs</title>
+    <sect1 id="applications">
+      <title>Ruby applications</title>
 
       <para>
         Excepted for the package name, which does not have to comply
-        to any rules, Ruby programs &must; obey all rules that apply
+        to any rules, Ruby applications &must; obey all rules that apply
         to Ruby libraries (previous sections).  In addition, they must
         obey the following rules.
       </para>
@@ -273,7 +282,7 @@
       <sect2>
         <title>Handling the different Ruby interpreters</title>
         <para>
-          If the program is supposed to work correcly with any Ruby
+          If the application is supposed to work correcly with any Ruby
           interpreter, than it &must; have a <literal>#!/usr/bin/ruby</literal>
           shebang, and &must; depend on
           <literal>ruby |ruby-interpreter</literal>.
@@ -281,11 +290,11 @@
           the transition to new default versions of the Ruby interpreter.
         </para>
         <para>
-          If the program is supposed to work with a specific Ruby interpreter,
+          If the application is supposed to work with a specific Ruby interpreter,
           then it &must; have a
           <literal>#!/usr/bin/rubyX.Y</literal>
           shebang and &must; depend on the specific package for that
-          interpreter. For example, a program that only works with Ruby 1.9.1
+          interpreter. For example, an application that only works with Ruby 1.9.1
           would have a <literal>#!/usr/bin/ruby1.9.1</literal> shebang and
           depend on <literal>ruby1.9.1</literal>.
         </para>
@@ -294,7 +303,7 @@
     
 
   </chapter>
-   
+  
   <chapter id="advices">
     <title>Advices to Ruby packagers</title>
     
@@ -313,3 +322,8 @@
   
 </book>
 <!-- vim: expandtab sw=2 ts=2 -->
+<!-- 
+     Local Variables:
+     indent-tabs-mode: nil
+     End:
+-->
\ No newline at end of file

-- 
Debian Ruby packaging policy



More information about the Pkg-ruby-extras-commits mailing list