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