dh_install
install files into package build directories
Synopsis
dh_install
[-Xitem] [--autodest]
[--sourcedir=dir]
[debhelper options]
[file|dir ... destdir]
add an example, a script, a trick and tips
examples
source
dh_clean
install:
dh_install cb-dropbox-pipemenu /usr/bin
dh_install cb-help-pipemenu /usr/bin
dh_install cb-libreoffice-pipemenu /usr/bin
dh_install cb-libreoffice-pipemenu /usr/bin
dh_install cb-printing-pipemenu /usr/bin
dh_install cb-remote-desktop-pipemenu /usr/bin
source
dh_installdirs ${BINDIR} $(OPTBINDIR) $(QMLDIR)
dh_install ${BUILDDIR}evilalarm-ui
${OPTBINDIR}
dh_install keepvolume.sh ${OPTBINDIR}
dh_install keepvolume.sh ${OPTBINDIR}
dh_install evilalarm ${BINDIR}
dh_install evilalarm.desktop $(DESKTOP_DIR)
dh_install icons/26x26/evilalarm.png $(ICONDIR)26x26/apps
source
override_dh_auto_test:
@echo TESTS REQUIRE A NETWORK
override_dh_install:
dh_install httpd/cgi-bin/check ${CGIBIN_DIR}
dh_install httpd/cgi-bin/check ${CGIBIN_DIR}
dh_install httpd/cgi-bin/sendfeedback.pl ${CGIBIN_DIR}
dh_install httpd/conf/* ${CONFIG_DIR}
description
dh_install
is a debhelper program that handles installing files into
package build directories. There are many
dh_install* commands that handle installing
specific types of files such as documentation, examples, man
pages, and so on, and they should be used when possible as
they often have extra intelligence for 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.
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 package that
builds multiple binary packages. You can use the upstream
Makefile to install it all into debian/tmp,
and then use dh_install to copy directories and files
from there into the proper package build directories.
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).
options
--list-missing
This option makes
dh_install keep track of the files it installs, and
then at the end, compare that list with the files in the
source directory. If any of the files (and symlinks) in the
source directory were not installed to somewhere, it will
warn on stderr about that.
This may be
useful if you have a large package and want to make sure
that 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.
--fail-missing
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.
-Xitem,
--exclude=item
Exclude files that contain
item anywhere in their filename from being
installed.
--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.
--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/.
file|dir ...
destdir
Lists files (or directories) to
install and where to install them to. The files will be
installed into the first package dh_install acts
on.
files
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).
Note that if you list exactly one filename or wildcard-pattern on
a line by itself, with no explicit destination, then
dh_install will automatically guess the destination to
use, the same as if the --autodest option were used.
limitations
dh_install cannot rename files or directories, it can only
install them with the names they already have into wherever you
want in the package build tree.
see also
debhelper
This program is
a part of debhelper.
author
Joey Hess
<joeyh[:at:]debian[:dot:]org>