[Pkg-ocaml-maint-commits] [dh-ocaml] 03/07: Refresh the policy

Stéphane Glondu glondu at moszumanska.debian.org
Wed Aug 12 14:47:14 UTC 2015


This is an automated email from the git hooks/post-receive script.

glondu pushed a commit to branch master
in repository dh-ocaml.

commit bceaf81142ae321ecd5fc723381538089f173b67
Author: Stephane Glondu <steph at glondu.net>
Date:   Wed Aug 12 16:20:45 2015 +0200

    Refresh the policy
    
     * Allow installation of *.{cmxs,cma,cmo} and META in runtime packages
       (Closes: #500036)
     * More references to *.cmxs files
     * Less references to camlp4, camlp5 and labltk
     * Drop references to docbrowse and ocamlbrowser
     * Other minor changes
---
 policy/appendix-local.xml         |  1 -
 policy/chapter-generalities.xml   | 52 +++++++++++++++------------------------
 policy/chapter-libpack.xml        | 32 +++++++++++-------------
 policy/chapter-progpack.xml       |  7 +++---
 policy/copyright.xml              |  2 +-
 policy/ocaml_packaging_policy.xml |  2 +-
 6 files changed, 40 insertions(+), 56 deletions(-)

diff --git a/policy/appendix-local.xml b/policy/appendix-local.xml
index ca3ca99..6b4e16a 100644
--- a/policy/appendix-local.xml
+++ b/policy/appendix-local.xml
@@ -67,4 +67,3 @@
   </section>
 
 </appendix>
-  
\ No newline at end of file
diff --git a/policy/chapter-generalities.xml b/policy/chapter-generalities.xml
index 7a5edc2..f8961e1 100644
--- a/policy/chapter-generalities.xml
+++ b/policy/chapter-generalities.xml
@@ -11,11 +11,11 @@
     <title>The name of the game</title>
     
     <para>
-      The correct short name of Objective Caml is
+      The correct name of the language is
       <emphasis>&ocaml-name;</emphasis>. Other
-      spellings/capitalizations like <quote>ocaml</quote>,
+      spellings/capitalizations like <quote>Objective Caml</quote>, <quote>ocaml</quote>,
       <quote>OCAML</quote>, <quote>O'Caml</quote> should be avoided
-      when talking about the Objective Caml project, the system, or
+      when talking about the OCaml project, the system, or
       the programing language.
     </para>
     
@@ -27,11 +27,13 @@
     <para>
       The OCaml compilers can produce two kinds of executables:
       bytecode and native. Native executables are usual ELF executables
-      produced for a particular CPU architecture, while bytecode
+      produced for a particular CPU architecture, while pure bytecode
       executables are written in a language which can only be run on a
-      OCaml bytecode interpreter. A bytecode executable starts with a
+      OCaml bytecode interpreter. A pure bytecode executable starts with a
       magic string invoking the interpreter, so that bytecode
-      executables can just be invoked like native executables. OCaml
+      executables can just be invoked like native executables. There are also
+      <quote>custom</quote> bytecode executables, which embed a bytecode program along
+      with a bytecode interpreter; these files are ELF executables. OCaml
       compilers to native code are not provided for every
       architecture.  On a Debian system, the list of architectures for
       which the currently installed version of the OCaml system
@@ -44,15 +46,15 @@
       bytecode executables since they are compiled specifically for an
       architecture. Bytecode executables are smaller than native code
       executables. If considering only one process the advantage in
-      size is annihilated by the need for the OCaml run time system
+      size is annihilated by the need for the OCaml runtime system
       for executing bytecode, however there is an advantage when
       running several bytecode processes in parallel since the runtime
       system can then be shared.
     </para>
     
     <para>
-      Bytecode executables have the advantage of being portable, which
-      means that a bytecode executable can be run without having to be
+      Pure bytecode executables have the advantage of being portable, which
+      means that a pure bytecode executable can usually be run without having to be
       recompiled on any architecture for which an OCaml bytecode
       interpreter is available. For Debian, this has the advantage
       that packages containing only bytecode executables have
@@ -159,11 +161,11 @@
       <title>Files used and produced by the OCaml compilers</title>
       
       <para>
-	The &ocaml-name; compiler can produce or use the following kind of files:
+	The &ocaml-name; toolchain can produce or use the following kind of files:
 	<itemizedlist>
 	  <listitem>
 	    <para>
-	      bytecode executables (they can be recognized since they start
+	      pure bytecode executables (they can be recognized since they start
 	      with the shebang line <code>#!/usr/bin/ocamlrun</code>)
 	    </para>
 	  </listitem>
@@ -185,7 +187,7 @@
 	    <para>native executables (in ELF format)</para>
 	  </listitem>
 	  <listitem>
-	    <para>bytecode libraries (<filename>*.cma</filename>)</para>
+	    <para>bytecode libraries (<filename>*.cma, *.a</filename>)</para>
 	  </listitem>
 	  <listitem>
 	    <para>native libraries (<filename>*.cmxa</filename>)</para>
@@ -205,7 +207,7 @@
 	    <para>bytecode object files (<filename>*.cmo</filename>)</para>
 	  </listitem>
 	  <listitem>
-	    <para>native object files (<filename>*.cmx</filename>)</para>
+	    <para>native object files (<filename>*.cmx, *.o</filename>)</para>
 	  </listitem>
 	  <listitem>
 	    <para>native plugin object files (<filename>*.cmxs</filename>)</para>
@@ -227,9 +229,9 @@
     <section>
       <title>Findlib and ocamlfind</title>
 
-      <para>&ocaml-force; has chosen to fully support
+      <para>&ocaml-force; has chosen to fully support the
       <application>findlib</application> library. This is a suite of
-      tools that help to manage OCaml libraries. This tool is not
+      tools and libraries that help to manage OCaml libraries. This software is not
       specific to Debian and works on all platforms where OCaml is
       available. Through the years, this has become the de facto standard 
       when relying on external libraries. The main frontend is called
@@ -276,8 +278,8 @@
       specifically, the packaging of OCaml is split into smaller
       packages. The packages with suffix <package>-nox</package>
       contain libraries that do not need the X Window system (i.e.,
-      for programs that don't use the <code>Graphics</code> or
-      <code>LablTk</code> modules).  Here is the list of binary
+      for programs that don't use the <code>Graphics</code>
+      module).  Here is the list of binary
       packages into which the OCaml system is organized:
   
       <orderedlist>
@@ -355,20 +357,6 @@
             OCaml internals).
           </para>
         </listitem>
-        <listitem>
-          <para>
-            The packages <package>camlp4</package> and
-            <package>camlp4-extra</package> contain the &camlp4;
-            preprocessor.
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            The packages <package>camlp5</package> and
-            <package>camlp5-extra</package> contain the &camlp5;
-            preprocessor.
-          </para>
-        </listitem>
       </orderedlist>
     </para>
 
@@ -396,7 +384,7 @@
       <package>ocaml</package> elsewhere. Since it is a virtual package, it
       cannot be a versioned dependency. The version dependency should thus be
       carried by the <package>ocaml</package> dependency. Note that dependency
-      on <package>ocaml-best-compilers</package> is only necessary for real big
+      on <package>ocaml-best-compilers</package> is only necessary for really big
       programs for which compilation takes a lot of resources. For most small
       programs the compilers from the <package>ocaml-nox</package> package are
       perfectly sufficient, and faster to install in a build environment than
diff --git a/policy/chapter-libpack.xml b/policy/chapter-libpack.xml
index 7a27f55..d2856c6 100644
--- a/policy/chapter-libpack.xml
+++ b/policy/chapter-libpack.xml
@@ -27,6 +27,13 @@
             of OCaml.  </para> <para> <filename>libxxx-ocaml</filename>
             packages should be in <code>Section: ocaml</code>.
           </para>
+          <para>
+            If the library provides native plugins (<filename>*.cmxs</filename>)
+            or is meant to be dynamically loaded using the <code>Dynlink</code>
+            library, those plugins, relevant <filename>*.cmo</filename> or
+            <filename>*.cma</filename> files, and the <filename>META</filename>
+            file referencing them should also be provided by this runtime package.
+          </para>
         </listitem>
         <listitem>
           <para>
@@ -130,9 +137,9 @@
       Libraries should be installed in <filename>&ocaml-sys-dir;/</filename> or
       in a subdirectory of this directory. This includes in particular bytecode
       libraries (<filename>*.cma</filename>), native libraries
-      (<filename>*.cmxa</filename>), bytecode object files
+      (<filename>*.cmxa, *.a</filename>), native plugins (<filename>*.cmxs</filename>), bytecode object files
       (<filename>*.cmo</filename>), native object files
-      (<filename>*.cmx</filename>), static libraries (<filename>*.a</filename>)
+      (<filename>*.cmx, *.o</filename>), static libraries (<filename>*.a</filename>)
       and <filename>META</filename> files. The only exception to this rule is
       for shared libraries (<filename>dll*.so</filename>) which should be
       installed in <filename>&ocaml-sys-dir;/stublibs</filename>, as can it be
@@ -169,7 +176,7 @@
       files (usually one for each library), named <filename>META</filename>
       files, contained in the library directory. The distribution of
       <filename>META</filename> files is the best way to make more easy to use
-      the Debian-specific oragnization of libraries. Packages distributing
+      the Debian-specific organization of libraries. Packages distributing
       <filename>META</filename> files should suggest the use of &ocamlfind;,
       that is have a <varname>Suggest: ocaml-findlib</varname>.
     </para>
@@ -292,12 +299,9 @@
   <title>&camlp4;/&camlp5;</title>
 
     <para> Actually, &camlp4; extensions should be processed just like standard
-    OCaml libraries. The META file distributed with this syntax extension
-    should follow the 
-    <ulink url="http://cocan.org/osr/meta_files_for_packages_containing_syntax_extensions">
-      OSR: META files for packages containing syntax extensions</ulink>. In
-    particular, the syntax extension should be contained in a <varname>syntax</varname> sub
-    packages.
+    OCaml libraries. In particular, they should provide a META file.
+    The syntax extension should be contained in a <varname>syntax</varname> sub
+    package.
     </para>
 
     <para>
@@ -349,18 +353,12 @@
       This documentation should be browsable by different means, from the most
       simple to the most complex one. At least, they should all be readable with
       a simple text editor. Specific and &ocamldoc; generated documentations
-      should be provided in HTML format.  There are also at least two specific
-      &ocaml-name; browsers: <application>docbrowse</application> shipped with
-      <application>cameleon</application> and
-      <application>ocamlbrowser</application> shipped with &ocaml-name; itself.
-      The first one needs specific &ocamldoc; generated documentation. The
-      second one enables the user to browse directly the prototype of each
-      function shipped in the <filename>cmi</filename>.
+      should be provided in HTML format.
     </para>
 
     <para>
       You can generate &ocamldoc;-specific documentation by using
-      the <option>-dump</option> of this application. By using this, you dump the
+      the <option>-dump</option> option of this command. By using this, you dump the
       intermediate representation of the document that will be generated by ocamldoc.
       This can be used to generate HTML documentation and manpages, by reloading this
       file (using <option>-load</option>).
diff --git a/policy/chapter-progpack.xml b/policy/chapter-progpack.xml
index 19e29af..044cfd0 100644
--- a/policy/chapter-progpack.xml
+++ b/policy/chapter-progpack.xml
@@ -54,8 +54,8 @@
       A bytecode package must depend on the runtime package
       that is required to run it. Typically, it should depend on
       &ocaml-base-nox-vpkg; (or &ocaml-base-vpkg;, if if the program
-      either uses the <code>Graphics</code> or the <code>LablTk</code>
-      module). It can also depends on the virtual
+      uses the <code>Graphics</code> module).
+      It can also depends on the virtual
       <package>libXXX-ocaml-byte-ABCD</package> provided by the
       runtime package <package>libXXX-ocaml</package> (see <ulink
       url="#general:dependencies">the section on binary
@@ -64,8 +64,7 @@
     
     <para>
       A bytecode package must build-depend-indep on &ocaml-nox-pkg; (or
-      &ocaml-pkg; if the program either uses the <code>Graphics</code> or the
-      <code>LablTk</code> module). 
+      &ocaml-pkg; if the program uses the <code>Graphics</code> module).
     </para>
     
     <para>
diff --git a/policy/copyright.xml b/policy/copyright.xml
index 3ad7403..3665176 100644
--- a/policy/copyright.xml
+++ b/policy/copyright.xml
@@ -5,7 +5,7 @@
 %included;
 ]>
 <copyright>
-  <year>2002-2010</year>
+  <year>2002-2015</year>
   <holder>Mehdi Dogguy</holder>
   <holder>Stephane Glondu</holder>
   <holder>Sylvain Le Gall</holder>
diff --git a/policy/ocaml_packaging_policy.xml b/policy/ocaml_packaging_policy.xml
index 971486d..cfdd445 100644
--- a/policy/ocaml_packaging_policy.xml
+++ b/policy/ocaml_packaging_policy.xml
@@ -24,7 +24,7 @@
       <title>Conventions used in this document</title>
       <para>
 	&ocaml-version; stands for the current upstream version of the
-	OCaml system (for instance, 3.11.2).
+	OCaml system (for instance, 4.02.1).
       </para>
     </preface>
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ocaml-maint/packages/dh-ocaml.git



More information about the Pkg-ocaml-maint-commits mailing list