=head1 SYNOPSIS
-B<dh_link> [S<I<debhelper options>>] [B<-A>] [S<I<source destination ...>>]
+B<dh_link> [S<I<debhelper options>>] [B<-A>] [B<-X>I<item>] [S<I<source destination ...>>]
=head1 DESCRIPTION
destination files are the symlinks that will be created. There B<must> be
an equal number of source and destination files specified.
-The list can be specified in two ways. A file named debian/package.links
-can list pairs of files. If you use this file, you should put each pair
-of files on its own line, and separate the files within the pair with
-whitespace. Also, pairs of files can be specified as parameters - these
-pairs will only be created in the package build directory of the first
-package dh_link 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.
-
Be sure you B<do> specify the full filename to both the source and
destination files (unlike you would do if you were using something like
L<ln(1)>).
dh_link also scans the package build tree for existing symlinks which do not
conform to debian policy, and corrects them (v4 or later).
+=head1 FILES
+
+=over 4
+
+=item debian/I<package>.links
+
+Lists pairs of source and destination files to be symlinked. Each pair
+should be put on its own line, with the source and destination separated by
+whitespace.
+
+=back
+
=head1 OPTIONS
=over 4
Create any links specified by command line parameters in ALL packages
acted on, not just the first.
+=item B<-Xitem>, B<--exclude=item>
+
+Do not correct symlinks that contain "item" anywhere in their filename from
+being corrected to comply with debian policy.
+
=item I<source destination ...>
Create a file named "destination" as a link to a file named "source". Do
find(
sub {
return unless -l;
+ return if excludefile($_);
my $dir=$File::Find::dir;
$dir=~s/^\Q$tmp\E//;
my $target = readlink($_);
$src=~s:^/::;
$dest=~s:^/::;
+
+ if ($src eq $dest) {
+ warning("skipping link from $src to self");
+ next;
+ }
# Make sure the directory the link will be in exists.
my $basedir=dirname("$tmp/$dest");
# Figure out how much of a path $src and $dest
# share in common.
my $x;
- for ($x=0; $x<@src_dirs && $src_dirs[$x] eq $dest_dirs[$x]; $x++) {}
+ for ($x=0; $x < @src_dirs && $src_dirs[$x] eq $dest_dirs[$x]; $x++) {}
# Build up the new src.
$src="";
for (1..$#dest_dirs - $x) {