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

Bug#556015: debian-policy: Clarify requirements for copyright file



Hi,

        Seconded.

        manoj

commit 10a36221dbdef0417c8fe5dd9153843fc160acd7
Author: Russ Allbery <rra@debian.org>
Date:   Thu Nov 12 20:39:41 2009 -0800

    Clarify handling of the copyright file
    
    Be much more explicit about the alternatives for the copyright file
    of a binary package: either /usr/share/doc/package/copyright or a
    /usr/share/doc/package symlink to another package.  Add explicit
    requirements for using the symlink approach.  Require that, if a
    symlink is used, there be a direct dependency on the package containing
    the copyright file.
    
    Require source packages to have a debian/copyright file giving the
    copyright and distribution license for the entire source package,
    even if there are multiple copyright files in the source package so that
    different binary packages can have their own.  Modify the section on
    debian/copyright to talk about source packages and debian/copyright
    instead of the binary file location.
    
    Remove the requirement that the copyright file include the names of
    the Debian packager and package maintainers.  The Debian changelog file
    covers that.
    
    Add a footnote explaining that the perl and perl-base packages are a
    special exception due to complex transition issues with the essential
    perl-base package.
    
    Refer separately to binary and source packages in the Copyright
    considerations section.

diff --git a/policy.sgml b/policy.sgml
index 34a45d5..51b9adb 100644
--- a/policy.sgml
+++ b/policy.sgml
@@ -569,10 +569,14 @@
 	<heading>Copyright considerations</heading>
 
 	<p>
-	  Every package must be accompanied by a verbatim copy of
-	  its copyright and distribution license in the file
-	  <file>/usr/share/doc/<var>package</var>/copyright</file>
-	  (see <ref id="copyrightfile"> for further details).
+	  Every binary package must include a verbatim copy of its
+	  copyright and distribution license in the file
+	  <file>/usr/share/doc/<var>package</var>/copyright</file> or
+	  symlink that directory to a package that does (see
+	  <ref id="copyrightfile"> for further details).  Every
+	  source package must include a verbatim copy of its copyright and
+	  distribution license in the file <file>debian/copyright</file>
+	  (see <ref id="dpkgcopyright">).
 	</p>
 
 	<p>
@@ -1638,12 +1642,11 @@
       <sect id="dpkgcopyright">
 	<heading>Copyright: <file>debian/copyright</file></heading>
         <p>
-          Every package must be accompanied by a verbatim copy of
+          Every source package must include a verbatim copy of
 	  its copyright and distribution license in the file
-	  <file>/usr/share/doc/<var>package</var>/copyright</file>
-	  (see <ref id="copyrightfile"> for further details). Also see
-	  <ref id="pkgcopyright"> for further considerations related
-	  to copyrights for packages.
+	  <file>debian/copyright</file> (see <ref id="copyrightfile"> for
+	  further details).  Also see <ref id="pkgcopyright"> for further
+	  considerations related to copyrights for packages.
         </p>
       </sect>
       <sect>
@@ -8958,7 +8961,7 @@ END-INFO-DIR-ENTRY
 	</p>
       </sect>
 
-      <sect>
+      <sect id="addl-docs">
 	<heading>Additional documentation</heading>
 
 	<p>
@@ -9060,39 +9063,82 @@ END-INFO-DIR-ENTRY
 	<heading>Copyright information</heading>
 
 	<p>
-	  Every package must be accompanied by a verbatim copy of its
-	  copyright and distribution license in the file
-	  <file>/usr/share/doc/<var>package</var>/copyright</file>. This
-	  file must neither be compressed nor be a symbolic link.
+	  Every package either include a verbatim copy of its copyright
+	  and distribution license in the file
+	  <file>/usr/share/doc/<var>package</var>/copyright</file> or must
+	  include a symlink
+	  named <file>/usr/share/doc/<var>package</var></file> that points
+	  to the <file>/usr/share/doc</file> directory of another package
+	  that includes the copyright file.<footnote>
+	    The <package>perl-base</package> and <package>perl</package>
+	    packages do not meet these requirements.
+	    <package>perl-base</package> contains the copyright file for
+	    both packages in the location appropriate for
+	    the <package>perl</package>, and <package>perl</package> does
+	    not include either a symlink or a copyright file.  Fixing this
+	    would be complex and result in potentially fragile upgrades,
+	    in part because <package>perl-base</package> is essential.
+	    This is therefore permitted as a special exception.  Other
+	    packages do not have the added complexity of being essential
+	    and do not get the same exception.
+	  </footnote>
+	  The second option may only be used if all of the following
+	  requirements are met:
+	  <enumlist>
+	    <item>
+	      All the requirements for using a symlink instead of a
+	      directory as <file>/usr/share/doc/<var>package</var></file>
+	      described in <ref id="addl-docs"> must be met.  This means
+	      both packages must come from the same source package and the
+	      package must depend on the package containing its copyright
+	      and distribution license.
+	    </item>
+
+	    <item>
+	      There must be a direct dependency on the package containing
+	      the copyright and distribution license.  An indirect
+	      dependency via a third package is not sufficient.
+	    </item>
+
+	    <item>
+	      The <file>/usr/share/doc/<var>package</var>/copyright</file>
+	      file contained in the other package must contain the
+	      copyright and distribution license for both packages.
+	    </item>
+
+	    <item>
+	      The copyright file contained in the other package must meet
+	      all of the requirements listed below.
+	    </item>
+	  </enumlist>
 	</p>
 
 	<p>
-	  In addition, the copyright file must say where the upstream
-	  sources (if any) were obtained.  It should name the original
-	  authors of the package and the Debian maintainer(s) who were
-	  involved with its creation.
+	  The copyright file must neither be compressed nor be a symbolic
+	  link.
 	</p>
 
 	<p>
-	  Packages in the <em>contrib</em> or <em>non-free</em> archive
-	  areas should state in the copyright file that the package is not
-	  part of the Debian GNU/Linux distribution and briefly explain
-	  why.
+	  In addition to the copyright and distribution license, the
+	  copyright file must say where the upstream sources (if any) were
+	  obtained.  Packages in the <em>contrib</em> or <em>non-free</em>
+	  archive areas should state in the copyright file that the
+	  package is not part of the Debian GNU/Linux distribution and
+	  briefly explain why.
 	</p>
 
 	<p>
 	  A copy of the file which will be installed in
 	  <file>/usr/share/doc/<var>package</var>/copyright</file> should
-	  be in <file>debian/copyright</file> in the source package.
-	</p>
-
-	<p>
-	  <file>/usr/share/doc/<var>package</var></file> may be a symbolic
-	  link to another directory in <file>/usr/share/doc</file> only if
-	  the two packages both come from the same source and the
-	  first package Depends on the second.  These rules are
-	  important because copyrights must be extractable by
-	  mechanical means.
+	  normally be in <file>debian/copyright</file> in the
+	  corresponding source package.  If a source package produces
+	  binary packages with separate copyright files (if, for instance,
+	  different binary packages produced from one source package have
+	  substantially different distribution licenses), it may include
+	  multiple copyright files for installation into the different
+	  binary packages, but <file>debian/copyright</file> in the source
+	  package must still contain the copyright and distribution
+	  license for the entirety of the source package.
 	</p>
 
 	<p>
@@ -9120,10 +9166,12 @@ END-INFO-DIR-ENTRY
 	</p>
 
 	<p>
-	  You should not use the copyright file as a general <file>README</file>
-	  file.  If your package has such a file it should be
-	  installed in <file>/usr/share/doc/<var>package</var>/README</file> or
-	  <file>README.Debian</file> or some other appropriate place.</p>
+	  You should not use the copyright file as a general
+	  <file>README</file> file.  If your package has such a file it
+	  should be installed in
+	  <file>/usr/share/doc/<var>package</var>/README</file> or
+	  <file>README.Debian</file> or some other appropriate place.
+	</p>
       </sect>
 
       <sect>

-- 
QOTD: Talent does what it can, genius what it must.  I do what I get
paid to do.
Manoj Srivastava <srivasta@debian.org> <http://www.debian.org/~srivasta/>  
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C

Attachment: pgpNLRqt0ufV2.pgp
Description: PGP signature


Reply to: