X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=dh_installexamples;h=8e9431a67d009f82c9cf797899b2a88f15ec79f5;hb=9e45ddd5cc6d5be6a0a3fe2d2e22fec977b29441;hp=f53dbc979a2e84a6b12c313e81e7d6a4779d136d;hpb=5221e81cc5f195b32758617409cdc39e12277b82;p=debhelper.git diff --git a/dh_installexamples b/dh_installexamples index f53dbc9..8e9431a 100755 --- a/dh_installexamples +++ b/dh_installexamples @@ -19,12 +19,15 @@ dh_installexamples is a debhelper program that is responsible for installing examples into usr/share/doc/package/examples in package build directories. -Any file names specified as parameters will be installed into the first -package dh_installexamples is told to act on. By default, this is the first -binary package in debian/control, but if you use -p, -i, or -a flags, it -will be the first package specified by those flags. +=head1 FILES -Files named debian/package.examples can list other files to be installed. +=over 4 + +=item debian/I.examples + +Lists example files or directories to be installed. + +=back =head1 OPTIONS @@ -35,16 +38,16 @@ Files named debian/package.examples can list other files to be installed. Install any files specified by command line parameters in ALL packages acted on. -=item I - -Install these files as examples into the first package acted on. (Or into -all packages if -A is specified.) - =item B<-Xitem>, B<--exclude=item> Exclude files that contain "item" 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 -A is specified.) + =back =head1 NOTES @@ -58,6 +61,8 @@ directory, it will install the complete contents of the directory. init(); foreach my $package (@{$dh{DOPACKAGES}}) { + next if is_udeb($package); + my $tmp=tmpdir($package); my $file=pkgfile($package,"examples"); @@ -78,17 +83,18 @@ foreach my $package (@{$dh{DOPACKAGES}}) { my $exclude = ''; if ($dh{EXCLUDE_FIND}) { - $exclude = ' \( ! '.$dh{EXCLUDE_FIND}.' \)'; + $exclude .= ' -and ! \( '.$dh{EXCLUDE_FIND}.' \)'; } foreach my $example (@examples) { next if excludefile($example); if (-d $example && $exclude) { - my ($dir_basename) = basename($example); - # Pity there's no cp --exclude .. + my $basename = basename($example); + my $dir = ($basename eq '.') ? $example : "$example/.."; my $pwd=`pwd`; chomp $pwd; - complex_doit("cd $example/.. && find $dir_basename -type f$exclude -exec cp --parents -dp {} $pwd/$tmp/usr/share/doc/$package/examples \\;"); + 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"); @@ -99,7 +105,7 @@ foreach my $package (@{$dh{DOPACKAGES}}) { =head1 SEE ALSO -L +L This program is a part of debhelper.