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]

Reply via email to