23380dca7383b7ca25fccad21c5aae2b05b3e58a
[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
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-thumbnails-dir
678 Severity: important
679 Certainty: certain
680 Info: Package contains a .thumbnails directory. It was most likely installed by
681  accident, since thumbnails usually don't belong in packages.
682 Ref: http://standards.freedesktop.org/thumbnail-spec/thumbnail-spec-0.8.0.html
683
684 Tag: package-contains-vcs-control-file
685 Severity: normal
686 Certainty: certain
687 Info: The package contains a VCS control file such as .(cvs|git|hg)ignore.
688  Files such as these are used by revision control systems to, for example,
689  specify untracked files it should ignore or inventory files.  This file
690  is generally useless in an installed package and was probably installed
691  by accident.
692
693 Tag: svn-commit-file-in-package
694 Severity: normal
695 Certainty: certain
696 Info: The package contains an svn-commit(.NNN).tmp file.  This file is
697  almost certainly a left-over from a failed Subversion commit, and does
698  not belong in a Debian package.
699
700 Tag: svk-commit-file-in-package
701 Severity: normal
702 Certainty: certain
703 Info: The package contains an svk-commitNNN.tmp file.  This file is almost
704  certainly a left-over from a failed Subversion commit, and does not
705  belong in a Debian package.
706
707 Tag: nested-examples-directory
708 Severity: important
709 Certainty: certain
710 Info: Package contains a <tt>usr/share/doc/something/examples/examples</tt>
711  directory. It was most likely installed by accident, since one examples/
712  directory should be enough for everybody(tm).
713
714 Tag: package-installs-nonbinary-perl-in-usr-lib-perl5
715 Severity: normal
716 Certainty: certain
717 Info: Architecture-independent Perl code should be placed in
718  <tt>/usr/share/perl5</tt>, not <tt>/usr/lib/perl5</tt>
719  unless there is at least one architecture-dependent file
720  in the module.
721 Ref: perl-policy 2.3
722
723 Tag: file-in-usr-lib-site-python
724 Severity: important
725 Certainty: certain
726 Ref: python-policy 1.5
727 Info: The directory /usr/lib/site-python has been deprecated as a
728  location for installing Python modules and may be dropped from Python's
729  module search path in a future version.  Most likely this module is a
730  private module and should be packaged in a directory outside of Python's
731  default search path.
732
733 Tag: python-module-in-wrong-location
734 Severity: normal
735 Certainty: possible
736 Ref: python-policy 1.5, #576012
737 Info: The package installs a Python module or debug information for a Python
738  module in the wrong location for the given version of Python.
739  .
740  dh_python3 can be used to fix this for Python 3 modules.
741
742 Tag: python-debug-in-wrong-location
743 Severity: normal
744 Certainty: possible
745 Ref: #576014
746 Info: The package appears to be installing debug modules in
747  /usr/lib/debug/usr/lib/pyshared/pythonX.Y/.  However, gdb(1)
748  will not look for it there, making it less useful.  The file
749  should be installed in /usr/lib/debug/usr/lib/pymodules/pythonX.Y/
750  instead.
751
752 Tag: missing-dependency-on-python-support
753 Severity: important
754 Certainty: possible
755 Info: The package installs a file in usr/share/python-support/ but does
756  not declare the necessary dependency on python-support.
757  .
758  This can happen if ${python:Depends} was omitted from the Depends field
759  in debian/control.
760
761 Tag: package-installs-python-bytecode
762 Severity: serious
763 Certainty: certain
764 Ref: python-policy 2.6
765 Info: Compiled python source files must not be included in the package.
766  These files should be removed from the package and created at package
767  installation time in the postinst.
768
769 Tag: package-installs-python-egg
770 Severity: serious
771 Certainty: possible
772 Ref: python-policy 2.6
773 Info: Python eggs should not be installed, since the Debian package is
774  supposed to do the required steps for installing the Python code.
775  .
776  The egg may contain pre-compiled python bytecode or shared libraries.
777
778 Tag: package-installs-python-pycache-dir
779 Severity: serious
780 Certainty: certain
781 Ref: python-policy 2.6
782 Info: The package installs a __pycache__ directory, which is normally
783  only used to store compiled python source files. Compiled python
784  source files must not be included in the package, instead they
785  should be generated at installation time in the postinst.
786  .
787  Note this tag is issues even if the directory is empty.
788
789 Tag: bad-permissions-for-ali-file
790 Severity: normal
791 Certainty: certain
792 Ref: policy 8.4
793 Info: Ada Library Information (*.ali) files are required to be read-only
794  (mode 0444) by GNAT.
795  .
796  If at least one user can write the *.ali file, GNAT considers whether
797  or not to recompile the corresponding source file.  Such recompilation
798  would fail because normal users don't have write permission on the
799  files.  Moreover, such recompilation would defeat the purpose of
800  library packages, which provide *.a and *.so libraries to link against).
801
802 Tag: package-contains-readme-for-other-platform-or-distro
803 Severity: normal
804 Certainty: certain
805 Info: package contains a README.(platform) file that contains instructions
806  specific to a platform or distribution other than Debian and thus can
807  most likely be removed.  If it contains information that pertains to
808  Debian, please consider renaming it, or including it in an already
809  existing README file.
810
811 Tag: desktop-file-in-wrong-dir
812 Severity: normal
813 Certainty: certain
814 Info: The package contains a .desktop file in an obsolete directory.
815  According to the menu-spec draft on freedesktop.org, those .desktop files
816  that are intended to create a menu should be placed in
817  <tt>/usr/share/applications</tt>, not <tt>/usr/share/gnome/apps</tt>.
818
819 Tag: script-with-language-extension
820 Severity: normal
821 Certainty: certain
822 Info: When scripts are installed into a directory in the system PATH, the
823  script name should not include an extension such as <tt>.sh</tt> or
824  <tt>.pl</tt> that denotes the scripting language currently used to
825  implement it.  The implementation language may change; if it does,
826  leaving the name the same would be confusing and changing it would be
827  disruptive.
828 Ref: policy 10.4
829
830 Tag: file-in-usr-lib-sgml
831 Severity: normal
832 Certainty: certain
833 Ref: fhs theusrhierarchy
834 Info: This package installs a file in <tt>/usr/lib/sgml</tt>.  This was
835  the old location for SGML catalogs and similar flies.  All those files
836  should now go into <tt>/usr/share/sgml</tt>.
837
838 Tag: file-name-ends-in-whitespace
839 Severity: normal
840 Certainty: possible
841 Info: This package installs a file or directory whose name ends in
842  whitespace.  This might be intentional but it's normally a mistake.  If
843  it is intentional, add a lintian override.
844  .
845  One possible cause is using debhelper 5.0.57 or earlier to install a
846  doc-base file with a Document field that ends in whitespace.
847
848 Tag: package-contains-empty-directory
849 Severity: wishlist
850 Certainty: possible
851 Info: This package installs an empty directory.  This might be intentional
852  but it's normally a mistake.  If it is intentional, add a lintian override.
853  .
854  If a package ships with or installs empty directories, you can remove them
855  in debian/rules by calling:
856  .
857   $ find path/to/base/dir -type d -empty -delete
858
859 Tag: package-section-games-but-contains-no-game
860 Severity: important
861 Certainty: certain
862 Ref: policy 11.11
863 Info: This package is marked as part of the section games, but doesn't
864  contain files in <tt>/usr/games</tt>.  Binaries of games must be installed
865  in <tt>/usr/games</tt>.
866
867 Tag: package-section-games-but-has-usr-bin
868 Severity: normal
869 Certainty: possible
870 Ref: policy 11.11
871 Info: This package is marked as part of the section games, but contains
872  executables in <tt>/bin</tt> or <tt>/usr/bin/</tt>.  This can be intentional,
873  but is usually a mistake.
874
875 Tag: games-package-should-be-section-games
876 Severity: normal
877 Certainty: possible
878 Info: All the executables in this package are in <tt>/usr/games</tt>, but
879  the package is not in section games.  This can be intentional but is
880  usually a mistake.
881
882 Tag: package-contains-devhelp-file-without-symlink
883 Severity: normal
884 Certainty: certain
885 Info: This package contains a *.devhelp or *.devhelp2 file which is not in
886  the devhelp search path (<tt>/usr/share/devhelp/books</tt> and
887  <tt>/usr/share/gtk-doc/html</tt>) and is apparently not in a directory
888  linked into the devhelp search path.  This will prevent devhelp from
889  finding the documentation.
890  .
891  If the devhelp documentation is installed in a path outside the devhelp
892  search path (such as <tt>/usr/share/doc</tt>), create a symlink in
893  <tt>/usr/share/gtk-doc/html</tt> pointing to the documentation directory.
894
895 Tag: debug-package-should-be-named-dbg
896 Severity: normal
897 Certainty: certain
898 Info: This package provides at least one file in <tt>/usr/lib/debug</tt>,
899  which is intended for detached debugging symbols, but the package name
900  does not end in "-dbg".  Detached debugging symbols should be put into a
901  separate package, Priority: extra, with a package name ending in "-dbg".
902 Ref: devref 6.7.9
903
904 Tag: package-contains-linda-override
905 Severity: normal
906 Certainty: certain
907 Info: This package contains a linda override file in
908  <tt>/usr/share/linda/overrides</tt>.  Linda is obsolete and has been
909  removed from the archive as of 2008-03-04.  Linda overrides should
910  probably be dropped from packages.
911
912 Tag: wrong-file-owner-uid-or-gid
913 Severity: serious
914 Certainty: certain
915 Info: The user or group ID of the owner of the file is invalid. The
916  owner user and group IDs must be in the set of globally allocated
917  IDs, because other IDs are dynamically allocated and might be used
918  for varying purposes on different systems, or are reserved. The set
919  of the allowed, globally allocated IDs consists of the ranges 0-99,
920  64000-64999 and 65534.
921  .
922  It's possible for a Policy-compliant package to trigger this tag if the
923  user is created in the preinst maintainer script, but this is a very rare
924  case and doesn't appear to be necessary.  If you found yourself needing
925  to create a package that works this way, please file a bug against
926  Lintian to let the maintainers know.
927 Ref: policy 9.2
928
929 Tag: embedded-javascript-library
930 Severity: normal
931 Certainty: possible
932 Info: This package contains an embedded copy of JavaScript libraries
933  that are now available in their own packages (for example, JQuery,
934  Prototype, Mochikit or "Cropper"). Please depend on the appropriate
935  package and symlink the library into the appropriate location.
936 Ref: policy 4.13
937
938 Tag: privacy-breach-generic
939 Severity: important
940 Certainty: wild-guess
941 Experimental: yes
942 Info: This package creates a potential privacy breach by fetching data
943  from an external website at runtime. Please remove these scripts or
944  external HTML resources.
945  .
946  Please replace any scripts, images, or other remote resources with
947  non-remote resources. It is preferable to replace them with text and
948  links but local copies of the remote resources are also acceptable as
949  long as they don't also make calls to remote services. Please ensure
950  that the remote resources are suitable for Debian main before making
951  local copies of them.
952
953 Tag: privacy-breach-google-adsense
954 Severity: serious
955 Certainty: possible
956 Info: This package creates a privacy breach by using Google AdSense.
957  Google AdSense is a service run by Google that allows publishers
958  of websites to automatically serve advertisements. Unfortunately, it
959  requires tracking and breaching the privacy of web users.
960  .
961  This tag can also indicate the use of the related obsolete privacy
962  breaching software, Urchin WebAnalytics.
963  .
964  Note that using Google AdSense in a local copy of a page is a violation of
965  the Google AdSense terms of use. This violation renders this package not
966  distributable in Debian, and is thus a serious bug.
967  .
968  Please replace any scripts, images or other remote resources with
969  non-remote resources. It is preferrable to replace them with text and
970  links but local copies of the remote resources are also acceptable as
971  long as they don't also make calls to remote services. Please ensure
972  that the remote resources are suitable for Debian main before making
973  local copies of them.
974
975 Tag: privacy-breach-donation
976 Severity: serious
977 Certainty: possible
978 Ref: https://wiki.debian.org/UpstreamMetadata
979 Info: This package create a potential privacy breach by fetching data
980  from a donation website at runtime.
981  .
982  Please remove this privacy problem and add a note to the
983  debian/upstream/metadata file using the donation field.
984  .
985  Please replace any scripts, images, or other remote resources with
986  non-remote resources. It is preferable to replace them with text and
987  links but local copies of the remote resources are also acceptable as
988  long as they don't also make calls to remote services. Please ensure
989  that the remote resources are suitable for Debian main before making
990  local copies of them.
991
992 Tag: privacy-breach-logo
993 Severity: serious
994 Certainty: possible
995 Info: This package creates a potential privacy breach by fetching a
996  logo at runtime.
997  .
998  Before using a local copy you should check that the logo is suitable
999  for main. You can get help with determining this by posting a link to
1000  the logo and a copy of, or a link to, the logo copyright and license
1001  information to the debian-legal mailing list.
1002  .
1003  Please replace any scripts, images, or other remote resources with
1004  non-remote resources. It is preferable to replace them with text and
1005  links but local copies of the remote resources are also acceptable as
1006  long as they don't also make calls to remote services. Please ensure
1007  that the remote resources are suitable for Debian main before making
1008  local copies of them.
1009
1010 Tag: privacy-breach-facebook
1011 Severity: serious
1012 Certainty: possible
1013 Info:  This package creates a privacy breach by exchanging data with
1014  Facebook at runtime via plugins such as "Share" or "Like" buttons.
1015  .
1016  Please replace any scripts, images, or other remote resources with
1017  non-remote resources. It is preferable to replace them with text and
1018  links but local copies of the remote resources are also acceptable as
1019  long as they don't also make calls to remote services. Please ensure
1020  that the remote resources are suitable for Debian main before making
1021  local copies of them.
1022
1023 Tag: privacy-breach-google-plus
1024 Severity: serious
1025 Certainty: possible
1026 Info: This package creates a potential privacy breach by 
1027  exchanging data with Google+ at runtime via plugins such
1028  as "+1" buttons.
1029  .
1030  Please replace any scripts, images, or other remote resources with
1031  non-remote resources. It is preferable to replace them with text and
1032  links but local copies of the remote resources are also acceptable as
1033  long as they don't also make calls to remote services. Please ensure
1034  that the remote resources are suitable for Debian main before making
1035  local copies of them.
1036
1037 Tag: privacy-breach-google-cse
1038 Severity: serious
1039 Certainty: possible
1040 Info: This package creates a potential privacy breach by fetching
1041  data from Google at runtime, and may feed private data to Google via
1042  Custom Search Engine queries.
1043  .
1044  Please replace any scripts, images, or other remote resources with
1045  non-remote resources. It is preferable to replace them with text and
1046  links but local copies of the remote resources are also acceptable as
1047  long as they don't also make calls to remote services. Please ensure
1048  that the remote resources are suitable for Debian main before making
1049  local copies of them.
1050
1051 Tag: privacy-breach-twitter
1052 Severity: serious
1053 Certainty: possible
1054 Info: This package creates a potential privacy breach by
1055  exchanging data with Twitter at runtime via plugins.
1056  .
1057  Please replace any scripts, images, or other remote resources with
1058  non-remote resources. It is preferable to replace them with text and
1059  links but local copies of the remote resources are also acceptable as
1060  long as they don't also make calls to remote services. Please ensure
1061  that the remote resources are suitable for Debian main before making
1062  local copies of them.
1063
1064 Tag: privacy-breach-piwik
1065 Severity: serious
1066 Certainty: possible
1067 Info: This package creates a privacy breach by using an online 
1068  Piwik module.
1069  .
1070  Piwik is a free and open source web analytics application, designed to
1071  allow publishers of websites to track visitors.
1072  .
1073  Even though Piwik is free and respects the "Do Not Track" browser
1074  option, it is nevertheless breaches the privacy of local users
1075  by fetching data from internet.
1076  .
1077  Please replace any scripts, images, or other remote resources with
1078  non-remote resources. It is preferable to replace them with text and
1079  links but local copies of the remote resources are also acceptable as
1080  long as they don't also make calls to remote services. Please ensure
1081  that the remote resources are suitable for Debian main before making
1082  local copies of them.
1083
1084 Tag: privacy-breach-statistics-website
1085 Severity: serious
1086 Certainty: possible
1087 Info: This package creates a privacy breach by fetching data from
1088  an external website in order to compile visitor statistics.
1089  .
1090  Please ask upstream to use the free software web analytics engine
1091  Piwik, which respects the "Do Not Track" browser option.
1092  .
1093  This tag covers the following websites:
1094  * cruel-carlota.pagodabox.com
1095  * linkexchange.com (defunct)
1096  * nedstatbasic.net
1097  * onestat.com
1098  * statcounter.com
1099  * sitemeter.com
1100  * webstats.motigo.com
1101  .
1102  Please replace any scripts, images, or other remote resources with
1103  non-remote resources. It is preferable to replace them with text and
1104  links but local copies of the remote resources are also acceptable as
1105  long as they don't also make calls to remote services. Please ensure
1106  that the remote resources are suitable for Debian main before making
1107  local copies of them.
1108
1109 Tag: privacy-breach-w3c-valid-html
1110 Severity: serious
1111 Certainty: possible
1112 Ref: http://validator.w3.org/docs/help.html#icon,
1113      http://www.w3.org/Consortium/Legal/logo-usage-20000308
1114 Info: This package creates a potential privacy breach by fetching W3C
1115  validation icons.
1116  .
1117  These badges may be displayed to tell readers that care has been
1118  taken to make a page compliant with W3C standards.  Unfortunately,
1119  downloading the image from www.w3.org might expose the reader's IP
1120  address to potential tracking.
1121  .
1122  Note that these icons are non-free and must not be copied into the
1123  package. You could safely delete this W3C validation badge.
1124
1125 Tag: embedded-feedparser-library
1126 Severity: normal
1127 Certainty: certain
1128 Info: This package contains an embedded copy of Mark Pilgrim's Universal
1129  Feed Parser.  Please depend on the "python-feedparser" package and use
1130  the normal Python import mechanism to load it.
1131 Ref: policy 4.13
1132
1133 Tag: embedded-pear-module
1134 Severity: normal
1135 Certainty: possible
1136 Experimental: yes
1137 Info: This package appears to contain an embedded copy of a PEAR module.
1138  Please depend on the respective PEAR package providing the module and
1139  make sure the library can be found by the scripts via the include_path.
1140 Ref: policy 4.13
1141
1142 Tag: embedded-php-library
1143 Severity: normal
1144 Certainty: possible
1145 Info: This package appears to contain an embedded copy of a PHP library.
1146  Please depend on the respective package providing the library and
1147  make sure it can be found by the scripts via the include_path.
1148 Ref: policy 4.13
1149
1150 Tag: windows-devel-file-in-package
1151 Severity: normal
1152 Certainty: possible
1153 Info: This package appears to contain development files only meaningful to
1154  Windows environments.  Such files are generally useless in Debian packages and
1155  were usually accidentally included by copying complete directories from the
1156  source tarball.
1157
1158 Tag: font-in-non-font-package
1159 Severity: wishlist
1160 Certainty: possible
1161 Info: This package contains a *.ttf, *.otf, or *.pfb file, file
1162  extensions used by TrueType, OpenType, or Type 1 fonts, but the package
1163  does not appear to be a dedicated font package.  Dedicated font package
1164  names should begin with <tt>fonts-</tt>.  (Type 1 fonts are also allowed
1165  in packages starting with <tt>xfonts-</tt>.)  If the font is already
1166  packaged, you should depend on that package instead.  Otherwise, normally
1167  the font should be packaged separately, since fonts are usually useful
1168  outside of the package that embeds them.
1169
1170 Tag: license-problem-font-adobe-copyrighted-fragment
1171 Severity: serious
1172 Certainty: possible
1173 Info: This type 1 font file includes some postscript fragment with a
1174  non free license of Adobe.  In order to check if this tag is genuine
1175  please follow the procedure described in the reference.
1176  .
1177  Should this be a false-positive, please override the tag.
1178 Ref: https://wiki.debian.org/qa.debian.org/type1nondfsg
1179
1180 Tag: license-problem-font-adobe-copyrighted-fragment-no-credit
1181 Severity: serious
1182 Certainty: possible
1183 Info: This type 1 font file includes some postscript fragment with a
1184  non free license of Adobe.  In order to check if this tag is genuine
1185  please follow the procedure described in the reference.
1186  .
1187  Moreover the fragment was likely verbatim copied from black
1188  book without any credit to Adobe.
1189  .
1190  Should this be a false-positive, please override the tag.
1191 Ref: https://wiki.debian.org/qa.debian.org/type1nondfsg
1192
1193 Tag: duplicate-font-file
1194 Severity: normal
1195 Certainty: possible
1196 Info: This package appears to include a font file that is already provided
1197  by another package in Debian.  Ideally it should instead depend on the
1198  relevant font package.  If the application in this package loads the font
1199  file by name, you may need to include a symlink pointing to the file name
1200  of the font in its Debian package.
1201  .
1202  Sometimes the font package containing the font is huge and you only need
1203  one font.  In that case, you have a few options: modify the package (in
1204  conjunction with upstream) to use libfontconfig to find the font that you
1205  prefer but fall back on whatever installed font is available, ask that
1206  the font package be split apart into packages of a more reasonable size,
1207  or add an override and be aware of the duplication when new versions of
1208  the font are released.
1209
1210 Tag: icon-size-and-directory-name-mismatch
1211 Severity: normal
1212 Certainty: certain
1213 Info: The icon has a size that differs from the size specified by the name
1214  of the directory under which it was installed.  The icon was probably
1215  mistakenly installed into the wrong directory.
1216
1217 Tag: raster-image-in-scalable-directory
1218 Severity: normal
1219 Certainty: certain
1220 Info: The given raster image was installed into a "scalable" icon directory.
1221  Only vector graphics (e.g. SVG) should be installed into those directories.
1222
1223 Tag: gz-file-not-gzip
1224 Severity: normal
1225 Certainty: possible
1226 Info: The given file ends with <tt>.gz</tt>, which normally indicates it
1227  is compressed with gzip.  However, it doesn't seem to be a
1228  gzip-compressed file.  gzip will fail with an error on such files.
1229  Normally this indicates a mistake in the installation process of the
1230  package.
1231
1232 Tag: non-free-flash
1233 Severity: serious
1234 Certainty: possible
1235 Info: The given Flash file has a filename which suggests that it may be
1236  one of a number of known Flash files with non-free content.
1237
1238 Tag: non-conf-file-in-modprobe.d
1239 Severity: important
1240 Certainty: certain
1241 Ref: https://lists.debian.org/debian-devel/2009/03/msg00119.html
1242 Info: Files in <tt>/etc/modprobe.d</tt> should use filenames ending in
1243  <tt>.conf</tt>.  modprobe silently ignores all files which do not match
1244  this convention.
1245  .
1246  If the file is an example containing only comments, consider installing
1247  it in another location as files in <tt>/etc/modprobe.d</tt> are
1248  read each time modprobe is run (which is often at boot time).
1249
1250 Tag: file-in-discouraged-x11-font-directory
1251 Severity: minor
1252 Certainty: certain
1253 Ref: policy 11.8.5
1254 Info: For historical reasons, use of <tt>PEX</tt>, <tt>CID</tt>,
1255  <tt>Speedo</tt>, and <tt>cyrillic</tt> subdirectories of
1256  <tt>/usr/share/fonts/X11</tt> are permitted, but installation of files
1257  into these directories is discouraged.  Support for the first three font
1258  types is deprecated or no longer available, and Cyrillic fonts should use
1259  the normal font directories where possible.
1260
1261 Tag: file-in-unknown-x11-font-directory
1262 Severity: serious
1263 Certainty: certain
1264 Ref: policy 11.8.5
1265 Info: Subdirectories of <tt>/usr/share/fonts/X11</tt> other than
1266  <tt>100dpi</tt>, <tt>75dpi</tt>, <tt>misc</tt>, <tt>Type1</tt>, and some
1267  historic exceptions must be neither created nor used.  (The directories
1268  <tt>encodings</tt> and <tt>util</tt>, used by some X Window System
1269  packages, are also permitted by Lintian.)
1270
1271 Tag: package-contains-multiple-dpi-fonts
1272 Severity: normal
1273 Certainty: certain
1274 Ref: policy 11.8.5
1275 Info: This package contains both 100dpi and 75dpi bitmapped fonts.  Both
1276  versions should not be included in a single package.  If both resolutions
1277  are available, they should be provided in separate binary packages with
1278  <tt>-75dpi</tt> or <tt>-100dpi</tt> appended to the package name for the
1279  corresponding fonts.
1280
1281 Tag: package-mixes-misc-and-dpi-fonts
1282 Severity: normal
1283 Certainty: certain
1284 Ref: policy 11.8.5
1285 Info: This package contains both bitmapped fonts for a specific DPI
1286  (100dpi or 75dpi) and misc bitmapped fonts.  These should not be combined
1287  in the same package.  Instead, the misc bitmapped fonts should be
1288  provided in a separate package with <tt>-misc</tt> appended to its name.
1289
1290 Tag: package-contains-info-dir-file
1291 Severity: serious
1292 Certainty: certain
1293 Info: This package contains a file named <tt>dir</tt> or <tt>dir.old</tt>,
1294  possibly compressed, in <tt>/usr/share/info</tt>.  This is the directory
1295  (or backup) of info pages and is generated automatically by install-info
1296  when a package containing info documentation is installed.  Some upstream
1297  build systems create it automatically, but it must not be included in a
1298  package since it needs to be generated dynamically based on the installed
1299  info files on the system.
1300
1301 Tag: package-contains-mime-cache-file
1302 Severity: serious
1303 Certainty: certain
1304 Info: This package contains a cache file generated automatically by
1305  update-mime-database when a package containing MIME-Info Database
1306  files is installed.  Some upstream build systems create them
1307  automatically, but they must not be included in a package since they need
1308  to be generated dynamically based on the installed MIME-Info Database
1309  files on the system.
1310
1311 Tag: package-contains-mimeinfo.cache-file
1312 Severity: serious
1313 Certainty: certain
1314 Info: This package contains a file named <tt>mimeinfo.cache</tt>,
1315  possibly compressed, in <tt>/usr/share/applications</tt>.  This file is
1316  generated automatically by update-desktop-database when a package
1317  containing <tt>.desktop</tt> files associated to MIME types is installed.
1318  Some upstream build systems create it automatically, but it must not be
1319  included in a package since it needs to be generated dynamically based on
1320  the installed .desktop files on the system.
1321
1322 Tag: package-modifies-ld.so-search-path
1323 Severity: important
1324 Certainty: possible
1325 Ref: policy 10.2
1326 Info: This package installs a file in <tt>/etc/ld.so.conf.d</tt>,
1327  presumably to modify the search path of the run-time linker, and does not
1328  appear to be part of libc.
1329  .
1330  Packages containing shared libraries should either install them into
1331  <tt>/usr/lib</tt> or should require binaries built against them to set
1332  RPATH to find the library at run-time.  Installing libraries in a
1333  different directory and modifying the run-time linker path is equivalent
1334  to installing them into <tt>/usr/lib</tt> except now conflicting library
1335  packages may cause random segfaults and difficult-to-debug problems
1336  instead of conflicts in the package manager.
1337
1338 Tag: global-data-in-games-directory
1339 Severity: important
1340 Certainty: certain
1341 Info: This package contains files under <tt>/usr/share/games</tt>, such as
1342  desktop files, icons, pixmaps, or MIME type entries, that are global
1343  system data.  The user's desktop environment will only check in the
1344  directories directly under <tt>/usr/share</tt> and this information
1345  should be put in the global directory even if it is for games.
1346  .
1347  The most common cause of this problem is using a
1348  <tt>--datadir=/usr/share/games</tt> argument to configure or an
1349  equivalent and using the upstream installation rules.  These files need
1350  to be moved into the corresponding directories directly under
1351  <tt>/usr/share</tt>.
1352
1353 Tag: duplicated-compressed-file
1354 Severity: minor
1355 Certainty: possible
1356 Info: The given, apparently compressed, file is shipped in the package
1357  in addition to another file with the same name without the
1358  compression-method extension.  Normally this indicates a mistake in the
1359  installation process of the package.
1360
1361 Tag: udev-rule-in-etc
1362 Severity: important
1363 Certainty: certain
1364 Ref: #559208
1365 Info: This package ships a udev rule and installs it under
1366  <tt>/etc/udev/rules.d</tt>, which is reserved for user-installed files.
1367  The correct directory for system rules is <tt>/lib/udev/rules.d</tt>.
1368
1369 Tag: obsolete-comments-style-in-php-ini
1370 Severity: normal
1371 Certainty: certain
1372 Info: This package ships a <tt>.ini</tt> file used to configure php but
1373  it has comments using the old-style comment separator <tt>#</tt>.
1374  Instead, the <tt>;</tt> separator should be used.
1375  .
1376  Since version 5.3, the PHP interpreter warns about the use of the
1377  old style of comment separator.
1378
1379 Tag: triplet-dir-and-architecture-mismatch
1380 Severity: serious
1381 Certainty: possible
1382 Ref: policy 9.1.1
1383 Info: This package contains a directory under <tt>/lib</tt> or
1384  <tt>/usr/lib</tt> which doesn't match the proper triplet for the
1385  binary package's architecture.  This is very likely to be a mistake
1386  when indicating the underlying build system where the files should be
1387  installed.
1388
1389 Tag: empty-binary-package
1390 Severity: important
1391 Certainty: wild-guess
1392 Info: This binary package appears to be empty, and its description does
1393  not say that it's a metapackage or a transitional package.  This is
1394  often due to problems with updating debhelper *.install files during
1395  package renames or similar problems where installation rules don't put
1396  files in the correct place.
1397  .
1398  If the package is deliberately empty, please mention in the package long
1399  description one of the phrases "metapackage", "dummy", "dependency
1400  package", or "empty package".
1401
1402 Tag: empty-udeb-package
1403 Severity: minor
1404 Certainty: wild-guess
1405 Experimental: yes
1406 Info: This udeb package appears to be empty, and its description does
1407  not say that it's a metapackage or an package.  This is often due to
1408  problems with updating debhelper *.install files during package
1409  renames or similar problems where installation rules don't put files
1410  in the correct place.
1411  .
1412  If the package is deliberately empty, you can avoid this tag by
1413  using one of the following phrases "metapackage", "dummy", "dependency
1414  package", or "empty package" in the long description of the udeb.
1415
1416 Tag: star-file
1417 Severity: important
1418 Certainty: possible
1419 Info: The given file is literally installed as <tt>*</tt> (star
1420  symbol).  Normally this indicates a mistake in the installation
1421  process of the package either when creating symlinks or renaming files.
1422
1423 Tag: incorrect-locale-code
1424 Severity: normal
1425 Certainty: possible
1426 Info: The package appears to ship locales for a language but uses an
1427  incorrect locale code as a subdirectory of <tt>/usr/share/locale</tt>.
1428  This usually results in users of the intended target language not
1429  finding the locale.  The language codes used in the locale directories
1430  are those from the ISO 639-1 and ISO 639-2 standards, not those
1431  usually used as TLDs (which are from the ISO 3166 standard).
1432  .
1433  Lintian only knows about some commonly-mistaken set of incorrect
1434  locale codes.
1435
1436 Tag: unknown-locale-code
1437 Severity: normal
1438 Certainty: certain
1439 Ref: http://www.loc.gov/standards/iso639-2/php/code_list.php
1440 Info: The package appears to ship locales for a language but uses an
1441  unknown locale code as a subdirectory of <tt>/usr/share/locale</tt>.
1442  This usually results in users of the intended target language not
1443  finding the locale.  The language codes used in the locale directories
1444  are those from the ISO 639-1 and ISO 639-2 standards, not those
1445  usually used as TLDs (which are from the ISO 3166 standard).
1446  .
1447  It is possible that the language code was mistyped or incorrectly
1448  guessed from the language's or country's name.
1449
1450 Tag: compressed-objects.inv
1451 Severity: normal
1452 Certainty: possible
1453 Info: The package appears to ship a gzip compressed objects.inv file
1454  in it's documentation.  Unfortunately some tools do not cope with
1455  this file being compressed.
1456  .
1457  This file should be excluded from compression during build time.
1458  If using debhelper (&lt;&lt; 8.1.0), you may need to use the -X
1459  option to dh_compress. Newer versions of debhelper handle this
1460  correctly by default.
1461
1462 Tag: package-contains-no-arch-dependent-files
1463 Severity: minor
1464 Certainty: possible
1465 Experimental: yes
1466 Info: The package is not marked architecture all, but all the files it
1467  ships are installed in /usr/share.
1468  .
1469  Most likely this package should be marked architecture all, but there
1470  is a chance that the package is missing files.
1471 Ref: policy 5.6.8
1472
1473 Tag: vim-addon-within-vim-runtime-path
1474 Severity: normal
1475 Certainty: certain
1476 Info: Vim addons should not be installed directly under a directory contained
1477  in the Vim runtime path.  Users shall be given the freedom to choose which
1478  addons they want to have enabled and which they don't.
1479 Ref: vim-policy 3.1
1480
1481 Tag: perl-module-uses-perl4-libs-without-dep
1482 Severity: normal
1483 Certainty: possible
1484 Info: This package includes perl modules using obsoleted perl 4-era
1485  libraries.  These libraries have been deprecated in perl in 5.14, and
1486  are likely to be removed from the core in perl 5.16.  Please either
1487  remove references to these libraries, or add a dependency on
1488  <tt>libperl4-corelibs-perl | perl (&lt;&lt; 5.12.3-7)</tt> to this package.
1489
1490 Tag: gzip-file-is-not-multi-arch-same-safe
1491 Severity: important
1492 Certainty: certain
1493 Info: The gzip file contains a timestamp that will differ between
1494  architectures.  Multi-Arch: same implies all shared files must be
1495  byte-for-byte identical.
1496  .
1497  This can usually be fixed by passing -n to gzip.
1498
1499 Tag: pkg-config-multi-arch-wrong-dir
1500 Severity: important
1501 Certainty: possible
1502 Info: The arch all pkg-config file contains a reference to a multi-arch path.
1503  .
1504  This can be usually be fixed by moving this file to a multi-arch path.
1505  .
1506  Another likely cause is using debhelper 9 or newer (thus enabling
1507  multi-arch paths by default) on a package without multi-arch support.
1508  The usual cure in this case is to update it for multi-arch.
1509  .
1510  Last but not least, this file could contain a reference to a cross
1511  architecture (like for instance a x86_64-linux-gnu pkg-config file
1512  referencing a i386-linux-gnu file). In this case the usual cure is to
1513  fix this path.
1514
1515 Tag: pkg-config-bad-directive
1516 Severity: serious
1517 Certainty: possible
1518 Info: The pkg-config file contains a wrong directive.
1519  .
1520  The following file includes a wrong directive. This could lead to
1521  FTBFS or leak private compile flags to another package.
1522
1523 Tag: dir-or-file-in-home
1524 Severity: serious
1525 Certainty: certain
1526 Info: Debian packages should not install into <tt>/home</tt>, because it
1527  is reserved for users.
1528
1529 Tag: dir-or-file-in-build-tree
1530 Severity: serious
1531 Certainty: possible
1532 Info: Your package install file in our build tree.
1533
1534 Tag: file-name-is-not-valid-UTF-8
1535 Severity: serious
1536 Certainty: certain
1537 Ref: policy 10.10
1538 Info: The file name does not appear to be valid UTF-8.
1539  .
1540  Note that Lintian may be unable to display the filename accurately.
1541  Unprintable characters may have been replaced.
1542
1543 Tag: file-name-in-PATH-is-not-ASCII
1544 Severity: serious
1545 Certainty: certain
1546 Ref: policy 10.10
1547 Info: The given file is in PATH but consists of non-ASCII characters.
1548  .
1549  Note that Lintian may be unable to display the filename accurately.
1550  Unprintable characters may have been replaced.
1551
1552 Tag: incorrect-naming-of-pkcs11-module
1553 Severity: important
1554 Certainty: certain
1555 Info: This package ships a PKCS#11 module configuration file under
1556  <tt>/usr/share/p11-kit/modules</tt>, but its naming doesn't conform
1557  to what <tt>p11-kit</tt> expects.  Files in that directory should
1558  respect the following convention, case insensitive:
1559   [a-z0-9][a-z0-9_.-]*.module
1560  .
1561  p11-kit currently warns on every file that does not follow the
1562  convention and may ignore them in the future.
1563
1564 Tag: package-contains-timestamped-gzip
1565 Severity: wishlist
1566 Certainty: certain
1567 Info: The package contains a gzip'ed file that has timestamps.
1568  Such files make the packages unreproducible, because their
1569  contents depend on the time when the package was built.
1570  .
1571  Please consider passing the "-n" flag to gzip to avoid this.
1572 Ref: https://wiki.debian.org/ReproducibleBuilds