c6b894946ef618634b38d5122f695ac611c7b355
[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-may-use-debian-package
954 Severity: important
955 Certainty: possible
956 Info: This package creates a potential privacy breach by fetching data
957  from an external website at runtime. Please remove these scripts or
958  external HTML resources.
959  .
960  Instead you can use the Debian package indicated in the hint, if it is
961  compatible.
962
963 Tag: privacy-breach-google-adsense
964 Severity: serious
965 Certainty: possible
966 Info: This package creates a privacy breach by using Google AdSense.
967  Google AdSense is a service run by Google that allows publishers
968  of websites to automatically serve advertisements. Unfortunately, it
969  requires tracking and breaching the privacy of web users.
970  .
971  This tag can also indicate the use of the related obsolete privacy
972  breaching software, Urchin WebAnalytics.
973  .
974  Note that using Google AdSense in a local copy of a page is a violation of
975  the Google AdSense terms of use. This violation renders this package not
976  distributable in Debian, and is thus a serious bug.
977  .
978  Please replace any scripts, images or other remote resources with
979  non-remote resources. It is preferrable 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-donation
986 Severity: serious
987 Certainty: possible
988 Ref: https://wiki.debian.org/UpstreamMetadata
989 Info: This package create a potential privacy breach by fetching data
990  from a donation website at runtime.
991  .
992  Please remove this privacy problem and add a note to the
993  debian/upstream/metadata file using the donation field.
994  .
995  Please replace any scripts, images, or other remote resources with
996  non-remote resources. It is preferable to replace them with text and
997  links but local copies of the remote resources are also acceptable as
998  long as they don't also make calls to remote services. Please ensure
999  that the remote resources are suitable for Debian main before making
1000  local copies of them.
1001
1002 Tag: privacy-breach-logo
1003 Severity: serious
1004 Certainty: possible
1005 Info: This package creates a potential privacy breach by fetching a
1006  logo at runtime.
1007  .
1008  Before using a local copy you should check that the logo is suitable
1009  for main. You can get help with determining this by posting a link to
1010  the logo and a copy of, or a link to, the logo copyright and license
1011  information to the debian-legal mailing list.
1012  .
1013  Please replace any scripts, images, or other remote resources with
1014  non-remote resources. It is preferable to replace them with text and
1015  links but local copies of the remote resources are also acceptable as
1016  long as they don't also make calls to remote services. Please ensure
1017  that the remote resources are suitable for Debian main before making
1018  local copies of them.
1019
1020 Tag: privacy-breach-facebook
1021 Severity: serious
1022 Certainty: possible
1023 Info:  This package creates a privacy breach by exchanging data with
1024  Facebook at runtime via plugins such as "Share" or "Like" buttons.
1025  .
1026  Please replace any scripts, images, or other remote resources with
1027  non-remote resources. It is preferable to replace them with text and
1028  links but local copies of the remote resources are also acceptable as
1029  long as they don't also make calls to remote services. Please ensure
1030  that the remote resources are suitable for Debian main before making
1031  local copies of them.
1032
1033 Tag: privacy-breach-google-plus
1034 Severity: serious
1035 Certainty: possible
1036 Info: This package creates a potential privacy breach by
1037  exchanging data with Google+ at runtime via plugins such
1038  as "+1" buttons.
1039  .
1040  Please replace any scripts, images, or other remote resources with
1041  non-remote resources. It is preferable to replace them with text and
1042  links but local copies of the remote resources are also acceptable as
1043  long as they don't also make calls to remote services. Please ensure
1044  that the remote resources are suitable for Debian main before making
1045  local copies of them.
1046
1047 Tag: privacy-breach-google-cse
1048 Severity: serious
1049 Certainty: possible
1050 Info: This package creates a potential privacy breach by fetching
1051  data from Google at runtime, and may feed private data to Google via
1052  Custom Search Engine queries.
1053  .
1054  Please replace any scripts, images, or other remote resources with
1055  non-remote resources. It is preferable to replace them with text and
1056  links but local copies of the remote resources are also acceptable as
1057  long as they don't also make calls to remote services. Please ensure
1058  that the remote resources are suitable for Debian main before making
1059  local copies of them.
1060
1061 Tag: privacy-breach-twitter
1062 Severity: serious
1063 Certainty: possible
1064 Info: This package creates a potential privacy breach by
1065  exchanging data with Twitter at runtime via plugins.
1066  .
1067  Please replace any scripts, images, or other remote resources with
1068  non-remote resources. It is preferable to replace them with text and
1069  links but local copies of the remote resources are also acceptable as
1070  long as they don't also make calls to remote services. Please ensure
1071  that the remote resources are suitable for Debian main before making
1072  local copies of them.
1073
1074 Tag: privacy-breach-piwik
1075 Severity: serious
1076 Certainty: possible
1077 Info: This package creates a privacy breach by using an online
1078  Piwik module.
1079  .
1080  Piwik is a free and open source web analytics application, designed to
1081  allow publishers of websites to track visitors.
1082  .
1083  Even though Piwik is free and respects the "Do Not Track" browser
1084  option, it is nevertheless breaches the privacy of local users
1085  by fetching data from internet.
1086  .
1087  Please replace any scripts, images, or other remote resources with
1088  non-remote resources. It is preferable to replace them with text and
1089  links but local copies of the remote resources are also acceptable as
1090  long as they don't also make calls to remote services. Please ensure
1091  that the remote resources are suitable for Debian main before making
1092  local copies of them.
1093
1094 Tag: privacy-breach-statistics-website
1095 Severity: serious
1096 Certainty: possible
1097 Info: This package creates a privacy breach by fetching data from
1098  an external website in order to compile visitor statistics.
1099  .
1100  Please ask upstream to use the free software web analytics engine
1101  Piwik, which respects the "Do Not Track" browser option.
1102  .
1103  This tag covers the following websites:
1104  * cruel-carlota.pagodabox.com
1105  * linkexchange.com (defunct)
1106  * nedstatbasic.net
1107  * onestat.com
1108  * statcounter.com
1109  * sitemeter.com
1110  * webstats.motigo.com
1111  .
1112  Please replace any scripts, images, or other remote resources with
1113  non-remote resources. It is preferable to replace them with text and
1114  links but local copies of the remote resources are also acceptable as
1115  long as they don't also make calls to remote services. Please ensure
1116  that the remote resources are suitable for Debian main before making
1117  local copies of them.
1118
1119 Tag: privacy-breach-w3c-valid-html
1120 Severity: serious
1121 Certainty: possible
1122 Ref: http://validator.w3.org/docs/help.html#icon,
1123      http://www.w3.org/Consortium/Legal/logo-usage-20000308
1124 Info: This package creates a potential privacy breach by fetching W3C
1125  validation icons.
1126  .
1127  These badges may be displayed to tell readers that care has been
1128  taken to make a page compliant with W3C standards.  Unfortunately,
1129  downloading the image from www.w3.org might expose the reader's IP
1130  address to potential tracking.
1131  .
1132  Note that these icons are non-free and must not be copied into the
1133  package. You could safely delete this W3C validation badge.
1134
1135 Tag: embedded-feedparser-library
1136 Severity: normal
1137 Certainty: certain
1138 Info: This package contains an embedded copy of Mark Pilgrim's Universal
1139  Feed Parser.  Please depend on the "python-feedparser" package and use
1140  the normal Python import mechanism to load it.
1141 Ref: policy 4.13
1142
1143 Tag: embedded-pear-module
1144 Severity: normal
1145 Certainty: possible
1146 Experimental: yes
1147 Info: This package appears to contain an embedded copy of a PEAR module.
1148  Please depend on the respective PEAR package providing the module and
1149  make sure the library can be found by the scripts via the include_path.
1150 Ref: policy 4.13
1151
1152 Tag: embedded-php-library
1153 Severity: normal
1154 Certainty: possible
1155 Info: This package appears to contain an embedded copy of a PHP library.
1156  Please depend on the respective package providing the library and
1157  make sure it can be found by the scripts via the include_path.
1158 Ref: policy 4.13
1159
1160 Tag: windows-devel-file-in-package
1161 Severity: normal
1162 Certainty: possible
1163 Info: This package appears to contain development files only meaningful to
1164  Windows environments.  Such files are generally useless in Debian packages and
1165  were usually accidentally included by copying complete directories from the
1166  source tarball.
1167
1168 Tag: font-in-non-font-package
1169 Severity: wishlist
1170 Certainty: possible
1171 Info: This package contains a *.ttf, *.otf, or *.pfb file, file
1172  extensions used by TrueType, OpenType, or Type 1 fonts, but the package
1173  does not appear to be a dedicated font package.  Dedicated font package
1174  names should begin with <tt>fonts-</tt>.  (Type 1 fonts are also allowed
1175  in packages starting with <tt>xfonts-</tt>.)  If the font is already
1176  packaged, you should depend on that package instead.  Otherwise, normally
1177  the font should be packaged separately, since fonts are usually useful
1178  outside of the package that embeds them.
1179
1180 Tag: license-problem-font-adobe-copyrighted-fragment
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  Should this be a false-positive, please override the tag.
1188 Ref: https://wiki.debian.org/qa.debian.org/type1nondfsg
1189
1190 Tag: license-problem-font-adobe-copyrighted-fragment-no-credit
1191 Severity: serious
1192 Certainty: possible
1193 Info: This type 1 font file includes some postscript fragment with a
1194  non free license of Adobe.  In order to check if this tag is genuine
1195  please follow the procedure described in the reference.
1196  .
1197  Moreover the fragment was likely verbatim copied from black
1198  book without any credit to Adobe.
1199  .
1200  Should this be a false-positive, please override the tag.
1201 Ref: https://wiki.debian.org/qa.debian.org/type1nondfsg
1202
1203 Tag: duplicate-font-file
1204 Severity: normal
1205 Certainty: possible
1206 Info: This package appears to include a font file that is already provided
1207  by another package in Debian.  Ideally it should instead depend on the
1208  relevant font package.  If the application in this package loads the font
1209  file by name, you may need to include a symlink pointing to the file name
1210  of the font in its Debian package.
1211  .
1212  Sometimes the font package containing the font is huge and you only need
1213  one font.  In that case, you have a few options: modify the package (in
1214  conjunction with upstream) to use libfontconfig to find the font that you
1215  prefer but fall back on whatever installed font is available, ask that
1216  the font package be split apart into packages of a more reasonable size,
1217  or add an override and be aware of the duplication when new versions of
1218  the font are released.
1219
1220 Tag: icon-size-and-directory-name-mismatch
1221 Severity: normal
1222 Certainty: certain
1223 Info: The icon has a size that differs from the size specified by the name
1224  of the directory under which it was installed.  The icon was probably
1225  mistakenly installed into the wrong directory.
1226
1227 Tag: raster-image-in-scalable-directory
1228 Severity: normal
1229 Certainty: certain
1230 Info: The given raster image was installed into a "scalable" icon directory.
1231  Only vector graphics (e.g. SVG) should be installed into those directories.
1232
1233 Tag: gz-file-not-gzip
1234 Severity: normal
1235 Certainty: possible
1236 Info: The given file ends with <tt>.gz</tt>, which normally indicates it
1237  is compressed with gzip.  However, it doesn't seem to be a
1238  gzip-compressed file.  gzip will fail with an error on such files.
1239  Normally this indicates a mistake in the installation process of the
1240  package.
1241
1242 Tag: non-free-flash
1243 Severity: serious
1244 Certainty: possible
1245 Info: The given Flash file has a filename which suggests that it may be
1246  one of a number of known Flash files with non-free content.
1247
1248 Tag: non-conf-file-in-modprobe.d
1249 Severity: important
1250 Certainty: certain
1251 Ref: https://lists.debian.org/debian-devel/2009/03/msg00119.html
1252 Info: Files in <tt>/etc/modprobe.d</tt> should use filenames ending in
1253  <tt>.conf</tt>.  modprobe silently ignores all files which do not match
1254  this convention.
1255  .
1256  If the file is an example containing only comments, consider installing
1257  it in another location as files in <tt>/etc/modprobe.d</tt> are
1258  read each time modprobe is run (which is often at boot time).
1259
1260 Tag: file-in-discouraged-x11-font-directory
1261 Severity: minor
1262 Certainty: certain
1263 Ref: policy 11.8.5
1264 Info: For historical reasons, use of <tt>PEX</tt>, <tt>CID</tt>,
1265  <tt>Speedo</tt>, and <tt>cyrillic</tt> subdirectories of
1266  <tt>/usr/share/fonts/X11</tt> are permitted, but installation of files
1267  into these directories is discouraged.  Support for the first three font
1268  types is deprecated or no longer available, and Cyrillic fonts should use
1269  the normal font directories where possible.
1270
1271 Tag: file-in-unknown-x11-font-directory
1272 Severity: serious
1273 Certainty: certain
1274 Ref: policy 11.8.5
1275 Info: Subdirectories of <tt>/usr/share/fonts/X11</tt> other than
1276  <tt>100dpi</tt>, <tt>75dpi</tt>, <tt>misc</tt>, <tt>Type1</tt>, and some
1277  historic exceptions must be neither created nor used.  (The directories
1278  <tt>encodings</tt> and <tt>util</tt>, used by some X Window System
1279  packages, are also permitted by Lintian.)
1280
1281 Tag: package-contains-multiple-dpi-fonts
1282 Severity: normal
1283 Certainty: certain
1284 Ref: policy 11.8.5
1285 Info: This package contains both 100dpi and 75dpi bitmapped fonts.  Both
1286  versions should not be included in a single package.  If both resolutions
1287  are available, they should be provided in separate binary packages with
1288  <tt>-75dpi</tt> or <tt>-100dpi</tt> appended to the package name for the
1289  corresponding fonts.
1290
1291 Tag: package-mixes-misc-and-dpi-fonts
1292 Severity: normal
1293 Certainty: certain
1294 Ref: policy 11.8.5
1295 Info: This package contains both bitmapped fonts for a specific DPI
1296  (100dpi or 75dpi) and misc bitmapped fonts.  These should not be combined
1297  in the same package.  Instead, the misc bitmapped fonts should be
1298  provided in a separate package with <tt>-misc</tt> appended to its name.
1299
1300 Tag: package-contains-info-dir-file
1301 Severity: serious
1302 Certainty: certain
1303 Info: This package contains a file named <tt>dir</tt> or <tt>dir.old</tt>,
1304  possibly compressed, in <tt>/usr/share/info</tt>.  This is the directory
1305  (or backup) of info pages and is generated automatically by install-info
1306  when a package containing info documentation is installed.  Some upstream
1307  build systems create it automatically, but it must not be included in a
1308  package since it needs to be generated dynamically based on the installed
1309  info files on the system.
1310
1311 Tag: package-contains-mime-cache-file
1312 Severity: serious
1313 Certainty: certain
1314 Info: This package contains a cache file generated automatically by
1315  update-mime-database when a package containing MIME-Info Database
1316  files is installed.  Some upstream build systems create them
1317  automatically, but they must not be included in a package since they need
1318  to be generated dynamically based on the installed MIME-Info Database
1319  files on the system.
1320
1321 Tag: package-contains-mimeinfo.cache-file
1322 Severity: serious
1323 Certainty: certain
1324 Info: This package contains a file named <tt>mimeinfo.cache</tt>,
1325  possibly compressed, in <tt>/usr/share/applications</tt>.  This file is
1326  generated automatically by update-desktop-database when a package
1327  containing <tt>.desktop</tt> files associated to MIME types is installed.
1328  Some upstream build systems create it automatically, but it must not be
1329  included in a package since it needs to be generated dynamically based on
1330  the installed .desktop files on the system.
1331
1332 Tag: package-modifies-ld.so-search-path
1333 Severity: important
1334 Certainty: possible
1335 Ref: policy 10.2
1336 Info: This package installs a file in <tt>/etc/ld.so.conf.d</tt>,
1337  presumably to modify the search path of the run-time linker, and does not
1338  appear to be part of libc.
1339  .
1340  Packages containing shared libraries should either install them into
1341  <tt>/usr/lib</tt> or should require binaries built against them to set
1342  RPATH to find the library at run-time.  Installing libraries in a
1343  different directory and modifying the run-time linker path is equivalent
1344  to installing them into <tt>/usr/lib</tt> except now conflicting library
1345  packages may cause random segfaults and difficult-to-debug problems
1346  instead of conflicts in the package manager.
1347
1348 Tag: global-data-in-games-directory
1349 Severity: important
1350 Certainty: certain
1351 Info: This package contains files under <tt>/usr/share/games</tt>, such as
1352  desktop files, icons, pixmaps, or MIME type entries, that are global
1353  system data.  The user's desktop environment will only check in the
1354  directories directly under <tt>/usr/share</tt> and this information
1355  should be put in the global directory even if it is for games.
1356  .
1357  The most common cause of this problem is using a
1358  <tt>--datadir=/usr/share/games</tt> argument to configure or an
1359  equivalent and using the upstream installation rules.  These files need
1360  to be moved into the corresponding directories directly under
1361  <tt>/usr/share</tt>.
1362
1363 Tag: duplicated-compressed-file
1364 Severity: minor
1365 Certainty: possible
1366 Info: The given, apparently compressed, file is shipped in the package
1367  in addition to another file with the same name without the
1368  compression-method extension.  Normally this indicates a mistake in the
1369  installation process of the package.
1370
1371 Tag: udev-rule-in-etc
1372 Severity: important
1373 Certainty: certain
1374 Ref: #559208
1375 Info: This package ships a udev rule and installs it under
1376  <tt>/etc/udev/rules.d</tt>, which is reserved for user-installed files.
1377  The correct directory for system rules is <tt>/lib/udev/rules.d</tt>.
1378
1379 Tag: obsolete-comments-style-in-php-ini
1380 Severity: normal
1381 Certainty: certain
1382 Info: This package ships a <tt>.ini</tt> file used to configure php but
1383  it has comments using the old-style comment separator <tt>#</tt>.
1384  Instead, the <tt>;</tt> separator should be used.
1385  .
1386  Since version 5.3, the PHP interpreter warns about the use of the
1387  old style of comment separator.
1388
1389 Tag: triplet-dir-and-architecture-mismatch
1390 Severity: serious
1391 Certainty: possible
1392 Ref: policy 9.1.1
1393 Info: This package contains a directory under <tt>/lib</tt> or
1394  <tt>/usr/lib</tt> which doesn't match the proper triplet for the
1395  binary package's architecture.  This is very likely to be a mistake
1396  when indicating the underlying build system where the files should be
1397  installed.
1398
1399 Tag: empty-binary-package
1400 Severity: important
1401 Certainty: wild-guess
1402 Info: This binary package appears to be empty, and its description does
1403  not say that it's a metapackage or a transitional package.  This is
1404  often due to problems with updating debhelper *.install files during
1405  package renames or similar problems where installation rules don't put
1406  files in the correct place.
1407  .
1408  If the package is deliberately empty, please mention in the package long
1409  description one of the phrases "metapackage", "dummy", "dependency
1410  package", or "empty package".
1411
1412 Tag: empty-udeb-package
1413 Severity: minor
1414 Certainty: wild-guess
1415 Experimental: yes
1416 Info: This udeb package appears to be empty, and its description does
1417  not say that it's a metapackage or an package.  This is often due to
1418  problems with updating debhelper *.install files during package
1419  renames or similar problems where installation rules don't put files
1420  in the correct place.
1421  .
1422  If the package is deliberately empty, you can avoid this tag by
1423  using one of the following phrases "metapackage", "dummy", "dependency
1424  package", or "empty package" in the long description of the udeb.
1425
1426 Tag: star-file
1427 Severity: important
1428 Certainty: possible
1429 Info: The given file is literally installed as <tt>*</tt> (star
1430  symbol).  Normally this indicates a mistake in the installation
1431  process of the package either when creating symlinks or renaming files.
1432
1433 Tag: incorrect-locale-code
1434 Severity: normal
1435 Certainty: possible
1436 Info: The package appears to ship locales for a language but uses an
1437  incorrect locale code as a subdirectory of <tt>/usr/share/locale</tt>.
1438  This usually results in users of the intended target language not
1439  finding the locale.  The language codes used in the locale directories
1440  are those from the ISO 639-1 and ISO 639-2 standards, not those
1441  usually used as TLDs (which are from the ISO 3166 standard).
1442  .
1443  Lintian only knows about some commonly-mistaken set of incorrect
1444  locale codes.
1445
1446 Tag: unknown-locale-code
1447 Severity: normal
1448 Certainty: certain
1449 Ref: http://www.loc.gov/standards/iso639-2/php/code_list.php
1450 Info: The package appears to ship locales for a language but uses an
1451  unknown locale code as a subdirectory of <tt>/usr/share/locale</tt>.
1452  This usually results in users of the intended target language not
1453  finding the locale.  The language codes used in the locale directories
1454  are those from the ISO 639-1 and ISO 639-2 standards, not those
1455  usually used as TLDs (which are from the ISO 3166 standard).
1456  .
1457  It is possible that the language code was mistyped or incorrectly
1458  guessed from the language's or country's name.
1459
1460 Tag: compressed-objects.inv
1461 Severity: normal
1462 Certainty: possible
1463 Info: The package appears to ship a gzip compressed objects.inv file
1464  in it's documentation.  Unfortunately some tools do not cope with
1465  this file being compressed.
1466  .
1467  This file should be excluded from compression during build time.
1468  If using debhelper (&lt;&lt; 8.1.0), you may need to use the -X
1469  option to dh_compress. Newer versions of debhelper handle this
1470  correctly by default.
1471
1472 Tag: useless-autogenerated-doxygen-file
1473 Severity: minor
1474 Certainty: possible
1475 Info: The package appears to ship files
1476  from doxygen generated documentation used only
1477  for internal purpose of doxygen.
1478  .
1479  These files are only needed to speed up the
1480  regeneration of the output when this is done
1481  in an incremental fashion (i.e. without first deleting
1482  all output files), and are not needed for
1483  reading the documentation.
1484
1485 Tag: package-contains-no-arch-dependent-files
1486 Severity: minor
1487 Certainty: possible
1488 Experimental: yes
1489 Info: The package is not marked architecture all, but all the files it
1490  ships are installed in /usr/share.
1491  .
1492  Most likely this package should be marked architecture all, but there
1493  is a chance that the package is missing files.
1494 Ref: policy 5.6.8
1495
1496 Tag: vim-addon-within-vim-runtime-path
1497 Severity: normal
1498 Certainty: certain
1499 Info: Vim addons should not be installed directly under a directory contained
1500  in the Vim runtime path.  Users shall be given the freedom to choose which
1501  addons they want to have enabled and which they don't.
1502 Ref: vim-policy 3.1
1503
1504 Tag: perl-module-uses-perl4-libs-without-dep
1505 Severity: normal
1506 Certainty: possible
1507 Info: This package includes perl modules using obsoleted perl 4-era
1508  libraries.  These libraries have been deprecated in perl in 5.14, and
1509  are likely to be removed from the core in perl 5.16.  Please either
1510  remove references to these libraries, or add a dependency on
1511  <tt>libperl4-corelibs-perl | perl (&lt;&lt; 5.12.3-7)</tt> to this package.
1512
1513 Tag: gzip-file-is-not-multi-arch-same-safe
1514 Severity: important
1515 Certainty: certain
1516 Info: The gzip file contains a timestamp that will differ between
1517  architectures.  Multi-Arch: same implies all shared files must be
1518  byte-for-byte identical.
1519  .
1520  This can usually be fixed by passing -n to gzip.
1521
1522 Tag: pkg-config-multi-arch-wrong-dir
1523 Severity: important
1524 Certainty: possible
1525 Info: The arch all pkg-config file contains a reference to a multi-arch path.
1526  .
1527  This can be usually be fixed by moving this file to a multi-arch path.
1528  .
1529  Another likely cause is using debhelper 9 or newer (thus enabling
1530  multi-arch paths by default) on a package without multi-arch support.
1531  The usual cure in this case is to update it for multi-arch.
1532  .
1533  Last but not least, this file could contain a reference to a cross
1534  architecture (like for instance a x86_64-linux-gnu pkg-config file
1535  referencing a i386-linux-gnu file). In this case the usual cure is to
1536  fix this path.
1537
1538 Tag: pkg-config-bad-directive
1539 Severity: serious
1540 Certainty: possible
1541 Info: The pkg-config file contains a wrong directive.
1542  .
1543  The following file includes a wrong directive. This could lead to
1544  FTBFS or leak private compile flags to another package.
1545
1546 Tag: dir-or-file-in-home
1547 Severity: serious
1548 Certainty: certain
1549 Info: Debian packages should not install into <tt>/home</tt>, because it
1550  is reserved for users.
1551
1552 Tag: dir-or-file-in-build-tree
1553 Severity: serious
1554 Certainty: possible
1555 Info: Your package install file in our build tree.
1556
1557 Tag: file-name-is-not-valid-UTF-8
1558 Severity: serious
1559 Certainty: certain
1560 Ref: policy 10.10
1561 Info: The file name does not appear to be valid UTF-8.
1562  .
1563  Note that Lintian may be unable to display the filename accurately.
1564  Unprintable characters may have been replaced.
1565
1566 Tag: file-name-in-PATH-is-not-ASCII
1567 Severity: serious
1568 Certainty: certain
1569 Ref: policy 10.10
1570 Info: The given file is in PATH but consists of non-ASCII characters.
1571  .
1572  Note that Lintian may be unable to display the filename accurately.
1573  Unprintable characters may have been replaced.
1574
1575 Tag: incorrect-naming-of-pkcs11-module
1576 Severity: important
1577 Certainty: certain
1578 Info: This package ships a PKCS#11 module configuration file under
1579  <tt>/usr/share/p11-kit/modules</tt>, but its naming doesn't conform
1580  to what <tt>p11-kit</tt> expects.  Files in that directory should
1581  respect the following convention, case insensitive:
1582   [a-z0-9][a-z0-9_.-]*.module
1583  .
1584  p11-kit currently warns on every file that does not follow the
1585  convention and may ignore them in the future.
1586
1587 Tag: package-contains-timestamped-gzip
1588 Severity: wishlist
1589 Certainty: certain
1590 Info: The package contains a gzip-compressed file that has timestamps.
1591  Such files make the packages unreproducible, because their
1592  contents depend on the time when the package was built.
1593  .
1594  Please consider passing the "-n" flag to gzip to avoid this.
1595 Ref: https://wiki.debian.org/ReproducibleBuilds