X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=dh_installxfonts;h=d247bfadb631179f0cfe7267b3d3bd19f70c4e4f;hb=18a0da8092ea9f3dc48bca92b36f592af25a608d;hp=f8d9d4692853dc988882a99f7b5778ac0fdf5913;hpb=d99c84bf7e7da25e096b3ce638627c3540a53a34;p=debhelper.git diff --git a/dh_installxfonts b/dh_installxfonts index f8d9d46..d247bfa 100755 --- a/dh_installxfonts +++ b/dh_installxfonts @@ -15,29 +15,31 @@ B [S>] =head1 DESCRIPTION -dh_installxfonts is a debhelper program that is responsible for -registering X fonts, so their corresponding fonts.dir, fonts.alias, -and fonts.scale be rebuilt properly at install time. +B is a debhelper program that is responsible for +registering X fonts, so their corresponding F, F, +and F 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, 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. +directory, and if you have F or F files, you should +install them into the correct location under F in your +package build directory. -Your package should should depend on xutils (>= 4.0.3) so that the -update-fonts-* commands are available. +Your package should depend on B so that the +BI<*> commands are available. (This program adds that dependency to +B<${misc:Depends}>.) -This programt automatically generates the postinst and postrm commands needed -to register X fonts. See L for an explanation of how this -works. +This program automatically generates the F and F commands needed +to register X fonts. These commands are inserted into the maintainer +scripts by B. See L for an explanation of how +this works. =head1 NOTES See L, L, and L for more information about X font installation. -See Debian policy, section 12.8.5. for details about doing fonts the Debian +See Debian policy, section 11.8.5. for details about doing fonts the Debian way. =cut @@ -46,36 +48,45 @@ init(); foreach my $package (@{$dh{DOPACKAGES}}) { my $tmp=tmpdir($package); - my $XFONTDIR="$tmp/usr/X11R6/lib/X11/fonts/"; # Find all font directories in the package build directory. - opendir DIR, $XFONTDIR || next; - my @fontdirs = grep { -d "$XFONTDIR/$_" && !/^\./ } (readdir DIR); - closedir DIR; + my @fontdirs; + foreach my $parentdir ("$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 and postrm will need # to call. my @cmds; + my @cmds_postinst; + my @cmds_postrm; foreach my $f (@fontdirs) { - push @cmds, "update-fonts-dir $f"; - push @cmds, "update-fonts-alias $f" - if -f "$tmp/etc/X11/fonts/$f/$package.alias"; - # This must come _before_ mkfontdir, thus the unshift. - unshift @cmds, "update-fonts-scale $f" + # 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"; + if (-f "$tmp/etc/X11/fonts/$f/$package.alias") { + push @cmds_postinst, "update-fonts-alias --include /etc/X11/fonts/$f/$package.alias $f"; + push @cmds_postrm, "update-fonts-alias --exclude /etc/X11/fonts/$f/$package.alias $f"; + addsubstvar($package, "misc:Depends", "xfonts-utils (>= 1:7.5+2)"); + } } autoscript($package, "postinst", "postinst-xfonts", - "s:#CMDS#:".join("\n", @cmds).":;"); + "s:#CMDS#:".join(";", @cmds, @cmds_postinst).":"); autoscript($package, "postrm", "postrm-xfonts", - "s:#CMDS#:".join("\n", @cmds).":;"); + "s:#CMDS#:".join(";", @cmds, @cmds_postrm).":"); + + addsubstvar($package, "misc:Depends", "xfonts-utils"); } } =head1 SEE ALSO -L +L This program is a part of debhelper.