Added lots more modules from lintian. Maemian appears to work.
[maemian] / checks / copyright-file.desc
1 Check-Script: copyright-file
2 Author: Christian Schwarz <schwarz@debian.org>
3 Abbrev: cpy
4 Type: binary
5 Unpack-Level: 1
6 Needs-Info: copyright-file
7 Info: This script checks if a binary package conforms to policy
8  with regard to copyright files.
9  .
10  Each binary package must either have a
11  /usr/share/doc/&lt;foo&gt;/copyright file or must have a symlink
12  /usr/share/doc/&lt;foo&gt; -&gt; &lt;bar&gt;, where &lt;bar&gt; comes
13  from the same source package and pkg foo declares a "Depends" relation on
14  bar.
15
16 Tag: no-copyright-file
17 Severity: serious
18 Certainty: certain
19 Info: Each binary package has to include a plain file
20  /usr/share/doc/<i>pkg</i>/copyright
21 Ref: policy 12.5
22 Tested: empty
23
24 Tag: copyright-refers-to-old-directory
25 Severity: important
26 Certainty: certain
27 Info: The common licenses (GPL, BSD, Artistic, etc) have been moved from
28  /usr/doc/copyright to /usr/share/common-licenses.
29  Copyright files should be updated.
30 Ref: policy 12.5
31
32 Tag: copyright-file-compressed
33 Severity: serious
34 Certainty: certain
35 Info: The copyright file /usr/share/doc/<i>pkg</i>/copyright must not be
36  compressed.
37 Ref: policy 12.5
38
39 Tag: copyright-file-is-symlink
40 Severity: serious
41 Certainty: certain
42 Info: The copyright file /usr/share/doc/<i>pkg</i>/copyright must not be a
43  symbolic link.
44 Ref: policy 12.5
45
46 Tag: copyright-file-contains-full-gpl-license
47 Severity: important
48 Certainty: certain
49 Info: The copyright file /usr/share/doc/<i>pkg</i>/copyright contains the
50  complete text of the GPL v2 or v3.  It should refer to the file
51  <tt>/usr/share/common-licenses/GPL-2</tt> or <tt>GPL-3</tt> instead.
52 Ref: policy 12.5
53
54 Tag: copyright-file-contains-full-gfdl-license
55 Severity: important
56 Certainty: certain
57 Info: The copyright file /usr/share/doc/<i>pkg</i>/copyright contains the
58  complete text of the GFDL v1.2.  It should refer to the file
59  <tt>/usr/share/common-licenses/GFDL-1.2</tt> instead.
60 Ref: policy 12.5
61
62 Tag: copyright-file-contains-full-apache-2-license
63 Severity: important
64 Certainty: certain
65 Info: The copyright file /usr/share/doc/<i>pkg</i>/copyright contains the
66  complete text of the Apache 2.0 license.  It should refer to the file
67  <tt>/usr/share/common-licenses/Apache-2.0</tt> instead.
68 Ref: policy 12.5
69
70 Tag: usr-share-doc-symlink-without-dependency
71 Severity: important
72 Certainty: certain
73 Info: If the package installs a symbolic link /usr/share/doc/<i>pkg1</i> -&gt;
74  <i>pkg2</i>, then <i>pkg1</i> has to depend on <i>pkg2</i> with the same
75  version as <i>pkg1</i>.
76  .
77  Note, that adding the "Depends:" entry just to fix this bug is not a good
78  solution. It's suggested that you include a real /usr/share/doc/<i>pkg1</i>
79  directory within <i>pkg1</i> and copy the copyright file into that directory.
80 Ref: policy 12.5
81
82 Tag: usr-share-doc-symlink-to-foreign-package
83 Severity: important
84 Certainty: certain
85 Info: If the package installs a symbolic link /usr/share/doc/<i>pkg1</i> -&gt;
86  <i>pkg2</i>, then <i>pkg1</i> and <i>pkg2</i> must both come from the same
87  source package.
88  .
89  It's suggested that you include a real /usr/share/doc/<i>pkg1</i> directory
90  within <i>pkg1</i> and copy the copyright file to that directory.
91 Ref: policy 12.5
92
93 Tag: cannot-check-whether-usr-share-doc-symlink-points-to-foreign-package
94 Severity: minor
95 Certainty: possible
96 Info: There is a symlink /usr/share/doc/<i>pkg1</i> -&gt; <i>pkg2</i>
97  in your package. This means that <i>pkg1</i> and <i>pkg2</i> must
98  both come from the same source package. I can't check this right now
99  however since I'm only checking a binary package and I only can check
100  this when I'm checking both the binary and the corresponding source
101  package.
102
103 Tag: old-style-copyright-file
104 Severity: important
105 Certainty: certain
106 Info: The package installs a /usr/doc/copyright/<i>pkg</i> file. Instead,
107  you should place the copyright file in /usr/share/doc/<i>pkg</i>/copyright.
108 Ref: policy 12.5
109
110 Tag: old-fsf-address-in-copyright-file
111 Severity: normal
112 Certainty: certain
113 Info: The /usr/share/doc/<i>pkg</i>/copyright file refers to the old postal
114  address of the Free Software Foundation (FSF). The new address is:
115  .
116    Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
117    MA 02110-1301, USA.
118
119 Tag: helper-templates-in-copyright
120 Severity: important
121 Certainty: certain
122 Info: The /usr/share/doc/<i>pkg</i>/copyright file still contains the template
123  contents from a packaging helper. Please include the actual license and
124  download information about the package.
125
126 Tag: copyright-refers-to-compressed-license
127 Severity: important
128 Certainty: certain
129 Info: The /usr/share/doc/<i>pkg</i>/copyright file refers to a standard license
130  /usr/share/common-licenses/{GPL,LGPL,Artistic,BSD}.gz as a compressed
131  file. Please update the reference (the licenses are installed
132  uncompressed).
133
134 Tag: usr-share-doc-symlink-points-outside-of-usr-share-doc
135 Severity: important
136 Certainty: certain
137 Info: The /usr/share/doc/<i>pkg</i> symbolic link is pointing to a directory
138  outside of <tt>/usr/share/doc</tt>.
139 Ref: policy 12.5
140
141 Tag: copyright-does-not-refer-to-common-license-file
142 Severity: normal
143 Certainty: certain
144 Info: If your package uses any one of the licenses in
145  <tt>/usr/share/common-licenses</tt>, the copyright file should refer to
146  files therein.
147 Ref: policy 12.5
148
149 Tag: copyright-refers-to-incorrect-directory
150 Severity: important
151 Certainty: certain
152 Ref: policy 12.5
153 Info: In the directory name /usr/share/common-licenses, licenses is spelled
154  with an "s", not as licences with a "c".
155
156 Tag: copyright-file-lacks-pointer-to-perl-license
157 Severity: important
158 Certainty: possible
159 Ref: policy 12.5
160 Info: If your package is released under the same terms as Perl itself,
161  it should refer to the Artistic and GPL license files in the
162  <tt>/usr/share/common-licenses</tt> directory.
163
164 Tag: copyright-should-refer-to-common-license-file-for-gpl
165 Severity: important
166 Certainty: possible
167 Ref: policy 12.5
168 Info: The strings "GNU General Public License" or "GPL" appear in the
169  copyright file for this package, but the copyright file does not
170  reference <tt>/usr/share/common-licenses</tt> as the location of the GPL
171  on Debian systems.
172  .
173  If the package uses some other license that just mentions the GPL and
174  that Maemian should detect as an exception, please file a Maemian bug.
175  If the copyright file must mention the GPL for reasons other than stating
176  the license of the package, please add a Maemian override.
177
178 Tag: copyright-should-refer-to-common-license-file-for-gfdl
179 Severity: important
180 Certainty: possible
181 Ref: policy 12.5
182 Info: The strings "GNU Free Documentation License" or "GFDL" appear in the
183  copyright file for this package, but the copyright file does not
184  reference <tt>/usr/share/common-licenses</tt> as the location of the GFDL
185  on Debian systems.
186  .
187  If the package uses some other license that just mentions the GFDL and
188  that Maemian should detect as an exception, please file a Maemian bug.
189  If the copyright file must mention the GFDL for reasons other than stating
190  the license of the package, please add a Maemian override.
191
192 Tag: copyright-should-refer-to-common-license-file-for-lgpl
193 Severity: important
194 Certainty: possible
195 Ref: policy 12.5
196 Info: The strings "GNU Lesser General Public License", "GNU Library
197  General Public License", or "LGPL" appear in the copyright file for this
198  package, but the copyright file does not reference
199  <tt>/usr/share/common-licenses</tt> as the location of the LGPL on Debian
200  systems.
201  .
202  If the package uses some other license that just mentions the LGPL and
203  that Maemian should detect as an exception, please file a Maemian bug.
204  If the copyright file must mention the LGPL for reasons other than stating
205  the license of the package, please add a Maemian override.
206
207 Tag: copyright-lists-upstream-authors-with-dh_make-boilerplate
208 Severity: normal
209 Certainty: certain
210 Info: There is "Upstream Author(s)" in your copyright file. This was most
211  likely a remnant from the dh_make template.
212  .
213  There's either one upstream author, in which case you should remove the
214  "(s)", or there are several upstream authors, in which case you should
215  remove the "(" and ")".
216  .
217  o/~ join us now and carefully edit debian/copyright files! o/~
218
219 Tag: copyright-has-url-from-dh_make-boilerplate
220 Severity: normal
221 Certainty: certain
222 Ref: policy 12.5
223 Info: There is "url://example.com" in your copyright file. This was most
224  likely a remnant from the dh_make template.
225  .
226  Make sure you include the real location where you obtained the
227  upstream sources (if any).
228
229 Tag: debian-copyright-file-uses-obsolete-national-encoding
230 Severity: normal
231 Certainty: certain
232 Info: The Debian copyright file should be valid UTF-8, an encoding of
233  the Unicode character set.
234  .
235  There are many ways to convert a copyright file from an obsoleted encoding
236  like ISO-8859-1; you may for example use "iconv" like:
237  .
238   $ iconv -f ISO-8859-1 -t UTF-8 copyright &gt; copyright.new
239   $ mv copyright.new copyright
240
241 Tag: copyright-contains-dh_make-todo-boilerplate
242 Severity: normal
243 Certainty: certain
244 Ref: policy 12.5
245 Info: The string "Please also look if..." appears in the copyright
246  file, which indicates that you either didn't check the whole source
247  to find additional copyright/license, or that you didn't remove that
248  paragraph after having done so.
249
250 Tag: copyright-contains-dh-make-perl-boilerplate
251 Severity: normal
252 Certainty: certain
253 Ref: policy 12.5
254 Info: The string "This copyright info was automatically extracted..."
255  appears in the copyright file, which indicates that you either didn't
256  check the whole source to find additional copyright/license, or that
257  you didn't remove that paragraph after having done so.
258
259 Tag: copyright-with-old-dh-make-debian-copyright
260 Severity: wishlist
261 Certainty: certain
262 Info: The copyright file contains the incomplete Debian packaging
263  copyright boilerplate from older versions of <tt>dh_make</tt>.
264  <tt>(C)</tt> is not considered as a valid way to express the copyright
265  ownership.  The word <tt>Copyright</tt> or the © symbol should be used
266  instead or in addition to <tt>(C)</tt>.
267
268 Tag: copyright-refers-to-bad-php-license
269 Severity: serious
270 Certainty: possible
271 Info: This package appears to be covered by version 2.x of the PHP license,
272  which is not appropriate for anything other than PHP itself.
273 Ref: http://ftp-master.debian.org/REJECT-FAQ.html
274
275 Tag: copyright-refers-to-problematic-php-license
276 Severity: serious
277 Certainty: wild-guess
278 Info: This package appears to be covered by version 3.0 (exactly) of the
279  PHP license.  This license is not applicable to anything that is not PHP
280  and has no contributions from the PHP Group.
281 Ref: http://ftp-master.debian.org/REJECT-FAQ.html
282
283 Tag: copyright-without-copyright-notice
284 Severity: normal
285 Certainty: certain
286 Ref: http://ftp-master.debian.org/REJECT-FAQ.html
287 Info: The copyright file for this package does not appear to contain a
288  copyright notice.  You should copy the copyright notice from the upstream
289  source (or add one of your own for a native package).  A copyright notice
290  must consist of Copyright, Copr., or the Unicode symbol of C in a circle
291  followed by the years and the copyright holder.  A copyright notice is
292  not required for a work to be copyrighted, but Debian requires the
293  copyright file include the authors and years of copyright, and including
294  a valid copyright notice is the best way to do that.
295  .
296  If the package is in the public domain rather than copyrighted, be sure
297  to mention "public domain" in the copyright file.  Please be aware that
298  this is very rare and not the same as a DFSG-free license.  True public
299  domain software is generally limited to such special cases as a work
300  product of a United States government agency.
301
302 Tag: spelling-error-in-copyright
303 Severity: normal
304 Certainty: possible
305 Info: Maemian found a spelling error in the copyright file.  Maemian has a
306  list of common misspellings that it looks for.  It does not have a
307  dictionary like a spelling checker does.
308
309 Tag: possible-gpl-code-linked-with-openssl
310 Severity: serious
311 Certainty: wild-guess
312 Info: This package appears to be covered by the GNU GPL but depends on
313  the OpenSSL libssl package and does not mention a license exemption or
314  exception for OpenSSL in its copyright file.  The GPL (including version
315  3) is incompatible with some terms of the OpenSSL license, and therefore
316  Debian does not allow GPL-licensed code linked with OpenSSL libraries
317  unless there is a license exception explicitly permitting this.
318  .
319  If only the Debian packaging, or some other part of the package not
320  linked with OpenSSL, is covered by the GNU GPL, please add a lintian
321  override for this tag.  Maemian currently has no good way of
322  distinguishing between that case and problematic packages.
323
324 Tag: copyright-refers-to-symlink-license
325 Severity: pedantic
326 Certainty: possible
327 Info: The copyright file refers to the versionless symlink in
328  <tt>/usr/share/common-licenses</tt> for the full text of the GPL, LGPL,
329  or GFDL license.  This symlink is updated to point to the latest version
330  of the license when a new one is released.  The package appears to allow
331  relicensing under later versions of its license, so this is legally
332  consistent, but it implies that Debian will relicense the package under
333  later versions of those licenses as they're released.  It is normally
334  better to point to the version of the license the package references in
335  its license statement.
336  .
337  For example, if the package says something like "you may redistribute it
338  and/or modify it under the terms of the GNU General Public License as
339  published by the Free Software Foundation; either version 2, or (at your
340  option) any later version", the <tt>debian/copyright</tt> file should
341  refer to <tt>/usr/share/common-licenses/GPL-2</tt>, not <tt>/GPL</tt>.
342
343 Tag: copyright-refers-to-versionless-license-file
344 Severity: normal
345 Certainty: possible
346 Info: The copyright file refers to the versionless symlink in
347  <tt>/usr/share/common-licenses</tt> for the full text of the GPL, LGPL,
348  or GFDL license, but the package does not appear to allow distribution
349  under later versions of the license.  This symlink will change with each
350  release of a new version of the license and may therefore point to a
351  different version than the package is released under.
352  <tt>debian/copyright</tt> should instead refers to the specific version
353  of the license that the package references.
354  .
355  For example, if the package says something like "you can redistribute it
356  and/or modify it under the terms of the GNU General Public License as
357  published by the Free Software Foundation; version 2 dated June, 1991,"
358  the <tt>debian/copyright</tt> file should refer to
359  <tt>/usr/share/common-licenses/GPL-2</tt>, not <tt>/GPL</tt>.
360
361 Tag: copyright-refers-to-nonexistent-license-file
362 Severity: normal
363 Certainty: certain
364 Info: The copyright file refers to a license in
365  <tt>/usr/share/common-licenses</tt> that doesn't exist.  Usually this is
366  a typo, such as accidentally omitting the <tt>-</tt> between the license
367  name and the version number.