Added some code to peer into a data structure in Maemian/Schedule.pm. Also added the
[maemian] / nokia-lintian / 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 /usr/share/doc/&lt;foo&gt;/copyright file
11  or must have a symlink /usr/share/doc/&lt;foo&gt; -&gt; &lt;bar&gt;, where &lt;bar&gt; comes
12  from the same source package and pkg foo declares a "Depends" relation
13  on bar.
14
15 Tag: no-copyright-file
16 Type: error
17 Info: Each binary package has to include a plain file
18  /usr/share/doc/<i>pkg</i>/copyright
19 Ref: policy 12.5
20 Tested: empty
21
22 Tag: copyright-refers-to-old-directory
23 Type: error
24 Info: The common licenses (GPL, BSD, Artistic, etc) have been moved from
25  /usr/doc/copyright to /usr/share/common-licenses.
26  Copyright files should be updated.
27 Ref: policy 12.5
28
29 Tag: copyright-file-compressed
30 Type: error
31 Info: The copyright file /usr/share/doc/<i>pkg</i>/copyright must not be
32  compressed.
33 Ref: policy 12.5
34
35 Tag: copyright-file-is-symlink
36 Type: error
37 Info: The copyright file /usr/share/doc/<i>pkg</i>/copyright must not be a
38  symbolic link.
39 Ref: policy 12.5
40
41 Tag: copyright-file-contains-full-gpl-license
42 Type: error
43 Info: The copyright file /usr/share/doc/<i>pkg</i>/copyright contains the
44  complete text of the GPL v2 or v3.  It should refer to the file
45  <tt>/usr/share/common-licenses/GPL-2</tt> or <tt>GPL-3</tt> instead.
46 Ref: policy 12.5
47
48 Tag: copyright-file-contains-full-gfdl-license
49 Type: error
50 Info: The copyright file /usr/share/doc/<i>pkg</i>/copyright contains the
51  complete text of the GFDL v1.2.  It should refer to the file
52  <tt>/usr/share/common-licenses/GFDL-1.2</tt> instead.
53 Ref: policy 12.5
54
55 Tag: copyright-file-contains-full-apache-2-license
56 Type: error
57 Info: The copyright file /usr/share/doc/<i>pkg</i>/copyright contains the
58  complete text of the Apache 2.0 license.  It should refer to the file
59  <tt>/usr/share/common-licenses/Apache-2.0</tt> instead.
60 Ref: policy 12.5
61
62 Tag: usr-share-doc-symlink-without-dependency
63 Type: error
64 Info: If the package installs a symbolic link /usr/share/doc/<i>pkg1</i> -&gt;
65  <i>pkg2</i>, then <i>pkg1</i> has to depend on <i>pkg2</i> with the same
66  version as <i>pkg1</i>.
67  .
68  Note, that adding the "Depends:" entry just to fix this bug is not a good
69  solution. It's suggested that you include a real /usr/share/doc/<i>pkg1</i>
70  directory within <i>pkg1</i> and copy the copyright file into that directory.
71 Ref: policy 12.5
72
73 Tag: usr-share-doc-symlink-to-foreign-package
74 Type: error
75 Info: If the package installs a symbolic link /usr/share/doc/<i>pkg1</i> -&gt;
76  <i>pkg2</i>, then <i>pkg1</i> and <i>pkg2</i> must both come from the same
77  source package.
78  .
79  It's suggested that you include a real /usr/share/doc/<i>pkg1</i> directory
80  within <i>pkg1</i> and copy the copyright file to that directory.
81 Ref: policy 12.5
82
83 Tag: cannot-check-whether-usr-share-doc-symlink-points-to-foreign-package
84 Type: info
85 Info: There is a symlink /usr/share/doc/<i>pkg1</i> -&gt; <i>pkg2</i>
86  in your package. This means that <i>pkg1</i> and <i>pkg2</i> must
87  both come from the same source package. I can't check this right now
88  however since I'm only checking a binary package and I only can check
89  this when I'm checking both the binary and the corresponding source
90  package.
91
92 Tag: old-style-copyright-file
93 Type: error
94 Info: The package installs a /usr/doc/copyright/<i>pkg</i> file. Instead,
95  you should place the copyright file in /usr/share/doc/<i>pkg</i>/copyright.
96 Ref: policy 12.5
97
98 Tag: old-fsf-address-in-copyright-file
99 Type: warning
100 Info: The /usr/share/doc/<i>pkg</i>/copyright file refers to the old postal
101  address of the Free Software Foundation (FSF). The new address is:
102  .
103    Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
104    MA 02110-1301, USA.
105
106 Tag: helper-templates-in-copyright
107 Type: error
108 Info: The /usr/share/doc/<i>pkg</i>/copyright file still contains the template
109  contents from a packaging helper. Please include the actual license and
110  download information about the package.
111
112 Tag: copyright-refers-to-compressed-license
113 Type: error
114 Info: The /usr/share/doc/<i>pkg</i>/copyright file refers to a standard license
115  /usr/share/common-licenses/{GPL,LGPL,Artistic,BSD}.gz as a compressed
116  file. Please update the reference (the licenses are installed
117  uncompressed).
118
119 Tag: usr-share-doc-symlink-points-outside-of-usr-share-doc
120 Type: error
121 Info: The /usr/share/doc/<i>pkg</i> symbolic link is pointing to a directory
122  outside of <tt>/usr/share/doc</tt>.
123 Ref: policy 12.5
124
125 Tag: copyright-does-not-refer-to-common-license-file
126 Type: warning
127 Info: If your package uses any one of the licenses in
128  <tt>/usr/share/common-licenses</tt>, the copyright file should refer to
129  files therein.
130 Ref: policy 12.5
131
132 Tag: copyright-refers-to-incorrect-directory
133 Type: error
134 Ref: policy 12.5
135 Info: In the directory name /usr/share/common-licenses, licenses is spelled
136  with an `s', not with as licences with a `c'.
137
138 Tag: copyright-file-lacks-pointer-to-perl-license
139 Type: error
140 Ref: policy 12.5
141 Info: If your package is released under the same terms as Perl itself,
142  it should refer to the Artistic and GPL license files in the
143  <tt>/usr/share/common-licenses</tt> directory.
144
145 Tag: copyright-should-refer-to-common-license-file-for-gpl
146 Type: error
147 Ref: policy 12.5
148 Info: The strings "GNU General Public License" or "GPL" appear in the
149  copyright file for this package, but the copyright file does not
150  reference <tt>/usr/share/common-licenses</tt> as the location of the GPL
151  on Debian systems.
152  .
153  If the package uses some other license that just mentions the GPL and
154  that Lintian should detect as an exception, please file a Lintian bug.
155  If the copyright file must mention the GPL for reasons other than stating
156  the license of the package, please add a Lintian override.
157
158 Tag: copyright-should-refer-to-common-license-file-for-gfdl
159 Type: error
160 Ref: policy 12.5
161 Info: The strings "GNU Free Documentation License" or "GFDL" appear in the
162  copyright file for this package, but the copyright file does not
163  reference <tt>/usr/share/common-licenses</tt> as the location of the GFDL
164  on Debian systems.
165  .
166  If the package uses some other license that just mentions the GFDL and
167  that Lintian should detect as an exception, please file a Lintian bug.
168  If the copyright file must mention the GPL for reasons other than stating
169  the license of the package, please add a Lintian override.
170
171 Tag: copyright-should-refer-to-common-license-file-for-lgpl
172 Type: error
173 Ref: policy 12.5
174 Info: The strings "GNU Lesser General Public License", "GNU Library
175  General Public License", or "LGPL" appear in the copyright file for this
176  package, but the copyright file does not reference
177  <tt>/usr/share/common-licenses</tt> as the location of the LGPL on Debian
178  systems.
179  .
180  If the package uses some other license that just mentions the LGPL and
181  that Lintian should detect as an exception, please file a Lintian bug.
182  If the copyright file must mention the GPL for reasons other than stating
183  the license of the package, please add a Lintian override.
184
185 Tag: copyright-lists-upstream-authors-with-dh_make-boilerplate
186 Type: warning
187 Info: There is "Upstream Author(s)" in your copyright file. This was most
188  likely a remnant from the dh_make template.
189  .
190  There's either one upstream author, in which case you should remove the
191  "(s)", or there are several upstream authors, in which case you should
192  remove the "(" and ")".
193  .
194  o/~ join us now and carefully edit debian/copyright files! o/~
195
196 Tag: copyright-has-url-from-dh_make-boilerplate
197 Type: warning
198 Ref: 12.5
199 Info: There is "url://example.com" in your copyright file. This was most
200  likely a remnant from the dh_make template.
201  .
202  Make sure you include the real location where you obtained the
203  upstream sources (if any).
204
205 Tag: debian-copyright-file-uses-obsolete-national-encoding
206 Type: warning
207 Info: The Debian copyright file should be valid UTF-8, an encoding of
208  the Unicode character set.
209  .
210  There are many ways to convert a copyright file from an obsoleted encoding
211  like ISO-8859-1; you may for example use "iconv" like:
212  .
213   $ iconv -f ISO-8859-1 -t UTF-8 copyright &gt; copyright.new
214   $ mv copyright.new copyright
215
216 Tag: copyright-contains-dh_make-todo-boilerplate
217 Type: warning
218 Ref: policy 12.5
219 Info: The string "Please also look if..." appears in the copyright
220  file, which indicates that you either didn't check the whole source
221  to find additional copyright/license, or that you didn't remove that
222  paragraph after having done so.
223
224 Tag: copyright-contains-dh-make-perl-boilerplate
225 Type: warning
226 Ref: policy 12.5
227 Info: The string "This copyright info was automatically extracted..."
228  appears in the copyright file, which indicates that you either didn't
229  check the whole source to find additional copyright/license, or that
230  you didn't remove that paragraph after having done so.
231
232 Tag: copyright-without-copyright-notice
233 Type: warning
234 Ref: http://ftp-master.debian.org/REJECT-FAQ.html
235 Info: The copyright file for this package does not appear to contain a
236  copyright notice.  You should copy the copyright notice from the upstream
237  source (or add one of your own for a native package).  A copyright notice
238  must consist of Copyright, Copr., or the Unicode symbol of C in a circle
239  followed by the years and the copyright holder.  A copyright notice is
240  not required for a work to be copyrighted, but Debian requires the
241  copyright file include the authors and years of copyright, and including
242  a valid copyright notice is the best way to do that.
243  .
244  If the package is in the public domain rather than copyrighted, be sure
245  to mention "public domain" in the copyright file.  Please be aware that
246  this is very rare and not the same as a DFSG-free license.  True public
247  domain software is generally limited to such special cases as a work
248  product of a United States government agency.
249
250 Tag: spelling-error-in-copyright
251 Type: warning
252 Info: Lintian found a spelling error in the copyright file.  Lintian has a
253  list of common misspellings that it looks for.  It does not have a
254  dictionary like a spelling checker does.
255
256 Tag: possible-gpl-code-linked-with-openssl
257 Type: warning
258 Info: This package appears to be covered by the GNU GPL but depends on
259  the OpenSSL libssl package and does not mention a license exemption or
260  exception for OpenSSL in its copyright file.  The GPL (including version
261  3) is incompatible with some terms of the OpenSSL license, and therefore
262  Debian does not allow GPL-licensed code linked with OpenSSL libraries
263  unless there is a license exception explicitly permitting this.
264  .
265  If only the Debian packaging, or some other part of the package not
266  linked with OpenSSL, is covered by the GNU GPL, please add a lintian
267  override for this tag.  Lintian currently has no good way of
268  distinguishing between that case and problematic packages.
269
270 Tag: debian-copyright-line-too-long
271 Type: warning
272 Info: One or more lines in the copyright file contain more than 80 characters.
273  For the benefit of users of 80x25 terminals, it is recommended that the
274  lines do not exceed 80 characters.
275 Ref: policy 12.5
276