I'd like to have lintian start helping with notifying packagers of the X.Org 7 migration. However, I don't want to make matters worse by putting in a bad check. If someone has a moment, could you look over the following set of checks and ensure that they're accurate?
(I know more checks are probably needed; at the least, checks for the versioned dependencies on debhelper and xutils-dev would be good. But this seems like a good starting point.) The three check descriptions are: Tag: package-installs-font-to-usr-x11r6 Type: error Info: The standard location for X fonts has moved to /usr/share/fonts/X11. Packages providing X fonts must install them into the new path. Fonts installed into the old /usr/X11R6/lib/X11/fonts path may not be seen by the X server. . If the package uses imake, it must build-depend on xutils-dev (>= 1:1.0.2-1) for the correct paths. If it uses dh_installxfonts to handle X font installation, it must build-depend on debhelper (>= 5.0.29). Tag: package-installs-file-to-usr-x11r6-bin Type: error Info: Debian has switched to the modular X tree which now uses the regular FHS paths, and all packages must follow. All packages installing binaries must install them into /usr/bin (or some other appropriate location) instead of /usr/X11R6/bin. . The x11-common package attempts to change /usr/X11R6/bin into a symlink to /usr/bin, so if this migration has already occurred, a package installing files into /usr/X11R6/bin may appear to install successfully. However, such a package will be left in an inconsistent state and may orphan files when the compatibility link goes away. . If the package uses imake, it must build-depend on xutils-dev (>= 1:1.0.2-1) for the correct paths. Tag: package-installs-file-to-usr-x11r6 Type: error Info: Packages using the X Window System should not be configured to install files under the /usr/X11R6/ directory. Debian has switched to the modular X tree which now uses regular FHS paths and all packages should follow. . Programs that use GNU autoconf and automake are usually easily configured at compile time to use /usr/ instead of /usr/X11R6/. Packages that use imake must build-depend on xutils-dev (>= 1:1.0.2-2) for the correct paths. Here is the current working lintian patch: Index: checks/files =================================================================== --- checks/files (revision 616) +++ checks/files (working copy) @@ -235,11 +235,15 @@ } #----------------- /usr/X11R6/ + elsif ($file =~ m,^usr/X11R6/bin,) { + tag "package-installs-file-to-usr-x11r6-bin", "$file"; + } + elsif ($file =~ m,^usr/X11R6/lib/X11/fonts,) { + tag "package-installs-font-to-usr-x11r6", "$file"; + } elsif ($file =~ m,^usr/X11R6/, and - $file !~ m,^usr/X11R6/lib/X11/fonts, and #font packages are allowed - $perm !~ m,^l, and #links to FHS locations are encouraged - $source_pkg ne "xfree86") { #The X Window System is allowed to do anything - tag "packages-installs-file-to-usr-x11r6", "$file"; + $perm !~ m,^l,) { #links to FHS locations are allowed + tag "package-installs-file-to-usr-x11r6", "$file"; } # ---------------- /usr/lib/sgml Index: checks/files.desc =================================================================== --- checks/files.desc (revision 616) +++ checks/files.desc (working copy) @@ -29,17 +29,43 @@ /usr/bin/X11/, /usr/include/X11/ or /usr/lib/X11/. Ref: policy 11.8.7 -Tag: packages-installs-file-to-usr-x11r6 -Type: warning +Tag: package-installs-font-to-usr-x11r6 +Type: error +Info: The standard location for X fonts has moved to /usr/share/fonts/X11. + Packages providing X fonts must install them into the new path. Fonts + installed into the old /usr/X11R6/lib/X11/fonts path may not be seen by + the X server. + . + If the package uses imake, it must build-depend on xutils-dev (>= + 1:1.0.2-1) for the correct paths. If it uses dh_installxfonts to handle X + font installation, it must build-depend on debhelper (>= 5.0.29). + +Tag: package-installs-file-to-usr-x11r6-bin +Type: error +Info: Debian has switched to the modular X tree which now uses the regular + FHS paths, and all packages must follow. All packages installing binaries + must install them into /usr/bin (or some other appropriate location) + instead of /usr/X11R6/bin. + . + The x11-common package attempts to change /usr/X11R6/bin into a symlink + to /usr/bin, so if this migration has already occurred, a package + installing files into /usr/X11R6/bin may appear to install + successfully. However, such a package will be left in an inconsistent + state and may orphan files when the compatibility link goes away. + . + If the package uses imake, it must build-depend on xutils-dev (>= + 1:1.0.2-1) for the correct paths. + +Tag: package-installs-file-to-usr-x11r6 +Type: error Info: Packages using the X Window System should not be configured to install - files under the /usr/X11R6/ directory unless they use imake. The /usr/X11R6/ - directory hierarchy should be regarded as deprecated for all packages except - the X Window System itself. + files under the /usr/X11R6/ directory. Debian has switched to the modular + X tree which now uses regular FHS paths and all packages should follow. . - Programs that use GNU autoconf and automake are usually easily configured at - compile time to use /usr/ instead of /usr/X11R6/, and this should be done - whenever possible. -Ref: policy 11.8.7 + Programs that use GNU autoconf and automake are usually easily configured + at compile time to use /usr/ instead of /usr/X11R6/. Packages that use + imake must build-depend on xutils-dev (>= 1:1.0.2-2) for the correct + paths. Tag: config-file-reserved $file Type: error Index: testset/tags.manpages =================================================================== --- testset/tags.manpages (revision 616) +++ testset/tags.manpages (working copy) @@ -14,6 +14,14 @@ E: manpages: manpage-not-compressed-with-gzip usr/share/man/man1/usr-bin-binary-alt.1.gz E: manpages: manpage-not-compressed-with-gzip usr/share/man/man1/usr-sbin-binary.1.gz E: manpages: manpage-not-compressed-with-max-compression usr/share/man/man6/usr-games-binary.6.gz +E: manpages: package-installs-file-to-usr-x11r6 usr/X11R6/ +E: manpages: package-installs-file-to-usr-x11r6 usr/X11R6/man/ +E: manpages: package-installs-file-to-usr-x11r6 usr/X11R6/man/man1/ +E: manpages: package-installs-file-to-usr-x11r6 usr/X11R6/man/man1/rstartd.1x.gz +E: manpages: package-installs-file-to-usr-x11r6 usr/X11R6/man/man6/ +E: manpages: package-installs-file-to-usr-x11r6 usr/X11R6/man/man6/X11R6-binary.man +E: manpages: package-installs-file-to-usr-x11r6-bin usr/X11R6/bin/ +E: manpages: package-installs-file-to-usr-x11r6-bin usr/X11R6/bin/rstartd E: manpages: x11-games-should-be-in-usr-games usr/X11R6/man/man6/X11R6-binary.man W: manpages source: ancient-standards-version 3.2.1 W: manpages source: binary-nmu-debian-revision-in-source 4-0.0.1 @@ -32,11 +40,3 @@ W: manpages: manpage-has-bad-whatis-entry usr/share/man/man1/usr-sbin-binary.1.gz W: manpages: manpage-has-bad-whatis-entry usr/share/man/man6/usr-games-binary.6.gz W: manpages: manpage-has-errors-from-man usr/share/man/man1/test-latin1-chars.1p.gz 9: warning: can't find numbered character 228 -W: manpages: packages-installs-file-to-usr-x11r6 usr/X11R6/ -W: manpages: packages-installs-file-to-usr-x11r6 usr/X11R6/bin/ -W: manpages: packages-installs-file-to-usr-x11r6 usr/X11R6/bin/rstartd -W: manpages: packages-installs-file-to-usr-x11r6 usr/X11R6/man/ -W: manpages: packages-installs-file-to-usr-x11r6 usr/X11R6/man/man1/ -W: manpages: packages-installs-file-to-usr-x11r6 usr/X11R6/man/man1/rstartd.1x.gz -W: manpages: packages-installs-file-to-usr-x11r6 usr/X11R6/man/man6/ -W: manpages: packages-installs-file-to-usr-x11r6 usr/X11R6/man/man6/X11R6-binary.man Index: testset/tags.filenames =================================================================== --- testset/tags.filenames (revision 616) +++ testset/tags.filenames (working copy) @@ -7,6 +7,9 @@ E: filenames: package-contains-ancient-file usr/lib/perl5/foo/ancient.pm 1975-01-01 E: filenames: package-installs-file-to-usr-something-x11 usr/bin/X11/ E: filenames: package-installs-file-to-usr-something-x11 usr/bin/X11/testxbin +E: filenames: package-installs-file-to-usr-x11r6 usr/X11R6/ +E: filenames: package-installs-file-to-usr-x11r6-bin usr/X11R6/bin/ +E: filenames: package-installs-file-to-usr-x11r6-bin usr/X11R6/bin/testxbin2 E: filenames: package-installs-packlist usr/lib/perl5/foo/.packlist E: filenames: postinst-does-not-call-updatemenus usr/share/menu/menu E: filenames: postrm-does-not-call-updatemenus usr/share/menu/menu @@ -63,9 +66,6 @@ W: filenames: package-contains-svn-control-dir usr/lib/perl5/.svn/ W: filenames: package-installs-nonbinary-perl-in-usr-lib-perl5 usr/lib/perl5/foo/ancient.pm W: filenames: package-installs-nonbinary-perl-in-usr-lib-perl5 usr/lib/perl5/foo/bar.pm -W: filenames: packages-installs-file-to-usr-x11r6 usr/X11R6/ -W: filenames: packages-installs-file-to-usr-x11r6 usr/X11R6/bin/ -W: filenames: packages-installs-file-to-usr-x11r6 usr/X11R6/bin/testxbin2 W: filenames: svn-commit-file-in-package files/svn-commit.tmp W: filenames: symlink-is-self-recursive usr/lib/filenames/symlink10wrong ../../.. W: filenames: symlink-is-self-recursive usr/lib/filenames/symlink5ok+warn .. -- Russ Allbery ([EMAIL PROTECTED]) <http://www.eyrie.org/~eagle/> -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]