X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=dh_installxfonts;h=010d460cda6190269735eafb8198ad9f77b56bf4;hb=bc4fe9de827469761052c59c75c7ea6b6b473f85;hp=1ceb3cbe39ecc4f961b357a67bc6421b3ea9f86b;hpb=067a26d8a40fa40003e0c9b2dfbfa76af71bf59e;p=debhelper.git diff --git a/dh_installxfonts b/dh_installxfonts index 1ceb3cb..010d460 100755 --- a/dh_installxfonts +++ b/dh_installxfonts @@ -1,36 +1,93 @@ #!/usr/bin/perl -w -# -# Integration with the Debian X11 font policy. -BEGIN { push @INC, "debian", "/usr/share/debhelper" } -use Dh_Lib; +=head1 NAME + +dh_installxfonts - register X fonts + +=cut + +use strict; +use Debian::Debhelper::Dh_Lib; + +=head1 SYNOPSIS + +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. + +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. + +Your package should depend on xutils (>= 4.0.3) 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 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 11.8.5. for details about doing fonts the Debian +way. + +=cut + init(); -foreach $PACKAGE (@{$dh{DOPACKAGES}}) { - $TMP=tmpdir($PACKAGE); - my $XFONTDIR="$TMP/usr/X11R6/lib/X11/fonts/"; +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. + # Find all font directories in the package build directory. opendir DIR, $XFONTDIR || next; my @fontdirs = grep { -d "$XFONTDIR/$_" && !/^\./ } (readdir DIR); closedir DIR; if (@fontdirs) { - # Figure out what commands the postinst will need to call. - my @updatecmds=('/usr/bin/X11/mkfontdir'); + # Figure out what commands the postinst and postrm will need + # to call. + my @cmds; foreach my $f (@fontdirs) { - push @updatecmds, '/usr/sbin/update-fonts-alias' - if -f "$TMP/etc/X11/fonts/$f/$PACKAGE.alias"; - # This must come _before_ mkfontdir, thus the unshift. - unshift @updatecmds, '/usr/sbin/update-fonts-scale' - if -f "$TMP/etc/X11/fonts/$f/$PACKAGE.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 $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).":"); - autoscript($PACKAGE, "postrm", "postrm-xfonts", - "s:#FONTDIRS#:".join(' ', @fontdirs). - ":;s:#UPDATECMDS#:".join(' ', @updatecmds).":"); + autoscript($package, "postinst", "postinst-xfonts", + "s:#CMDS#:".join(";", @cmds).":;"); + autoscript($package, "postrm", "postrm-xfonts", + "s:#CMDS#:".join(";", @cmds).":;"); + + addsubstvar($package, "misc:Depends", "xutils", ">= 4.0.3"); + } + else { + # remove + addsubstvar($package, "misc:Depends", "xutils", ">= 4.0.3", 1); } } + +=head1 SEE ALSO + +L + +This program is a part of debhelper. + +=head1 AUTHOR + +Joey Hess + +=cut