/usr/bin/dh_installexamples is in debhelper 9.20120909.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | #!/usr/bin/perl -w
=head1 NAME
dh_installexamples - install example files into package build directories
=cut
use strict;
use Debian::Debhelper::Dh_Lib;
=head1 SYNOPSIS
B<dh_installexamples> [S<I<debhelper options>>] [B<-A>] [B<-X>I<item>] [S<I<file> ...>]
=head1 DESCRIPTION
B<dh_installexamples> is a debhelper program that is responsible for
installing examples into F<usr/share/doc/package/examples> in package
build directories.
=head1 FILES
=over 4
=item debian/I<package>.examples
Lists example files or directories to be installed.
=back
=head1 OPTIONS
=over 4
=item B<-A>, B<--all>
Install any files specified by command line parameters in ALL packages
acted on.
=item B<-X>I<item>, B<--exclude=>I<item>
Exclude files that contain I<item> anywhere in their filename from
being installed.
=item I<file> ...
Install these files (or directories) as examples into the first package
acted on. (Or into all packages if B<-A> is specified.)
=back
=head1 NOTES
Note that B<dh_installexamples> will happily copy entire directory hierarchies
if you ask it to (similar to B<cp -a>). If it is asked to install a
directory, it will install the complete contents of the directory.
=cut
init();
foreach my $package (@{$dh{DOPACKAGES}}) {
next if is_udeb($package);
my $tmp=tmpdir($package);
my $file=pkgfile($package,"examples");
my @examples;
if ($file) {
@examples=filearray($file, ".");
}
if (($package eq $dh{FIRSTPACKAGE} || $dh{PARAMS_ALL}) && @ARGV) {
push @examples, @ARGV;
}
if (@examples) {
if (! -d "$tmp/usr/share/doc/$package/examples") {
doit("install","-d","$tmp/usr/share/doc/$package/examples");
}
my $exclude = '';
if ($dh{EXCLUDE_FIND}) {
$exclude .= ' -and ! \( '.$dh{EXCLUDE_FIND}.' \)';
}
foreach my $example (@examples) {
next if excludefile($example);
if (-d $example && $exclude) {
my $basename = basename($example);
my $dir = ($basename eq '.') ? $example : "$example/..";
my $pwd=`pwd`;
chomp $pwd;
my $exclude2 = '-type f'.$exclude;
complex_doit("cd '$dir' && find '$basename' -type f$exclude -exec cp --parents -dp {} $pwd/$tmp/usr/share/doc/$package/examples \\;");
}
else {
doit("cp", "-a", $example, "$tmp/usr/share/doc/$package/examples");
}
}
}
}
=head1 SEE ALSO
L<debhelper(7)>
This program is a part of debhelper.
=head1 AUTHOR
Joey Hess <joeyh@debian.org>
=cut
|