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