#!/usr/bin/perl
=head1 NAME
dh_auto_install - automatically runs make install or similar
=cut
use strict;
use warnings;
use Debian::Debhelper::Dh_Lib;
use Debian::Debhelper::Dh_Buildsystems;
use File::Spec;
use Cwd;
our $VERSION = DH_BUILTIN_VERSION;
=head1 SYNOPSIS
B<dh_auto_install> [S<I<build system options>>] [S<I<debhelper options>>] [S<B<--> I<params>>]
=head1 DESCRIPTION
B<dh_auto_install> is a debhelper program that tries to automatically install
built files. It does so by running the appropriate command for the build
system it detects the package uses. For example, if there's a F<Makefile> and
it contains a B<install> target, then this is done by running B<make> (or B<MAKE>,
if the environment variable is set). If there is a F<setup.py> or F<Build.PL>,
it is used. Note that the Ant build system does not support installation,
so B<dh_auto_install> will not install files built using Ant.
In compat 15 or later, B<dh_auto_install> will use F<debian/tmp> as the default
B<--destdir> and should be moved from there to the appropriate package build
directory using L<dh_install(1)> or similar tools. Though if the B<single-binary>
addon for L<dh(1)> is activated, then it will pass an explicit
B<< --destdir=debian/I<package>/ >> to B<dh_auto_install>.
For earlier compat levels then unless B<--destdir> option is
specified, the files are installed into debian/I<package>/ if there is only one
binary package. In the multiple binary package case, the files are instead
installed into F<debian/tmp/>, and should be moved from there to the
appropriate package build directory using L<dh_install(1)> or similar tools.
B<DESTDIR> is used to tell make where to install the files.
If the Makefile was generated by MakeMaker from a F<Makefile.PL>, it will
automatically set B<PREFIX=/usr> too, since such Makefiles need that.
This is intended to work for about 90% of packages. If it doesn't work, or
tries to use the wrong install target, you're encouraged to skip using
B<dh_auto_install> at all, and just run make install manually.
=head1 OPTIONS
See L<debhelper(7)/B<BUILD SYSTEM OPTIONS>> for a list of common build
system selection and control options.
=over 4
=item B<--destdir=>I<directory>
Install files into the specified I<directory>. If this option is not specified,
destination directory is determined automatically as described in the
L</B<DESCRIPTION>> section.
=item B<--> I<params>
Pass I<params> to the program that is run, after the parameters that
B<dh_auto_install> usually passes.
=back
=cut
my $destdir;
buildsystems_init(options => {
"destdir=s" => \$destdir,
});
# PROMISE: DH NOOP WITHOUT cli-options(BUILDSYSTEM) buildsystem(install)
# If destdir is not specified, determine it automatically
if (!$destdir) {
my @allpackages=getpackages();
if (@allpackages > 1 or not compat(14)) {
$destdir="debian/tmp";
}
else {
$destdir=tmpdir($dh{MAINPACKAGE});
}
}
$destdir = File::Spec->rel2abs($destdir, getcwd());
if (compat(10)) {
# Ensure that all debian/<pkg> directories exist
install_dir(map { tmpdir($_) } @{$dh{DOPACKAGES}});
} else {
install_dir($destdir);
}
buildsystems_do("install", $destdir);
=head1 SEE ALSO
L<debhelper(7)>
This program is a part of debhelper.
=head1 AUTHOR
Joey Hess <joeyh@debian.org>
=cut
King Pictures is a Canadian based company who offer a huge and ever growing range of high quality eLearning solutions that teach using studio quality narrated videos backed-up with practical hands-on examples and comprehensive working files. All courses are created by trained educators and experts in video based education.
The emphasis is on teaching real life skills that are essential for progressing in today's commercial environment.