=head1 SYNOPSIS
- dh_installxfonts [debhelper options]
+B<dh_installxfonts> [S<I<debhelper options>>]
=head1 DESCRIPTION
registering X fonts, so their corresponding fonts.dir, fonts.alias,
and fonts.scale be rebuilt properly at install time.
-Before calling this program, you should have installed any X fonts
-provided by your package into the appropriate location in the package build
-directory. Also, your package should depend on xbase-clients (>=
-3.3.3.1-5).
+Before calling this program, you should have installed any X fonts provided
+by your package into the appropriate location in the package build
+directory, and if you have fonts.alias or fonts.scale files, you should
+install them into the correct location under etc/X11/fonts in your
+package build directory.
-It automatically generates the postinst and postrm commands needed to
-register X fonts. See L<dh_installdeb(1)> for an explanation of how this
+Your package should depend on xfonts-utils so that the
+update-fonts-* commands are available. (This program adds that dependency to
+${misc:Depends}.)
+
+This program automatically generates the postinst and postrm commands needed
+to register X fonts. See L<dh_installdeb(1)> for an explanation of how this
works.
=head1 NOTES
-See L<update-fonts-alias(8)>, L<update-fonts-scale(8)>, and L<mkfontdir(1x)>
-for more information about X font installation.
+See L<update-fonts-alias(8)>, L<update-fonts-scale(8)>, and
+L<update-fonts-dir(8)> for more information about X font installation.
+
+See Debian policy, section 11.8.5. for details about doing fonts the Debian
+way.
=cut
foreach my $package (@{$dh{DOPACKAGES}}) {
my $tmp=tmpdir($package);
- my $XFONTDIR="$tmp/usr/X11R6/lib/X11/fonts/";
- # Find all fint directories in the package build directory.
- opendir DIR, $XFONTDIR || next;
- my @fontdirs = grep { -d "$XFONTDIR/$_" && !/^\./ } (readdir DIR);
- closedir DIR;
+ # Find all font directories in the package build directory.
+ my @fontdirs;
+ foreach my $parentdir ("$tmp/usr/X11R6/lib/X11/fonts/", "$tmp/usr/share/fonts/X11/") {
+ opendir DIR, $parentdir || next;
+ @fontdirs = grep { -d "$parentdir/$_" && !/^\./ } (readdir DIR);
+ closedir DIR;
+ }
if (@fontdirs) {
- # Figure out what commands the postinst will need to call.
- my @updatecmds=('makefontdir');
+ # Figure out what commands the postinst and postrm will need
+ # to call.
+ my @cmds;
foreach my $f (@fontdirs) {
- push @updatecmds, 'update-fonts-alias'
- if -f "$tmp/etc/X11/fonts/$f/$package.alias";
- # This must come _before_ mkfontdir, thus the unshift.
- unshift @updatecmds, 'update-fonts-scale'
+ # This must come before update-fonts-dir.
+ push @cmds, "update-fonts-scale $f"
if -f "$tmp/etc/X11/fonts/$f/$package.scale";
+ push @cmds, "update-fonts-dir --x11r7-layout $f";
+ push @cmds, "update-fonts-alias $f"
+ if -f "$tmp/etc/X11/fonts/$f/$package.alias";
}
autoscript($package, "postinst", "postinst-xfonts",
- "s:#FONTDIRS#:".join(' ', @fontdirs).
- ":;s:#UPDATECMDS#:".join(' ', @updatecmds).":");
+ "s:#CMDS#:".join(";", @cmds).":;");
autoscript($package, "postrm", "postrm-xfonts",
- "s:#FONTDIRS#:".join(' ', @fontdirs).
- ":;s:#UPDATECMDS#:".join(' ', @updatecmds).":");
+ "s:#CMDS#:".join(";", @cmds).":;");
+
+ addsubstvar($package, "misc:Depends", "xfonts-utils");
+ }
+ else {
+ # remove
+ addsubstvar($package, "misc:Depends", "xfonts-utils", "", 1);
}
}
=head1 SEE ALSO
-L<debhelper(1)>
+L<debhelper(7)>
This program is a part of debhelper.