#!/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 [S>] [B<-A>] [B<-X>I] [S ...>] =head1 DESCRIPTION B is a debhelper program that is responsible for installing examples into F in package build directories. =head1 FILES =over 4 =item debian/I.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, B<--exclude=>I Exclude files that contain I anywhere in their filename from being installed. =item I ... 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 will happily copy entire directory hierarchies if you ask it to (similar to B). If it is asked to install a directory, it will install the complete contents of the directory. =cut init(); # PROMISE: DH NOOP WITHOUT examples 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 This program is a part of debhelper. =head1 AUTHOR Joey Hess =cut