X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=dh_install;h=875f80bfe45d3be04e07525799ec98b45105d0f8;hb=ce069424bc9a14aaefc06871d0ea530c0e26bbb7;hp=d01e3bcf76e0647243ce5c2f309a00e77b89758d;hpb=3b1ff29785e19b462c1b3f6eece7a9aadd210ca8;p=debhelper.git diff --git a/dh_install b/dh_install index d01e3bc..875f80b 100755 --- a/dh_install +++ b/dh_install @@ -24,15 +24,6 @@ those particular tasks. dh_install, then, is useful for installing everything else, for which no particular intelligence is needed. It is a replacement for the old dh_movefiles command. -Files named debian/package.install list the files to install into each -package and the directory they should be installed to. The format is a set -of lines, where each line lists a file or files to install, and at the end -of the line tells the directory it should be installed in. The name of the -files (or directories) to install should be given relative to the current -directory, while the installation directory is given relative to the -package build directory. You may use wildcards in the names of the files to -install (in v3 mode and above). - This program may be used in one of two ways. If you just have a file or two that the upstream Makefile does not install for you, you can run dh_install on them to move them into place. On the other hand, maybe you have a large @@ -44,32 +35,25 @@ From debhelper compatibility level 7 on, dh_install will fall back to looking in debian/tmp for files, if it doesn't find them in the current directory (or whereever you've told it to look using --sourcedir). -=head1 OPTIONS +=head1 FILES =over 4 -=item B<--autodest> +=item debian/I.install -Guess as the destination directory to install things to. If this is -specified, you should not list destination directories in -debian/package.install files or on the command line. Instead, dh_install -will guess as follows: - -Strip off debian/tmp (or the sourcedir if one is given) from the front of -the filename, if it is present, and install into the dirname of the -filename. So if the filename is debian/tmp/usr/bin, then that directory -will be copied to debian/package/usr/. If the filename is -debian/tmp/etc/passwd, it will be copied to debian/package/etc/. +List the files to install into each package and the directory they should be +installed to. The format is a set of lines, where each line lists a file or +files to install, and at the end of the line tells the directory it should be +installed in. The name of the files (or directories) to install should be given +relative to the current directory, while the installation directory is given +relative to the package build directory. You may use wildcards in the names of +the files to install (in v3 mode and above). -Note that if you list exactly one filename or wildcard-pattern on a line by -itself in a -debian/package.install file, with no explicit destination, then dh_install -will automatically guess the destination even if this flag is not set. +=back -=item B<--fail-missing> +=head1 OPTIONS -This option is like --list-missing, except if a file was missed, it will -not only list the missing files, but also fail with a nonzero exit code. +=over 4 =item B<--list-missing> @@ -84,17 +68,43 @@ you don't miss installing newly added files in new upstream releases. Note that files that are excluded from being moved via the -X option are not warned about. -=item B<--sourcedir=dir> +=item B<--fail-missing> -Makes all files to be installed be found under dir. If this is -specified, it is akin to all the filenames having "dir/" prepended -to them. +This option is like --list-missing, except if a file was missed, it will +not only list the missing files, but also fail with a nonzero exit code. =item B<-Xitem>, B<--exclude=item> Exclude files that contain "item" anywhere in their filename from being installed. +=item B<--sourcedir=dir> + +Look in the specified directory for files to be installed. + +Note that this is not the same as the --sourcedirectory option used +by the dh_auto_* commands. You rarely need to use this option, since +dh_install automatically looks for files in debian/tmp in debhelper +compatibility level 7 and above. + +=item B<--autodest> + +Guess as the destination directory to install things to. If this is +specified, you should not list destination directories in +debian/package.install files or on the command line. Instead, dh_install +will guess as follows: + +Strip off debian/tmp (or the sourcedir if one is given) from the front of +the filename, if it is present, and install into the dirname of the +filename. So if the filename is debian/tmp/usr/bin, then that directory +will be copied to debian/package/usr/. If the filename is +debian/tmp/etc/passwd, it will be copied to debian/package/etc/. + +Note that if you list exactly one filename or wildcard-pattern on a line by +itself in a +debian/package.install file, with no explicit destination, then dh_install +will automatically guess the destination even if this flag is not set. + =item I Lists files (or directories) to install and where to install them to. @@ -108,6 +118,7 @@ init(options => { "autodest" => \$dh{AUTODEST}, "list-missing" => \$dh{LIST_MISSING}, "fail-missing" => \$dh{FAIL_MISSING}, + "sourcedir=s" => \$dh{SOURCEDIR}, }); my @installed; @@ -155,7 +166,6 @@ foreach my $package (@{$dh{DOPACKAGES}}) { } if (! compat(4)) { # check added in v5 - # glob now, relative to srcdir if (! @filelist) { error("$package missing files (@$set), aborting"); } @@ -168,7 +178,6 @@ foreach my $package (@{$dh{DOPACKAGES}}) { $dest=$src; $dest=~s/^(.*\/)?\Q$srcdir\E\///; $dest=~s/^(.*\/)?debian\/tmp\///; - print ">>$srcdir ($dest)\n"; $dest=dirname("/".$dest); $tmpdest=1; }