From 90169463f86997737ed5b9c0ea2b311cd3b056b7 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Tue, 9 Apr 2024 14:53:53 +0200 Subject: Adding upstream version 13.15.3. Signed-off-by: Daniel Baumann --- dh_installxfonts | 100 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100755 dh_installxfonts (limited to 'dh_installxfonts') diff --git a/dh_installxfonts b/dh_installxfonts new file mode 100755 index 0000000..c16659f --- /dev/null +++ b/dh_installxfonts @@ -0,0 +1,100 @@ +#!/usr/bin/perl + +=head1 NAME + +dh_installxfonts - register X fonts + +=cut + +use strict; +use warnings; +use Debian::Debhelper::Dh_Lib; + +our $VERSION = DH_BUILTIN_VERSION; + +=head1 SYNOPSIS + +B [S>] + +=head1 DESCRIPTION + +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 F or F files, you should +install them into the correct location under F in your +package build directory. + +Your package should depend on B so that the +BI<*> commands are available. (This program adds that dependency to +B<${misc:Depends}>.) + +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 11.8.5. for details about doing fonts the Debian +way. + +=cut + +init(); + +# PROMISE: DH NOOP WITHOUT tmp(usr/share/fonts/X11) cli-options() + +foreach my $package (@{$dh{DOPACKAGES}}) { + my $tmp=tmpdir($package); + + # Find all font directories in the package build directory. + 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, @cmds_postinst, @cmds_postrm); + # Sort items for reproducible binary package contents. + foreach my $f (sort @fontdirs) { + # 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"; + } + } + + autoscript($package, "postinst", "postinst-xfonts", + { 'CMDS' => join(";", @cmds, @cmds_postinst) }); + autoscript($package, "postrm", "postrm-xfonts", + { 'CMDS' => join(";", @cmds, @cmds_postrm) }); + + addsubstvar($package, "misc:Depends", "xfonts-utils"); + } +} + +=head1 SEE ALSO + +L + +This program is a part of debhelper. + +=head1 AUTHOR + +Joey Hess + +=cut -- cgit v1.2.3