dd4a1bd0ac3dd81f2b1f4b2985f9a0950f88cfdf
[lintian/lintian.git] / checks / files.desc
1 Check-Script: files
2 Author: Christian Schwarz <schwarz@debian.org>
3 Abbrev: fil
4 Type: binary, udeb
5 Needs-Info: unpacked, objdump-info, scripts, file-info, index
6 Info: This script checks if a binary package conforms to policy
7  WRT to files and directories.
8
9 Tag: package-contains-ancient-file
10 Severity: serious
11 Certainty: certain
12 Info: Your package contains a file that claims to have been generated
13  more than 20 years ago. This is most probably an error. Your package
14  will be rejected by the Debian archive scripts if it contains a file
15  with such a timestamp.
16
17 Tag: package-installs-file-to-usr-x11r6
18 Severity: important
19 Certainty: certain
20 Info: Packages using the X Window System should not be configured to install
21  files under the /usr/X11R6/ directory. Debian has switched to the modular
22  X tree which now uses regular FHS paths and all packages should follow.
23  .
24  Programs that use GNU autoconf and automake are usually easily configured
25  at compile time to use /usr/ instead of /usr/X11R6/.  Packages that use
26  imake must build-depend on xutils-dev (&gt;= 1:1.0.2-2) for the correct
27  paths.
28 Ref: policy 11.8.7
29
30 Tag: config-file-reserved
31 Severity: important
32 Certainty: certain
33 Info: This file is reserved by a specific package.  Please email the
34  maintainer of the package in question if you have questions.
35
36 Tag: FSSTND-dir-in-usr
37 Severity: serious
38 Certainty: certain
39 Info: As of policy version 3.0.0.0, Debian no longer follows the FSSTND.
40  .
41  Instead, the Filesystem Hierarchy Standard (FHS), version 2.3, is
42  used. You can find it in /usr/share/doc/debian-policy/fhs/ .
43 Ref: policy 9.1.1
44
45 Tag: FSSTND-dir-in-var
46 Severity: serious
47 Certainty: certain
48 Info: As of policy version 3.0.0.0, Debian no longer follows the FSSTND.
49  .
50  Instead, the Filesystem Hierarchy Standard (FHS), version 2.3, is
51  used. You can find it in /usr/share/doc/debian-policy/fhs/ .
52 Ref: policy 9.1.1
53
54 Tag: package-installs-into-etc-gconf-schemas
55 Severity: normal
56 Certainty: certain
57 Info: The package installs files into the <tt>/etc/gconf/schemas</tt>
58  directory.  No package should do this; this directory is reserved for
59  local overrides.  Instead, schemas should be installed into
60  <tt>/usr/share/gconf/schemas</tt>.
61
62 Tag: package-installs-into-etc-rc.d
63 Severity: serious
64 Certainty: certain
65 Info: The package installs files into the <tt>/etc/rc.d</tt> or
66  <tt>/etc/rc?.d</tt> which is not allowed.
67 Ref: policy 9.3.3
68
69 Tag: package-installs-into-etc-rc.boot
70 Severity: serious
71 Certainty: certain
72 Info: The package installs files in the <tt>/etc/rc.boot</tt> directory,
73  which is obsolete.
74 Ref: policy 9.3.4
75
76 Tag: package-install-into-obsolete-dir
77 Severity: normal
78 Certainty: certain
79 Info: The package installs files to an obsolete directory.
80  Please use a newer path.
81
82 Tag: non-standard-file-permissions-for-etc-init.d-script
83 Severity: important
84 Certainty: certain
85 Info: Usually, scripts in the <tt>/etc/init.d</tt> directory should have
86  mode 0755.
87
88 Tag: file-directly-in-usr-share
89 Severity: serious
90 Certainty: certain
91 Info: Packages should not install files directly in <tt>/usr/share</tt>,
92  i.e., without a subdirectory.
93  .
94  You should either create a subdirectory <tt>/usr/share/...</tt> for your
95  package or place the file in <tt>/usr/share/misc</tt>.
96
97 Tag: file-in-usr-local
98 Severity: serious
99 Certainty: certain
100 Info: The package installs a file in <tt>/usr/local/...</tt> which is
101  not allowed.
102 Ref: policy 9.1.2
103
104 Tag: stray-directory-in-manpage-directory
105 Severity: important
106 Certainty: certain
107 Info: This package installs a directory under <tt>/usr/share/man</tt> or
108  <tt>/usr/X11R6/man</tt> that isn't a manual section directory or locale
109  directory.
110 Ref: fhs usrsharemanmanualpages
111
112 Tag: executable-manpage
113 Severity: important
114 Certainty: certain
115 Info: Manual pages are not meant to be executed.
116
117 Tag: dir-in-usr-local
118 Severity: serious
119 Certainty: certain
120 Info: The package installs a directory in <tt>/usr/local/...</tt> which is
121  not allowed.
122  .
123  If you want to provide an empty directory in <tt>/usr/local</tt> for
124  convenience of the local system administrator, please follow the rules
125  in the policy manual (section 9.1.2), i.e., create the directories in
126  the postinst script but don't fail if this isn't possible (e.g., if
127  <tt>/usr/local</tt> is mounted read-only).
128 Ref: policy 9.1.2
129
130 Tag: non-standard-dir-perm
131 Severity: normal
132 Certainty: possible
133 Info: The directory has a mode different from 0755, and it's not one of the
134  known exceptions.
135 Ref: policy 10.9
136
137 Tag: executable-is-not-world-readable
138 Severity: normal
139 Certainty: certain
140 Info: All executables should be readable by any user.  Since anyone can
141  download the Debian package and obtain a copy of the executable, no
142  security is gained by making the executable unreadable even for setuid
143  binaries.  If only members of a certain group may execute this file,
144  remove execute permission for world, but leave read permission.
145 Ref: policy 10.9
146
147 Tag: non-standard-executable-perm
148 Severity: normal
149 Certainty: certain
150 Info: Executables that are not setuid or setgid should always have a mode
151  of 0755.  Since anyone can obtain the executable by downloading the
152  Debian package and extracting it, restricting access serves little
153  purpose.
154 Ref: policy 10.9
155
156 Tag: non-standard-game-executable-perm
157 Severity: normal
158 Certainty: certain
159 Info: The file is owned by the games group but is not mode 2755.  If a
160  game does not have to be setgid games, it should be owned by the root
161  group like any other executable.  This executable is either owned by the
162  wrong group or is not setgid when it should be.
163 Ref: policy 11.11
164
165 Tag: non-standard-setuid-executable-perm
166 Severity: normal
167 Certainty: certain
168 Info: The file is setuid or setgid and has a mode different from any of
169  2755, 4755, 4754, or 6755.  Any other permissions on setuid executables
170  is probably a bug.  In particular, removing root write privileges serves
171  no purpose, group-writable setuid or setgid executables are probably bad
172  ideas, and setgid executables that are not world-executable serve little
173  purpose.
174 Ref: policy 10.9
175
176 Tag: setuid-binary
177 Severity: normal
178 Certainty: possible
179 Info: The file is tagged SETUID. In some cases this is intentional, but in
180  other cases this is a bug. If this is intentional, please add a lintian
181  override to document this fact.
182
183 Tag: setgid-binary
184 Severity: normal
185 Certainty: possible
186 Info: The file is tagged SETGID. In some cases this is intentional, but in
187  other cases this is a bug. If this is intentional, please add a lintian
188  override to document this fact.
189
190 Tag: setuid-gid-binary
191 Severity: normal
192 Certainty: possible
193 Info: The file is tagged SETUID and SETGID. In some cases this is
194  intentional, but in other cases this is a bug. If this is intentional,
195  please add a lintian override to document this fact.
196
197 Tag: non-standard-file-perm
198 Severity: normal
199 Certainty: certain
200 Info: The file has a mode different from 0644. In some cases this is
201  intentional, but in other cases this is a bug.
202 Ref: policy 10.9
203
204 Tag: bad-perm-for-file-in-etc-sudoers.d
205 Severity: serious
206 Certainty: certain
207 Info: Files in /etc/sudoers.d/ must be 0440 or sudo will refuse to
208  parse them.
209 Ref: #588831, #576527
210
211 Tag: special-file
212 Severity: serious
213 Certainty: certain
214 Info: The package contains a <i>special</i> file (e.g., a device file).
215  This is forbidden by current policy. If your program needs this device,
216  you should create it by calling <tt>makedev</tt> from the postinst
217  script.
218 Ref: policy 10.6
219
220 Tag: compressed-symlink-with-wrong-ext
221 Severity: important
222 Certainty: certain
223 Info: The package installs a symbolic link pointing to a compressed file,
224  but the symbolic link does not use the same file extension than the
225  referenced file. In most cases, this can produce troubles when the
226  user or a program tries to access the file through the link.
227 Ref: policy 10.5
228
229 Tag: symlink-has-double-slash
230 Severity: minor
231 Certainty: certain
232 Info: This symlink contains two successive slashes (//). This is in violation
233  of policy, where it is stated that symlinks should be as short as possible
234  .
235  If you use debhelper, running dh_link after creating the package structure
236  will fix this problem for you.
237 Ref: policy 10.5
238
239 Tag: symlink-ends-with-slash
240 Severity: minor
241 Certainty: certain
242 Info: This symlink ends with a slash (/). This is in violation
243  of policy, where it is stated that symlinks should be as short as possible
244  .
245  If you use debhelper, running dh_link after creating the package structure
246  will fix this problem for you.
247 Ref: policy 10.5
248
249 Tag: symlink-should-be-relative
250 Severity: normal
251 Certainty: certain
252 Info: Symlinks to files which are in the same top-level directory should be
253  relative according to policy.  (In other words, a link in /usr to another
254  file in /usr should be relative, while a link in /usr to a file in /etc
255  should be absolute.)
256  .
257  If you use debhelper, running dh_link after creating the package structure
258  will fix this problem for you.
259 Ref: policy 10.5
260
261 Tag: symlink-should-be-absolute
262 Severity: important
263 Certainty: certain
264 Info: Symbolic links between different top-level directories should be
265  absolute.
266  .
267  If you use debhelper, running dh_link after creating the package structure
268  will fix this problem for you.
269 Ref: policy 10.5
270
271 Tag: udeb-contains-documentation-file
272 Severity: important
273 Certainty: certain
274 Info: udeb packages should not contain any documentation.
275
276 Tag: executable-in-usr-share-doc
277 Severity: important
278 Certainty: certain
279 Info: Usually, documentation files in <tt>/usr/share/doc</tt> should have mode
280  0644.  If the executable is an example, it should go in
281  <tt>/usr/share/doc/<i>pkg</i>/examples</tt>.
282
283 Tag: script-in-usr-share-doc
284 Severity: wishlist
285 Certainty: certain
286 Info: Scripts are usually not documentation files, unless they are
287  examples, in which case they should be in the
288  <tt>/usr/share/doc/<i>pkg</i>/examples</tt> directory.
289
290 Tag: symlink-has-too-many-up-segments
291 Severity: serious
292 Certainty: certain
293 Ref: policy 10.5
294 Info: The symlink references a directory beyond the root directory "/".
295
296 Tag: lengthy-symlink
297 Severity: important
298 Certainty: certain
299 Info: This link goes up, and then back down into the same subdirectory.
300  Making it shorter will improve its chances of finding the right file
301  if the user's system has lots of symlinked directories.
302  .
303  If you use debhelper, running dh_link after creating the package structure
304  will fix this problem for you.
305 Ref: policy 10.5
306
307 Tag: symlink-is-self-recursive
308 Severity: normal
309 Certainty: possible
310 Info: The symbolic link is recursive to a higher directory of the symlink
311  itself. This means, that you can infinitely chdir with this symlink. This is
312  usually not okay, but sometimes wanted behaviour.
313
314 Tag: symlink-contains-spurious-segments
315 Severity: important
316 Certainty: certain
317 Info: The symbolic link has needless segments like ".." and "." in the
318  middle.  These are unneeded and make the link longer than it could be,
319  which is in violation of policy.  They can also cause problems in the
320  presence of symlinked directories.
321  .
322  If you use debhelper, running dh_link after creating the package structure
323  will fix this problem for you.
324 Ref: policy 10.5
325
326 Tag: run-parts-cron-filename-contains-illegal-chars
327 Severity: normal
328 Certainty: certain
329 Info: The script in /etc/cron.&lt;time-interval&gt; will not be executed by
330  run-parts(8) because the filename contains a "." (full stop) or "+" (plus).
331  .
332  It is recommended to use "_" (underscores) instead of these symbols.
333 Ref: run-parts(8), policy 9.5.1
334
335 Tag: bad-permissions-for-etc-cron.d-script
336 Severity: important
337 Certainty: certain
338 Info: Files in <tt>/etc/cron.d</tt> are configuration files for cron and not
339  scripts. Thus, they should not be marked executable.
340
341 Tag: bad-permissions-for-etc-emacs-script
342 Severity: important
343 Certainty: certain
344 Info: Files in the <tt>/etc/emacs*</tt> directories should not be marked
345  executable.
346
347 Tag: image-file-in-usr-lib
348 Severity: normal
349 Certainty: certain
350 Info: This package installs a pixmap or a bitmap within <tt>/usr/lib</tt>.
351  According to the Filesystem Hierarchy Standard, architecture-independent
352  files need to be placed within <tt>/usr/share</tt> instead.
353
354 Tag: file-directly-in-usr-share-doc
355 Severity: serious
356 Certainty: certain
357 Info: Documentation files have to be installed in
358  <tt>/usr/share/doc/<i>pkg</i></tt>.
359 Ref: policy 12.3
360
361 Tag: bad-owner-for-doc-file
362 Severity: important
363 Certainty: certain
364 Info: Documentation files should be owned by <tt>root/root</tt>.
365
366 Tag: dir-or-file-in-var-lock
367 Severity: serious
368 Certainty: possible
369 Info: <tt>/var/lock</tt> may be a temporary filesystem, so any directories
370  or files needed there must be created dynamically at boot time.
371 Ref: policy 9.3.2
372
373 Tag: dir-or-file-in-var-run
374 Severity: serious
375 Certainty: possible
376 Info: <tt>/var/run</tt> may be a temporary filesystem, so any directories
377  or files needed there must be created dynamically at boot time.
378 Ref: policy 9.3.2
379
380 Tag: dir-or-file-in-run
381 Severity: serious
382 Certainty: possible
383 Info: <tt>/run</tt> may be a temporary filesystem, so any directories
384  or files needed there must be created dynamically at boot time.
385 Ref: policy 9.3.2
386
387 Tag: dir-or-file-in-var-www
388 Severity: serious
389 Certainty: possible
390 Ref: fhs thevarhierarchy
391 Info: Debian packages should not install files under <tt>/var/www</tt>.
392  This is not one of the <tt>/var</tt> directories in the File Hierarchy
393  Standard and is under the control of the local administrator.  Packages
394  should not assume that it is the document root for a web server; it is
395  very common for users to change the default document root and packages
396  should not assume that users will keep any particular setting.
397  .
398  Packages that want to make files available via an installed web server
399  should instead put instructions for the local administrator in a
400  README.Debian file and ideally include configuration fragments for common
401  web servers such as Apache.
402  .
403  As an exception, packages are permitted to create the <tt>/var/www</tt>
404  directory due to its past history as the default document root, but
405  should at most copy over a default file in postinst for a new install.
406  In this case, please add a Lintian override.
407
408 Tag: dir-or-file-in-tmp
409 Severity: serious
410 Certainty: certain
411 Info: Packages must not install files into <tt>/tmp</tt> or
412  <tt>/var/tmp</tt>.  The File Hierarchy Standard specifies that such files
413  may be removed by the administrator and that programs may not depend on
414  any files in <tt>/tmp</tt> being preserved across invocations, which
415  combined mean that it makes no sense to ship files in these directories.
416 Ref: fhs tmptemporaryfiles, fhs vartmptemporaryfilespreservedbetwee
417
418 Tag: dir-or-file-in-mnt
419 Severity: serious
420 Certainty: certain
421 Info: Packages should not install into <tt>/mnt</tt>.  The FHS states that
422  this directory is reserved for the local system administrator for
423  temporary mounts and that it must not be used by installation programs.
424 Ref: fhs mntmountpointforatemporarilymount
425
426 Tag: dir-or-file-in-opt
427 Severity: serious
428 Certainty: certain
429 Info: Debian packages should not install into <tt>/opt</tt>, because it
430  is reserved for add-on software.
431 Ref: fhs optaddonapplicationsoftwarepackages
432
433 Tag: dir-or-file-in-etc-opt
434 Severity: serious
435 Certainty: certain
436 Info: Debian packages should not install into <tt>/etc/opt</tt>, because it
437  is reserved for add-on software.
438 Ref: fhs optaddonapplicationsoftwarepackages
439
440 Tag: dir-or-file-in-srv
441 Severity: serious
442 Certainty: certain
443 Info: Debian packages should not install into <tt>/srv</tt>.  The
444  specification of <tt>/srv</tt> states that its structure is at the
445  discretion of the local administrator and no package should rely on any
446  particular structure.  Debian packages that install files directly into
447  <tt>/srv</tt> can't adjust for local policy about its structure and in
448  essence force a particular structure.
449  .
450  If a package wishes to put its data in <tt>/srv</tt>, it must do this in
451  a way that allows the local administrator to specify and preserve their
452  chosen directory structure (such as through post-install configuration,
453  setup scripts, debconf prompting, etc.).
454 Ref: fhs srvdataforservicesprovidedbysystem
455
456 Tag: third-party-package-in-python-dir
457 Severity: normal
458 Certainty: certain
459 Info: Third-party Python packages should install their files in
460  <tt>/usr/lib/python<i>VERSION</i>/site-packages</tt> for Python versions
461  before 2.6 and <tt>/usr/lib/python<i>VERSION</i>/dist-packages</tt>
462  for Python 2.6 and later.  All other directories in
463  <tt>/usr/lib/python<i>VERSION</i></tt> are for use by the core python
464  packages.
465 Ref: python-policy 1.5
466
467 Tag: perl-module-in-core-directory
468 Severity: important
469 Certainty: certain
470 Info: Packaged modules must not be installed into the core perl
471  directories as those directories change with each upstream perl
472  revision.  The vendor directories are provided for this purpose.
473 Ref: perl-policy 3.1
474
475 Tag: backup-file-in-package
476 Severity: normal
477 Certainty: certain
478 Info: There is a file in the package whose name matches the format emacs
479  or vim uses for backup and autosave files.  It may have been installed by
480  accident.
481
482 Tag: nfs-temporary-file-in-package
483 Severity: normal
484 Certainty: certain
485 Info: There is a file in the package whose name matches the format NFS
486  uses to temporarily save files that were deleted while another process
487  had them open.  It may have been included in the package by accident
488  while building the package in an NFS filesystem.
489
490 Tag: windows-thumbnail-database-in-package
491 Severity: normal
492 Certainty: certain
493 Info: There is a file in the package named <tt>Thumbs.db</tt> or
494  <tt>Thumbs.db.gz</tt>, which is normally a Windows image thumbnail
495  database.  Such databases are generally useless in Debian packages and
496  were usually accidentally included by copying complete directories from
497  the source tarball.
498
499 Tag: macos-ds-store-file-in-package
500 Severity: normal
501 Certainty: certain
502 Info: There is a file in the package named <tt>.DS_Store</tt> or
503  <tt>.DS_Store.gz</tt>, the file name used by Mac OS X to store folder
504  attributes.  Such files are generally useless in Debian packages and were
505  usually accidentally included by copying complete directories from the
506  source tarball.
507
508 Tag: macos-resource-fork-file-in-package
509 Severity: normal
510 Certainty: certain
511 Info: There is a file in the package with a name starting with
512  <tt>._</tt>, the file name pattern used by Mac OS X to store resource
513  forks in non-native file systems.  Such files are generally useless in
514  Debian packages and were usually accidentally included by copying
515  complete directories from the source tarball.
516
517 Tag: package-installs-perllocal-pod
518 Severity: normal
519 Certainty: certain
520 Info: This package installs a file <tt>perllocal.pod</tt>.  Since that
521  file is intended for local documentation, it is not likely that it is
522  a good place for documentation supplied by a Debian package.  In fact,
523  installing this package will wipe out whatever local documentation
524  existed there.
525
526 Tag: extra-license-file
527 Severity: normal
528 Certainty: possible
529 Ref: policy 12.5
530 Info: All license information should be collected in the
531  <tt>debian/copyright</tt> file.  This usually makes it unnecessary
532  for the package to install this information in other places as well.
533
534 Tag: non-standard-toplevel-dir
535 Severity: important
536 Certainty: certain
537 Info: The Filesystem Hierarchy Standard forbids the installation of new
538  files or directories in the root directory.
539 Ref: fhs therootfilesystem
540
541 Tag: non-multi-arch-lib-dir
542 Severity: normal
543 Certainty: certain
544 Info: The following library use an old path (like /lib64 or /lib32)
545  instead of using multi-arch path (like for instance
546  /lib/x86_64-linux-gnu/ or /lib/i386-linux-gnu/).
547 Ref: https://wiki.debian.org/Multiarch
548
549 Tag: subdir-in-bin
550 Severity: serious
551 Certainty: certain
552 Info: The Filesystem Hierarchy Standard forbids the installation of new
553  directories in <tt>/bin</tt>.
554 Ref: fhs binessentialusercommandbinaries
555
556 Tag: subdir-in-usr-bin
557 Severity: serious
558 Certainty: certain
559 Info: The Filesystem Hierarchy Standard forbids the installation of new
560  directories in <tt>/usr/bin</tt> other than <tt>/usr/bin/mh</tt>.
561 Ref: fhs usrbinmostusercommands
562
563 Tag: non-standard-dir-in-usr
564 Severity: normal
565 Certainty: certain
566 Info: The FHS says "No large software packages should use a direct
567  subdirectory under the <tt>/usr</tt> hierarchy".  This package contains
568  a directory in <tt>/usr</tt> that is not mentioned in the Filesystem
569  Hierarchy Standard.
570 Ref: fhs theusrhierarchy
571
572 Tag: non-standard-dir-in-var
573 Severity: important
574 Certainty: certain
575 Info: The FHS says "Applications should generally not add directories to
576  the top level of <tt>/var</tt>.  Such directories should only be added
577  if they have some system-wide implication, and in consultation with the
578  FHS mailing list."
579 Ref: fhs thevarhierarchy
580
581 Tag: use-of-compat-symlink
582 Severity: important
583 Certainty: certain
584 Info: This package uses a directory that, according to the Filesystem
585  Hierarchy Standard, should exist only as a compatibility symlink.
586  Packages should not traverse such symlinks when installing files, they
587  should use the standard directories instead.
588
589 Tag: file-in-unusual-dir
590 Severity: normal
591 Certainty: certain
592 Info: This file or symbolic link is in a directory where files are not
593  normally installed by Debian packages.
594
595 Tag: package-installs-packlist
596 Severity: important
597 Certainty: certain
598 Info: Packages built using the perl MakeMaker package will have a file
599  named .packlist in them.  Those files are useless, and (in some cases)
600  have the additional problem of creating an architecture-specific
601  directory name in an architecture-independent package.
602  .
603  They can be suppressed by adding the following to <tt>debian/rules</tt>:
604  .
605    find debian/<i>pkg</i> -type f -name .packlist -delete
606  .
607  or by telling MakeMaker to use vendor install dirs; consult a recent
608  version of Perl policy. Perl 5.6.0-12 or higher supports this.
609 Ref: perl-policy 4.1
610
611 Tag: zero-byte-file-in-doc-directory
612 Severity: normal
613 Certainty: possible
614 Info: The documentation directory for this package contains an empty
615  file.  This is often due to installing an upstream NEWS or README file
616  without realizing it's empty and hence not useful.
617  .
618  Files in the examples subdirectory are excluded from this check, but
619  there are some cases where empty files are legitimate parts of the
620  documentation without being examples.  In those cases, please add an
621  override.
622
623 Tag: override-file-in-wrong-location
624 Severity: important
625 Certainty: certain
626 Info: Lintian overrides should be put in a regular file named
627  /usr/share/lintian/overrides/<tt>package</tt>, not in a subdirectory
628  named for the package or in the obsolete location under /usr/share/doc.
629  See the Lintian documentation for more information on proper naming and
630  format.
631 Ref: lintian 2.4
632
633 Tag: package-contains-upstream-install-documentation
634 Severity: normal
635 Certainty: possible
636 Ref: policy 12.3
637 Info: Binary packages do not need to contain the instructions for building
638  and installing the package as this info is not needed by package users.
639  If the info contained is important for configuration perhaps it could be
640  summarized in README.Debian, otherwise an override may be added.
641
642 Tag: package-contains-hardlink
643 Severity: normal
644 Certainty: certain
645 Info: The package contains a hardlink in <tt>/etc</tt> or across different
646  directories. This might not work at all if directories are on different
647  filesystems (which can happen anytime as the system administrator sees fit),
648  certain filesystems such as AFS don't even support cross-directory hardlinks
649  at all.
650  .
651  For configuration files, certain editors might break hardlinks, and so
652  does dpkg in certain cases.
653  .
654  A better solution might be using symlinks here.
655 Ref: policy 10.7.3
656
657 Tag: package-contains-bts-control-dir
658 Severity: normal
659 Certainty: certain
660 Info: The package contains a control directory for a bug tracking system.
661  It was most likely installed by accident, since bug tracking directories
662  usually don't belong in packages.
663
664 Tag: package-contains-vcs-control-dir
665 Severity: normal
666 Certainty: certain
667 Info: The package contains a control directory for a version control system.
668  It was most likely installed by accident, since version control directories
669  usually don't belong in packages.
670
671 Tag: package-contains-xvpics-dir
672 Severity: important
673 Certainty: certain
674 Info: Package contains a .xvpics directory. It was most likely installed by
675  accident, since thumbnails usually don't belong in packages.
676
677 Tag: package-contains-vcs-control-file
678 Severity: normal
679 Certainty: certain
680 Info: The package contains a VCS control file such as .(cvs|git|hg)ignore.
681  Files such as these are used by revision control systems to, for example,
682  specify untracked files it should ignore or inventory files.  This file
683  is generally useless in an installed package and was probably installed
684  by accident.
685
686 Tag: svn-commit-file-in-package
687 Severity: normal
688 Certainty: certain
689 Info: The package contains an svn-commit(.NNN).tmp file.  This file is
690  almost certainly a left-over from a failed Subversion commit, and does
691  not belong in a Debian package.
692
693 Tag: svk-commit-file-in-package
694 Severity: normal
695 Certainty: certain
696 Info: The package contains an svk-commitNNN.tmp file.  This file is almost
697  certainly a left-over from a failed Subversion commit, and does not
698  belong in a Debian package.
699
700 Tag: nested-examples-directory
701 Severity: important
702 Certainty: certain
703 Info: Package contains a <tt>usr/share/doc/something/examples/examples</tt>
704  directory. It was most likely installed by accident, since one examples/
705  directory should be enough for everybody(tm).
706
707 Tag: package-installs-nonbinary-perl-in-usr-lib-perl5
708 Severity: normal
709 Certainty: certain
710 Info: Architecture-independent Perl code should be placed in
711  <tt>/usr/share/perl5</tt>, not <tt>/usr/lib/perl5</tt>
712  unless there is at least one architecture-dependent file
713  in the module.
714 Ref: perl-policy 2.3
715
716 Tag: file-in-usr-lib-site-python
717 Severity: important
718 Certainty: certain
719 Ref: python-policy 1.5
720 Info: The directory /usr/lib/site-python has been deprecated as a
721  location for installing Python modules and may be dropped from Python's
722  module search path in a future version.  Most likely this module is a
723  private module and should be packaged in a directory outside of Python's
724  default search path.
725
726 Tag: python-module-in-wrong-location
727 Severity: normal
728 Certainty: possible
729 Ref: python-policy 1.5, #576012
730 Info: The package installs a Python module or debug information for a Python
731  module in the wrong location for the given version of Python.
732  .
733  dh_python3 can be used to fix this for Python 3 modules.
734
735 Tag: python-debug-in-wrong-location
736 Severity: normal
737 Certainty: possible
738 Ref: #576014
739 Info: The package appears to be installing debug modules in
740  /usr/lib/debug/usr/lib/pyshared/pythonX.Y/.  However, gdb(1)
741  will not look for it there, making it less useful.  The file
742  should be installed in /usr/lib/debug/usr/lib/pymodules/pythonX.Y/
743  instead.
744
745 Tag: missing-dependency-on-python-support
746 Severity: important
747 Certainty: possible
748 Info: The package installs a file in usr/share/python-support/ but does
749  not declare the necessary dependency on python-support.
750  .
751  This can happen if ${python:Depends} was omitted from the Depends field
752  in debian/control.
753
754 Tag: package-installs-python-bytecode
755 Severity: serious
756 Certainty: certain
757 Ref: python-policy 2.6
758 Info: Compiled python source files must not be included in the package.
759  These files should be removed from the package and created at package
760  installation time in the postinst.
761
762 Tag: package-installs-python-egg
763 Severity: serious
764 Certainty: possible
765 Ref: python-policy 2.6
766 Info: Python eggs should not be installed, since the Debian package is
767  supposed to do the required steps for installing the Python code.
768  .
769  The egg may contain pre-compiled python bytecode or shared libraries.
770
771 Tag: package-installs-python-pycache-dir
772 Severity: serious
773 Certainty: certain
774 Ref: python-policy 2.6
775 Info: The package installs a __pycache__ directory, which is normally
776  only used to store compiled python source files. Compiled python
777  source files must not be included in the package, instead they
778  should be generated at installation time in the postinst.
779  .
780  Note this tag is issues even if the directory is empty.
781
782 Tag: bad-permissions-for-ali-file
783 Severity: normal
784 Certainty: certain
785 Ref: policy 8.4
786 Info: Ada Library Information (*.ali) files are required to be read-only
787  (mode 0444) by GNAT.
788  .
789  If at least one user can write the *.ali file, GNAT considers whether
790  or not to recompile the corresponding source file.  Such recompilation
791  would fail because normal users don't have write permission on the
792  files.  Moreover, such recompilation would defeat the purpose of
793  library packages, which provide *.a and *.so libraries to link against).
794
795 Tag: package-contains-readme-for-other-platform-or-distro
796 Severity: normal
797 Certainty: certain
798 Info: package contains a README.(platform) file that contains instructions
799  specific to a platform or distribution other than Debian and thus can
800  most likely be removed.  If it contains information that pertains to
801  Debian, please consider renaming it, or including it in an already
802  existing README file.
803
804 Tag: desktop-file-in-wrong-dir
805 Severity: normal
806 Certainty: certain
807 Info: The package contains a .desktop file in an obsolete directory.
808  According to the menu-spec draft on freedesktop.org, those .desktop files
809  that are intended to create a menu should be placed in
810  <tt>/usr/share/applications</tt>, not <tt>/usr/share/gnome/apps</tt>.
811
812 Tag: script-with-language-extension
813 Severity: normal
814 Certainty: certain
815 Info: When scripts are installed into a directory in the system PATH, the
816  script name should not include an extension such as <tt>.sh</tt> or
817  <tt>.pl</tt> that denotes the scripting language currently used to
818  implement it.  The implementation language may change; if it does,
819  leaving the name the same would be confusing and changing it would be
820  disruptive.
821 Ref: policy 10.4
822
823 Tag: file-in-usr-lib-sgml
824 Severity: normal
825 Certainty: certain
826 Ref: fhs theusrhierarchy
827 Info: This package installs a file in <tt>/usr/lib/sgml</tt>.  This was
828  the old location for SGML catalogs and similar flies.  All those files
829  should now go into <tt>/usr/share/sgml</tt>.
830
831 Tag: file-name-ends-in-whitespace
832 Severity: normal
833 Certainty: possible
834 Info: This package installs a file or directory whose name ends in
835  whitespace.  This might be intentional but it's normally a mistake.  If
836  it is intentional, add a lintian override.
837  .
838  One possible cause is using debhelper 5.0.57 or earlier to install a
839  doc-base file with a Document field that ends in whitespace.
840
841 Tag: package-contains-empty-directory
842 Severity: wishlist
843 Certainty: possible
844 Info: This package installs an empty directory.  This might be intentional
845  but it's normally a mistake.  If it is intentional, add a lintian override.
846  .
847  If a package ships with or installs empty directories, you can remove them
848  in debian/rules by calling:
849  .
850   $ find path/to/base/dir -type d -empty -delete
851
852 Tag: package-section-games-but-contains-no-game
853 Severity: important
854 Certainty: certain
855 Ref: policy 11.11
856 Info: This package is marked as part of the section games, but doesn't
857  contain files in <tt>/usr/games</tt>.  Binaries of games must be installed
858  in <tt>/usr/games</tt>.
859
860 Tag: package-section-games-but-has-usr-bin
861 Severity: normal
862 Certainty: possible
863 Ref: policy 11.11
864 Info: This package is marked as part of the section games, but contains
865  executables in <tt>/bin</tt> or <tt>/usr/bin/</tt>.  This can be intentional,
866  but is usually a mistake.
867
868 Tag: games-package-should-be-section-games
869 Severity: normal
870 Certainty: possible
871 Info: All the executables in this package are in <tt>/usr/games</tt>, but
872  the package is not in section games.  This can be intentional but is
873  usually a mistake.
874
875 Tag: package-contains-devhelp-file-without-symlink
876 Severity: normal
877 Certainty: certain
878 Info: This package contains a *.devhelp or *.devhelp2 file which is not in
879  the devhelp search path (<tt>/usr/share/devhelp/books</tt> and
880  <tt>/usr/share/gtk-doc/html</tt>) and is apparently not in a directory
881  linked into the devhelp search path.  This will prevent devhelp from
882  finding the documentation.
883  .
884  If the devhelp documentation is installed in a path outside the devhelp
885  search path (such as <tt>/usr/share/doc</tt>), create a symlink in
886  <tt>/usr/share/gtk-doc/html</tt> pointing to the documentation directory.
887
888 Tag: debug-package-should-be-named-dbg
889 Severity: normal
890 Certainty: certain
891 Info: This package provides at least one file in <tt>/usr/lib/debug</tt>,
892  which is intended for detached debugging symbols, but the package name
893  does not end in "-dbg".  Detached debugging symbols should be put into a
894  separate package, Priority: extra, with a package name ending in "-dbg".
895 Ref: devref 6.7.9
896
897 Tag: package-contains-linda-override
898 Severity: normal
899 Certainty: certain
900 Info: This package contains a linda override file in
901  <tt>/usr/share/linda/overrides</tt>.  Linda is obsolete and has been
902  removed from the archive as of 2008-03-04.  Linda overrides should
903  probably be dropped from packages.
904
905 Tag: wrong-file-owner-uid-or-gid
906 Severity: serious
907 Certainty: certain
908 Info: The user or group ID of the owner of the file is invalid. The
909  owner user and group IDs must be in the set of globally allocated
910  IDs, because other IDs are dynamically allocated and might be used
911  for varying purposes on different systems, or are reserved. The set
912  of the allowed, globally allocated IDs consists of the ranges 0-99,
913  64000-64999 and 65534.
914  .
915  It's possible for a Policy-compliant package to trigger this tag if the
916  user is created in the preinst maintainer script, but this is a very rare
917  case and doesn't appear to be necessary.  If you found yourself needing
918  to create a package that works this way, please file a bug against
919  Lintian to let the maintainers know.
920 Ref: policy 9.2
921
922 Tag: embedded-javascript-library
923 Severity: normal
924 Certainty: possible
925 Info: This package contains an embedded copy of JavaScript libraries
926  that are now available in their own packages (for example, JQuery,
927  Prototype, Mochikit or "Cropper"). Please depend on the appropriate
928  package and symlink the library into the appropriate location.
929 Ref: policy 4.13
930
931 Tag: privacy-breach-generic
932 Severity: important
933 Certainty: wild-guess
934 Experimental: yes
935 Info: This package creates a potential privacy breach by fetching data
936  from an external website at runtime. Please remove these scripts or
937  external HTML resources.
938  .
939  Please replace any scripts, images, or other remote resources with
940  non-remote resources. It is preferable to replace them with text and
941  links but local copies of the remote resources are also acceptable as
942  long as they don't also make calls to remote services. Please ensure
943  that the remote resources are suitable for Debian main before making
944  local copies of them.
945
946 Tag: privacy-breach-google-adsense
947 Severity: serious
948 Certainty: possible
949 Info: This package creates a privacy breach by using Google AdSense.
950  Google AdSense is a service run by Google that allows publishers
951  of websites to automatically serve advertisements. Unfortunately, it
952  requires tracking and breaching the privacy of web users.
953  .
954  This tag can also indicate the use of the related obsolete privacy
955  breaching software, Urchin WebAnalytics.
956  .
957  Note that using Google AdSense in a local copy of a page is a violation of
958  the Google AdSense terms of use. This violation renders this package not
959  distributable in Debian, and is thus a serious bug.
960  .
961  Please replace any scripts, images or other remote resources with
962  non-remote resources. It is preferrable to replace them with text and
963  links but local copies of the remote resources are also acceptable as
964  long as they don't also make calls to remote services. Please ensure
965  that the remote resources are suitable for Debian main before making
966  local copies of them.
967
968 Tag: privacy-breach-donation
969 Severity: serious
970 Certainty: possible
971 Ref: https://wiki.debian.org/UpstreamMetadata
972 Info: This package create a potential privacy breach by fetching data
973  from a donation website at runtime.
974  .
975  Please remove this privacy problem and add a note to the
976  debian/upstream/metadata file using the donation field.
977  .
978  Please replace any scripts, images, or other remote resources with
979  non-remote resources. It is preferable to replace them with text and
980  links but local copies of the remote resources are also acceptable as
981  long as they don't also make calls to remote services. Please ensure
982  that the remote resources are suitable for Debian main before making
983  local copies of them.
984
985 Tag: privacy-breach-logo
986 Severity: serious
987 Certainty: possible
988 Info: This package creates a potential privacy breach by fetching a
989  logo at runtime.
990  .
991  Before using a local copy you should check that the logo is suitable
992  for main. You can get help with determining this by posting a link to
993  the logo and a copy of, or a link to, the logo copyright and license
994  information to the debian-legal mailing list.
995  .
996  Please replace any scripts, images, or other remote resources with
997  non-remote resources. It is preferable to replace them with text and
998  links but local copies of the remote resources are also acceptable as
999  long as they don't also make calls to remote services. Please ensure
1000  that the remote resources are suitable for Debian main before making
1001  local copies of them.
1002
1003 Tag: privacy-breach-facebook
1004 Severity: serious
1005 Certainty: possible
1006 Info:  This package creates a privacy breach by exchanging data with
1007  Facebook at runtime via plugins such as "Share" or "Like" buttons.
1008  .
1009  Please replace any scripts, images, or other remote resources with
1010  non-remote resources. It is preferable to replace them with text and
1011  links but local copies of the remote resources are also acceptable as
1012  long as they don't also make calls to remote services. Please ensure
1013  that the remote resources are suitable for Debian main before making
1014  local copies of them.
1015
1016 Tag: privacy-breach-google-plus
1017 Severity: serious
1018 Certainty: possible
1019 Info: This package creates a potential privacy breach by 
1020  exchanging data with Google+ at runtime via plugins such
1021  as "+1" buttons.
1022  .
1023  Please replace any scripts, images, or other remote resources with
1024  non-remote resources. It is preferable to replace them with text and
1025  links but local copies of the remote resources are also acceptable as
1026  long as they don't also make calls to remote services. Please ensure
1027  that the remote resources are suitable for Debian main before making
1028  local copies of them.
1029
1030 Tag: privacy-breach-google-cse
1031 Severity: serious
1032 Certainty: possible
1033 Info: This package creates a potential privacy breach by fetching
1034  data from Google at runtime, and may feed private data to Google via
1035  Custom Search Engine queries.
1036  .
1037  Please replace any scripts, images, or other remote resources with
1038  non-remote resources. It is preferable to replace them with text and
1039  links but local copies of the remote resources are also acceptable as
1040  long as they don't also make calls to remote services. Please ensure
1041  that the remote resources are suitable for Debian main before making
1042  local copies of them.
1043
1044 Tag: privacy-breach-twitter
1045 Severity: serious
1046 Certainty: possible
1047 Info: This package creates a potential privacy breach by
1048  exchanging data with Twitter at runtime via plugins.
1049  .
1050  Please replace any scripts, images, or other remote resources with
1051  non-remote resources. It is preferable to replace them with text and
1052  links but local copies of the remote resources are also acceptable as
1053  long as they don't also make calls to remote services. Please ensure
1054  that the remote resources are suitable for Debian main before making
1055  local copies of them.
1056
1057 Tag: privacy-breach-piwik
1058 Severity: serious
1059 Certainty: possible
1060 Info: This package creates a privacy breach by using an online 
1061  Piwik module.
1062  .
1063  Piwik is a free and open source web analytics application, designed to
1064  allow publishers of websites to track visitors.
1065  .
1066  Even though Piwik is free and respects the "Do Not Track" browser
1067  option, it is nevertheless breaches the privacy of local users
1068  by fetching data from internet.
1069  .
1070  Please replace any scripts, images, or other remote resources with
1071  non-remote resources. It is preferable to replace them with text and
1072  links but local copies of the remote resources are also acceptable as
1073  long as they don't also make calls to remote services. Please ensure
1074  that the remote resources are suitable for Debian main before making
1075  local copies of them.
1076
1077 Tag: privacy-breach-statistics-website
1078 Severity: serious
1079 Certainty: possible
1080 Info: This package creates a privacy breach by fetching data from
1081  an external website in order to compile visitor statistics.
1082  .
1083  Please ask upstream to use the free software web analytics engine
1084  Piwik, which respects the "Do Not Track" browser option.
1085  .
1086  This tag covers the following websites:
1087  * cruel-carlota.pagodabox.com
1088  * linkexchange.com (defunct)
1089  * nedstatbasic.net
1090  * onestat.com
1091  * statcounter.com
1092  * sitemeter.com
1093  * webstats.motigo.com
1094  .
1095  Please replace any scripts, images, or other remote resources with
1096  non-remote resources. It is preferable to replace them with text and
1097  links but local copies of the remote resources are also acceptable as
1098  long as they don't also make calls to remote services. Please ensure
1099  that the remote resources are suitable for Debian main before making
1100  local copies of them.
1101
1102 Tag: privacy-breach-w3c-valid-html
1103 Severity: serious
1104 Certainty: possible
1105 Ref: http://validator.w3.org/docs/help.html#icon,
1106      http://www.w3.org/Consortium/Legal/logo-usage-20000308
1107 Info: This package creates a potential privacy breach by fetching W3C
1108  validation icons.
1109  .
1110  These badges may be displayed to tell readers that care has been
1111  taken to make a page compliant with W3C standards.  Unfortunately,
1112  downloading the image from www.w3.org might expose the reader's IP
1113  address to potential tracking.
1114  .
1115  Note that these icons are non-free and must not be copied into the
1116  package. You could safely delete this W3C validation badge.
1117
1118 Tag: embedded-feedparser-library
1119 Severity: normal
1120 Certainty: certain
1121 Info: This package contains an embedded copy of Mark Pilgrim's Universal
1122  Feed Parser.  Please depend on the "python-feedparser" package and use
1123  the normal Python import mechanism to load it.
1124 Ref: policy 4.13
1125
1126 Tag: embedded-pear-module
1127 Severity: normal
1128 Certainty: possible
1129 Experimental: yes
1130 Info: This package appears to contain an embedded copy of a PEAR module.
1131  Please depend on the respective PEAR package providing the module and
1132  make sure the library can be found by the scripts via the include_path.
1133 Ref: policy 4.13
1134
1135 Tag: embedded-php-library
1136 Severity: normal
1137 Certainty: possible
1138 Info: This package appears to contain an embedded copy of a PHP library.
1139  Please depend on the respective package providing the library and
1140  make sure it can be found by the scripts via the include_path.
1141 Ref: policy 4.13
1142
1143 Tag: windows-devel-file-in-package
1144 Severity: normal
1145 Certainty: possible
1146 Info: This package appears to contain development files only meaningful to
1147  Windows environments.  Such files are generally useless in Debian packages and
1148  were usually accidentally included by copying complete directories from the
1149  source tarball.
1150
1151 Tag: font-in-non-font-package
1152 Severity: wishlist
1153 Certainty: possible
1154 Info: This package contains a *.ttf, *.otf, or *.pfb file, file
1155  extensions used by TrueType, OpenType, or Type 1 fonts, but the package
1156  does not appear to be a dedicated font package.  Dedicated font package
1157  names should begin with <tt>fonts-</tt>.  (Type 1 fonts are also allowed
1158  in packages starting with <tt>xfonts-</tt>.)  If the font is already
1159  packaged, you should depend on that package instead.  Otherwise, normally
1160  the font should be packaged separately, since fonts are usually useful
1161  outside of the package that embeds them.
1162
1163 Tag: license-problem-font-adobe-copyrighted-fragment
1164 Severity: serious
1165 Certainty: possible
1166 Info: This type 1 font file includes some postscript fragment with a
1167  non free license of Adobe.  In order to check if this tag is genuine
1168  please follow the procedure described in the reference.
1169  .
1170  Should this be a false-positive, please override the tag.
1171 Ref: http://wiki.debian.org/qa.debian.org/type1nondfsg
1172
1173 Tag: license-problem-font-adobe-copyrighted-fragment-no-credit
1174 Severity: serious
1175 Certainty: possible
1176 Info: This type 1 font file includes some postscript fragment with a
1177  non free license of Adobe.  In order to check if this tag is genuine
1178  please follow the procedure described in the reference.
1179  .
1180  Moreover the fragment was likely verbatim copied from black
1181  book without any credit to Adobe.
1182  .
1183  Should this be a false-positive, please override the tag.
1184 Ref: http://wiki.debian.org/qa.debian.org/type1nondfsg
1185
1186 Tag: duplicate-font-file
1187 Severity: normal
1188 Certainty: possible
1189 Info: This package appears to include a font file that is already provided
1190  by another package in Debian.  Ideally it should instead depend on the
1191  relevant font package.  If the application in this package loads the font
1192  file by name, you may need to include a symlink pointing to the file name
1193  of the font in its Debian package.
1194  .
1195  Sometimes the font package containing the font is huge and you only need
1196  one font.  In that case, you have a few options: modify the package (in
1197  conjunction with upstream) to use libfontconfig to find the font that you
1198  prefer but fall back on whatever installed font is available, ask that
1199  the font package be split apart into packages of a more reasonable size,
1200  or add an override and be aware of the duplication when new versions of
1201  the font are released.
1202
1203 Tag: icon-size-and-directory-name-mismatch
1204 Severity: normal
1205 Certainty: certain
1206 Info: The icon has a size that differs from the size specified by the name
1207  of the directory under which it was installed.  The icon was probably
1208  mistakenly installed into the wrong directory.
1209
1210 Tag: raster-image-in-scalable-directory
1211 Severity: normal
1212 Certainty: certain
1213 Info: The given raster image was installed into a "scalable" icon directory.
1214  Only vector graphics (e.g. SVG) should be installed into those directories.
1215
1216 Tag: gz-file-not-gzip
1217 Severity: normal
1218 Certainty: possible
1219 Info: The given file ends with <tt>.gz</tt>, which normally indicates it
1220  is compressed with gzip.  However, it doesn't seem to be a
1221  gzip-compressed file.  gzip will fail with an error on such files.
1222  Normally this indicates a mistake in the installation process of the
1223  package.
1224
1225 Tag: non-free-flash
1226 Severity: serious
1227 Certainty: possible
1228 Info: The given Flash file has a filename which suggests that it may be
1229  one of a number of known Flash files with non-free content.
1230
1231 Tag: non-conf-file-in-modprobe.d
1232 Severity: important
1233 Certainty: certain
1234 Ref: http://lists.debian.org/debian-devel/2009/03/msg00119.html
1235 Info: Files in <tt>/etc/modprobe.d</tt> should use filenames ending in
1236  <tt>.conf</tt>.  modprobe silently ignores all files which do not match
1237  this convention.
1238  .
1239  If the file is an example containing only comments, consider installing
1240  it in another location as files in <tt>/etc/modprobe.d</tt> are
1241  read each time modprobe is run (which is often at boot time).
1242
1243 Tag: file-in-discouraged-x11-font-directory
1244 Severity: minor
1245 Certainty: certain
1246 Ref: policy 11.8.5
1247 Info: For historical reasons, use of <tt>PEX</tt>, <tt>CID</tt>,
1248  <tt>Speedo</tt>, and <tt>cyrillic</tt> subdirectories of
1249  <tt>/usr/share/fonts/X11</tt> are permitted, but installation of files
1250  into these directories is discouraged.  Support for the first three font
1251  types is deprecated or no longer available, and Cyrillic fonts should use
1252  the normal font directories where possible.
1253
1254 Tag: file-in-unknown-x11-font-directory
1255 Severity: serious
1256 Certainty: certain
1257 Ref: policy 11.8.5
1258 Info: Subdirectories of <tt>/usr/share/fonts/X11</tt> other than
1259  <tt>100dpi</tt>, <tt>75dpi</tt>, <tt>misc</tt>, <tt>Type1</tt>, and some
1260  historic exceptions must be neither created nor used.  (The directories
1261  <tt>encodings</tt> and <tt>util</tt>, used by some X Window System
1262  packages, are also permitted by Lintian.)
1263
1264 Tag: package-contains-multiple-dpi-fonts
1265 Severity: normal
1266 Certainty: certain
1267 Ref: policy 11.8.5
1268 Info: This package contains both 100dpi and 75dpi bitmapped fonts.  Both
1269  versions should not be included in a single package.  If both resolutions
1270  are available, they should be provided in separate binary packages with
1271  <tt>-75dpi</tt> or <tt>-100dpi</tt> appended to the package name for the
1272  corresponding fonts.
1273
1274 Tag: package-mixes-misc-and-dpi-fonts
1275 Severity: normal
1276 Certainty: certain
1277 Ref: policy 11.8.5
1278 Info: This package contains both bitmapped fonts for a specific DPI
1279  (100dpi or 75dpi) and misc bitmapped fonts.  These should not be combined
1280  in the same package.  Instead, the misc bitmapped fonts should be
1281  provided in a separate package with <tt>-misc</tt> appended to its name.
1282
1283 Tag: package-contains-info-dir-file
1284 Severity: serious
1285 Certainty: certain
1286 Info: This package contains a file named <tt>dir</tt> or <tt>dir.old</tt>,
1287  possibly compressed, in <tt>/usr/share/info</tt>.  This is the directory
1288  (or backup) of info pages and is generated automatically by install-info
1289  when a package containing info documentation is installed.  Some upstream
1290  build systems create it automatically, but it must not be included in a
1291  package since it needs to be generated dynamically based on the installed
1292  info files on the system.
1293
1294 Tag: package-contains-mime-cache-file
1295 Severity: serious
1296 Certainty: certain
1297 Info: This package contains a cache file generated automatically by
1298  update-mime-database when a package containing MIME-Info Database
1299  files is installed.  Some upstream build systems create them
1300  automatically, but they must not be included in a package since they need
1301  to be generated dynamically based on the installed MIME-Info Database
1302  files on the system.
1303
1304 Tag: package-contains-mimeinfo.cache-file
1305 Severity: serious
1306 Certainty: certain
1307 Info: This package contains a file named <tt>mimeinfo.cache</tt>,
1308  possibly compressed, in <tt>/usr/share/applications</tt>.  This file is
1309  generated automatically by update-desktop-database when a package
1310  containing <tt>.desktop</tt> files associated to MIME types is installed.
1311  Some upstream build systems create it automatically, but it must not be
1312  included in a package since it needs to be generated dynamically based on
1313  the installed .desktop files on the system.
1314
1315 Tag: package-modifies-ld.so-search-path
1316 Severity: important
1317 Certainty: possible
1318 Ref: policy 10.2
1319 Info: This package installs a file in <tt>/etc/ld.so.conf.d</tt>,
1320  presumably to modify the search path of the run-time linker, and does not
1321  appear to be part of libc.
1322  .
1323  Packages containing shared libraries should either install them into
1324  <tt>/usr/lib</tt> or should require binaries built against them to set
1325  RPATH to find the library at run-time.  Installing libraries in a
1326  different directory and modifying the run-time linker path is equivalent
1327  to installing them into <tt>/usr/lib</tt> except now conflicting library
1328  packages may cause random segfaults and difficult-to-debug problems
1329  instead of conflicts in the package manager.
1330
1331 Tag: global-data-in-games-directory
1332 Severity: important
1333 Certainty: certain
1334 Info: This package contains files under <tt>/usr/share/games</tt>, such as
1335  desktop files, icons, pixmaps, or MIME type entries, that are global
1336  system data.  The user's desktop environment will only check in the
1337  directories directly under <tt>/usr/share</tt> and this information
1338  should be put in the global directory even if it is for games.
1339  .
1340  The most common cause of this problem is using a
1341  <tt>--datadir=/usr/share/games</tt> argument to configure or an
1342  equivalent and using the upstream installation rules.  These files need
1343  to be moved into the corresponding directories directly under
1344  <tt>/usr/share</tt>.
1345
1346 Tag: duplicated-compressed-file
1347 Severity: minor
1348 Certainty: possible
1349 Info: The given, apparently compressed, file is shipped in the package
1350  in addition to another file with the same name without the
1351  compression-method extension.  Normally this indicates a mistake in the
1352  installation process of the package.
1353
1354 Tag: udev-rule-in-etc
1355 Severity: important
1356 Certainty: certain
1357 Ref: #559208
1358 Info: This package ships a udev rule and installs it under
1359  <tt>/etc/udev/rules.d</tt>, which is reserved for user-installed files.
1360  The correct directory for system rules is <tt>/lib/udev/rules.d</tt>.
1361
1362 Tag: obsolete-comments-style-in-php-ini
1363 Severity: normal
1364 Certainty: certain
1365 Info: This package ships a <tt>.ini</tt> file used to configure php but
1366  it has comments using the old-style comment separator <tt>#</tt>.
1367  Instead, the <tt>;</tt> separator should be used.
1368  .
1369  Since version 5.3, the PHP interpreter warns about the use of the
1370  old style of comment separator.
1371
1372 Tag: triplet-dir-and-architecture-mismatch
1373 Severity: serious
1374 Certainty: possible
1375 Ref: policy 9.1.1
1376 Info: This package contains a directory under <tt>/lib</tt> or
1377  <tt>/usr/lib</tt> which doesn't match the proper triplet for the
1378  binary package's architecture.  This is very likely to be a mistake
1379  when indicating the underlying build system where the files should be
1380  installed.
1381
1382 Tag: empty-binary-package
1383 Severity: important
1384 Certainty: wild-guess
1385 Info: This binary package appears to be empty, and its description does
1386  not say that it's a metapackage or a transitional package.  This is
1387  often due to problems with updating debhelper *.install files during
1388  package renames or similar problems where installation rules don't put
1389  files in the correct place.
1390  .
1391  If the package is deliberately empty, please mention in the package long
1392  description one of the phrases "metapackage", "dummy", "dependency
1393  package", or "empty package".
1394
1395 Tag: empty-udeb-package
1396 Severity: minor
1397 Certainty: wild-guess
1398 Experimental: yes
1399 Info: This udeb package appears to be empty, and its description does
1400  not say that it's a metapackage or an package.  This is often due to
1401  problems with updating debhelper *.install files during package
1402  renames or similar problems where installation rules don't put files
1403  in the correct place.
1404  .
1405  If the package is deliberately empty, you can avoid this tag by
1406  using one of the following phrases "metapackage", "dummy", "dependency
1407  package", or "empty package" in the long description of the udeb.
1408
1409 Tag: star-file
1410 Severity: important
1411 Certainty: possible
1412 Info: The given file is literally installed as <tt>*</tt> (star
1413  symbol).  Normally this indicates a mistake in the installation
1414  process of the package either when creating symlinks or renaming files.
1415
1416 Tag: incorrect-locale-code
1417 Severity: normal
1418 Certainty: possible
1419 Info: The package appears to ship locales for a language but uses an
1420  incorrect locale code as a subdirectory of <tt>/usr/share/locale</tt>.
1421  This usually results in users of the intended target language not
1422  finding the locale.  The language codes used in the locale directories
1423  are those from the ISO 639-1 and ISO 639-2 standards, not those
1424  usually used as TLDs (which are from the ISO 3166 standard).
1425  .
1426  Lintian only knows about some commonly-mistaken set of incorrect
1427  locale codes.
1428
1429 Tag: unknown-locale-code
1430 Severity: normal
1431 Certainty: certain
1432 Ref: http://www.loc.gov/standards/iso639-2/php/code_list.php
1433 Info: The package appears to ship locales for a language but uses an
1434  unknown locale code as a subdirectory of <tt>/usr/share/locale</tt>.
1435  This usually results in users of the intended target language not
1436  finding the locale.  The language codes used in the locale directories
1437  are those from the ISO 639-1 and ISO 639-2 standards, not those
1438  usually used as TLDs (which are from the ISO 3166 standard).
1439  .
1440  It is possible that the language code was mistyped or incorrectly
1441  guessed from the language's or country's name.
1442
1443 Tag: compressed-objects.inv
1444 Severity: normal
1445 Certainty: possible
1446 Info: The package appears to ship a gzip compressed objects.inv file
1447  in it's documentation.  Unfortunately some tools do not cope with
1448  this file being compressed.
1449  .
1450  This file should be excluded from compression during build time.
1451  If using debhelper (&lt;&lt; 8.1.0), you may need to use the -X
1452  option to dh_compress. Newer versions of debhelper handle this
1453  correctly by default.
1454
1455 Tag: package-contains-no-arch-dependent-files
1456 Severity: minor
1457 Certainty: possible
1458 Experimental: yes
1459 Info: The package is not marked architecture all, but all the files it
1460  ships are installed in /usr/share.
1461  .
1462  Most likely this package should be marked architecture all, but there
1463  is a chance that the package is missing files.
1464 Ref: policy 5.6.8
1465
1466 Tag: vim-addon-within-vim-runtime-path
1467 Severity: normal
1468 Certainty: certain
1469 Info: Vim addons should not be installed directly under a directory contained
1470  in the Vim runtime path.  Users shall be given the freedom to choose which
1471  addons they want to have enabled and which they don't.
1472 Ref: vim-policy 3.1
1473
1474 Tag: perl-module-uses-perl4-libs-without-dep
1475 Severity: normal
1476 Certainty: possible
1477 Info: This package includes perl modules using obsoleted perl 4-era
1478  libraries.  These libraries have been deprecated in perl in 5.14, and
1479  are likely to be removed from the core in perl 5.16.  Please either
1480  remove references to these libraries, or add a dependency on
1481  <tt>libperl4-corelibs-perl | perl (&lt;&lt; 5.12.3-7)</tt> to this package.
1482
1483 Tag: gzip-file-is-not-multi-arch-same-safe
1484 Severity: important
1485 Certainty: certain
1486 Info: The gzip file contains a timestamp that will differ between
1487  architectures.  Multi-Arch: same implies all shared files must be
1488  byte-for-byte identical.
1489  .
1490  This can usually be fixed by passing -n to gzip.
1491
1492 Tag: pkg-config-multi-arch-wrong-dir
1493 Severity: important
1494 Certainty: possible
1495 Info: The arch all pkg-config file contains a reference to a multi-arch path.
1496  .
1497  This can be usually be fixed by moving this file to a multi-arch path.
1498  .
1499  Another likely cause is using debhelper 9 or newer (thus enabling
1500  multi-arch paths by default) on a package without multi-arch support.
1501  The usual cure in this case is to update it for multi-arch.
1502
1503 Tag: dir-or-file-in-home
1504 Severity: serious
1505 Certainty: certain
1506 Info: Debian packages should not install into <tt>/home</tt>, because it
1507  is reserved for users.
1508
1509 Tag: dir-or-file-in-build-tree
1510 Severity: serious
1511 Certainty: possible
1512 Info: Your package install file in our build tree.
1513
1514 Tag: file-name-is-not-valid-UTF-8
1515 Severity: serious
1516 Certainty: certain
1517 Ref: policy 10.10
1518 Info: The file name does not appear to be valid UTF-8.
1519  .
1520  Note that Lintian may be unable to display the filename accurately.
1521  Unprintable characters may have been replaced.
1522
1523 Tag: file-name-in-PATH-is-not-ASCII
1524 Severity: serious
1525 Certainty: certain
1526 Ref: policy 10.10
1527 Info: The given file is in PATH but consists of non-ASCII characters.
1528  .
1529  Note that Lintian may be unable to display the filename accurately.
1530  Unprintable characters may have been replaced.