summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Debian/Debhelper/Buildsystem.pm399
-rw-r--r--Debian/Debhelper/Buildsystem/ant.pm37
-rw-r--r--Debian/Debhelper/Buildsystem/autoconf.pm55
-rw-r--r--Debian/Debhelper/Buildsystem/cmake.pm44
-rw-r--r--Debian/Debhelper/Buildsystem/makefile.pm95
-rw-r--r--Debian/Debhelper/Buildsystem/perl_build.pm67
-rw-r--r--Debian/Debhelper/Buildsystem/perl_makemaker.pm74
-rw-r--r--Debian/Debhelper/Buildsystem/python_distutils.pm177
-rw-r--r--Debian/Debhelper/Dh_Buildsystems.pm180
-rw-r--r--Debian/Debhelper/Dh_Getopt.pm41
-rw-r--r--Debian/Debhelper/Dh_Lib.pm34
-rw-r--r--Makefile6
-rw-r--r--debhelper.pod44
-rw-r--r--debian/changelog74
-rw-r--r--debian/copyright4
-rwxr-xr-xdh17
-rwxr-xr-xdh_auto_build30
-rwxr-xr-xdh_auto_clean43
-rwxr-xr-xdh_auto_configure81
-rwxr-xr-xdh_auto_install53
-rwxr-xr-xdh_auto_test39
-rwxr-xr-xdh_builddeb1
-rwxr-xr-xdh_clean2
-rwxr-xr-xdh_install58
-rwxr-xr-xdh_movefiles4
-rw-r--r--doc/PROGRAMMING26
-rw-r--r--man/po4a/po/debhelper.pot352
-rw-r--r--man/po4a/po/es.po449
-rw-r--r--man/po4a/po/fr.po452
-rwxr-xr-xt/buildsystems/autoconf/configure74
-rwxr-xr-xt/buildsystems/buildsystem_tests465
-rw-r--r--t/buildsystems/debian/changelog5
-rw-r--r--t/buildsystems/debian/compat1
-rw-r--r--t/buildsystems/debian/control10
-rwxr-xr-xt/syntax2
35 files changed, 2773 insertions, 722 deletions
diff --git a/Debian/Debhelper/Buildsystem.pm b/Debian/Debhelper/Buildsystem.pm
new file mode 100644
index 00000000..62c45b5d
--- /dev/null
+++ b/Debian/Debhelper/Buildsystem.pm
@@ -0,0 +1,399 @@
+# Defines debhelper build system class interface and implementation
+# of common functionality.
+#
+# Copyright: © 2008-2009 Modestas Vainius
+# License: GPL-2+
+
+package Debian::Debhelper::Buildsystem;
+
+use strict;
+use warnings;
+use Cwd ();
+use File::Spec;
+use Debian::Debhelper::Dh_Lib;
+
+# Cache DEB_BUILD_GNU_TYPE value. Performance hit of multiple
+# invocations is noticable when listing build systems.
+our $DEB_BUILD_GNU_TYPE = dpkg_architecture_value("DEB_BUILD_GNU_TYPE");
+
+# Build system name. Defaults to the last component of the class
+# name. Do not override this method unless you know what you are
+# doing.
+sub NAME {
+ my $this=shift;
+ my $class = ref($this) || $this;
+ if ($class =~ m/^.+::([^:]+)$/) {
+ return $1;
+ }
+ else {
+ error("ınvalid build system class name: $class");
+ }
+}
+
+# Description of the build system to be shown to the users.
+sub DESCRIPTION {
+ error("class lacking a DESCRIPTION");
+}
+
+# Default build directory. Can be overriden in the derived
+# class if really needed.
+sub DEFAULT_BUILD_DIRECTORY {
+ "obj-" . $DEB_BUILD_GNU_TYPE;
+}
+
+# Constructs a new build system object. Named parameters:
+# - sourcedir- specifies source directory (relative to the current (top)
+# directory) where the sources to be built live. If not
+# specified or empty, defaults to the current directory.
+# - builddir - specifies build directory to use. Path is relative to the
+# current (top) directory. If undef or empty,
+# DEFAULT_BUILD_DIRECTORY directory will be used.
+# Derived class can override the constructor to initialize common object
+# parameters. Do NOT use constructor to execute commands or otherwise
+# configure/setup build environment. There is absolutely no guarantee the
+# constructed object will be used to build something. Use pre_building_step(),
+# $build_step() or post_building_step() methods for this.
+sub new {
+ my ($class, %opts)=@_;
+
+ my $this = bless({ sourcedir => '.',
+ builddir => undef,
+ cwd => Cwd::getcwd() }, $class);
+
+ if (exists $opts{sourcedir}) {
+ # Get relative sourcedir abs_path (without symlinks)
+ my $abspath = Cwd::abs_path($opts{sourcedir});
+ if (! -d $abspath || $abspath !~ /^\Q$this->{cwd}\E/) {
+ error("invalid or non-existing path to the source directory: ".$opts{sourcedir});
+ }
+ $this->{sourcedir} = File::Spec->abs2rel($abspath, $this->{cwd});
+ }
+ if (exists $opts{builddir}) {
+ $this->_set_builddir($opts{builddir});
+ }
+ return $this;
+}
+
+# Private method to set a build directory. If undef, use default.
+# Do $this->{builddir} = undef or pass $this->get_sourcedir() to
+# unset the build directory.
+sub _set_builddir {
+ my $this=shift;
+ my $builddir=shift || $this->DEFAULT_BUILD_DIRECTORY;
+
+ if (defined $builddir) {
+ $builddir = $this->canonpath($builddir); # Canonicalize
+
+ # Sanitize $builddir
+ if ($builddir =~ m#^\.\./#) {
+ # We can't handle those as relative. Make them absolute
+ $builddir = File::Spec->catdir($this->{cwd}, $builddir);
+ }
+ elsif ($builddir =~ /\Q$this->{cwd}\E/) {
+ $builddir = File::Spec::abs2rel($builddir, $this->{cwd});
+ }
+
+ # If build directory ends up the same as source directory, drop it
+ if ($builddir eq $this->get_sourcedir()) {
+ $builddir = undef;
+ }
+ }
+ $this->{builddir} = $builddir;
+ return $builddir;
+}
+
+# This instance method is called to check if the build system is able
+# to auto build a source package. Additional argument $step describes
+# which operation the caller is going to perform (either configure,
+# build, test, install or clean). You must override this method for the
+# build system module to be ever picked up automatically. This method is
+# used in conjuction with @Dh_Buildsystems::BUILDSYSTEMS.
+#
+# This method is supposed to be called inside the source root directory.
+# Use $this->get_buildpath($path) method to get full path to the files
+# in the build directory.
+sub check_auto_buildable {
+ my $this=shift;
+ my ($step) = @_;
+ return 0;
+}
+
+# Derived class can call this method in its constructor
+# to enforce in source building even if the user requested otherwise.
+sub enforce_in_source_building {
+ my $this=shift;
+ if ($this->get_builddir()) {
+ $this->{warn_insource} = 1;
+ $this->{builddir} = undef;
+ }
+}
+
+# Derived class can call this method in its constructor to *prefer*
+# out of source building. Unless build directory has already been
+# specified building will proceed in the DEFAULT_BUILD_DIRECTORY or
+# the one specified in the 'builddir' named parameter (which may
+# match the source directory). Typically you should pass @_ from
+# the constructor to this call.
+sub prefer_out_of_source_building {
+ my $this=shift;
+ my %args=@_;
+ if (!defined $this->get_builddir()) {
+ if (!$this->_set_builddir($args{builddir}) && !$args{builddir}) {
+ # If we are here, DEFAULT_BUILD_DIRECTORY matches
+ # the source directory, building might fail.
+ error("default build directory is the same as the source directory." .
+ " Please specify a custom build directory");
+ }
+ }
+}
+
+# Enhanced version of File::Spec::canonpath. It collapses ..
+# too so it may return invalid path if symlinks are involved.
+# On the other hand, it does not need for the path to exist.
+sub canonpath {
+ my ($this, $path)=@_;
+ my @canon;
+ my $back=0;
+ for my $comp (split(m%/+%, $path)) {
+ if ($comp eq '.') {
+ next;
+ }
+ elsif ($comp eq '..') {
+ if (@canon > 0) { pop @canon; } else { $back++; }
+ }
+ else {
+ push @canon, $comp;
+ }
+ }
+ return (@canon + $back > 0) ? join('/', ('..')x$back, @canon) : '.';
+}
+
+# Given both $path and $base are relative to the $root, converts and
+# returns path of $path being relative to the $base. If either $path or
+# $base is absolute, returns another $path (converted to) absolute.
+sub _rel2rel {
+ my ($this, $path, $base, $root)=@_;
+ $root = $this->{cwd} unless defined $root;
+
+ if (File::Spec->file_name_is_absolute($path)) {
+ return $path;
+ }
+ elsif (File::Spec->file_name_is_absolute($base)) {
+ return File::Spec->rel2abs($path, $root);
+ }
+ else {
+ return File::Spec->abs2rel(
+ File::Spec->rel2abs($path, $root),
+ File::Spec->rel2abs($base, $root)
+ );
+ }
+}
+
+# Get path to the source directory
+# (relative to the current (top) directory)
+sub get_sourcedir {
+ my $this=shift;
+ return $this->{sourcedir};
+}
+
+# Convert path relative to the source directory to the path relative
+# to the current (top) directory.
+sub get_sourcepath {
+ my ($this, $path)=@_;
+ return File::Spec->catfile($this->get_sourcedir(), $path);
+}
+
+# Get path to the build directory if it was specified
+# (relative to the current (top) directory). undef if the same
+# as the source directory.
+sub get_builddir {
+ my $this=shift;
+ return $this->{builddir};
+}
+
+# Convert path that is relative to the build directory to the path
+# that is relative to the current (top) directory.
+# If $path is not specified, always returns build directory path
+# relative to the current (top) directory regardless if builddir was
+# specified or not.
+sub get_buildpath {
+ my ($this, $path)=@_;
+ my $builddir = $this->get_builddir() || $this->get_sourcedir();
+ if (defined $path) {
+ return File::Spec->catfile($builddir, $path);
+ }
+ return $builddir;
+}
+
+# When given a relative path to the source directory, converts it
+# to the path that is relative to the build directory. If $path is
+# not given, returns a path to the source directory that is relative
+# to the build directory.
+sub get_source_rel2builddir {
+ my $this=shift;
+ my $path=shift;
+
+ my $dir = '.';
+ if ($this->get_builddir()) {
+ $dir = $this->_rel2rel($this->get_sourcedir(), $this->get_builddir());
+ }
+ if (defined $path) {
+ return File::Spec->catfile($dir, $path);
+ }
+ return $dir;
+}
+
+# When given a relative path to the build directory, converts it
+# to the path that is relative to the source directory. If $path is
+# not given, returns a path to the build directory that is relative
+# to the source directory.
+sub get_build_rel2sourcedir {
+ my $this=shift;
+ my $path=shift;
+
+ my $dir = '.';
+ if ($this->get_builddir()) {
+ $dir = $this->_rel2rel($this->get_builddir(), $this->get_sourcedir());
+ }
+ if (defined $path) {
+ return File::Spec->catfile($dir, $path);
+ }
+ return $dir;
+}
+
+# Creates a build directory.
+sub mkdir_builddir {
+ my $this=shift;
+ if ($this->get_builddir()) {
+ doit("mkdir", "-p", $this->get_builddir());
+ }
+}
+
+sub _cd {
+ my ($this, $dir)=@_;
+ if (! $dh{NO_ACT}) {
+ verbose_print("cd $dir");
+ chdir $dir or error("error: unable to chdir to $dir");
+ }
+}
+
+# Changes working directory to the source directory (if needed),
+# calls doit(@_) and changes working directory back to the top
+# directory.
+sub doit_in_sourcedir {
+ my $this=shift;
+ if ($this->get_sourcedir() ne '.') {
+ my $sourcedir = $this->get_sourcedir();
+ $this->_cd($sourcedir);
+ doit(@_);
+ $this->_cd($this->_rel2rel($this->{cwd}, $sourcedir));
+ }
+ else {
+ doit(@_);
+ }
+ return 1;
+}
+
+# Changes working directory to the build directory (if needed),
+# calls doit(@_) and changes working directory back to the top
+# directory.
+sub doit_in_builddir {
+ my $this=shift;
+ if ($this->get_buildpath() ne '.') {
+ my $buildpath = $this->get_buildpath();
+ $this->_cd($buildpath);
+ doit(@_);
+ $this->_cd($this->_rel2rel($this->{cwd}, $buildpath));
+ }
+ else {
+ doit(@_);
+ }
+ return 1;
+}
+
+# In case of out of source tree building, whole build directory
+# gets wiped (if it exists) and 1 is returned. If build directory
+# had 2 or more levels, empty parent directories are also deleted.
+# If build directory does not exist, nothing is done and 0 is returned.
+sub rmdir_builddir {
+ my $this=shift;
+ my $only_empty=shift;
+ if ($this->get_builddir()) {
+ my $buildpath = $this->get_buildpath();
+ if (-d $buildpath) {
+ my @dir = File::Spec->splitdir($this->get_build_rel2sourcedir());
+ my $peek;
+ if (not $only_empty) {
+ doit("rm", "-rf", $buildpath);
+ pop @dir;
+ }
+ # If build directory is relative and had 2 or more levels, delete
+ # empty parent directories until the source or top directory level.
+ if (not File::Spec->file_name_is_absolute($buildpath)) {
+ while (($peek=pop @dir) && $peek ne '.' && $peek ne '..') {
+ my $dir = $this->get_sourcepath(File::Spec->catdir(@dir, $peek));
+ doit("rmdir", "--ignore-fail-on-non-empty", $dir);
+ last if -d $dir;
+ }
+ }
+ }
+ return 1;
+ }
+ return 0;
+}
+
+# Instance method that is called before performing any step (see below).
+# Action name is passed as an argument. Derived classes overriding this
+# method should also call SUPER implementation of it.
+sub pre_building_step {
+ my $this=shift;
+ my ($step)=@_;
+
+ # Warn if in source building was enforced but build directory was
+ # specified. See enforce_in_source_building().
+ if ($this->{warn_insource}) {
+ warning("warning: " . $this->NAME() .
+ " does not support building out of source tree. In source building enforced.");
+ delete $this->{warn_insource};
+ }
+}
+
+# Instance method that is called after performing any step (see below).
+# Action name is passed as an argument. Derived classes overriding this
+# method should also call SUPER implementation of it.
+sub post_building_step {
+ my $this=shift;
+ my ($step)=@_;
+}
+
+# The instance methods below provide support for configuring,
+# building, testing, install and cleaning source packages.
+# In case of failure, the method may just error() out.
+#
+# These methods should be overriden by derived classes to
+# implement build system specific steps needed to build the
+# source. Arbitary number of custom step arguments might be
+# passed. Default implementations do nothing.
+sub configure {
+ my $this=shift;
+}
+
+sub build {
+ my $this=shift;
+}
+
+sub test {
+ my $this=shift;
+}
+
+# destdir parameter specifies where to install files.
+sub install {
+ my $this=shift;
+ my $destdir=shift;
+}
+
+sub clean {
+ my $this=shift;
+}
+
+1
diff --git a/Debian/Debhelper/Buildsystem/ant.pm b/Debian/Debhelper/Buildsystem/ant.pm
new file mode 100644
index 00000000..26bee95b
--- /dev/null
+++ b/Debian/Debhelper/Buildsystem/ant.pm
@@ -0,0 +1,37 @@
+# A debhelper build system class for handling Ant based projects.
+#
+# Copyright: © 2009 Joey Hess
+# License: GPL-2+
+
+package Debian::Debhelper::Buildsystem::ant;
+
+use strict;
+use base 'Debian::Debhelper::Buildsystem';
+
+sub DESCRIPTION {
+ "Ant (build.xml)"
+}
+
+sub check_auto_buildable {
+ my $this=shift;
+ return -e $this->get_sourcepath("build.xml");
+}
+
+sub new {
+ my $class=shift;
+ my $this=$class->SUPER::new(@_);
+ $this->enforce_in_source_building();
+ return $this;
+}
+
+sub build {
+ my $this=shift;
+ $this->doit_in_sourcedir("ant", @_);
+}
+
+sub clean {
+ my $this=shift;
+ $this->doit_in_sourcedir("ant", "clean", @_);
+}
+
+1
diff --git a/Debian/Debhelper/Buildsystem/autoconf.pm b/Debian/Debhelper/Buildsystem/autoconf.pm
new file mode 100644
index 00000000..7229fc71
--- /dev/null
+++ b/Debian/Debhelper/Buildsystem/autoconf.pm
@@ -0,0 +1,55 @@
+# A debhelper build system class for handling Autoconf based projects
+#
+# Copyright: © 2008 Joey Hess
+# © 2008-2009 Modestas Vainius
+# License: GPL-2+
+
+package Debian::Debhelper::Buildsystem::autoconf;
+
+use strict;
+use Debian::Debhelper::Dh_Lib qw(dpkg_architecture_value sourcepackage);
+use base 'Debian::Debhelper::Buildsystem::makefile';
+
+sub DESCRIPTION {
+ "GNU Autoconf (configure)"
+}
+
+sub check_auto_buildable {
+ my $this=shift;
+ my ($step)=@_;
+
+ # Handle configure; the rest - next class
+ if ($step eq "configure") {
+ return -x $this->get_sourcepath("configure");
+ }
+ return 0;
+}
+
+sub configure {
+ my $this=shift;
+
+ # Standard set of options for configure.
+ my @opts;
+ push @opts, "--build=" . dpkg_architecture_value("DEB_BUILD_GNU_TYPE");
+ push @opts, "--prefix=/usr";
+ push @opts, "--includedir=\${prefix}/include";
+ push @opts, "--mandir=\${prefix}/share/man";
+ push @opts, "--infodir=\${prefix}/share/info";
+ push @opts, "--sysconfdir=/etc";
+ push @opts, "--localstatedir=/var";
+ push @opts, "--libexecdir=\${prefix}/lib/" . sourcepackage();
+ push @opts, "--disable-maintainer-mode";
+ push @opts, "--disable-dependency-tracking";
+ # Provide --host only if different from --build, as recommended in
+ # autotools-dev README.Debian: When provided (even if equal)
+ # autoconf 2.52+ switches to cross-compiling mode.
+ if (dpkg_architecture_value("DEB_BUILD_GNU_TYPE")
+ ne dpkg_architecture_value("DEB_HOST_GNU_TYPE")) {
+ push @opts, "--host=" . dpkg_architecture_value("DEB_HOST_GNU_TYPE");
+ }
+
+ $this->mkdir_builddir();
+ $this->doit_in_builddir($this->get_source_rel2builddir("configure"), @opts, @_);
+}
+
+1
diff --git a/Debian/Debhelper/Buildsystem/cmake.pm b/Debian/Debhelper/Buildsystem/cmake.pm
new file mode 100644
index 00000000..2c52e494
--- /dev/null
+++ b/Debian/Debhelper/Buildsystem/cmake.pm
@@ -0,0 +1,44 @@
+# A debhelper build system class for handling CMake based projects.
+# It prefers out of source tree building.
+#
+# Copyright: © 2008-2009 Modestas Vainius
+# License: GPL-2+
+
+package Debian::Debhelper::Buildsystem::cmake;
+
+use strict;
+use base 'Debian::Debhelper::Buildsystem::makefile';
+
+sub DESCRIPTION {
+ "CMake (CMakeLists.txt)"
+}
+
+sub check_auto_buildable {
+ my $this=shift;
+ my ($step)=@_;
+ my $ret = -e $this->get_sourcepath("CMakeLists.txt");
+ $ret &&= $this->SUPER::check_auto_buildable(@_) if $step ne "configure";
+ return $ret;
+}
+
+sub new {
+ my $class=shift;
+ my $this=$class->SUPER::new(@_);
+ $this->prefer_out_of_source_building(@_);
+ return $this;
+}
+
+sub configure {
+ my $this=shift;
+ my @flags;
+
+ # Standard set of cmake flags
+ push @flags, "-DCMAKE_INSTALL_PREFIX=/usr";
+ push @flags, "-DCMAKE_SKIP_RPATH=ON";
+ push @flags, "-DCMAKE_VERBOSE_MAKEFILE=ON";
+
+ $this->mkdir_builddir();
+ $this->doit_in_builddir("cmake", $this->get_source_rel2builddir(), @flags, @_);
+}
+
+1
diff --git a/Debian/Debhelper/Buildsystem/makefile.pm b/Debian/Debhelper/Buildsystem/makefile.pm
new file mode 100644
index 00000000..3809d594
--- /dev/null
+++ b/Debian/Debhelper/Buildsystem/makefile.pm
@@ -0,0 +1,95 @@
+# A debhelper build system class for handling simple Makefile based projects.
+#
+# Copyright: © 2008 Joey Hess
+# © 2008-2009 Modestas Vainius
+# License: GPL-2+
+
+package Debian::Debhelper::Buildsystem::makefile;
+
+use strict;
+use Debian::Debhelper::Dh_Lib qw(escape_shell);
+use base 'Debian::Debhelper::Buildsystem';
+
+sub get_makecmd_C {
+ my $this=shift;
+ my $buildpath = $this->get_buildpath();
+ if ($buildpath ne '.') {
+ return $this->{makecmd} . " -C " . escape_shell($buildpath);
+ }
+ return $this->{makecmd};
+}
+
+sub exists_make_target {
+ my ($this, $target) = @_;
+ my $makecmd=$this->get_makecmd_C();
+
+ # Use make -n to check to see if the target would do
+ # anything. There's no good way to test if a target exists.
+ my $ret=`$makecmd -s -n --no-print-directory $target 2>/dev/null`;
+ chomp $ret;
+ return length($ret);
+}
+
+sub make_first_existing_target {
+ my $this=shift;
+ my $targets=shift;
+
+ foreach my $target (@$targets) {
+ if ($this->exists_make_target($target)) {
+ $this->doit_in_builddir($this->{makecmd}, $target, @_);
+ return $target;
+ }
+ }
+ return undef;
+}
+
+sub DESCRIPTION {
+ "simple Makefile"
+}
+
+sub new {
+ my $class=shift;
+ my $this=$class->SUPER::new(@_);
+ $this->{makecmd} = (exists $ENV{MAKE}) ? $ENV{MAKE} : "make";
+ return $this;
+}
+
+sub check_auto_buildable {
+ my $this=shift;
+ my ($step) = @_;
+
+ # Handles build, test, install, clean; configure - next class
+ if (grep /^\Q$step\E$/, qw{build test install clean}) {
+ # This is always called in the source directory, but generally
+ # Makefiles are created (or live) in the the build directory.
+ return -e $this->get_buildpath("Makefile") ||
+ -e $this->get_buildpath("makefile") ||
+ -e $this->get_buildpath("GNUmakefile");
+ }
+ return 0;
+}
+
+sub build {
+ my $this=shift;
+ $this->doit_in_builddir($this->{makecmd}, @_);
+}
+
+sub test {
+ my $this=shift;
+ $this->make_first_existing_target(['test', 'check'], @_);
+}
+
+sub install {
+ my $this=shift;
+ my $destdir=shift;
+ $this->make_first_existing_target(['install'], "DESTDIR=$destdir", @_);
+}
+
+sub clean {
+ my $this=shift;
+ if (!$this->rmdir_builddir()) {
+ $this->make_first_existing_target(['distclean', 'realclean', 'clean'], @_);
+ }
+}
+
+1
diff --git a/Debian/Debhelper/Buildsystem/perl_build.pm b/Debian/Debhelper/Buildsystem/perl_build.pm
new file mode 100644
index 00000000..caba9b75
--- /dev/null
+++ b/Debian/Debhelper/Buildsystem/perl_build.pm
@@ -0,0 +1,67 @@
+# A build system class for handling Perl Build based projects.
+#
+# Copyright: © 2008-2009 Joey Hess
+# © 2008-2009 Modestas Vainius
+# License: GPL-2+
+
+package Debian::Debhelper::Buildsystem::perl_build;
+
+use strict;
+use base 'Debian::Debhelper::Buildsystem';
+
+sub DESCRIPTION {
+ "Perl Module::Build (Build.PL)"
+}
+
+sub check_auto_buildable {
+ my ($this, $step) = @_;
+
+ # Handles everything
+ my $ret = -e $this->get_sourcepath("Build.PL");
+ if ($step ne "configure") {
+ $ret &&= -e $this->get_sourcepath("Build");
+ }
+ return $ret;
+}
+
+sub do_perl {
+ my $this=shift;
+ $ENV{MODULEBUILDRC} = "/dev/null";
+ $this->doit_in_sourcedir("perl", @_);
+}
+
+sub new {
+ my $class=shift;
+ my $this= $class->SUPER::new(@_);
+ $this->enforce_in_source_building();
+ return $this;
+}
+
+sub configure {
+ my $this=shift;
+ $ENV{PERL_MM_USE_DEFAULT}=1;
+ $this->do_perl("Build.PL", "installdirs=vendor", @_);
+}
+
+sub build {
+ my $this=shift;
+ $this->do_perl("Build", @_);
+}
+
+sub test {
+ my $this=shift;
+ $this->do_perl("Build", "test", @_);
+}
+
+sub install {
+ my $this=shift;
+ my $destdir=shift;
+ $this->do_perl("Build", "install", "destdir=$destdir", "create_packlist=0", @_);
+}
+
+sub clean {
+ my $this=shift;
+ $this->do_perl("Build", "--allow_mb_mismatch", 1, "distclean", @_);
+}
+
+1
diff --git a/Debian/Debhelper/Buildsystem/perl_makemaker.pm b/Debian/Debhelper/Buildsystem/perl_makemaker.pm
new file mode 100644
index 00000000..e109be57
--- /dev/null
+++ b/Debian/Debhelper/Buildsystem/perl_makemaker.pm
@@ -0,0 +1,74 @@
+# A debhelper build system class for handling Perl MakeMaker based projects.
+#
+# Copyright: © 2008-2009 Joey Hess
+# © 2008-2009 Modestas Vainius
+# License: GPL-2+
+
+package Debian::Debhelper::Buildsystem::perl_makemaker;
+
+use strict;
+use base 'Debian::Debhelper::Buildsystem::makefile';
+
+sub DESCRIPTION {
+ "Perl ExtUtils::MakeMaker (Makefile.PL)"
+}
+
+sub check_auto_buildable {
+ my $this=shift;
+ my ($step)=@_;
+
+ # Handles everything if Makefile.PL exists. Otherwise - next class.
+ if (-e $this->get_sourcepath("Makefile.PL")) {
+ if ($step eq "install" || $step eq "configure") {
+ return 1;
+ }
+ else {
+ # This is backwards compatible (with << 7.3) until build, test and
+ # clean steps are not reimplemented in the backwards compatibility
+ # breaking way. However, this is absolutely necessary for
+ # enforce_in_source_building() to work in corner cases in build,
+ # test and clean steps as the next class (makefile) does not
+ # enforce it.
+ return $this->SUPER::check_auto_buildable(@_);
+ }
+ }
+ return 0;
+}
+
+sub new {
+ my $class=shift;
+ my $this=$class->SUPER::new(@_);
+ $this->enforce_in_source_building();
+ return $this;
+}
+
+sub configure {
+ my $this=shift;
+ # If set to a true value then MakeMaker's prompt function will
+ # # always return the default without waiting for user input.
+ $ENV{PERL_MM_USE_DEFAULT}=1;
+ # This prevents Module::Install from interactive behavior.
+ $ENV{PERL_AUTOINSTALL}="--skipdeps";
+
+ $this->doit_in_sourcedir("perl", "Makefile.PL", "INSTALLDIRS=vendor",
+ "create_packlist=0",
+ @_);
+}
+
+sub install {
+ my $this=shift;
+ my $destdir=shift;
+
+ # Special case for Makefile.PL that uses
+ # Module::Build::Compat. PREFIX should not be passed
+ # for those; it already installs into /usr by default.
+ my $makefile=$this->get_sourcepath("Makefile");
+ if (system(qq{grep -q "generated automatically by MakeMaker" $makefile}) != 0) {
+ $this->SUPER::install($destdir, @_);
+ }
+ else {
+ $this->SUPER::install($destdir, "PREFIX=/usr", @_);
+ }
+}
+
+1
diff --git a/Debian/Debhelper/Buildsystem/python_distutils.pm b/Debian/Debhelper/Buildsystem/python_distutils.pm
new file mode 100644
index 00000000..4838cada
--- /dev/null
+++ b/Debian/Debhelper/Buildsystem/python_distutils.pm
@@ -0,0 +1,177 @@
+# A debhelper build system class for building Python Distutils based
+# projects. It prefers out of source tree building.
+#
+# Copyright: © 2008 Joey Hess
+# © 2008-2009 Modestas Vainius
+# License: GPL-2+
+
+package Debian::Debhelper::Buildsystem::python_distutils;
+
+use strict;
+use Cwd ();
+use Debian::Debhelper::Dh_Lib qw(error);
+use base 'Debian::Debhelper::Buildsystem';
+
+sub DESCRIPTION {
+ "Python Distutils (setup.py)"
+}
+
+sub DEFAULT_BUILD_DIRECTORY {
+ my $this=shift;
+ return $this->canonpath($this->get_sourcepath("build"));
+}
+
+sub new {
+ my $class=shift;
+ my $this=$class->SUPER::new(@_);
+ # Out of source tree building is prefered.
+ $this->prefer_out_of_source_building(@_);
+ return $this;
+}
+
+sub check_auto_buildable {
+ my $this=shift;
+ return -e $this->get_sourcepath("setup.py");
+}
+
+sub not_our_cfg {
+ my $this=shift;
+ my $ret;
+ if (open(my $cfg, $this->get_buildpath(".pydistutils.cfg"))) {
+ $ret = not "# Created by dh_auto\n" eq <$cfg>;
+ close $cfg;
+ }
+ return $ret;
+}
+
+sub create_cfg {
+ my $this=shift;
+ if (open(my $cfg, ">", $this->get_buildpath(".pydistutils.cfg"))) {
+ print $cfg "# Created by dh_auto", "\n";
+ print $cfg "[build]\nbuild-base=", $this->get_build_rel2sourcedir(), "\n";
+ close $cfg;
+ return 1;
+ }
+ return 0;
+}
+
+sub pre_building_step {
+ my $this=shift;
+ my $step=shift;
+
+ return unless grep /$step/, qw(build install clean);
+
+ if ($this->get_buildpath() ne $this->DEFAULT_BUILD_DIRECTORY()) {
+ # --build-base can only be passed to the build command. However,
+ # it is always read from the config file (really weird design).
+ # Therefore create such a cfg config file.
+ # See http://bugs.python.org/issue818201
+ # http://bugs.python.org/issue1011113
+ not $this->not_our_cfg() or
+ error("cannot set custom build directory: .pydistutils.cfg is in use");
+ $this->mkdir_builddir();
+ $this->create_cfg() or
+ error("cannot set custom build directory: unwritable .pydistutils.cfg");
+ # Distutils reads $HOME/.pydistutils.cfg
+ $ENV{HOME} = Cwd::abs_path($this->get_buildpath());
+ }
+
+ $this->SUPER::pre_building_step($step);
+}
+
+sub dbg_build_needed {
+ my $this=shift;
+ my $act=shift;
+
+ # Return a list of python-dbg package which are listed
+ # in the build-dependencies. This is kinda ugly, but building
+ # dbg extensions without checking if they're supposed to be
+ # built may result in various FTBFS if the package is not
+ # built in a clean chroot.
+
+ my @dbg;
+ open (CONTROL, 'debian/control') ||
+ error("cannot read debian/control: $!\n");
+ foreach my $builddeps (join('', <CONTROL>) =~
+ /^Build-Depends[^:]*:.*\n(?:^[^\w\n].*\n)*/gmi) {
+ while ($builddeps =~ /(python[^, ]*-dbg)/g) {
+ push @dbg, $1;
+ }
+ }
+
+ close CONTROL;
+ return @dbg;
+
+}
+
+sub setup_py {
+ my $this=shift;
+ my $act=shift;
+
+ # We need to to run setup.py with the default python first
+ # as distutils/setuptools modifies the shebang lines of scripts.
+ # This ensures that #!/usr/bin/python is used and not pythonX.Y
+ # Take into account that the default Python must not be in
+ # the requested Python versions.
+ # Then, run setup.py with each available python, to build
+ # extensions for each.
+
+ my $python_default = `pyversions -d`;
+ $python_default =~ s/^\s+//;
+ $python_default =~ s/\s+$//;
+ my @python_requested = split ' ', `pyversions -r 2>/dev/null`;
+ if (grep /^\Q$python_default\E/, @python_requested) {
+ @python_requested = ("python", grep(!/^\Q$python_default\E/,
+ @python_requested));
+ }
+
+ my @python_dbg;
+ my @dbg_build_needed = $this->dbg_build_needed();
+ foreach my $python (map { $_."-dbg" } @python_requested) {
+ if (grep /^(python-all-dbg|\Q$python\E)/, @dbg_build_needed) {
+ push @python_dbg, $python;
+ }
+ elsif (($python eq "python-dbg")
+ and (grep /^\Q$python_default\E/, @dbg_build_needed)) {
+ push @python_dbg, $python_default."-dbg";
+ }
+ }
+
+ foreach my $python (@python_requested, @python_dbg) {
+ if (-x "/usr/bin/".$python) {
+ $this->doit_in_sourcedir($python, "setup.py", $act, @_);
+ }
+ }
+}
+
+sub build {
+ my $this=shift;
+ $this->setup_py("build", @_);
+}
+
+sub install {
+ my $this=shift;
+ my $destdir=shift;
+ $this->setup_py("install",
+ "--root=$destdir",
+ "--no-compile",
+ "-O0",
+ "--install-layout=deb",
+ @_);
+}
+
+sub clean {
+ my $this=shift;
+ $this->setup_py("clean", "-a", @_);
+
+ # Config file will remain if it was created by us
+ if (!$this->not_our_cfg()) {
+ unlink($this->get_buildpath(".pydistutils.cfg"));
+ $this->rmdir_builddir(1); # only if empty
+ }
+ # The setup.py might import files, leading to python creating pyc
+ # files.
+ $this->doit_in_sourcedir('find', '.', '-name', '*.pyc', '-exec', 'rm', '{}', ';');
+}
+
+1
diff --git a/Debian/Debhelper/Dh_Buildsystems.pm b/Debian/Debhelper/Dh_Buildsystems.pm
new file mode 100644
index 00000000..49862675
--- /dev/null
+++ b/Debian/Debhelper/Dh_Buildsystems.pm
@@ -0,0 +1,180 @@
+# A module for loading and managing debhelper build system classes.
+# This module is intended to be used by all dh_auto_* programs.
+#
+# Copyright: © 2009 Modestas Vainius
+# License: GPL-2+
+
+package Debian::Debhelper::Dh_Buildsystems;
+
+use strict;
+use warnings;
+use Debian::Debhelper::Dh_Lib;
+use File::Spec;
+
+use base 'Exporter';
+our @EXPORT=qw(&buildsystems_init &buildsystems_do &load_buildsystem &load_all_buildsystems);
+
+# Historical order must be kept for backwards compatibility. New
+# build systems MUST be added to the END of the list.
+our @BUILDSYSTEMS = (
+ "autoconf",
+ "perl_makemaker",
+ "makefile",
+ "python_distutils",
+ "perl_build",
+ "cmake",
+ "ant",
+);
+
+my $opt_buildsys;
+my $opt_sourcedir;
+my $opt_builddir;
+my $opt_list;
+
+sub create_buildsystem_instance {
+ my $system=shift;
+ my %bsopts=@_;
+ my $module = "Debian::Debhelper::Buildsystem::$system";
+
+ eval "use $module";
+ if ($@) {
+ error("unable to load build system class '$system': $@");
+ }
+
+ if (!exists $bsopts{builddir} && defined $opt_builddir) {
+ $bsopts{builddir} = ($opt_builddir eq "") ? undef : $opt_builddir;
+ }
+ if (!exists $bsopts{sourcedir} && defined $opt_sourcedir) {
+ $bsopts{sourcedir} = ($opt_sourcedir eq "") ? undef : $opt_sourcedir;
+ }
+ return $module->new(%bsopts);
+}
+
+# Similar to create_build system_instance(), but it attempts to autoselect
+# a build system if none was specified. In case autoselection fails, undef
+# is returned.
+sub load_buildsystem {
+ my $system=shift;
+ my $step=shift;
+ if (defined $system) {
+ my $inst = create_buildsystem_instance($system, @_);
+ return $inst;
+ }
+ else {
+ # Try to determine build system automatically
+ for $system (@BUILDSYSTEMS) {
+ my $inst = create_buildsystem_instance($system, @_);
+ if ($inst->check_auto_buildable($step)) {
+ return $inst;
+ }
+ }
+ }
+ return;
+}
+
+sub load_all_buildsystems {
+ my $incs=shift || \@INC;
+ my (%buildsystems, @buildsystems);
+
+ for my $inc (@$incs) {
+ my $path = File::Spec->catdir($inc, "Debian/Debhelper/Buildsystem");
+ if (-d $path) {
+ for my $module_path (glob "$path/*.pm") {
+ my $name = basename($module_path);
+ $name =~ s/\.pm$//;
+ next if exists $buildsystems{$name};
+ $buildsystems{$name} = create_buildsystem_instance($name, @_);
+ }
+ }
+ }
+
+ # Standard debhelper build systems first
+ for my $name (@BUILDSYSTEMS) {
+ error("standard debhelper build system '$name' could not be found/loaded")
+ if not exists $buildsystems{$name};
+ push @buildsystems, $buildsystems{$name};
+ delete $buildsystems{$name};
+ }
+
+ # The rest are 3rd party build systems
+ for my $name (keys %buildsystems) {
+ my $inst = $buildsystems{$name};
+ $inst->{thirdparty} = 1;
+ push @buildsystems, $inst;
+ }
+
+ return @buildsystems;
+}
+
+sub buildsystems_init {
+ my %args=@_;
+
+ # Available command line options
+ my %options = (
+ "D=s" => \$opt_sourcedir,
+ "sourcedirectory=s" => \$opt_sourcedir,
+
+ "B:s" => \$opt_builddir,
+ "builddirectory:s" => \$opt_builddir,
+
+ "S=s" => \$opt_buildsys,
+ "buildsystem=s" => \$opt_buildsys,
+
+ "l" => \$opt_list,
+ "list" => \$opt_list,
+ );
+ $args{options}{$_} = $options{$_} foreach keys(%options);
+ Debian::Debhelper::Dh_Lib::init(%args);
+}
+
+sub buildsystems_list {
+ my $step=shift;
+
+ # List build systems (including auto and specified status)
+ my ($auto, $specified);
+ for my $inst (load_all_buildsystems()) {
+ my $is_specified = defined $opt_buildsys && $opt_buildsys eq $inst->NAME();
+ if (! defined $specified && defined $opt_buildsys && $opt_buildsys eq $inst->NAME()) {
+ $specified = $inst->NAME();
+ }
+ elsif (! defined $auto && ! $inst->{thirdparty} && $inst->check_auto_buildable($step)) {
+ $auto = $inst->NAME();
+ }
+ printf("%-20s %s", $inst->NAME(), $inst->DESCRIPTION());
+ print " [3rd party]" if $inst->{thirdparty};
+ print "\n";
+ }
+ print "\n";
+ print "Auto-selected: $auto\n" if defined $auto;
+ print "Specified: $specified\n" if defined $specified;
+ print "No system auto-selected or specified\n"
+ if ! defined $auto && ! defined $specified;
+}
+
+sub buildsystems_do {
+ my $step=shift;
+
+ if (!defined $step) {
+ $step = basename($0);
+ $step =~ s/^dh_auto_//;
+ }
+
+ if (grep(/^\Q$step\E$/, qw{configure build test install clean}) == 0) {
+ error("unrecognized build step: " . $step);
+ }
+
+ if ($opt_list) {
+ buildsystems_list($step);
+ exit 0;
+ }
+
+ my $buildsystem = load_buildsystem($opt_buildsys, $step);
+ if (defined $buildsystem) {
+ $buildsystem->pre_building_step($step);
+ $buildsystem->$step(@_, @{$dh{U_PARAMS}});
+ $buildsystem->post_building_step($step);
+ }
+ return 0;
+}
+
+1
diff --git a/Debian/Debhelper/Dh_Getopt.pm b/Debian/Debhelper/Dh_Getopt.pm
index 864b168e..6e5cacdd 100644
--- a/Debian/Debhelper/Dh_Getopt.pm
+++ b/Debian/Debhelper/Dh_Getopt.pm
@@ -72,8 +72,14 @@ sub NonOption {
sub getoptions {
my $array=shift;
my %options=%{shift()} if ref $_[0];
+
+ my $oldwarn;
+ if ($ENV{DH_IGNORE_UNKNOWN_OPTIONS}) {
+ $oldwarn=$SIG{__WARN__};
+ $SIG{__WARN__}=sub {};
+ }
- Getopt::Long::GetOptionsFromArray($array,
+ my $ret=Getopt::Long::GetOptionsFromArray($array,
"v" => \$dh{VERBOSE},
"verbose" => \$dh{VERBOSE},
@@ -121,10 +127,6 @@ sub getoptions {
"A" => \$dh{PARAMS_ALL},
"all" => \$dh{PARAMS_ALL},
- "sourcedir=s" => \$dh{SOURCEDIR},
-
- "destdir=s" => \$dh{DESTDIR},
-
"priority=s" => \$dh{PRIORITY},
"h|help" => \&showhelp,
@@ -140,7 +142,21 @@ sub getoptions {
%options,
"<>" => \&NonOption,
- )
+ );
+
+ if ($ENV{DH_IGNORE_UNKNOWN_OPTIONS}) {
+ $SIG{__WARN__}=$oldwarn;
+ return 1;
+ }
+ else {
+ return $ret;
+ }
+}
+
+sub split_options_string {
+ my $str=shift;
+ $str=~s/^\s+//;
+ return split(/\s+/,$str);
}
# Parse options and set %dh values.
@@ -152,15 +168,8 @@ sub parseopts {
# DH_INTERNAL_OPTIONS is used to pass additional options from
# dh through an override target to a command.
if (defined $ENV{DH_INTERNAL_OPTIONS}) {
- $ENV{DH_INTERNAL_OPTIONS}=~s/^\s+//;
- $ENV{DH_INTERNAL_OPTIONS}=~s/\s+$//;
- @ARGV_extra=split(/\s+/,$ENV{DH_INTERNAL_OPTIONS});
-
- # Unknown options will be silently ignored.
- my $oldwarn=$SIG{__WARN__};
- $SIG{__WARN__}=sub {};
+ @ARGV_extra=split(/\x1e/, $ENV{DH_INTERNAL_OPTIONS});
getoptions(\@ARGV_extra, $options);
- $SIG{__WARN__}=$oldwarn;
# Avoid forcing acting on packages specified in
# DH_INTERNAL_OPTIONS. This way, -p can be specified
@@ -184,9 +193,7 @@ sub parseopts {
# to be parsed like @ARGV, but with unknown options
# skipped.
if (defined $ENV{DH_OPTIONS}) {
- $ENV{DH_OPTIONS}=~s/^\s+//;
- $ENV{DH_OPTIONS}=~s/\s+$//;
- @ARGV_extra=split(/\s+/,$ENV{DH_OPTIONS});
+ @ARGV_extra=split_options_string($ENV{DH_OPTIONS});
my $ret=getoptions(\@ARGV_extra, $options);
if (!$ret) {
warning("warning: ignored unknown options in DH_OPTIONS");
diff --git a/Debian/Debhelper/Dh_Lib.pm b/Debian/Debhelper/Dh_Lib.pm
index f09c8087..28a90f7b 100644
--- a/Debian/Debhelper/Dh_Lib.pm
+++ b/Debian/Debhelper/Dh_Lib.pm
@@ -15,7 +15,8 @@ use vars qw(@ISA @EXPORT %dh);
&filedoublearray &getpackages &basename &dirname &xargs %dh
&compat &addsubstvar &delsubstvar &excludefile &package_arch
&is_udeb &udeb_filename &debhelper_script_subst &escape_shell
- &inhibit_log &load_log &write_log);
+ &inhibit_log &load_log &write_log &dpkg_architecture_value
+ &sourcepackage);
my $max_compat=7;
@@ -605,15 +606,21 @@ sub excludefile {
return 0;
}
+sub dpkg_architecture_value {
+ my $var = shift;
+ my $value=`dpkg-architecture -q$var 2>/dev/null` || error("dpkg-architecture failed");
+ chomp $value;
+ return $value;
+}
+
# Returns the build architecture. (Memoized)
{
my $arch;
sub buildarch {
- return $arch if defined $arch;
-
- $arch=`dpkg-architecture -qDEB_HOST_ARCH 2>/dev/null` || error("dpkg-architecture failed");
- chomp $arch;
+ if (!defined $arch) {
+ $arch=dpkg_architecture_value('DEB_HOST_ARCH');
+ }
return $arch;
}
}
@@ -643,6 +650,23 @@ sub samearch {
return 0;
}
+# Returns source package name
+sub sourcepackage {
+ open (CONTROL, 'debian/control') ||
+ error("cannot read debian/control: $!\n");
+ while (<CONTROL>) {
+ chomp;
+ s/\s+$//;
+ if (/^Source:\s*(.*)/) {
+ close CONTROL;
+ return $1;
+ }
+ }
+
+ close CONTROL;
+ error("could not find Source: line in control file.");
+}
+
# Returns a list of packages in the control file.
# Must pass "arch" or "indep" or "same" to specify arch-dependant or
# -independant or same arch packages. If nothing is specified, returns all
diff --git a/Makefile b/Makefile
index 6fe4d335..62f41336 100644
--- a/Makefile
+++ b/Makefile
@@ -65,13 +65,15 @@ clean:
install:
install -d $(DESTDIR)/usr/bin \
$(DESTDIR)/usr/share/debhelper/autoscripts \
- $(DESTDIR)$(PERLLIBDIR)/Sequence
+ $(DESTDIR)$(PERLLIBDIR)/Sequence \
+ $(DESTDIR)$(PERLLIBDIR)/Buildsystem
install $(shell find -maxdepth 1 -mindepth 1 -name dh\* |grep -v \.1\$$) $(DESTDIR)/usr/bin
install -m 0644 autoscripts/* $(DESTDIR)/usr/share/debhelper/autoscripts
install -m 0644 Debian/Debhelper/*.pm $(DESTDIR)$(PERLLIBDIR)
install -m 0644 Debian/Debhelper/Sequence/*.pm $(DESTDIR)$(PERLLIBDIR)/Sequence
+ install -m 0644 Debian/Debhelper/Buildsystem/*.pm $(DESTDIR)$(PERLLIBDIR)/Buildsystem
test: version
- ./run perl -MTest::Harness -e 'runtests grep { ! /CVS/ && ! /\.svn/ } @ARGV' t/*
+ ./run perl -MTest::Harness -e 'runtests grep { ! /CVS/ && ! /\.svn/ && -f && -x } @ARGV' t/* t/buildsystems/*
# clean up log etc
./run dh_clean
diff --git a/debhelper.pod b/debhelper.pod
index 388453c3..cea52836 100644
--- a/debhelper.pod
+++ b/debhelper.pod
@@ -174,6 +174,50 @@ in ALL packages acted on, not just the first.
=back
+=head1 BUILD SYSTEM OPTIONS
+
+The following command line options are supported by all of the dh_auto_*
+debhelper programs. These programs support a variety of build systems,
+and normally heuristically determine which to use, and how to use them.
+You can use these command line options to override the default behavior.
+
+=over 4
+
+=item B<-S>I<buildsystem>, B<--buildsystem=>I<buildsystem>
+
+Force use of the specified I<buildsystem>, instead of trying to auto-select
+one which might be applicable for the package.
+
+=item B<-D>I<directory>, B<--sourcedirectory=>I<directory>
+
+Assume that the original package source tree is at the specified
+I<directory> rather than the top level directory of the Debian
+source package tree.
+
+=item B<-B>[I<directory>], B<--builddirectory>=[I<directory>]
+
+Enable out of source building and use the specified I<directory> as the build
+directory. If I<directory> parameter is omitted, a default build directory
+will chosen.
+
+If this option is not specified, building will be done in source by default
+unless the build system requires or prefers out of source tree building.
+In such a case, the default build directory will be used even if
+L<--builddirectory> is not specified.
+
+If the build system prefers out of source tree building but still
+allows in source building, the latter can be re-enabled by passing a build
+directory path that is the same as the source directory path.
+
+=item B<--list>, B<-l>
+
+List all build systems supported by debhelper on this system. The list
+includes both default and third party build systems (marked as such). Also
+shows which build system would be automatically selected, or which one
+is manually specified with the I<--buildsystem> option.
+
+=back
+
=head1 NOTES
=head2 Multiple binary package support
diff --git a/debian/changelog b/debian/changelog
index 641882fd..a8a79c2d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,77 @@
+debhelper (7.3.6) experimental; urgency=low
+
+ * perl_makemaker: Re-add fix for #496157, lost in rewrite.
+
+ -- Joey Hess <joeyh@debian.org> Thu, 23 Jul 2009 18:17:45 +0200
+
+debhelper (7.3.5) experimental; urgency=low
+
+ [ Bernd Zeimetz ]
+ * python_distutils buildsystem: Build for all supported Python
+ versions that are installed. Ensure that correct shebangs are
+ created by using `python' first during build and install.
+ Closes: #520834
+ Also build with python*-dbg if the package build-depends
+ on them.
+
+ -- Joey Hess <joeyh@debian.org> Mon, 20 Jul 2009 20:30:22 +0200
+
+debhelper (7.3.4) experimental; urgency=low
+
+ * Merged debhelper 7.2.24.
+
+ -- Joey Hess <joeyh@debian.org> Wed, 15 Jul 2009 09:50:37 -0400
+
+debhelper (7.3.3) experimental; urgency=low
+
+ * Add ant buildsystem support. Closes: #537021
+ * Merged debhelper 7.2.22.
+
+ -- Joey Hess <joeyh@debian.org> Tue, 14 Jul 2009 17:16:28 -0400
+
+debhelper (7.3.2) experimental; urgency=low
+
+ * Merged debhelper 7.2.21.
+
+ -- Joey Hess <joeyh@debian.org> Wed, 08 Jul 2009 21:23:48 -0400
+
+debhelper (7.3.1) experimental; urgency=low
+
+ * Merged debhelper 7.2.20.
+
+ -- Joey Hess <joeyh@debian.org> Thu, 02 Jul 2009 12:28:55 -0400
+
+debhelper (7.3.0) experimental; urgency=low
+
+ * Modular object oriented dh_auto_* buildsystem support,
+ contributed by Modestas Vainius
+ - dh_auto_* --sourcedirectory can now be used to specify a source
+ directory if sources and/or the whole buildsystem lives elsewhere
+ than the top level directory. Closes: #530597
+ - dh_auto_* --builddirectory can now be used to specify a build
+ directory to use for out of source building, for build systems
+ that support it. Closes: #480577
+ - dh_auto_* --buildsystem can now be used to override the autodetected
+ build system, or force use of a third-party class.
+ - dh_auto_* --list can be used to list available and selected build
+ systems.
+ - Adds support for cmake.
+ - For the perl_build build system, Build is used consistently
+ instead of falling back to using the generated Makefile.
+ Closes: #534332
+ - Historical dh_auto_* behavior should be preserved despite these
+ large changes..
+ * Move two more command-specific options to only be accepted by the commands
+ that use them. The options are:
+ --sourcedir, --destdir
+ If any third-party debhelper commands use either of the above options,
+ they will be broken, and need to be changed to pass options to init().
+ * Make dh not complain about unknown, command-specific options passed to it,
+ and further suppress warnings about such options it passes on to debhelper
+ commands. This was attempted incompletely before in version 7.2.17.
+
+ -- Joey Hess <joeyh@debian.org> Wed, 01 Jul 2009 15:31:20 -0400
+
debhelper (7.2.24) unstable; urgency=low
* dh_install: Add test suite covering the last 5 bugs.
diff --git a/debian/copyright b/debian/copyright
index cda6f170..7b123367 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -54,3 +54,7 @@ License: GPL-2+
Files: dh_bugfiles
Copyright: Modestas Vainius <modestas@vainius.eu>
License: GPL-2+
+
+Files: Debian/Debhelper/Buildsystem*, Debian/Debhelper/Dh_Buildsystems.pm
+Copyright: © 2008-2009 Modestas Vainius
+License: GPL-2+
diff --git a/dh b/dh
index 35fedbb0..c34a5a02 100755
--- a/dh
+++ b/dh
@@ -179,6 +179,16 @@ sequence addons like this:
%:
dh --with quilt $@
+Here is an example of overriding where the dh_auto_* commands find
+the package's source, for a package where the source is located in a
+subdirectory. It also forces use of perl's Module::Build build system,
+which can be necessary if debhelper wrongly detects that the package
+uses MakeMaker.
+
+ #!/usr/bin/make -f
+ %:
+ dh --sourcedirectory=src --buildsystem=perl_build $@
+
=cut
# Stash this away before init modifies it.
@@ -187,6 +197,11 @@ my @ARGV_orig=@ARGV;
# python-support is enabled by default, at least for now
# (and comes first so python-central loads later and can disable it).
unshift @ARGV, "--with=python-support";
+
+# Disable complaints about unknown options for both dh and the commands
+# it runs. This is done because dh accepts and passes on options that may
+# be specific to only some debhelper commands.
+$ENV{DH_IGNORE_UNKNOWN_OPTIONS}=1;
init(options => {
"until=s" => \$dh{UNTIL},
@@ -447,7 +462,7 @@ sub run {
$override_command=$command;
# This passes the options through to commands called
# inside the target.
- $ENV{DH_INTERNAL_OPTIONS}=join(" ", @options);
+ $ENV{DH_INTERNAL_OPTIONS}=join("\x1e", @options);
$command="debian/rules";
@options="override_".$override_command;
}
diff --git a/dh_auto_build b/dh_auto_build
index 75ce51cf..250c7d93 100755
--- a/dh_auto_build
+++ b/dh_auto_build
@@ -7,18 +7,19 @@ dh_auto_build - automatically builds a package
=cut
use strict;
-use Debian::Debhelper::Dh_Lib;
+use Debian::Debhelper::Dh_Buildsystems;
=head1 SYNOPSIS
-B<dh_auto_build> [S<I<debhelper options>>] [S<B<--> I<params>>]
+B<dh_auto_build> [S<I<build system options>>] [S<I<debhelper options>>] [S<B<--> I<params>>]
=head1 DESCRIPTION
-dh_auto_build is a debhelper program that tries to automatically
-build a package. If a Makefile is found, this is done by running make (or
-MAKE, if the environment variable is set).
-If there's a setup.py, or Build.PL, it is run to build the package.
+dh_auto_build is a debhelper program that tries to automatically build a
+package. It does so by running the appropriate command for the build system
+it detects the package uses. For example, if a Makefile is found, this is
+done by running make (or MAKE, if the environment variable is set). If
+there's a setup.py, or Build.PL, it is run to build the package.
This is intended to work for about 90% of packages. If it doesn't work,
you're encouraged to skip using dh_auto_build at all, and just run the
@@ -26,6 +27,9 @@ build process manually.
=head1 OPTIONS
+See L<debhelper(7)/BUILD SYSTEM OPTIONS> for a list of common build
+system selection and control options.
+
=over 4
=item B<--> I<params>
@@ -37,18 +41,8 @@ or override any standard parameters that dh_auto_build passes.
=cut
-init();
-
-if (-e "Makefile" || -e "makefile" || -e "GNUmakefile") {
- doit(exists $ENV{MAKE} ? $ENV{MAKE} : "make", @{$dh{U_PARAMS}});
-}
-elsif (-e "setup.py") {
- doit("python", "setup.py", "build", @{$dh{U_PARAMS}});
-}
-elsif (-e "Build.PL" && -e "Build") {
- $ENV{MODULEBUILDRC} = "/dev/null";
- doit("perl", "Build", @{$dh{U_PARAMS}});
-}
+buildsystems_init();
+buildsystems_do();
=head1 SEE ALSO
diff --git a/dh_auto_clean b/dh_auto_clean
index 610155ae..8603b111 100755
--- a/dh_auto_clean
+++ b/dh_auto_clean
@@ -7,19 +7,20 @@ dh_auto_clean - automatically cleans up after a build
=cut
use strict;
-use Debian::Debhelper::Dh_Lib;
+use Debian::Debhelper::Dh_Buildsystems;
=head1 SYNOPSIS
-B<dh_auto_clean> [S<I<debhelper options>>] [S<B<--> I<params>>]
+B<dh_auto_clean> [S<I<build system options>>] [S<I<debhelper options>>] [S<B<--> I<params>>]
=head1 DESCRIPTION
dh_auto_clean is a debhelper program that tries to automatically clean up
-after a package build. If there's a Makefile and it contains a "distclean",
-"realclean", or "clean" target, then this is done by running make (or MAKE,
-if the environment variable is set). If there is a setup.py or Build.PL, it
-is run to clean the package.
+after a package build. It does so by running the appropriate command for
+the build system it detects the package uses. For example, if there's a
+Makefile and it contains a "distclean", "realclean", or "clean" target,
+then this is done by running make (or MAKE, if the environment variable is
+set). If there is a setup.py or Build.PL, it is run to clean the package.
This is intended to work for about 90% of packages. If it doesn't work, or
tries to use the wrong clean target, you're encouraged to skip using
@@ -27,6 +28,9 @@ dh_auto_clean at all, and just run make clean manually.
=head1 OPTIONS
+See L<debhelper(7)/BUILD SYSTEM OPTIONS> for a list of common build
+system selection and control options.
+
=over 4
=item B<--> I<params>
@@ -38,31 +42,8 @@ or override the any standard parameters that dh_auto_clean passes.
=cut
-init();
-
-if (-e "Makefile" || -e "makefile" || -e "GNUmakefile") {
- $ENV{MAKE}="make" unless exists $ENV{MAKE};
- foreach my $target (qw{distclean realclean clean}) {
- # Use make -n to check to see if the target would do
- # anything. There's no good way to test if a target exists.
- my $ret=`$ENV{MAKE} -s -n $target 2>/dev/null`;
- chomp $ret;
- if (length $ret) {
- doit($ENV{MAKE}, $target, @{$dh{U_PARAMS}});
- last;
- }
- }
-}
-elsif (-e "setup.py") {
- doit("python", "setup.py", "clean", "-a", @{$dh{U_PARAMS}});
- # The setup.py might import files, leading to python creating pyc
- # files.
- doit('find', '.', '-name', '*.pyc', '-exec', 'rm', '{}', ';');
-}
-elsif (-e "Build.PL" && -e "Build") {
- $ENV{MODULEBUILDRC} = "/dev/null";
- doit("perl", "Build", "--allow_mb_mismatch", 1, "distclean", @{$dh{U_PARAMS}});
-}
+buildsystems_init();
+buildsystems_do();
=head1 SEE ALSO
diff --git a/dh_auto_configure b/dh_auto_configure
index 5f48056f..6b6b58f3 100755
--- a/dh_auto_configure
+++ b/dh_auto_configure
@@ -7,19 +7,22 @@ dh_auto_configure - automatically configure a package prior to building
=cut
use strict;
-use Debian::Debhelper::Dh_Lib;
+use Debian::Debhelper::Dh_Buildsystems;
=head1 SYNOPSIS
-B<dh_auto_configure> [S<I<debhelper options>>] [S<B<--> I<params>>]
+B<dh_auto_configure> [S<I<build system options>>] [S<I<debhelper options>>] [S<B<--> I<params>>]
=head1 DESCRIPTION
dh_auto_configure is a debhelper program that tries to automatically
-configure a package prior to building. It looks for and runs a ./configure
-script, Makefile.PL, or Build.PL. A standard set of parameters is
-determined and passed to the program that is run. If no program to run is
-found, dh_auto_configure will exit without doing anything.
+configure a package prior to building. It does so by running the
+appropriate command for the build system it detects the package uses.
+For example, it looks for and runs a ./configure script, Makefile.PL,
+Build.PL, or cmake. A standard set of parameters is determined and passed
+to the program that is run. Some build systems, such as make, do not
+need a configure step; for these dh_auto_configure will exit without
+doing anything.
This is intended to work for about 90% of packages. If it doesn't work,
you're encouraged to skip using dh_auto_configure at all, and just run
@@ -27,6 +30,9 @@ you're encouraged to skip using dh_auto_configure at all, and just run
=head1 OPTIONS
+See L<debhelper(7)/BUILD SYSTEM OPTIONS> for a list of common build
+system selection and control options.
+
=over 4
=item B<--> I<params>
@@ -41,67 +47,8 @@ or override those parameters. For example:
=cut
-init();
-
-sub dpkg_architecture_value {
- my $var=shift;
- my $value=`dpkg-architecture -q$var 2>/dev/null` || error("dpkg-architecture failed");
- chomp $value;
- return $value;
-}
-
-sub sourcepackage {
- open (CONTROL, 'debian/control') ||
- error("cannot read debian/control: $!\n");
- while (<CONTROL>) {
- chomp;
- s/\s+$//;
- if (/^Source:\s*(.*)/) {
- close CONTROL;
- return $1;
- }
- }
-
- close CONTROL;
- error("could not find Source: line in control file.");
-}
-
-if (-x "configure") {
- # Standard set of options for configure.
- my @opts;
- push @opts, "--build=".dpkg_architecture_value("DEB_BUILD_GNU_TYPE");
- push @opts, "--prefix=/usr";
- push @opts, "--includedir=\${prefix}/include";
- push @opts, "--mandir=\${prefix}/share/man";
- push @opts, "--infodir=\${prefix}/share/info";
- push @opts, "--sysconfdir=/etc";
- push @opts, "--localstatedir=/var";
- push @opts, "--libexecdir=\${prefix}/lib/".sourcepackage();
- push @opts, "--disable-maintainer-mode";
- push @opts, "--disable-dependency-tracking";
- # Provide --host only if different from --build, as recommended in
- # autotools-dev README.Debian: When provided (even if equal) autotools
- # 2.52+ switches to cross-compiling mode.
- if (dpkg_architecture_value("DEB_BUILD_GNU_TYPE") ne dpkg_architecture_value("DEB_HOST_GNU_TYPE")) {
- push @opts, "--host=".dpkg_architecture_value("DEB_HOST_GNU_TYPE");
- }
- doit("./configure", @opts, @{$dh{U_PARAMS}});
-}
-elsif (-e "Makefile.PL") {
- # If set to a true value then MakeMaker's prompt function will
- # always return the default without waiting for user input.
- $ENV{PERL_MM_USE_DEFAULT}=1;
- # This prevents Module::Install from interactive behavior.
- $ENV{PERL_AUTOINSTALL}="--skipdeps";
-
- doit("perl", "Makefile.PL", "INSTALLDIRS=vendor",
- "create_packlist=0", @{$dh{U_PARAMS}});
-}
-elsif (-e "Build.PL") {
- $ENV{PERL_MM_USE_DEFAULT}=1; # Module::Build can also use this.
- $ENV{MODULEBUILDRC} = "/dev/null";
- doit("perl", "Build.PL", "installdirs=vendor", @{$dh{U_PARAMS}});
-}
+buildsystems_init();
+buildsystems_do();
=head1 SEE ALSO
diff --git a/dh_auto_install b/dh_auto_install
index 8a976a50..b57db839 100755
--- a/dh_auto_install
+++ b/dh_auto_install
@@ -8,18 +8,22 @@ dh_auto_install - automatically runs make install or similar
use strict;
use Debian::Debhelper::Dh_Lib;
+use Debian::Debhelper::Dh_Buildsystems;
use Cwd;
=head1 SYNOPSIS
-B<dh_auto_install> [S<I<debhelper options>>] [S<B<--> I<params>>]
+B<dh_auto_install> [S<I<build system options>>] [S<I<debhelper options>>] [S<B<--> I<params>>]
=head1 DESCRIPTION
dh_auto_install is a debhelper program that tries to automatically install
-built files. If there's a Makefile and it contains a "install" target,
-then this is done by running make (or MAKE, if the environment variable is
-set). If there is a setup.py or Build.PL, it is used.
+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 Makefile and
+it contains a "install" target, then this is done by running make (or MAKE,
+if the environment variable is set). If there is a setup.py or Build.PL,
+it is used. Note that the Ant build system does not support installation,
+so dh_auto_install will not install files built using Ant.
The files are installed into debian/<package>/ if there is only one binary
package. In the multiple binary package case, the files are instead
@@ -36,6 +40,9 @@ dh_auto_install at all, and just run make install manually.
=head1 OPTIONS
+See L<debhelper(7)/BUILD SYSTEM OPTIONS> for a list of common build
+system selection and control options.
+
=over 4
=item B<--> I<params>
@@ -47,7 +54,7 @@ or override the any standard parameters that dh_auto_install passes.
=cut
-init();
+buildsystems_init();
my $destdir;
my @allpackages=getpackages();
@@ -59,41 +66,7 @@ else {
}
$destdir=cwd()."/".$destdir;
-if (-e "Makefile" || -e "makefile" || -e "GNUmakefile") {
- $ENV{MAKE}="make" unless exists $ENV{MAKE};
- my @params="DESTDIR=$destdir";
-
- # Special case for MakeMaker generated Makefiles.
- if (-e "Makefile" &&
- system('grep -q "generated automatically by MakeMaker" Makefile') == 0) {
- push @params, "PREFIX=/usr";
- }
-
- foreach my $target (qw{install}) {
- # Use make -n to check to see if the target would do
- # anything. There's no good way to test if a target exists.
- my $ret=`$ENV{MAKE} -s -n $target 2>/dev/null`;
- chomp $ret;
- if (length $ret) {
- doit($ENV{MAKE}, $target,
- @params,
- @{$dh{U_PARAMS}});
- last;
- }
- }
-}
-elsif (-e "setup.py") {
- doit("python", "setup.py", "install",
- "--root=$destdir",
- "--no-compile", "-O0",
- "--install-layout=deb",
- @{$dh{U_PARAMS}});
-}
-elsif (-e "Build.PL" && -e "Build") {
- $ENV{MODULEBUILDRC} = "/dev/null";
- doit("perl", "Build", "install", "destdir=$destdir",
- "create_packlist=0", @{$dh{U_PARAMS}});
-}
+buildsystems_do("install", $destdir);
=head1 SEE ALSO
diff --git a/dh_auto_test b/dh_auto_test
index ea2d7fdc..6caf393e 100755
--- a/dh_auto_test
+++ b/dh_auto_test
@@ -7,20 +7,21 @@ dh_auto_test - automatically runs a package's test suites
=cut
use strict;
-use Debian::Debhelper::Dh_Lib;
+use Debian::Debhelper::Dh_Buildsystems;
=head1 SYNOPSIS
-B<dh_auto_test> [S<I<debhelper options>>] [S<B<--> I<params>>]
+B<dh_auto_test> [S<I<build system options>>] [S<I<debhelper options>>] [S<B<--> I<params>>]
=head1 DESCRIPTION
dh_auto_test is a debhelper program that tries to automatically run a
-package's test suite. If there's a Makefile and it contains a "test"
-or "check" target, then this is done by running make (or MAKE, if the
-environment variable is set). If the test suite fails, the command will
-exit nonzero. If there's no test suite, it will exit zero without doing
-anything.
+package's test suite. It does so by running the appropriate command for the
+build system it detects the package uses. For example, if there's a
+Makefile and it contains a "test" or "check" target, then this is done by
+running make (or MAKE, if the environment variable is set). If the test
+suite fails, the command will exit nonzero. If there's no test suite, it
+will exit zero without doing anything.
This is intended to work for about 90% of packages with a test suite. If it
doesn't work, you're encouraged to skip using dh_auto_test at all, and
@@ -28,6 +29,9 @@ just run the test suite manually.
=head1 OPTIONS
+See L<debhelper(7)/BUILD SYSTEM OPTIONS> for a list of common build
+system selection and control options.
+
=over 4
=item B<--> I<params>
@@ -44,29 +48,12 @@ tests will be performed.
=cut
-init();
-
if (defined $ENV{DEB_BUILD_OPTIONS} && $ENV{DEB_BUILD_OPTIONS} =~ /nocheck/) {
exit 0;
}
-if (-e "Makefile" || -e "makefile" || -e "GNUmakefile") {
- $ENV{MAKE}="make" unless exists $ENV{MAKE};
- foreach my $target (qw{test check}) {
- # Use make -n to check to see if the target would do
- # anything. There's no good way to test if a target exists.
- my $ret=`$ENV{MAKE} -s -n $target 2>/dev/null`;
- chomp $ret;
- if (length $ret) {
- doit($ENV{MAKE}, $target, @{$dh{U_PARAMS}});
- last;
- }
- }
-}
-elsif (-e "Build.PL" && -e "Build") {
- $ENV{MODULEBUILDRC} = "/dev/null";
- doit(qw/perl Build test/, @{$dh{U_PARAMS}});
-}
+buildsystems_init();
+buildsystems_do();
=head1 SEE ALSO
diff --git a/dh_builddeb b/dh_builddeb
index 1de8aae2..45713fd9 100755
--- a/dh_builddeb
+++ b/dh_builddeb
@@ -45,6 +45,7 @@ package.
init(options => {
"filename=s" => \$dh{FILENAME},
+ "destdir=s" => \$dh{DESTDIR},
});
# Set the default destination directory.
diff --git a/dh_clean b/dh_clean
index 47019fcd..1213f6ca 100755
--- a/dh_clean
+++ b/dh_clean
@@ -25,7 +25,7 @@ debian diff:
The debian/clean file can list other files to be removed.
It does not run "make clean" to clean up after the build process. Use
-L<dh_auto_clean(1)> to do that.
+L<dh_auto_clean(1)> to do things like that.
dh_clean (or "dh clean") should be the last debhelper command run in the
clean target in debian/rules.
diff --git a/dh_install b/dh_install
index 93986ec9..eb485025 100755
--- a/dh_install
+++ b/dh_install
@@ -48,29 +48,6 @@ directory (or whereever you've told it to look using --sourcedir).
=over 4
-=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 B<--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.
-
=item B<--list-missing>
This option makes dh_install keep track of the files it installs, and then at
@@ -84,17 +61,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<file [...] dest>
Lists files (or directories) to install and where to install them to.
@@ -108,6 +111,7 @@ init(options => {
"autodest" => \$dh{AUTODEST},
"list-missing" => \$dh{LIST_MISSING},
"fail-missing" => \$dh{FAIL_MISSING},
+ "sourcedir=s" => \$dh{SOURCEDIR},
});
my @installed;
diff --git a/dh_movefiles b/dh_movefiles
index 72cbb0ba..5e1db0fc 100755
--- a/dh_movefiles
+++ b/dh_movefiles
@@ -67,7 +67,9 @@ deleted by dh_clean later.
=cut
-init();
+init(options => {
+ "sourcedir=s" => \$dh{SOURCEDIR},
+});
my $ret=0;
diff --git a/doc/PROGRAMMING b/doc/PROGRAMMING
index 9963181e..4e7ea463 100644
--- a/doc/PROGRAMMING
+++ b/doc/PROGRAMMING
@@ -120,8 +120,6 @@ switch variable description
those processed here), will apply to all
binary packages the program acts on, not just
the first
---sourcedir SOURCEDIR will be set to a string
---destdir DESTDIR will be set to a string
--priority PRIORITY will be set to a number
--mainpackage MAINPACKAGE controls which package is treated as the
main package to act on
@@ -250,13 +248,13 @@ write_log($cmd, $package ...)
Writes the log files for the specified package(s), adding
the cmd to the end.
-Sequence Addons
+Sequence Addons:
---------------
The dh(1) command has a --with <addon> parameter that ca be used to load
-a sequence addon named Debian::Debhelper::Sequence::<addon>.
-These addons can add/remove commands to the dh command sequences, by calling
-some functions from Dh_Lib:
+a sequence addon module named Debian::Debhelper::Sequence::<addon>.
+These modules can add/remove commands to the dh command sequences, by
+calling some functions from Dh_Lib:
insert_before($existing_command, $new_command)
Insert $new_command in sequences before $existing_command
@@ -267,4 +265,20 @@ insert_after($existing_command, $new_command)
remove_command($existing_command)
Remove $existing_command from the list of commands to run.
+Buildsystem Classes:
+-------------------
+
+The dh_auto_* commands are frontends that use debhelper buildsystem
+classes. These classes have names like Debian::Debhelper::Buildsystem::foo,
+and are derived from Debian::Debhelper::Buildsystem, or other, related
+classes.
+
+A buildsystem class needs to inherit or define these methods: DESCRIPTION,
+check_auto_buildable, configure, build, test, install, clean. See the comments
+inside Debian::Debhelper::Buildsystem for details. Note that this interface
+is still subject to change.
+
+Note that third-party buildsystems will not automatically be used by default,
+but can be forced to be used via the --buildsystem parameter.
+
-- Joey Hess <joeyh@debian.org>
diff --git a/man/po4a/po/debhelper.pot b/man/po4a/po/debhelper.pot
index 0bd02b0a..ff53fb50 100644
--- a/man/po4a/po/debhelper.pot
+++ b/man/po4a/po/debhelper.pot
@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2009-06-29 15:35-0300\n"
+"POT-Creation-Date: 2009-07-01 15:31-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -360,17 +360,100 @@ msgid ""
msgstr ""
#. type: =head1
-#: debhelper.pod:177 dh_installcatalogs:52 dh_installdocs:81 dh_installemacsen:54 dh_installexamples:50 dh_installinit:110 dh_installman:79 dh_installmime:41 dh_installmodules:60 dh_installwm:53 dh_installxfonts:37 dh_movefiles:58 dh_strip:68 dh_usrlocal:49
+#: debhelper.pod:177
+msgid "BUILD SYSTEM OPTIONS"
+msgstr ""
+
+#. type: textblock
+#: debhelper.pod:179
+msgid ""
+"The following command line options are supported by all of the dh_auto_* "
+"debhelper programs. These programs support a variety of build systems, and "
+"normally heuristically determine which to use, and how to use them. You can "
+"use these command line options to override the default behavior."
+msgstr ""
+
+#. type: =item
+#: debhelper.pod:186
+msgid "B<-S>I<buildsystem>, B<--buildsystem=>I<buildsystem>"
+msgstr ""
+
+#. type: textblock
+#: debhelper.pod:188
+msgid ""
+"Force use of the specified I<buildsystem>, instead of trying to auto-select "
+"one which might be applicable for the package."
+msgstr ""
+
+#. type: =item
+#: debhelper.pod:191
+msgid "B<-D>I<directory>, B<--sourcedirectory=>I<directory>"
+msgstr ""
+
+#. type: textblock
+#: debhelper.pod:193
+msgid ""
+"Assume that the original package source tree is at the specified "
+"I<directory> rather than the top level directory of the Debian source "
+"package tree."
+msgstr ""
+
+#. type: =item
+#: debhelper.pod:197
+msgid "B<-B>[I<directory>], B<--builddirectory>=[I<directory>]"
+msgstr ""
+
+#. type: textblock
+#: debhelper.pod:199
+msgid ""
+"Enable out of source building and use the specified I<directory> as the "
+"build directory. If I<directory> parameter is omitted, a default build "
+"directory will chosen."
+msgstr ""
+
+#. type: textblock
+#: debhelper.pod:203
+msgid ""
+"If this option is not specified, building will be done in source by default "
+"unless the build system requires or prefers out of source tree building. In "
+"such a case, the default build directory will be used even if "
+"L<--builddirectory> is not specified."
+msgstr ""
+
+#. type: textblock
+#: debhelper.pod:208
+msgid ""
+"If the build system prefers out of source tree building but still allows in "
+"source building, the latter can be re-enabled by passing a build directory "
+"path that is the same as the source directory path."
+msgstr ""
+
+#. type: =item
+#: debhelper.pod:212
+msgid "B<--list>, B<-l>"
+msgstr ""
+
+#. type: textblock
+#: debhelper.pod:214
+msgid ""
+"List all build systems supported by debhelper on this system. The list "
+"includes both default and third party build systems (marked as such). Also "
+"shows which build system would be automatically selected, or which one is "
+"manually specified with the I<--buildsystem> option."
+msgstr ""
+
+#. type: =head1
+#: debhelper.pod:221 dh_installcatalogs:52 dh_installdocs:81 dh_installemacsen:54 dh_installexamples:50 dh_installinit:110 dh_installman:79 dh_installmime:41 dh_installmodules:60 dh_installwm:53 dh_installxfonts:37 dh_movefiles:58 dh_strip:68 dh_usrlocal:49
msgid "NOTES"
msgstr ""
#. type: =head2
-#: debhelper.pod:179
+#: debhelper.pod:223
msgid "Multiple binary package support"
msgstr ""
#. type: textblock
-#: debhelper.pod:181
+#: debhelper.pod:225
msgid ""
"If your source package generates more than one binary package, debhelper "
"programs will default to acting on all binary packages when run. If your "
@@ -382,7 +465,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: debhelper.pod:189
+#: debhelper.pod:233
msgid ""
"To facilitate this, as well as give you more control over which packages are "
"acted on by debhelper programs, all debhelper programs accept the B<-a>, "
@@ -392,12 +475,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: debhelper.pod:195
+#: debhelper.pod:239
msgid "Automatic generation of debian install scripts"
msgstr ""
#. type: textblock
-#: debhelper.pod:197
+#: debhelper.pod:241
msgid ""
"Some debhelper commands will automatically generate parts of debian "
"maintainer scripts. If you want these automatically generated things "
@@ -408,21 +491,21 @@ msgid ""
msgstr ""
#. type: textblock
-#: debhelper.pod:204
+#: debhelper.pod:248
msgid ""
"If a script does not exist at all and debhelper needs to add something to "
"it, then debhelper will create the complete script."
msgstr ""
#. type: textblock
-#: debhelper.pod:207
+#: debhelper.pod:251
msgid ""
"All debhelper commands that automatically generate code in this way let it "
"be disabled by the -n parameter (see above)."
msgstr ""
#. type: textblock
-#: debhelper.pod:210
+#: debhelper.pod:254
msgid ""
"Note that the inserted code will be shell code, so you cannot directly use "
"it in a perl script. If you would like to embed it into a perl script, here "
@@ -431,7 +514,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: debhelper.pod:215
+#: debhelper.pod:259
#, no-wrap
msgid ""
" my $temp=\"set -e\\nset -- @ARGV\\n\" . << 'EOF';\n"
@@ -443,12 +526,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: debhelper.pod:221
+#: debhelper.pod:265
msgid "Automatic generation of miscellaneous dependencies."
msgstr ""
#. type: textblock
-#: debhelper.pod:223
+#: debhelper.pod:267
msgid ""
"Some debhelper commands may make the generated package need to depend on "
"some other packages. For example, if you use L<dh_installdebconf(1)>, your "
@@ -460,7 +543,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: debhelper.pod:231
+#: debhelper.pod:275
msgid ""
"All commands of this type, besides documenting what dependencies may be "
"needed on their man pages, will automatically generate a substvar called "
@@ -469,7 +552,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: debhelper.pod:236
+#: debhelper.pod:280
msgid ""
"This is entirely independent of the standard ${shlibs:Depends} generated by "
"L<dh_makeshlibs(1)>, and the ${perl:Depends} generated by L<dh_perl(1)>. "
@@ -478,19 +561,19 @@ msgid ""
msgstr ""
#. type: =head2
-#: debhelper.pod:241
+#: debhelper.pod:285
msgid "Package build directories"
msgstr ""
#. type: textblock
-#: debhelper.pod:243
+#: debhelper.pod:287
msgid ""
"By default, all debhelper programs assume that the temporary directory used "
"for assembling the tree of files in a package is debian/<package>."
msgstr ""
#. type: textblock
-#: debhelper.pod:246
+#: debhelper.pod:290
msgid ""
"Sometimes, you might want to use some other temporary directory. This is "
"supported by the -P flag. For example, \"dh_installdocs -Pdebian/tmp\", will "
@@ -502,12 +585,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: debhelper.pod:254
+#: debhelper.pod:298
msgid "Debhelper compatibility levels"
msgstr ""
#. type: textblock
-#: debhelper.pod:256
+#: debhelper.pod:300
msgid ""
"From time to time, major non-backwards-compatible changes need to be made to "
"debhelper, to keep it clean and well-designed as needs change and its author "
@@ -518,14 +601,14 @@ msgid ""
msgstr ""
#. type: textblock
-#: debhelper.pod:263
+#: debhelper.pod:307
msgid ""
"Tell debhelper what compatibility level to use by writing a number to "
"debian/compat. For example, to turn on V7 mode:"
msgstr ""
#. type: verbatim
-#: debhelper.pod:266
+#: debhelper.pod:310
#, no-wrap
msgid ""
" % echo 7 > debian/compat\n"
@@ -533,7 +616,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: debhelper.pod:268
+#: debhelper.pod:312
msgid ""
"Unless otherwise indicated, all debhelper documentation assumes that you are "
"using the most recent compatibility level, and in most cases does not "
@@ -544,17 +627,17 @@ msgid ""
msgstr ""
#. type: textblock
-#: debhelper.pod:275
+#: debhelper.pod:319
msgid "These are the available compatibility levels:"
msgstr ""
#. type: =item
-#: debhelper.pod:279
+#: debhelper.pod:323
msgid "V1"
msgstr ""
#. type: textblock
-#: debhelper.pod:281
+#: debhelper.pod:325
msgid ""
"This is the original debhelper compatibility level, and so it is the default "
"one. In this mode, debhelper will use debian/tmp as the package tree "
@@ -563,148 +646,148 @@ msgid ""
msgstr ""
#. type: textblock
-#: debhelper.pod:286 debhelper.pod:293 debhelper.pod:316 debhelper.pod:345
+#: debhelper.pod:330 debhelper.pod:337 debhelper.pod:360 debhelper.pod:389
msgid "This mode is deprecated."
msgstr ""
#. type: =item
-#: debhelper.pod:288
+#: debhelper.pod:332
msgid "V2"
msgstr ""
#. type: textblock
-#: debhelper.pod:290
+#: debhelper.pod:334
msgid ""
"In this mode, debhelper will consistently use debian/<package> as the "
"package tree directory for every package that is built."
msgstr ""
#. type: =item
-#: debhelper.pod:295
+#: debhelper.pod:339
msgid "V3"
msgstr ""
#. type: textblock
-#: debhelper.pod:297
+#: debhelper.pod:341
msgid "This mode works like V2, with the following additions:"
msgstr ""
#. type: =item
-#: debhelper.pod:301 debhelper.pod:306 debhelper.pod:310 debhelper.pod:324 debhelper.pod:329 debhelper.pod:334 debhelper.pod:339 debhelper.pod:353 debhelper.pod:357 debhelper.pod:362 debhelper.pod:366 debhelper.pod:378 debhelper.pod:383 debhelper.pod:389 debhelper.pod:395 debhelper.pod:410 debhelper.pod:417 debhelper.pod:421 debhelper.pod:425
+#: debhelper.pod:345 debhelper.pod:350 debhelper.pod:354 debhelper.pod:368 debhelper.pod:373 debhelper.pod:378 debhelper.pod:383 debhelper.pod:397 debhelper.pod:401 debhelper.pod:406 debhelper.pod:410 debhelper.pod:422 debhelper.pod:427 debhelper.pod:433 debhelper.pod:439 debhelper.pod:454 debhelper.pod:461 debhelper.pod:465 debhelper.pod:469
msgid "-"
msgstr ""
#. type: textblock
-#: debhelper.pod:303
+#: debhelper.pod:347
msgid ""
"Debhelper config files support globbing via * and ?, when appropriate. To "
"turn this off and use those characters raw, just prefix with a backslash."
msgstr ""
#. type: textblock
-#: debhelper.pod:308
+#: debhelper.pod:352
msgid "dh_makeshlibs makes the postinst and postrm scripts call ldconfig."
msgstr ""
#. type: textblock
-#: debhelper.pod:312
+#: debhelper.pod:356
msgid "Every file in etc/ is automatically flagged as a conffile by dh_installdeb."
msgstr ""
#. type: =item
-#: debhelper.pod:318
+#: debhelper.pod:362
msgid "V4"
msgstr ""
#. type: textblock
-#: debhelper.pod:320
+#: debhelper.pod:364
msgid "Changes from V3 are:"
msgstr ""
#. type: textblock
-#: debhelper.pod:326
+#: debhelper.pod:370
msgid ""
"dh_makeshlibs -V will not include the debian part of the version number in "
"the generated dependency line in the shlibs file."
msgstr ""
#. type: textblock
-#: debhelper.pod:331
+#: debhelper.pod:375
msgid ""
"You are encouraged to put the new ${misc:Depends} into debian/control to "
"supplement the ${shlibs:Depends} field."
msgstr ""
#. type: textblock
-#: debhelper.pod:336
+#: debhelper.pod:380
msgid ""
"dh_fixperms will make all files in bin/ directories and in etc/init.d "
"executable."
msgstr ""
#. type: textblock
-#: debhelper.pod:341
+#: debhelper.pod:385
msgid "dh_link will correct existing links to conform with policy."
msgstr ""
#. type: =item
-#: debhelper.pod:347
+#: debhelper.pod:391
msgid "V5"
msgstr ""
#. type: textblock
-#: debhelper.pod:349
+#: debhelper.pod:393
msgid "Changes from V4 are:"
msgstr ""
#. type: textblock
-#: debhelper.pod:355
+#: debhelper.pod:399
msgid "Comments are ignored in debhelper config files."
msgstr ""
#. type: textblock
-#: debhelper.pod:359
+#: debhelper.pod:403
msgid ""
"dh_strip --dbg-package now specifies the name of a package to put debugging "
"symbols in, not the packages to take the symbols from."
msgstr ""
#. type: textblock
-#: debhelper.pod:364
+#: debhelper.pod:408
msgid "dh_installdocs skips installing empty files."
msgstr ""
#. type: textblock
-#: debhelper.pod:368
+#: debhelper.pod:412
msgid "dh_install errors out if wildcards expand to nothing."
msgstr ""
#. type: =item
-#: debhelper.pod:372
+#: debhelper.pod:416
msgid "V6"
msgstr ""
#. type: textblock
-#: debhelper.pod:374
+#: debhelper.pod:418
msgid "Changes from V5 are:"
msgstr ""
#. type: textblock
-#: debhelper.pod:380
+#: debhelper.pod:424
msgid ""
"Commands that generate maintainer script fragments will order the fragments "
"in reverse order for the prerm and postrm scripts."
msgstr ""
#. type: textblock
-#: debhelper.pod:385
+#: debhelper.pod:429
msgid ""
"dh_installwm will install a slave manpage link for x-window-manager.1.gz, if "
"it sees the man page in usr/share/man/man1 in the package build directory."
msgstr ""
#. type: textblock
-#: debhelper.pod:391
+#: debhelper.pod:435
msgid ""
"dh_builddeb did not previously delete everything matching DH_ALWAYS_EXCLUDE, "
"if it was set to a list of things to exclude, such as \"CVS:.svn:.git\". Now "
@@ -712,29 +795,29 @@ msgid ""
msgstr ""
#. type: textblock
-#: debhelper.pod:397
+#: debhelper.pod:441
msgid ""
"dh_installman allows overwriting existing man pages in the package build "
"directory. In previous compatibility levels it silently refuses to do this."
msgstr ""
#. type: =item
-#: debhelper.pod:402
+#: debhelper.pod:446
msgid "V7"
msgstr ""
#. type: textblock
-#: debhelper.pod:404
+#: debhelper.pod:448
msgid "This is the recommended mode of operation."
msgstr ""
#. type: textblock
-#: debhelper.pod:406
+#: debhelper.pod:450
msgid "Changes from V6 are:"
msgstr ""
#. type: textblock
-#: debhelper.pod:412
+#: debhelper.pod:456
msgid ""
"dh_install, will fall back to looking for files in debian/tmp if it doesn't "
"find them in the current directory (or wherever you tell it look using "
@@ -743,29 +826,29 @@ msgid ""
msgstr ""
#. type: textblock
-#: debhelper.pod:419
+#: debhelper.pod:463
msgid "dh_clean will read debian/clean and delete files listed there."
msgstr ""
#. type: textblock
-#: debhelper.pod:423
+#: debhelper.pod:467
msgid "dh_clean will delete toplevel *-stamp files."
msgstr ""
#. type: textblock
-#: debhelper.pod:427
+#: debhelper.pod:471
msgid ""
"dh_installchangelogs will guess at what file is the upstream changelog if "
"none is specified."
msgstr ""
#. type: =head2
-#: debhelper.pod:434
+#: debhelper.pod:478
msgid "Doc directory symlinks"
msgstr ""
#. type: textblock
-#: debhelper.pod:436
+#: debhelper.pod:480
msgid ""
"Sometimes it is useful to make a package not contain a "
"/usr/share/doc/package directory at all, instead placing just a dangling "
@@ -779,12 +862,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: debhelper.pod:445
+#: debhelper.pod:489
msgid "udebs"
msgstr ""
#. type: textblock
-#: debhelper.pod:447
+#: debhelper.pod:491
msgid ""
"Debhelper includes support for udebs. To create a udeb with debhelper, add "
"\"XC-Package-Type: udeb\" to the package's stanza in debian/control, and "
@@ -795,12 +878,12 @@ msgid ""
msgstr ""
#. type: =head2
-#: debhelper.pod:454
+#: debhelper.pod:498
msgid "Other notes"
msgstr ""
#. type: textblock
-#: debhelper.pod:456
+#: debhelper.pod:500
msgid ""
"In general, if any debhelper program needs a directory to exist under "
"debian/, it will create it. I haven't bothered to document this in all the "
@@ -811,7 +894,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: debhelper.pod:462
+#: debhelper.pod:506
msgid ""
"Once your package uses debhelper to build, be sure to add debhelper to your "
"Build-Depends line in debian/control. You should build-depend on a version "
@@ -820,7 +903,7 @@ msgid ""
msgstr ""
#. type: verbatim
-#: debhelper.pod:468
+#: debhelper.pod:512
#, no-wrap
msgid ""
" Build-Depends: debhelper (>= 7)\n"
@@ -828,51 +911,51 @@ msgid ""
msgstr ""
#. type: =head1
-#: debhelper.pod:470
+#: debhelper.pod:514
msgid "ENVIRONMENT"
msgstr ""
#. type: =item
-#: debhelper.pod:474
+#: debhelper.pod:518
msgid "DH_VERBOSE"
msgstr ""
#. type: textblock
-#: debhelper.pod:476
+#: debhelper.pod:520
msgid ""
"Set to 1 to enable verbose mode. Debhelper will output every command it runs "
"that modifies files on the build system."
msgstr ""
#. type: =item
-#: debhelper.pod:479
+#: debhelper.pod:523
msgid "DH_COMPAT"
msgstr ""
#. type: textblock
-#: debhelper.pod:481
+#: debhelper.pod:525
msgid ""
"Temporarily specifies what compatibility level debhelper should run at, "
"overriding any value in debian/compat."
msgstr ""
#. type: =item
-#: debhelper.pod:484
+#: debhelper.pod:528
msgid "DH_NO_ACT"
msgstr ""
#. type: textblock
-#: debhelper.pod:486
+#: debhelper.pod:530
msgid "Set to 1 to enable no-act mode."
msgstr ""
#. type: =item
-#: debhelper.pod:488
+#: debhelper.pod:532
msgid "DH_OPTIONS"
msgstr ""
#. type: textblock
-#: debhelper.pod:490
+#: debhelper.pod:534
msgid ""
"Anything in this variable will be prepended to the command line arguments of "
"all debhelper commands. Command-specific options will be ignored by commands "
@@ -880,7 +963,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: debhelper.pod:494
+#: debhelper.pod:538
msgid ""
"This is useful in some situations, for example, if you need to pass -p to "
"all debhelper commands that will be run. One good way to set DH_OPTIONS is "
@@ -889,12 +972,12 @@ msgid ""
msgstr ""
#. type: =item
-#: debhelper.pod:499
+#: debhelper.pod:543
msgid "DH_ALWAYS_EXCLUDE"
msgstr ""
#. type: textblock
-#: debhelper.pod:501
+#: debhelper.pod:545
msgid ""
"If set, this adds the value the variable is set to to the -X options of all "
"commands that support the -X option. Moreover, dh_builddeb will rm -rf "
@@ -902,7 +985,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: debhelper.pod:505
+#: debhelper.pod:549
msgid ""
"This can be useful if you are doing a build from a CVS source tree, in which "
"case setting DH_ALWAYS_EXCLUDE=CVS will prevent any CVS directories from "
@@ -913,44 +996,44 @@ msgid ""
msgstr ""
#. type: textblock
-#: debhelper.pod:512
+#: debhelper.pod:556
msgid ""
"Multiple things to exclude can be separated with colons, as in "
"DH_ALWAYS_EXCLUDE=CVS:.svn"
msgstr ""
#. type: =head1
-#: debhelper.pod:517 dh_builddeb:87 dh_clean:130 dh_compress:192 dh_desktop:27 dh_fixperms:122 dh_gconf:104 dh_gencontrol:79 dh_installcatalogs:109 dh_installchangelogs:147 dh_installcron:61 dh_installdebconf:118 dh_installdeb:94 dh_installdirs:83 dh_installdocs:223 dh_installemacsen:111 dh_installexamples:103 dh_installinfo:74 dh_installinit:224 dh_installlogcheck:51 dh_installlogrotate:50 dh_installmanpages:197 dh_installman:251 dh_installmenu:80 dh_installmime:85 dh_installmodules:124 dh_installpam:52 dh_install:267 dh_installppp:56 dh_installwm:107 dh_installxfonts:86 dh_link:223 dh_listpackages:29 dh_makeshlibs:227 dh_md5sums:89 dh_movefiles:162 dh_perl:152 dh_python:282 dh_scrollkeeper:28 dh_shlibdeps:168 dh_strip:227 dh_suidregister:117 dh_testdir:44 dh_testroot:27 dh_testversion:75 dh_undocumented:28 dh_usrlocal:114
+#: debhelper.pod:561 dh_builddeb:88 dh_clean:130 dh_compress:192 dh_desktop:27 dh_fixperms:122 dh_gconf:104 dh_gencontrol:79 dh_installcatalogs:109 dh_installchangelogs:147 dh_installcron:61 dh_installdebconf:118 dh_installdeb:94 dh_installdirs:83 dh_installdocs:223 dh_installemacsen:111 dh_installexamples:103 dh_installinfo:74 dh_installinit:224 dh_installlogcheck:51 dh_installlogrotate:50 dh_installmanpages:197 dh_installman:251 dh_installmenu:80 dh_installmime:85 dh_installmodules:124 dh_installpam:52 dh_install:267 dh_installppp:56 dh_installwm:107 dh_installxfonts:86 dh_link:223 dh_listpackages:29 dh_makeshlibs:227 dh_md5sums:89 dh_movefiles:164 dh_perl:152 dh_python:282 dh_scrollkeeper:28 dh_shlibdeps:168 dh_strip:227 dh_suidregister:117 dh_testdir:44 dh_testroot:27 dh_testversion:75 dh_undocumented:28 dh_usrlocal:114
msgid "SEE ALSO"
msgstr ""
#. type: =item
-#: debhelper.pod:521
+#: debhelper.pod:565
msgid "F</usr/share/doc/debhelper/examples/>"
msgstr ""
#. type: textblock
-#: debhelper.pod:523
+#: debhelper.pod:567
msgid "A set of example debian/rules files that use debhelper."
msgstr ""
#. type: =item
-#: debhelper.pod:525
+#: debhelper.pod:569
msgid "L<http://kitenet.net/~joey/code/debhelper/>"
msgstr ""
#. type: textblock
-#: debhelper.pod:527
+#: debhelper.pod:571
msgid "Debhelper web site."
msgstr ""
#. type: =head1
-#: debhelper.pod:531 dh_builddeb:93 dh_clean:136 dh_compress:198 dh_desktop:33 dh_fixperms:128 dh_gconf:110 dh_gencontrol:85 dh_installcatalogs:115 dh_installchangelogs:153 dh_installcron:67 dh_installdebconf:124 dh_installdeb:100 dh_installdirs:89 dh_installdocs:229 dh_installemacsen:117 dh_installexamples:109 dh_installinfo:80 dh_installinit:230 dh_installlogcheck:57 dh_installlogrotate:56 dh_installmanpages:203 dh_installman:257 dh_installmenu:88 dh_installmime:91 dh_installmodules:130 dh_installpam:58 dh_install:273 dh_installppp:62 dh_installwm:113 dh_installxfonts:92 dh_link:229 dh_listpackages:35 dh_makeshlibs:233 dh_md5sums:95 dh_movefiles:168 dh_perl:158 dh_python:288 dh_scrollkeeper:34 dh_shlibdeps:174 dh_strip:233 dh_suidregister:123 dh_testdir:50 dh_testroot:33 dh_testversion:81 dh_undocumented:34 dh_usrlocal:120
+#: debhelper.pod:575 dh_builddeb:94 dh_clean:136 dh_compress:198 dh_desktop:33 dh_fixperms:128 dh_gconf:110 dh_gencontrol:85 dh_installcatalogs:115 dh_installchangelogs:153 dh_installcron:67 dh_installdebconf:124 dh_installdeb:100 dh_installdirs:89 dh_installdocs:229 dh_installemacsen:117 dh_installexamples:109 dh_installinfo:80 dh_installinit:230 dh_installlogcheck:57 dh_installlogrotate:56 dh_installmanpages:203 dh_installman:257 dh_installmenu:88 dh_installmime:91 dh_installmodules:130 dh_installpam:58 dh_install:273 dh_installppp:62 dh_installwm:113 dh_installxfonts:92 dh_link:229 dh_listpackages:35 dh_makeshlibs:233 dh_md5sums:95 dh_movefiles:170 dh_perl:158 dh_python:288 dh_scrollkeeper:34 dh_shlibdeps:174 dh_strip:233 dh_suidregister:123 dh_testdir:50 dh_testroot:33 dh_testversion:81 dh_undocumented:34 dh_usrlocal:120
msgid "AUTHOR"
msgstr ""
#. type: textblock
-#: debhelper.pod:533 dh_builddeb:95 dh_clean:138 dh_compress:200 dh_fixperms:130 dh_gencontrol:87 dh_installchangelogs:155 dh_installcron:69 dh_installdebconf:126 dh_installdeb:102 dh_installdirs:91 dh_installdocs:231 dh_installemacsen:119 dh_installexamples:111 dh_installinfo:82 dh_installinit:232 dh_installlogrotate:58 dh_installmanpages:205 dh_installman:259 dh_installmenu:90 dh_installmime:93 dh_installmodules:132 dh_installpam:60 dh_install:275 dh_installppp:64 dh_installwm:115 dh_installxfonts:94 dh_link:231 dh_listpackages:37 dh_makeshlibs:235 dh_md5sums:97 dh_movefiles:170 dh_shlibdeps:176 dh_strip:235 dh_suidregister:125 dh_testdir:52 dh_testroot:35 dh_testversion:83 dh_undocumented:36
+#: debhelper.pod:577 dh_builddeb:96 dh_clean:138 dh_compress:200 dh_fixperms:130 dh_gencontrol:87 dh_installchangelogs:155 dh_installcron:69 dh_installdebconf:126 dh_installdeb:102 dh_installdirs:91 dh_installdocs:231 dh_installemacsen:119 dh_installexamples:111 dh_installinfo:82 dh_installinit:232 dh_installlogrotate:58 dh_installmanpages:205 dh_installman:259 dh_installmenu:90 dh_installmime:93 dh_installmodules:132 dh_installpam:60 dh_install:275 dh_installppp:64 dh_installwm:115 dh_installxfonts:94 dh_link:231 dh_listpackages:37 dh_makeshlibs:235 dh_md5sums:97 dh_movefiles:172 dh_shlibdeps:176 dh_strip:235 dh_suidregister:125 dh_testdir:52 dh_testroot:35 dh_testversion:83 dh_undocumented:36
msgid "Joey Hess <joeyh@debian.org>"
msgstr ""
@@ -1018,12 +1101,12 @@ msgid "Pass I<params> to L<dpkg-deb(1)> when it is used to build the package."
msgstr ""
#. type: textblock
-#: dh_builddeb:89 dh_clean:132 dh_compress:194 dh_fixperms:124 dh_gconf:106 dh_gencontrol:81 dh_installcatalogs:111 dh_installchangelogs:149 dh_installcron:63 dh_installdebconf:120 dh_installdeb:96 dh_installdirs:85 dh_installdocs:225 dh_installemacsen:113 dh_installexamples:105 dh_installinfo:76 dh_installinit:226 dh_installlogcheck:53 dh_installlogrotate:52 dh_installmanpages:199 dh_installman:253 dh_installmime:87 dh_installmodules:126 dh_installpam:54 dh_install:269 dh_installppp:58 dh_installwm:109 dh_installxfonts:88 dh_link:225 dh_listpackages:31 dh_makeshlibs:229 dh_md5sums:91 dh_movefiles:164 dh_perl:154 dh_python:284 dh_strip:229 dh_suidregister:119 dh_testdir:46 dh_testroot:29 dh_testversion:77 dh_undocumented:30 dh_usrlocal:116
+#: dh_builddeb:90 dh_clean:132 dh_compress:194 dh_fixperms:124 dh_gconf:106 dh_gencontrol:81 dh_installcatalogs:111 dh_installchangelogs:149 dh_installcron:63 dh_installdebconf:120 dh_installdeb:96 dh_installdirs:85 dh_installdocs:225 dh_installemacsen:113 dh_installexamples:105 dh_installinfo:76 dh_installinit:226 dh_installlogcheck:53 dh_installlogrotate:52 dh_installmanpages:199 dh_installman:253 dh_installmime:87 dh_installmodules:126 dh_installpam:54 dh_install:269 dh_installppp:58 dh_installwm:109 dh_installxfonts:88 dh_link:225 dh_listpackages:31 dh_makeshlibs:229 dh_md5sums:91 dh_movefiles:166 dh_perl:154 dh_python:284 dh_strip:229 dh_suidregister:119 dh_testdir:46 dh_testroot:29 dh_testversion:77 dh_undocumented:30 dh_usrlocal:116
msgid "L<debhelper(7)>"
msgstr ""
#. type: textblock
-#: dh_builddeb:91 dh_clean:134 dh_compress:196 dh_desktop:31 dh_fixperms:126 dh_gconf:108 dh_gencontrol:83 dh_installchangelogs:151 dh_installcron:65 dh_installdebconf:122 dh_installdeb:98 dh_installdirs:87 dh_installdocs:227 dh_installemacsen:115 dh_installexamples:107 dh_installinfo:78 dh_installinit:228 dh_installlogrotate:54 dh_installmanpages:201 dh_installman:255 dh_installmenu:86 dh_installmime:89 dh_installmodules:128 dh_installpam:56 dh_install:271 dh_installppp:60 dh_installwm:111 dh_installxfonts:90 dh_link:227 dh_listpackages:33 dh_makeshlibs:231 dh_md5sums:93 dh_movefiles:166 dh_perl:156 dh_python:286 dh_scrollkeeper:32 dh_shlibdeps:172 dh_strip:231 dh_suidregister:121 dh_testdir:48 dh_testroot:31 dh_testversion:79 dh_undocumented:32 dh_usrlocal:118
+#: dh_builddeb:92 dh_clean:134 dh_compress:196 dh_desktop:31 dh_fixperms:126 dh_gconf:108 dh_gencontrol:83 dh_installchangelogs:151 dh_installcron:65 dh_installdebconf:122 dh_installdeb:98 dh_installdirs:87 dh_installdocs:227 dh_installemacsen:115 dh_installexamples:107 dh_installinfo:78 dh_installinit:228 dh_installlogrotate:54 dh_installmanpages:201 dh_installman:255 dh_installmenu:86 dh_installmime:89 dh_installmodules:128 dh_installpam:56 dh_install:271 dh_installppp:60 dh_installwm:111 dh_installxfonts:90 dh_link:227 dh_listpackages:33 dh_makeshlibs:231 dh_md5sums:93 dh_movefiles:168 dh_perl:156 dh_python:286 dh_scrollkeeper:32 dh_shlibdeps:172 dh_strip:231 dh_suidregister:121 dh_testdir:48 dh_testroot:31 dh_testversion:79 dh_undocumented:32 dh_usrlocal:118
msgid "This program is a part of debhelper."
msgstr ""
@@ -1064,7 +1147,7 @@ msgstr ""
#: dh_clean:27
msgid ""
"It does not run \"make clean\" to clean up after the build process. Use "
-"L<dh_auto_clean(1)> to do that."
+"L<dh_auto_clean(1)> to do things like that."
msgstr ""
#. type: textblock
@@ -1520,7 +1603,7 @@ msgid ""
msgstr ""
#. type: =item
-#: dh_installchangelogs:56 dh_installdocs:58 dh_installexamples:43 dh_install:93 dh_link:57 dh_movefiles:44
+#: dh_installchangelogs:56 dh_installdocs:58 dh_installexamples:43 dh_install:69 dh_link:57 dh_movefiles:44
msgid "B<-Xitem>, B<--exclude=item>"
msgstr ""
@@ -1995,7 +2078,7 @@ msgid ""
msgstr ""
#. type: textblock
-#: dh_installexamples:45 dh_install:95 dh_movefiles:46
+#: dh_installexamples:45 dh_install:71 dh_movefiles:46
msgid ""
"Exclude files that contain \"item\" anywhere in their filename from being "
"installed."
@@ -2718,44 +2801,39 @@ msgstr ""
#. type: =item
#: dh_install:51
-msgid "B<--autodest>"
+msgid "B<--list-missing>"
msgstr ""
#. type: textblock
#: dh_install:53
msgid ""
-"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:"
+"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."
msgstr ""
#. type: textblock
#: dh_install:58
msgid ""
-"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/."
+"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."
msgstr ""
#. type: textblock
-#: dh_install:64
+#: dh_install:61
msgid ""
-"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."
+"Note that files that are excluded from being moved via the -X option are not "
+"warned about."
msgstr ""
#. type: =item
-#: dh_install:69
+#: dh_install:64
msgid "B<--fail-missing>"
msgstr ""
#. type: textblock
-#: dh_install:71
+#: dh_install:66
msgid ""
"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."
@@ -2763,51 +2841,63 @@ msgstr ""
#. type: =item
#: dh_install:74
-msgid "B<--list-missing>"
+msgid "B<--sourcedir=dir>"
msgstr ""
#. type: textblock
#: dh_install:76
-msgid ""
-"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."
+msgid "Look in the specified directory for files to be installed."
msgstr ""
#. type: textblock
-#: dh_install:81
+#: dh_install:78
msgid ""
-"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 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."
+msgstr ""
+
+#. type: =item
+#: dh_install:83
+msgid "B<--autodest>"
msgstr ""
#. type: textblock
-#: dh_install:84
+#: dh_install:85
msgid ""
-"Note that files that are excluded from being moved via the -X option are not "
-"warned about."
+"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:"
msgstr ""
-#. type: =item
-#: dh_install:87
-msgid "B<--sourcedir=dir>"
+#. type: textblock
+#: dh_install:90
+msgid ""
+"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/."
msgstr ""
#. type: textblock
-#: dh_install:89
+#: dh_install:96
msgid ""
-"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."
+"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."
msgstr ""
#. type: =item
-#: dh_install:98
+#: dh_install:101
msgid "I<file [...] dest>"
msgstr ""
#. type: textblock
-#: dh_install:100
+#: dh_install:103
msgid ""
"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."
diff --git a/man/po4a/po/es.po b/man/po4a/po/es.po
index d20392e4..af351b61 100644
--- a/man/po4a/po/es.po
+++ b/man/po4a/po/es.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2009-06-29 15:35-0300\n"
+"POT-Creation-Date: 2009-07-01 15:31-0300\n"
"PO-Revision-Date: 2005-09-18 00:11+0200\n"
"Last-Translator: Rubén Porras Campo <debian-l10n-spanish@lists.debian.org>\n"
"Language-Team: SPANISH <debian-l10n-spanish@lists.debian.org>\n"
@@ -534,9 +534,100 @@ msgstr ""
"Hace que los archivos o elementos especificados en la línea de órdenes "
"tengan efecto en TODOS los paquetes sobre los que actúa, no sólo el primero."
+#. type: =head1
+#: debhelper.pod:177
+msgid "BUILD SYSTEM OPTIONS"
+msgstr ""
+
+#. type: textblock
+#: debhelper.pod:179
+msgid ""
+"The following command line options are supported by all of the dh_auto_* "
+"debhelper programs. These programs support a variety of build systems, and "
+"normally heuristically determine which to use, and how to use them. You can "
+"use these command line options to override the default behavior."
+msgstr ""
+
+# type: =item
+#. type: =item
+#: debhelper.pod:186
+#, fuzzy
+msgid "B<-S>I<buildsystem>, B<--buildsystem=>I<buildsystem>"
+msgstr "B<-X>I<elemento>, B<--exclude=>I<elemento>"
+
+#. type: textblock
+#: debhelper.pod:188
+msgid ""
+"Force use of the specified I<buildsystem>, instead of trying to auto-select "
+"one which might be applicable for the package."
+msgstr ""
+
+# type: =item
+#. type: =item
+#: debhelper.pod:191
+#, fuzzy
+msgid "B<-D>I<directory>, B<--sourcedirectory=>I<directory>"
+msgstr "B<-l>I<directorio>[:directorio:directorio:..]"
+
+#. type: textblock
+#: debhelper.pod:193
+msgid ""
+"Assume that the original package source tree is at the specified "
+"I<directory> rather than the top level directory of the Debian source "
+"package tree."
+msgstr ""
+
+# type: =item
+#. type: =item
+#: debhelper.pod:197
+#, fuzzy
+msgid "B<-B>[I<directory>], B<--builddirectory>=[I<directory>]"
+msgstr "B<-l>I<directorio>[:directorio:directorio:..]"
+
+#. type: textblock
+#: debhelper.pod:199
+msgid ""
+"Enable out of source building and use the specified I<directory> as the "
+"build directory. If I<directory> parameter is omitted, a default build "
+"directory will chosen."
+msgstr ""
+
+#. type: textblock
+#: debhelper.pod:203
+msgid ""
+"If this option is not specified, building will be done in source by default "
+"unless the build system requires or prefers out of source tree building. In "
+"such a case, the default build directory will be used even if L<--"
+"builddirectory> is not specified."
+msgstr ""
+
+#. type: textblock
+#: debhelper.pod:208
+msgid ""
+"If the build system prefers out of source tree building but still allows in "
+"source building, the latter can be re-enabled by passing a build directory "
+"path that is the same as the source directory path."
+msgstr ""
+
+# type: =item
+#. type: =item
+#: debhelper.pod:212
+#, fuzzy
+msgid "B<--list>, B<-l>"
+msgstr "B<-A>, B<--all>"
+
+#. type: textblock
+#: debhelper.pod:214
+msgid ""
+"List all build systems supported by debhelper on this system. The list "
+"includes both default and third party build systems (marked as such). Also "
+"shows which build system would be automatically selected, or which one is "
+"manually specified with the I<--buildsystem> option."
+msgstr ""
+
# type: =head1
#. type: =head1
-#: debhelper.pod:177 dh_installcatalogs:52 dh_installdocs:81
+#: debhelper.pod:221 dh_installcatalogs:52 dh_installdocs:81
#: dh_installemacsen:54 dh_installexamples:50 dh_installinit:110
#: dh_installman:79 dh_installmime:41 dh_installmodules:60 dh_installwm:53
#: dh_installxfonts:37 dh_movefiles:58 dh_strip:68 dh_usrlocal:49
@@ -545,13 +636,13 @@ msgstr "NOTAS"
# type: =head2
#. type: =head2
-#: debhelper.pod:179
+#: debhelper.pod:223
msgid "Multiple binary package support"
msgstr "Soporte para varios paquetes binarios"
# type: textblock
#. type: textblock
-#: debhelper.pod:181
+#: debhelper.pod:225
msgid ""
"If your source package generates more than one binary package, debhelper "
"programs will default to acting on all binary packages when run. If your "
@@ -571,7 +662,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:189
+#: debhelper.pod:233
msgid ""
"To facilitate this, as well as give you more control over which packages are "
"acted on by debhelper programs, all debhelper programs accept the B<-a>, B<-"
@@ -587,13 +678,13 @@ msgstr ""
# type: =head2
#. type: =head2
-#: debhelper.pod:195
+#: debhelper.pod:239
msgid "Automatic generation of debian install scripts"
msgstr "Generación automática de los scripts de instalación de debian"
# type: textblock
#. type: textblock
-#: debhelper.pod:197
+#: debhelper.pod:241
msgid ""
"Some debhelper commands will automatically generate parts of debian "
"maintainer scripts. If you want these automatically generated things "
@@ -611,7 +702,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:204
+#: debhelper.pod:248
msgid ""
"If a script does not exist at all and debhelper needs to add something to "
"it, then debhelper will create the complete script."
@@ -621,7 +712,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:207
+#: debhelper.pod:251
msgid ""
"All debhelper commands that automatically generate code in this way let it "
"be disabled by the -n parameter (see above)."
@@ -631,7 +722,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:210
+#: debhelper.pod:254
msgid ""
"Note that the inserted code will be shell code, so you cannot directly use "
"it in a perl script. If you would like to embed it into a perl script, here "
@@ -645,7 +736,7 @@ msgstr ""
# type: verbatim
#. type: verbatim
-#: debhelper.pod:215
+#: debhelper.pod:259
#, no-wrap
msgid ""
" my $temp=\"set -e\\nset -- @ARGV\\n\" . << 'EOF';\n"
@@ -664,13 +755,13 @@ msgstr ""
# type: =head2
#. type: =head2
-#: debhelper.pod:221
+#: debhelper.pod:265
msgid "Automatic generation of miscellaneous dependencies."
msgstr "Generación automática de diversas dependencias."
# type: textblock
#. type: textblock
-#: debhelper.pod:223
+#: debhelper.pod:267
msgid ""
"Some debhelper commands may make the generated package need to depend on "
"some other packages. For example, if you use L<dh_installdebconf(1)>, your "
@@ -690,7 +781,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:231
+#: debhelper.pod:275
msgid ""
"All commands of this type, besides documenting what dependencies may be "
"needed on their man pages, will automatically generate a substvar called "
@@ -705,7 +796,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:236
+#: debhelper.pod:280
msgid ""
"This is entirely independent of the standard ${shlibs:Depends} generated by "
"L<dh_makeshlibs(1)>, and the ${perl:Depends} generated by L<dh_perl(1)>. "
@@ -719,13 +810,13 @@ msgstr ""
# type: =head2
#. type: =head2
-#: debhelper.pod:241
+#: debhelper.pod:285
msgid "Package build directories"
msgstr "Directorios de construcción del paquete"
# type: textblock
#. type: textblock
-#: debhelper.pod:243
+#: debhelper.pod:287
msgid ""
"By default, all debhelper programs assume that the temporary directory used "
"for assembling the tree of files in a package is debian/<package>."
@@ -736,7 +827,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:246
+#: debhelper.pod:290
msgid ""
"Sometimes, you might want to use some other temporary directory. This is "
"supported by the -P flag. For example, \"dh_installdocs -Pdebian/tmp\", will "
@@ -756,13 +847,13 @@ msgstr ""
# type: =head2
#. type: =head2
-#: debhelper.pod:254
+#: debhelper.pod:298
msgid "Debhelper compatibility levels"
msgstr "Niveles de compatibilidad de debhelper"
# type: textblock
#. type: textblock
-#: debhelper.pod:256
+#: debhelper.pod:300
msgid ""
"From time to time, major non-backwards-compatible changes need to be made to "
"debhelper, to keep it clean and well-designed as needs change and its author "
@@ -781,7 +872,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:263
+#: debhelper.pod:307
#, fuzzy
msgid ""
"Tell debhelper what compatibility level to use by writing a number to debian/"
@@ -792,7 +883,7 @@ msgstr ""
# type: verbatim
#. type: verbatim
-#: debhelper.pod:266
+#: debhelper.pod:310
#, fuzzy, no-wrap
msgid ""
" % echo 7 > debian/compat\n"
@@ -803,7 +894,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:268
+#: debhelper.pod:312
msgid ""
"Unless otherwise indicated, all debhelper documentation assumes that you are "
"using the most recent compatibility level, and in most cases does not "
@@ -814,19 +905,19 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:275
+#: debhelper.pod:319
msgid "These are the available compatibility levels:"
msgstr "Los niveles de compatibilidad disponibles son:"
# type: =item
#. type: =item
-#: debhelper.pod:279
+#: debhelper.pod:323
msgid "V1"
msgstr "V1"
# type: textblock
#. type: textblock
-#: debhelper.pod:281
+#: debhelper.pod:325
msgid ""
"This is the original debhelper compatibility level, and so it is the default "
"one. In this mode, debhelper will use debian/tmp as the package tree "
@@ -840,19 +931,19 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:286 debhelper.pod:293 debhelper.pod:316 debhelper.pod:345
+#: debhelper.pod:330 debhelper.pod:337 debhelper.pod:360 debhelper.pod:389
msgid "This mode is deprecated."
msgstr "Este modo está desaconsejado."
# type: =item
#. type: =item
-#: debhelper.pod:288
+#: debhelper.pod:332
msgid "V2"
msgstr "V2"
# type: textblock
#. type: textblock
-#: debhelper.pod:290
+#: debhelper.pod:334
msgid ""
"In this mode, debhelper will consistently use debian/<package> as the "
"package tree directory for every package that is built."
@@ -862,29 +953,29 @@ msgstr ""
# type: =item
#. type: =item
-#: debhelper.pod:295
+#: debhelper.pod:339
msgid "V3"
msgstr "V3"
# type: textblock
#. type: textblock
-#: debhelper.pod:297
+#: debhelper.pod:341
msgid "This mode works like V2, with the following additions:"
msgstr "Este modo funciona como el V2 con los siguientes añadidos:"
# type: =item
#. type: =item
-#: debhelper.pod:301 debhelper.pod:306 debhelper.pod:310 debhelper.pod:324
-#: debhelper.pod:329 debhelper.pod:334 debhelper.pod:339 debhelper.pod:353
-#: debhelper.pod:357 debhelper.pod:362 debhelper.pod:366 debhelper.pod:378
-#: debhelper.pod:383 debhelper.pod:389 debhelper.pod:395 debhelper.pod:410
-#: debhelper.pod:417 debhelper.pod:421 debhelper.pod:425
+#: debhelper.pod:345 debhelper.pod:350 debhelper.pod:354 debhelper.pod:368
+#: debhelper.pod:373 debhelper.pod:378 debhelper.pod:383 debhelper.pod:397
+#: debhelper.pod:401 debhelper.pod:406 debhelper.pod:410 debhelper.pod:422
+#: debhelper.pod:427 debhelper.pod:433 debhelper.pod:439 debhelper.pod:454
+#: debhelper.pod:461 debhelper.pod:465 debhelper.pod:469
msgid "-"
msgstr "-"
# type: textblock
#. type: textblock
-#: debhelper.pod:303
+#: debhelper.pod:347
msgid ""
"Debhelper config files support globbing via * and ?, when appropriate. To "
"turn this off and use those characters raw, just prefix with a backslash."
@@ -895,14 +986,14 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:308
+#: debhelper.pod:352
msgid "dh_makeshlibs makes the postinst and postrm scripts call ldconfig."
msgstr ""
"dh_makeshlibs hace que los scripts postinst y postrm ejecuten ldconfig."
# type: textblock
#. type: textblock
-#: debhelper.pod:312
+#: debhelper.pod:356
msgid ""
"Every file in etc/ is automatically flagged as a conffile by dh_installdeb."
msgstr ""
@@ -911,19 +1002,19 @@ msgstr ""
# type: =item
#. type: =item
-#: debhelper.pod:318
+#: debhelper.pod:362
msgid "V4"
msgstr "V4"
# type: textblock
#. type: textblock
-#: debhelper.pod:320
+#: debhelper.pod:364
msgid "Changes from V3 are:"
msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:326
+#: debhelper.pod:370
msgid ""
"dh_makeshlibs -V will not include the debian part of the version number in "
"the generated dependency line in the shlibs file."
@@ -933,7 +1024,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:331
+#: debhelper.pod:375
msgid ""
"You are encouraged to put the new ${misc:Depends} into debian/control to "
"supplement the ${shlibs:Depends} field."
@@ -943,7 +1034,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:336
+#: debhelper.pod:380
msgid ""
"dh_fixperms will make all files in bin/ directories and in etc/init.d "
"executable."
@@ -953,7 +1044,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:341
+#: debhelper.pod:385
msgid "dh_link will correct existing links to conform with policy."
msgstr ""
"dh_link corregirá los enlaces existentes para ajustarse a la política de "
@@ -961,26 +1052,26 @@ msgstr ""
# type: =item
#. type: =item
-#: debhelper.pod:347
+#: debhelper.pod:391
msgid "V5"
msgstr "V5"
# type: textblock
#. type: textblock
-#: debhelper.pod:349
+#: debhelper.pod:393
msgid "Changes from V4 are:"
msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:355
+#: debhelper.pod:399
msgid "Comments are ignored in debhelper config files."
msgstr ""
"Se ignoran los comentarios en los ficheros de configuración de debhelper."
# type: textblock
#. type: textblock
-#: debhelper.pod:359
+#: debhelper.pod:403
msgid ""
"dh_strip --dbg-package now specifies the name of a package to put debugging "
"symbols in, not the packages to take the symbols from."
@@ -991,31 +1082,31 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:364
+#: debhelper.pod:408
msgid "dh_installdocs skips installing empty files."
msgstr "dh_installdocs no instala ficheros vacíos."
# type: textblock
#. type: textblock
-#: debhelper.pod:368
+#: debhelper.pod:412
msgid "dh_install errors out if wildcards expand to nothing."
msgstr ""
# type: =item
#. type: =item
-#: debhelper.pod:372
+#: debhelper.pod:416
msgid "V6"
msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:374
+#: debhelper.pod:418
msgid "Changes from V5 are:"
msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:380
+#: debhelper.pod:424
msgid ""
"Commands that generate maintainer script fragments will order the fragments "
"in reverse order for the prerm and postrm scripts."
@@ -1023,7 +1114,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:385
+#: debhelper.pod:429
#, fuzzy
msgid ""
"dh_installwm will install a slave manpage link for x-window-manager.1.gz, if "
@@ -1032,7 +1123,7 @@ msgstr "dh_installwm - registra un gestor de ventanas"
# type: textblock
#. type: textblock
-#: debhelper.pod:391
+#: debhelper.pod:435
msgid ""
"dh_builddeb did not previously delete everything matching DH_ALWAYS_EXCLUDE, "
"if it was set to a list of things to exclude, such as \"CVS:.svn:.git\". Now "
@@ -1041,7 +1132,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:397
+#: debhelper.pod:441
msgid ""
"dh_installman allows overwriting existing man pages in the package build "
"directory. In previous compatibility levels it silently refuses to do this."
@@ -1049,13 +1140,13 @@ msgstr ""
# type: =item
#. type: =item
-#: debhelper.pod:402
+#: debhelper.pod:446
msgid "V7"
msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:404
+#: debhelper.pod:448
#, fuzzy
msgid "This is the recommended mode of operation."
msgstr ""
@@ -1063,13 +1154,13 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:406
+#: debhelper.pod:450
msgid "Changes from V6 are:"
msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:412
+#: debhelper.pod:456
msgid ""
"dh_install, will fall back to looking for files in debian/tmp if it doesn't "
"find them in the current directory (or wherever you tell it look using --"
@@ -1079,19 +1170,19 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:419
+#: debhelper.pod:463
msgid "dh_clean will read debian/clean and delete files listed there."
msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:423
+#: debhelper.pod:467
msgid "dh_clean will delete toplevel *-stamp files."
msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:427
+#: debhelper.pod:471
msgid ""
"dh_installchangelogs will guess at what file is the upstream changelog if "
"none is specified."
@@ -1099,13 +1190,13 @@ msgstr ""
# type: =head2
#. type: =head2
-#: debhelper.pod:434
+#: debhelper.pod:478
msgid "Doc directory symlinks"
msgstr "Enlaces a los directorios Doc"
# type: textblock
#. type: textblock
-#: debhelper.pod:436
+#: debhelper.pod:480
msgid ""
"Sometimes it is useful to make a package not contain a /usr/share/doc/"
"package directory at all, instead placing just a dangling symlink in the "
@@ -1128,13 +1219,13 @@ msgstr ""
# type: =head2
#. type: =head2
-#: debhelper.pod:445
+#: debhelper.pod:489
msgid "udebs"
msgstr "udebs"
# type: textblock
#. type: textblock
-#: debhelper.pod:447
+#: debhelper.pod:491
msgid ""
"Debhelper includes support for udebs. To create a udeb with debhelper, add "
"\"XC-Package-Type: udeb\" to the package's stanza in debian/control, and "
@@ -1153,13 +1244,13 @@ msgstr ""
# type: =head2
#. type: =head2
-#: debhelper.pod:454
+#: debhelper.pod:498
msgid "Other notes"
msgstr "Otras notas"
# type: textblock
#. type: textblock
-#: debhelper.pod:456
+#: debhelper.pod:500
msgid ""
"In general, if any debhelper program needs a directory to exist under "
"debian/, it will create it. I haven't bothered to document this in all the "
@@ -1176,7 +1267,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:462
+#: debhelper.pod:506
#, fuzzy
msgid ""
"Once your package uses debhelper to build, be sure to add debhelper to your "
@@ -1192,7 +1283,7 @@ msgstr ""
# type: verbatim
#. type: verbatim
-#: debhelper.pod:468
+#: debhelper.pod:512
#, fuzzy, no-wrap
msgid ""
" Build-Depends: debhelper (>= 7)\n"
@@ -1203,19 +1294,19 @@ msgstr ""
# type: =head1
#. type: =head1
-#: debhelper.pod:470
+#: debhelper.pod:514
msgid "ENVIRONMENT"
msgstr "ENTORNO"
# type: =item
#. type: =item
-#: debhelper.pod:474
+#: debhelper.pod:518
msgid "DH_VERBOSE"
msgstr "DH_VERBOSE"
# type: textblock
#. type: textblock
-#: debhelper.pod:476
+#: debhelper.pod:520
msgid ""
"Set to 1 to enable verbose mode. Debhelper will output every command it runs "
"that modifies files on the build system."
@@ -1226,13 +1317,13 @@ msgstr ""
# type: =item
#. type: =item
-#: debhelper.pod:479
+#: debhelper.pod:523
msgid "DH_COMPAT"
msgstr "DH_COMPAT"
# type: textblock
#. type: textblock
-#: debhelper.pod:481
+#: debhelper.pod:525
msgid ""
"Temporarily specifies what compatibility level debhelper should run at, "
"overriding any value in debian/compat."
@@ -1242,25 +1333,25 @@ msgstr ""
# type: =item
#. type: =item
-#: debhelper.pod:484
+#: debhelper.pod:528
msgid "DH_NO_ACT"
msgstr "DH_NO_ACT"
# type: textblock
#. type: textblock
-#: debhelper.pod:486
+#: debhelper.pod:530
msgid "Set to 1 to enable no-act mode."
msgstr "Poner a 1 para habilitar el modo no-act."
# type: =item
#. type: =item
-#: debhelper.pod:488
+#: debhelper.pod:532
msgid "DH_OPTIONS"
msgstr "DH_OPTIONS"
# type: textblock
#. type: textblock
-#: debhelper.pod:490
+#: debhelper.pod:534
msgid ""
"Anything in this variable will be prepended to the command line arguments of "
"all debhelper commands. Command-specific options will be ignored by commands "
@@ -1269,7 +1360,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:494
+#: debhelper.pod:538
#, fuzzy
msgid ""
"This is useful in some situations, for example, if you need to pass -p to "
@@ -1286,13 +1377,13 @@ msgstr ""
# type: =item
#. type: =item
-#: debhelper.pod:499
+#: debhelper.pod:543
msgid "DH_ALWAYS_EXCLUDE"
msgstr "DH_ALWAYS_EXCLUDE"
# type: textblock
#. type: textblock
-#: debhelper.pod:501
+#: debhelper.pod:545
msgid ""
"If set, this adds the value the variable is set to to the -X options of all "
"commands that support the -X option. Moreover, dh_builddeb will rm -rf "
@@ -1304,7 +1395,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:505
+#: debhelper.pod:549
msgid ""
"This can be useful if you are doing a build from a CVS source tree, in which "
"case setting DH_ALWAYS_EXCLUDE=CVS will prevent any CVS directories from "
@@ -1322,7 +1413,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:512
+#: debhelper.pod:556
msgid ""
"Multiple things to exclude can be separated with colons, as in "
"DH_ALWAYS_EXCLUDE=CVS:.svn"
@@ -1332,7 +1423,7 @@ msgstr ""
# type: =head1
#. type: =head1
-#: debhelper.pod:517 dh_builddeb:87 dh_clean:130 dh_compress:192 dh_desktop:27
+#: debhelper.pod:561 dh_builddeb:88 dh_clean:130 dh_compress:192 dh_desktop:27
#: dh_fixperms:122 dh_gconf:104 dh_gencontrol:79 dh_installcatalogs:109
#: dh_installchangelogs:147 dh_installcron:61 dh_installdebconf:118
#: dh_installdeb:94 dh_installdirs:83 dh_installdocs:223 dh_installemacsen:111
@@ -1341,7 +1432,7 @@ msgstr ""
#: dh_installman:251 dh_installmenu:80 dh_installmime:85 dh_installmodules:124
#: dh_installpam:52 dh_install:267 dh_installppp:56 dh_installwm:107
#: dh_installxfonts:86 dh_link:223 dh_listpackages:29 dh_makeshlibs:227
-#: dh_md5sums:89 dh_movefiles:162 dh_perl:152 dh_python:282 dh_scrollkeeper:28
+#: dh_md5sums:89 dh_movefiles:164 dh_perl:152 dh_python:282 dh_scrollkeeper:28
#: dh_shlibdeps:168 dh_strip:227 dh_suidregister:117 dh_testdir:44
#: dh_testroot:27 dh_testversion:75 dh_undocumented:28 dh_usrlocal:114
msgid "SEE ALSO"
@@ -1349,31 +1440,31 @@ msgstr "VÉASE ADEMÁS"
# type: =item
#. type: =item
-#: debhelper.pod:521
+#: debhelper.pod:565
msgid "F</usr/share/doc/debhelper/examples/>"
msgstr "F</usr/share/doc/debhelper/examples/>"
# type: textblock
#. type: textblock
-#: debhelper.pod:523
+#: debhelper.pod:567
msgid "A set of example debian/rules files that use debhelper."
msgstr "Varios ficheros de ejemplo debian/rules que usan debhelper."
# type: =item
#. type: =item
-#: debhelper.pod:525
+#: debhelper.pod:569
msgid "L<http://kitenet.net/~joey/code/debhelper/>"
msgstr "L<http://kitenet.net/~joey/code/debhelper/>"
# type: textblock
#. type: textblock
-#: debhelper.pod:527
+#: debhelper.pod:571
msgid "Debhelper web site."
msgstr "Web de Debhelper."
# type: =head1
#. type: =head1
-#: debhelper.pod:531 dh_builddeb:93 dh_clean:136 dh_compress:198 dh_desktop:33
+#: debhelper.pod:575 dh_builddeb:94 dh_clean:136 dh_compress:198 dh_desktop:33
#: dh_fixperms:128 dh_gconf:110 dh_gencontrol:85 dh_installcatalogs:115
#: dh_installchangelogs:153 dh_installcron:67 dh_installdebconf:124
#: dh_installdeb:100 dh_installdirs:89 dh_installdocs:229
@@ -1382,7 +1473,7 @@ msgstr "Web de Debhelper."
#: dh_installmanpages:203 dh_installman:257 dh_installmenu:88
#: dh_installmime:91 dh_installmodules:130 dh_installpam:58 dh_install:273
#: dh_installppp:62 dh_installwm:113 dh_installxfonts:92 dh_link:229
-#: dh_listpackages:35 dh_makeshlibs:233 dh_md5sums:95 dh_movefiles:168
+#: dh_listpackages:35 dh_makeshlibs:233 dh_md5sums:95 dh_movefiles:170
#: dh_perl:158 dh_python:288 dh_scrollkeeper:34 dh_shlibdeps:174 dh_strip:233
#: dh_suidregister:123 dh_testdir:50 dh_testroot:33 dh_testversion:81
#: dh_undocumented:34 dh_usrlocal:120
@@ -1391,7 +1482,7 @@ msgstr "AUTOR"
# type: textblock
#. type: textblock
-#: debhelper.pod:533 dh_builddeb:95 dh_clean:138 dh_compress:200
+#: debhelper.pod:577 dh_builddeb:96 dh_clean:138 dh_compress:200
#: dh_fixperms:130 dh_gencontrol:87 dh_installchangelogs:155 dh_installcron:69
#: dh_installdebconf:126 dh_installdeb:102 dh_installdirs:91
#: dh_installdocs:231 dh_installemacsen:119 dh_installexamples:111
@@ -1399,7 +1490,7 @@ msgstr "AUTOR"
#: dh_installmanpages:205 dh_installman:259 dh_installmenu:90
#: dh_installmime:93 dh_installmodules:132 dh_installpam:60 dh_install:275
#: dh_installppp:64 dh_installwm:115 dh_installxfonts:94 dh_link:231
-#: dh_listpackages:37 dh_makeshlibs:235 dh_md5sums:97 dh_movefiles:170
+#: dh_listpackages:37 dh_makeshlibs:235 dh_md5sums:97 dh_movefiles:172
#: dh_shlibdeps:176 dh_strip:235 dh_suidregister:125 dh_testdir:52
#: dh_testroot:35 dh_testversion:83 dh_undocumented:36
msgid "Joey Hess <joeyh@debian.org>"
@@ -1499,7 +1590,7 @@ msgstr "Pasa I<parámetros> a L<dpkg-deb(1)> cuando se construye el paquete."
# type: textblock
#. type: textblock
-#: dh_builddeb:89 dh_clean:132 dh_compress:194 dh_fixperms:124 dh_gconf:106
+#: dh_builddeb:90 dh_clean:132 dh_compress:194 dh_fixperms:124 dh_gconf:106
#: dh_gencontrol:81 dh_installcatalogs:111 dh_installchangelogs:149
#: dh_installcron:63 dh_installdebconf:120 dh_installdeb:96 dh_installdirs:85
#: dh_installdocs:225 dh_installemacsen:113 dh_installexamples:105
@@ -1507,7 +1598,7 @@ msgstr "Pasa I<parámetros> a L<dpkg-deb(1)> cuando se construye el paquete."
#: dh_installlogrotate:52 dh_installmanpages:199 dh_installman:253
#: dh_installmime:87 dh_installmodules:126 dh_installpam:54 dh_install:269
#: dh_installppp:58 dh_installwm:109 dh_installxfonts:88 dh_link:225
-#: dh_listpackages:31 dh_makeshlibs:229 dh_md5sums:91 dh_movefiles:164
+#: dh_listpackages:31 dh_makeshlibs:229 dh_md5sums:91 dh_movefiles:166
#: dh_perl:154 dh_python:284 dh_strip:229 dh_suidregister:119 dh_testdir:46
#: dh_testroot:29 dh_testversion:77 dh_undocumented:30 dh_usrlocal:116
msgid "L<debhelper(7)>"
@@ -1515,7 +1606,7 @@ msgstr "L<debhelper(7)>"
# type: textblock
#. type: textblock
-#: dh_builddeb:91 dh_clean:134 dh_compress:196 dh_desktop:31 dh_fixperms:126
+#: dh_builddeb:92 dh_clean:134 dh_compress:196 dh_desktop:31 dh_fixperms:126
#: dh_gconf:108 dh_gencontrol:83 dh_installchangelogs:151 dh_installcron:65
#: dh_installdebconf:122 dh_installdeb:98 dh_installdirs:87 dh_installdocs:227
#: dh_installemacsen:115 dh_installexamples:107 dh_installinfo:78
@@ -1523,7 +1614,7 @@ msgstr "L<debhelper(7)>"
#: dh_installman:255 dh_installmenu:86 dh_installmime:89 dh_installmodules:128
#: dh_installpam:56 dh_install:271 dh_installppp:60 dh_installwm:111
#: dh_installxfonts:90 dh_link:227 dh_listpackages:33 dh_makeshlibs:231
-#: dh_md5sums:93 dh_movefiles:166 dh_perl:156 dh_python:286 dh_scrollkeeper:32
+#: dh_md5sums:93 dh_movefiles:168 dh_perl:156 dh_python:286 dh_scrollkeeper:32
#: dh_shlibdeps:172 dh_strip:231 dh_suidregister:121 dh_testdir:48
#: dh_testroot:31 dh_testversion:79 dh_undocumented:32 dh_usrlocal:118
msgid "This program is a part of debhelper."
@@ -1575,12 +1666,11 @@ msgstr ""
"Ficheros llamados debian/paquete.info pueden listar otros ficheros a "
"instalar."
-# type: textblock
#. type: textblock
#: dh_clean:27
msgid ""
"It does not run \"make clean\" to clean up after the build process. Use "
-"L<dh_auto_clean(1)> to do that."
+"L<dh_auto_clean(1)> to do things like that."
msgstr ""
# type: textblock
@@ -2238,7 +2328,7 @@ msgstr ""
# type: =item
#. type: =item
#: dh_installchangelogs:56 dh_installdocs:58 dh_installexamples:43
-#: dh_install:93 dh_link:57 dh_movefiles:44
+#: dh_install:69 dh_link:57 dh_movefiles:44
msgid "B<-Xitem>, B<--exclude=item>"
msgstr "B<-Xelemento>, B<--exclude=elemento>"
@@ -2950,7 +3040,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: dh_installexamples:45 dh_install:95 dh_movefiles:46
+#: dh_installexamples:45 dh_install:71 dh_movefiles:46
msgid ""
"Exclude files that contain \"item\" anywhere in their filename from being "
"installed."
@@ -4002,63 +4092,54 @@ msgstr ""
# type: =item
#. type: =item
#: dh_install:51
-msgid "B<--autodest>"
-msgstr "B<--autodest>"
+msgid "B<--list-missing>"
+msgstr "B<--list-missing>"
# type: textblock
#. type: textblock
#: dh_install:53
msgid ""
-"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:"
+"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."
msgstr ""
-"Adivina el directorio donde instalar las cosas. Si se especifica no se deben "
-"listar los directorios de destino en los ficheros debian/paquete.install o "
-"en la línea de órdenes. En vez de esto, dh_install lo adivinará del "
-"siguiente modo:"
+"Esta opción hace que dh_install lleve la cuenta de los ficheros que instala, "
+"y al final, compare esa lista con los ficheros en el directorio fuente. Si "
+"alguno de los ficheros (o enlaces simbólicos) en el directorio fuente no se "
+"instalaron en algún lugar, dará un aviso a través de la salida de error "
+"estándar."
# type: textblock
#. type: textblock
#: dh_install:58
msgid ""
-"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/."
+"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."
msgstr ""
-"Si está presente elimina debian/tmp (o el \"sourcedir\", si se proporciona) "
-"del principio del nombre del fichero, y después lo instala en el directorio "
-"que forma parte del nombre del fichero. Esto es, si el nombre del fichero es "
-"debian/tmp/usr/bin, el directorio se copiará a debian/paquete/usr/. Si el "
-"nombre del fichero es debian/tmp/etc/passwd, se copiará a debian/paquete/"
-"etc/."
+"Esto puede ser útil si tiene un paquete grande y quiere asegurarse de que no "
+"se olvida de instalar ningún fichero nuevo añadido en una nueva versión del "
+"programa."
# type: textblock
#. type: textblock
-#: dh_install:64
+#: dh_install:61
msgid ""
-"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."
+"Note that files that are excluded from being moved via the -X option are not "
+"warned about."
msgstr ""
-"Dese cuenta que si lista exactamente un nombre o patrón de comodines en una "
-"línea en el fichero debian/paquete.install, sin ningún destino explícito, "
-"entonces dh_install adivinará automáticamente el destino, incluso si no se "
-"ha usado esta opción."
+"Dese cuenta de que no se avisa de los fichero excluidos mediante la opción -"
+"X."
# type: =item
#. type: =item
-#: dh_install:69
+#: dh_install:64
msgid "B<--fail-missing>"
msgstr "B<--fail-missing>"
# type: textblock
#. type: textblock
-#: dh_install:71
+#: dh_install:66
msgid ""
"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."
@@ -4070,71 +4151,83 @@ msgstr ""
# type: =item
#. type: =item
#: dh_install:74
-msgid "B<--list-missing>"
-msgstr "B<--list-missing>"
+msgid "B<--sourcedir=dir>"
+msgstr "B<--sourcedir=dir>"
-# type: textblock
#. type: textblock
#: dh_install:76
+msgid "Look in the specified directory for files to be installed."
+msgstr ""
+
+#. type: textblock
+#: dh_install:78
msgid ""
-"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."
+"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."
msgstr ""
-"Esta opción hace que dh_install lleve la cuenta de los ficheros que instala, "
-"y al final, compare esa lista con los ficheros en el directorio fuente. Si "
-"alguno de los ficheros (o enlaces simbólicos) en el directorio fuente no se "
-"instalaron en algún lugar, dará un aviso a través de la salida de error "
-"estándar."
+
+# type: =item
+#. type: =item
+#: dh_install:83
+msgid "B<--autodest>"
+msgstr "B<--autodest>"
# type: textblock
#. type: textblock
-#: dh_install:81
+#: dh_install:85
msgid ""
-"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."
+"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:"
msgstr ""
-"Esto puede ser útil si tiene un paquete grande y quiere asegurarse de que no "
-"se olvida de instalar ningún fichero nuevo añadido en una nueva versión del "
-"programa."
+"Adivina el directorio donde instalar las cosas. Si se especifica no se deben "
+"listar los directorios de destino en los ficheros debian/paquete.install o "
+"en la línea de órdenes. En vez de esto, dh_install lo adivinará del "
+"siguiente modo:"
# type: textblock
#. type: textblock
-#: dh_install:84
+#: dh_install:90
msgid ""
-"Note that files that are excluded from being moved via the -X option are not "
-"warned about."
+"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/."
msgstr ""
-"Dese cuenta de que no se avisa de los fichero excluidos mediante la opción -"
-"X."
-
-# type: =item
-#. type: =item
-#: dh_install:87
-msgid "B<--sourcedir=dir>"
-msgstr "B<--sourcedir=dir>"
+"Si está presente elimina debian/tmp (o el \"sourcedir\", si se proporciona) "
+"del principio del nombre del fichero, y después lo instala en el directorio "
+"que forma parte del nombre del fichero. Esto es, si el nombre del fichero es "
+"debian/tmp/usr/bin, el directorio se copiará a debian/paquete/usr/. Si el "
+"nombre del fichero es debian/tmp/etc/passwd, se copiará a debian/paquete/"
+"etc/."
# type: textblock
#. type: textblock
-#: dh_install:89
-#, fuzzy
+#: dh_install:96
msgid ""
-"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."
+"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."
msgstr ""
-"Hace que todos los ficheros fuente se encuentren bajo dir. Si se especifica, "
-"es parecido a anteponer \"dir/\" a todos los nombres de los ficheros fuente."
+"Dese cuenta que si lista exactamente un nombre o patrón de comodines en una "
+"línea en el fichero debian/paquete.install, sin ningún destino explícito, "
+"entonces dh_install adivinará automáticamente el destino, incluso si no se "
+"ha usado esta opción."
# type: =item
#. type: =item
-#: dh_install:98
+#: dh_install:101
msgid "I<file [...] dest>"
msgstr "I<file [...] dest>"
# type: textblock
#. type: textblock
-#: dh_install:100
+#: dh_install:103
msgid ""
"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."
@@ -6062,6 +6155,16 @@ msgid "Andrew Stribblehill <ads@debian.org>"
msgstr "Andrew Stribblehill <ads@debian.org>"
# type: textblock
+#, fuzzy
+#~ msgid ""
+#~ "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."
+#~ msgstr ""
+#~ "Hace que todos los ficheros fuente se encuentren bajo dir. Si se "
+#~ "especifica, es parecido a anteponer \"dir/\" a todos los nombres de los "
+#~ "ficheros fuente."
+
+# type: textblock
#~ msgid ""
#~ "To make dh_install behave like the old dh_movefiles, move your package."
#~ "files file to package.install and call dh_install with \"--"
diff --git a/man/po4a/po/fr.po b/man/po4a/po/fr.po
index c2e469c3..1a47a461 100644
--- a/man/po4a/po/fr.po
+++ b/man/po4a/po/fr.po
@@ -3,7 +3,7 @@
msgid ""
msgstr ""
"Project-Id-Version: debhelper manpages\n"
-"POT-Creation-Date: 2009-06-29 15:35-0300\n"
+"POT-Creation-Date: 2009-07-01 15:31-0300\n"
"PO-Revision-Date: 2006-11-19 20:50+0100\n"
"Last-Translator: Valery Perrin <valery.perrin.debian@free.fr>\n"
"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
@@ -538,9 +538,100 @@ msgstr ""
"Précise que les fichiers (ou autres éléments) indiqués dans la ligne de "
"commande concernent TOUS les paquets construits et pas seulement le premier."
+#. type: =head1
+#: debhelper.pod:177
+msgid "BUILD SYSTEM OPTIONS"
+msgstr ""
+
+#. type: textblock
+#: debhelper.pod:179
+msgid ""
+"The following command line options are supported by all of the dh_auto_* "
+"debhelper programs. These programs support a variety of build systems, and "
+"normally heuristically determine which to use, and how to use them. You can "
+"use these command line options to override the default behavior."
+msgstr ""
+
+# type: =item
+#. type: =item
+#: debhelper.pod:186
+#, fuzzy
+msgid "B<-S>I<buildsystem>, B<--buildsystem=>I<buildsystem>"
+msgstr "B<-X>I<élément>, B<--exclude=>I<élément>"
+
+#. type: textblock
+#: debhelper.pod:188
+msgid ""
+"Force use of the specified I<buildsystem>, instead of trying to auto-select "
+"one which might be applicable for the package."
+msgstr ""
+
+# type: =item
+#. type: =item
+#: debhelper.pod:191
+#, fuzzy
+msgid "B<-D>I<directory>, B<--sourcedirectory=>I<directory>"
+msgstr "B<-l>I<répertoire>[:répertoire:répertoire:..]"
+
+#. type: textblock
+#: debhelper.pod:193
+msgid ""
+"Assume that the original package source tree is at the specified "
+"I<directory> rather than the top level directory of the Debian source "
+"package tree."
+msgstr ""
+
+# type: =item
+#. type: =item
+#: debhelper.pod:197
+#, fuzzy
+msgid "B<-B>[I<directory>], B<--builddirectory>=[I<directory>]"
+msgstr "B<-l>I<répertoire>[:répertoire:répertoire:..]"
+
+#. type: textblock
+#: debhelper.pod:199
+msgid ""
+"Enable out of source building and use the specified I<directory> as the "
+"build directory. If I<directory> parameter is omitted, a default build "
+"directory will chosen."
+msgstr ""
+
+#. type: textblock
+#: debhelper.pod:203
+msgid ""
+"If this option is not specified, building will be done in source by default "
+"unless the build system requires or prefers out of source tree building. In "
+"such a case, the default build directory will be used even if L<--"
+"builddirectory> is not specified."
+msgstr ""
+
+#. type: textblock
+#: debhelper.pod:208
+msgid ""
+"If the build system prefers out of source tree building but still allows in "
+"source building, the latter can be re-enabled by passing a build directory "
+"path that is the same as the source directory path."
+msgstr ""
+
+# type: =item
+#. type: =item
+#: debhelper.pod:212
+#, fuzzy
+msgid "B<--list>, B<-l>"
+msgstr "B<-A>, B<--all>"
+
+#. type: textblock
+#: debhelper.pod:214
+msgid ""
+"List all build systems supported by debhelper on this system. The list "
+"includes both default and third party build systems (marked as such). Also "
+"shows which build system would be automatically selected, or which one is "
+"manually specified with the I<--buildsystem> option."
+msgstr ""
+
# type: =head1
#. type: =head1
-#: debhelper.pod:177 dh_installcatalogs:52 dh_installdocs:81
+#: debhelper.pod:221 dh_installcatalogs:52 dh_installdocs:81
#: dh_installemacsen:54 dh_installexamples:50 dh_installinit:110
#: dh_installman:79 dh_installmime:41 dh_installmodules:60 dh_installwm:53
#: dh_installxfonts:37 dh_movefiles:58 dh_strip:68 dh_usrlocal:49
@@ -549,13 +640,13 @@ msgstr "REMARQUES"
# type: =head2
#. type: =head2
-#: debhelper.pod:179
+#: debhelper.pod:223
msgid "Multiple binary package support"
msgstr "Prise en charge de plusieurs paquets binaires"
# type: textblock
#. type: textblock
-#: debhelper.pod:181
+#: debhelper.pod:225
msgid ""
"If your source package generates more than one binary package, debhelper "
"programs will default to acting on all binary packages when run. If your "
@@ -575,7 +666,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:189
+#: debhelper.pod:233
msgid ""
"To facilitate this, as well as give you more control over which packages are "
"acted on by debhelper programs, all debhelper programs accept the B<-a>, B<-"
@@ -591,13 +682,13 @@ msgstr ""
# type: =head2
#. type: =head2
-#: debhelper.pod:195
+#: debhelper.pod:239
msgid "Automatic generation of debian install scripts"
msgstr "Génération automatique des scripts Debian de maintenance du paquet"
# type: textblock
#. type: textblock
-#: debhelper.pod:197
+#: debhelper.pod:241
msgid ""
"Some debhelper commands will automatically generate parts of debian "
"maintainer scripts. If you want these automatically generated things "
@@ -615,7 +706,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:204
+#: debhelper.pod:248
msgid ""
"If a script does not exist at all and debhelper needs to add something to "
"it, then debhelper will create the complete script."
@@ -625,7 +716,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:207
+#: debhelper.pod:251
msgid ""
"All debhelper commands that automatically generate code in this way let it "
"be disabled by the -n parameter (see above)."
@@ -636,7 +727,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:210
+#: debhelper.pod:254
msgid ""
"Note that the inserted code will be shell code, so you cannot directly use "
"it in a perl script. If you would like to embed it into a perl script, here "
@@ -651,7 +742,7 @@ msgstr ""
# type: verbatim
#. type: verbatim
-#: debhelper.pod:215
+#: debhelper.pod:259
#, no-wrap
msgid ""
" my $temp=\"set -e\\nset -- @ARGV\\n\" . << 'EOF';\n"
@@ -670,13 +761,13 @@ msgstr ""
# type: =head2
#. type: =head2
-#: debhelper.pod:221
+#: debhelper.pod:265
msgid "Automatic generation of miscellaneous dependencies."
msgstr "Génération automatique des diverses dépendances."
# type: textblock
#. type: textblock
-#: debhelper.pod:223
+#: debhelper.pod:267
msgid ""
"Some debhelper commands may make the generated package need to depend on "
"some other packages. For example, if you use L<dh_installdebconf(1)>, your "
@@ -696,7 +787,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:231
+#: debhelper.pod:275
msgid ""
"All commands of this type, besides documenting what dependencies may be "
"needed on their man pages, will automatically generate a substvar called "
@@ -711,7 +802,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:236
+#: debhelper.pod:280
msgid ""
"This is entirely independent of the standard ${shlibs:Depends} generated by "
"L<dh_makeshlibs(1)>, and the ${perl:Depends} generated by L<dh_perl(1)>. "
@@ -725,13 +816,13 @@ msgstr ""
# type: =head2
#. type: =head2
-#: debhelper.pod:241
+#: debhelper.pod:285
msgid "Package build directories"
msgstr "Répertoires de construction du paquet"
# type: textblock
#. type: textblock
-#: debhelper.pod:243
+#: debhelper.pod:287
msgid ""
"By default, all debhelper programs assume that the temporary directory used "
"for assembling the tree of files in a package is debian/<package>."
@@ -742,7 +833,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:246
+#: debhelper.pod:290
msgid ""
"Sometimes, you might want to use some other temporary directory. This is "
"supported by the -P flag. For example, \"dh_installdocs -Pdebian/tmp\", will "
@@ -762,13 +853,13 @@ msgstr ""
# type: =head2
#. type: =head2
-#: debhelper.pod:254
+#: debhelper.pod:298
msgid "Debhelper compatibility levels"
msgstr "Niveaux de compatibilité de debhelper"
# type: textblock
#. type: textblock
-#: debhelper.pod:256
+#: debhelper.pod:300
msgid ""
"From time to time, major non-backwards-compatible changes need to be made to "
"debhelper, to keep it clean and well-designed as needs change and its author "
@@ -788,7 +879,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:263
+#: debhelper.pod:307
#, fuzzy
msgid ""
"Tell debhelper what compatibility level to use by writing a number to debian/"
@@ -800,7 +891,7 @@ msgstr ""
# type: verbatim
#. type: verbatim
-#: debhelper.pod:266
+#: debhelper.pod:310
#, fuzzy, no-wrap
msgid ""
" % echo 7 > debian/compat\n"
@@ -811,7 +902,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:268
+#: debhelper.pod:312
msgid ""
"Unless otherwise indicated, all debhelper documentation assumes that you are "
"using the most recent compatibility level, and in most cases does not "
@@ -829,19 +920,19 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:275
+#: debhelper.pod:319
msgid "These are the available compatibility levels:"
msgstr "Les niveaux de compatibilité sont les S<suivants :>"
# type: =item
#. type: =item
-#: debhelper.pod:279
+#: debhelper.pod:323
msgid "V1"
msgstr "V1"
# type: textblock
#. type: textblock
-#: debhelper.pod:281
+#: debhelper.pod:325
msgid ""
"This is the original debhelper compatibility level, and so it is the default "
"one. In this mode, debhelper will use debian/tmp as the package tree "
@@ -855,19 +946,19 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:286 debhelper.pod:293 debhelper.pod:316 debhelper.pod:345
+#: debhelper.pod:330 debhelper.pod:337 debhelper.pod:360 debhelper.pod:389
msgid "This mode is deprecated."
msgstr "Ce mode est déconseillé."
# type: =item
#. type: =item
-#: debhelper.pod:288
+#: debhelper.pod:332
msgid "V2"
msgstr "V2"
# type: textblock
#. type: textblock
-#: debhelper.pod:290
+#: debhelper.pod:334
msgid ""
"In this mode, debhelper will consistently use debian/<package> as the "
"package tree directory for every package that is built."
@@ -877,29 +968,29 @@ msgstr ""
# type: =item
#. type: =item
-#: debhelper.pod:295
+#: debhelper.pod:339
msgid "V3"
msgstr "V3"
# type: textblock
#. type: textblock
-#: debhelper.pod:297
+#: debhelper.pod:341
msgid "This mode works like V2, with the following additions:"
msgstr "Ce mode fonctionne comme V2 mais avec les ajouts S<suivants :>"
# type: =item
#. type: =item
-#: debhelper.pod:301 debhelper.pod:306 debhelper.pod:310 debhelper.pod:324
-#: debhelper.pod:329 debhelper.pod:334 debhelper.pod:339 debhelper.pod:353
-#: debhelper.pod:357 debhelper.pod:362 debhelper.pod:366 debhelper.pod:378
-#: debhelper.pod:383 debhelper.pod:389 debhelper.pod:395 debhelper.pod:410
-#: debhelper.pod:417 debhelper.pod:421 debhelper.pod:425
+#: debhelper.pod:345 debhelper.pod:350 debhelper.pod:354 debhelper.pod:368
+#: debhelper.pod:373 debhelper.pod:378 debhelper.pod:383 debhelper.pod:397
+#: debhelper.pod:401 debhelper.pod:406 debhelper.pod:410 debhelper.pod:422
+#: debhelper.pod:427 debhelper.pod:433 debhelper.pod:439 debhelper.pod:454
+#: debhelper.pod:461 debhelper.pod:465 debhelper.pod:469
msgid "-"
msgstr "-"
# type: textblock
#. type: textblock
-#: debhelper.pod:303
+#: debhelper.pod:347
msgid ""
"Debhelper config files support globbing via * and ?, when appropriate. To "
"turn this off and use those characters raw, just prefix with a backslash."
@@ -911,7 +1002,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:308
+#: debhelper.pod:352
msgid "dh_makeshlibs makes the postinst and postrm scripts call ldconfig."
msgstr ""
"Les scripts de maintenance du paquet (postinst et postrm) feront appel à "
@@ -919,7 +1010,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:312
+#: debhelper.pod:356
msgid ""
"Every file in etc/ is automatically flagged as a conffile by dh_installdeb."
msgstr ""
@@ -928,19 +1019,19 @@ msgstr ""
# type: =item
#. type: =item
-#: debhelper.pod:318
+#: debhelper.pod:362
msgid "V4"
msgstr "V4"
# type: textblock
#. type: textblock
-#: debhelper.pod:320
+#: debhelper.pod:364
msgid "Changes from V3 are:"
msgstr "Les changements par rapport à la version 3 S<sont :>"
# type: textblock
#. type: textblock
-#: debhelper.pod:326
+#: debhelper.pod:370
msgid ""
"dh_makeshlibs -V will not include the debian part of the version number in "
"the generated dependency line in the shlibs file."
@@ -950,7 +1041,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:331
+#: debhelper.pod:375
msgid ""
"You are encouraged to put the new ${misc:Depends} into debian/control to "
"supplement the ${shlibs:Depends} field."
@@ -960,7 +1051,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:336
+#: debhelper.pod:380
msgid ""
"dh_fixperms will make all files in bin/ directories and in etc/init.d "
"executable."
@@ -970,7 +1061,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:341
+#: debhelper.pod:385
msgid "dh_link will correct existing links to conform with policy."
msgstr ""
"dh_link corrigera les liens existants pour les rendre conformes à la Charte "
@@ -978,20 +1069,20 @@ msgstr ""
# type: =item
#. type: =item
-#: debhelper.pod:347
+#: debhelper.pod:391
msgid "V5"
msgstr "V5"
# type: textblock
#. type: textblock
-#: debhelper.pod:349
+#: debhelper.pod:393
#, fuzzy
msgid "Changes from V4 are:"
msgstr "Les changements par rapport à la version 3 S<sont :>"
# type: textblock
#. type: textblock
-#: debhelper.pod:355
+#: debhelper.pod:399
msgid "Comments are ignored in debhelper config files."
msgstr ""
"Les commentaires sont ignorés dans les fichiers de configuration de "
@@ -999,7 +1090,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:359
+#: debhelper.pod:403
msgid ""
"dh_strip --dbg-package now specifies the name of a package to put debugging "
"symbols in, not the packages to take the symbols from."
@@ -1010,13 +1101,13 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:364
+#: debhelper.pod:408
msgid "dh_installdocs skips installing empty files."
msgstr "dh_installdocs saute l'installation des fichiers vides."
# type: textblock
#. type: textblock
-#: debhelper.pod:368
+#: debhelper.pod:412
msgid "dh_install errors out if wildcards expand to nothing."
msgstr ""
"dh_install génère des erreurs si les jokers (wildcards) ne correspondent à "
@@ -1024,20 +1115,20 @@ msgstr ""
# type: =item
#. type: =item
-#: debhelper.pod:372
+#: debhelper.pod:416
msgid "V6"
msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:374
+#: debhelper.pod:418
#, fuzzy
msgid "Changes from V5 are:"
msgstr "Les changements par rapport à la version 3 S<sont :>"
# type: textblock
#. type: textblock
-#: debhelper.pod:380
+#: debhelper.pod:424
msgid ""
"Commands that generate maintainer script fragments will order the fragments "
"in reverse order for the prerm and postrm scripts."
@@ -1045,7 +1136,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:385
+#: debhelper.pod:429
#, fuzzy
msgid ""
"dh_installwm will install a slave manpage link for x-window-manager.1.gz, if "
@@ -1054,7 +1145,7 @@ msgstr "dh_installwm - inscrit un gestionnaire de fenêtre (window manager)"
# type: textblock
#. type: textblock
-#: debhelper.pod:391
+#: debhelper.pod:435
msgid ""
"dh_builddeb did not previously delete everything matching DH_ALWAYS_EXCLUDE, "
"if it was set to a list of things to exclude, such as \"CVS:.svn:.git\". Now "
@@ -1063,7 +1154,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:397
+#: debhelper.pod:441
msgid ""
"dh_installman allows overwriting existing man pages in the package build "
"directory. In previous compatibility levels it silently refuses to do this."
@@ -1071,13 +1162,13 @@ msgstr ""
# type: =item
#. type: =item
-#: debhelper.pod:402
+#: debhelper.pod:446
msgid "V7"
msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:404
+#: debhelper.pod:448
#, fuzzy
msgid "This is the recommended mode of operation."
msgstr ""
@@ -1086,14 +1177,14 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:406
+#: debhelper.pod:450
#, fuzzy
msgid "Changes from V6 are:"
msgstr "Les changements par rapport à la version 3 S<sont :>"
# type: textblock
#. type: textblock
-#: debhelper.pod:412
+#: debhelper.pod:456
msgid ""
"dh_install, will fall back to looking for files in debian/tmp if it doesn't "
"find them in the current directory (or wherever you tell it look using --"
@@ -1103,19 +1194,19 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:419
+#: debhelper.pod:463
msgid "dh_clean will read debian/clean and delete files listed there."
msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:423
+#: debhelper.pod:467
msgid "dh_clean will delete toplevel *-stamp files."
msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:427
+#: debhelper.pod:471
msgid ""
"dh_installchangelogs will guess at what file is the upstream changelog if "
"none is specified."
@@ -1123,13 +1214,13 @@ msgstr ""
# type: =head2
#. type: =head2
-#: debhelper.pod:434
+#: debhelper.pod:478
msgid "Doc directory symlinks"
msgstr "Liens symboliques vers le répertoire de documentation"
# type: textblock
#. type: textblock
-#: debhelper.pod:436
+#: debhelper.pod:480
msgid ""
"Sometimes it is useful to make a package not contain a /usr/share/doc/"
"package directory at all, instead placing just a dangling symlink in the "
@@ -1153,13 +1244,13 @@ msgstr ""
# type: =head2
#. type: =head2
-#: debhelper.pod:445
+#: debhelper.pod:489
msgid "udebs"
msgstr "udebs"
# type: textblock
#. type: textblock
-#: debhelper.pod:447
+#: debhelper.pod:491
msgid ""
"Debhelper includes support for udebs. To create a udeb with debhelper, add "
"\"XC-Package-Type: udeb\" to the package's stanza in debian/control, and "
@@ -1179,13 +1270,13 @@ msgstr ""
# type: =head2
#. type: =head2
-#: debhelper.pod:454
+#: debhelper.pod:498
msgid "Other notes"
msgstr "Autres remarques"
# type: textblock
#. type: textblock
-#: debhelper.pod:456
+#: debhelper.pod:500
msgid ""
"In general, if any debhelper program needs a directory to exist under "
"debian/, it will create it. I haven't bothered to document this in all the "
@@ -1203,7 +1294,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:462
+#: debhelper.pod:506
#, fuzzy
msgid ""
"Once your package uses debhelper to build, be sure to add debhelper to your "
@@ -1220,7 +1311,7 @@ msgstr ""
# type: verbatim
#. type: verbatim
-#: debhelper.pod:468
+#: debhelper.pod:512
#, fuzzy, no-wrap
msgid ""
" Build-Depends: debhelper (>= 7)\n"
@@ -1231,19 +1322,19 @@ msgstr ""
# type: =head1
#. type: =head1
-#: debhelper.pod:470
+#: debhelper.pod:514
msgid "ENVIRONMENT"
msgstr "VARIABLES D'ENVIRONNEMENT"
# type: =item
#. type: =item
-#: debhelper.pod:474
+#: debhelper.pod:518
msgid "DH_VERBOSE"
msgstr "DH_VERBOSE"
# type: textblock
#. type: textblock
-#: debhelper.pod:476
+#: debhelper.pod:520
msgid ""
"Set to 1 to enable verbose mode. Debhelper will output every command it runs "
"that modifies files on the build system."
@@ -1253,13 +1344,13 @@ msgstr ""
# type: =item
#. type: =item
-#: debhelper.pod:479
+#: debhelper.pod:523
msgid "DH_COMPAT"
msgstr "DH_COMPAT"
# type: textblock
#. type: textblock
-#: debhelper.pod:481
+#: debhelper.pod:525
msgid ""
"Temporarily specifies what compatibility level debhelper should run at, "
"overriding any value in debian/compat."
@@ -1269,25 +1360,25 @@ msgstr ""
# type: =item
#. type: =item
-#: debhelper.pod:484
+#: debhelper.pod:528
msgid "DH_NO_ACT"
msgstr "DH_NO_ACT"
# type: textblock
#. type: textblock
-#: debhelper.pod:486
+#: debhelper.pod:530
msgid "Set to 1 to enable no-act mode."
msgstr "Mettre cette variable à 1 pour activer le mode simulation (no-act)."
# type: =item
#. type: =item
-#: debhelper.pod:488
+#: debhelper.pod:532
msgid "DH_OPTIONS"
msgstr "DH_OPTIONS"
# type: textblock
#. type: textblock
-#: debhelper.pod:490
+#: debhelper.pod:534
msgid ""
"Anything in this variable will be prepended to the command line arguments of "
"all debhelper commands. Command-specific options will be ignored by commands "
@@ -1296,7 +1387,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:494
+#: debhelper.pod:538
#, fuzzy
msgid ""
"This is useful in some situations, for example, if you need to pass -p to "
@@ -1314,13 +1405,13 @@ msgstr ""
# type: =item
#. type: =item
-#: debhelper.pod:499
+#: debhelper.pod:543
msgid "DH_ALWAYS_EXCLUDE"
msgstr "DH_ALWAYS_EXCLUDE"
# type: textblock
#. type: textblock
-#: debhelper.pod:501
+#: debhelper.pod:545
msgid ""
"If set, this adds the value the variable is set to to the -X options of all "
"commands that support the -X option. Moreover, dh_builddeb will rm -rf "
@@ -1333,7 +1424,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:505
+#: debhelper.pod:549
msgid ""
"This can be useful if you are doing a build from a CVS source tree, in which "
"case setting DH_ALWAYS_EXCLUDE=CVS will prevent any CVS directories from "
@@ -1352,7 +1443,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: debhelper.pod:512
+#: debhelper.pod:556
msgid ""
"Multiple things to exclude can be separated with colons, as in "
"DH_ALWAYS_EXCLUDE=CVS:.svn"
@@ -1362,7 +1453,7 @@ msgstr ""
# type: =head1
#. type: =head1
-#: debhelper.pod:517 dh_builddeb:87 dh_clean:130 dh_compress:192 dh_desktop:27
+#: debhelper.pod:561 dh_builddeb:88 dh_clean:130 dh_compress:192 dh_desktop:27
#: dh_fixperms:122 dh_gconf:104 dh_gencontrol:79 dh_installcatalogs:109
#: dh_installchangelogs:147 dh_installcron:61 dh_installdebconf:118
#: dh_installdeb:94 dh_installdirs:83 dh_installdocs:223 dh_installemacsen:111
@@ -1371,7 +1462,7 @@ msgstr ""
#: dh_installman:251 dh_installmenu:80 dh_installmime:85 dh_installmodules:124
#: dh_installpam:52 dh_install:267 dh_installppp:56 dh_installwm:107
#: dh_installxfonts:86 dh_link:223 dh_listpackages:29 dh_makeshlibs:227
-#: dh_md5sums:89 dh_movefiles:162 dh_perl:152 dh_python:282 dh_scrollkeeper:28
+#: dh_md5sums:89 dh_movefiles:164 dh_perl:152 dh_python:282 dh_scrollkeeper:28
#: dh_shlibdeps:168 dh_strip:227 dh_suidregister:117 dh_testdir:44
#: dh_testroot:27 dh_testversion:75 dh_undocumented:28 dh_usrlocal:114
msgid "SEE ALSO"
@@ -1379,32 +1470,32 @@ msgstr "VOIR AUSSI"
# type: =item
#. type: =item
-#: debhelper.pod:521
+#: debhelper.pod:565
msgid "F</usr/share/doc/debhelper/examples/>"
msgstr "F</usr/share/doc/debhelper/examples/>"
# type: textblock
#. type: textblock
-#: debhelper.pod:523
+#: debhelper.pod:567
msgid "A set of example debian/rules files that use debhelper."
msgstr ""
"Un ensemble d'exemples de fichiers debian/rules qui utilisent debhelper."
# type: =item
#. type: =item
-#: debhelper.pod:525
+#: debhelper.pod:569
msgid "L<http://kitenet.net/~joey/code/debhelper/>"
msgstr "L<http://kitenet.net/~joey/code/debhelper/>"
# type: textblock
#. type: textblock
-#: debhelper.pod:527
+#: debhelper.pod:571
msgid "Debhelper web site."
msgstr "Le site internet de debhelper."
# type: =head1
#. type: =head1
-#: debhelper.pod:531 dh_builddeb:93 dh_clean:136 dh_compress:198 dh_desktop:33
+#: debhelper.pod:575 dh_builddeb:94 dh_clean:136 dh_compress:198 dh_desktop:33
#: dh_fixperms:128 dh_gconf:110 dh_gencontrol:85 dh_installcatalogs:115
#: dh_installchangelogs:153 dh_installcron:67 dh_installdebconf:124
#: dh_installdeb:100 dh_installdirs:89 dh_installdocs:229
@@ -1413,7 +1504,7 @@ msgstr "Le site internet de debhelper."
#: dh_installmanpages:203 dh_installman:257 dh_installmenu:88
#: dh_installmime:91 dh_installmodules:130 dh_installpam:58 dh_install:273
#: dh_installppp:62 dh_installwm:113 dh_installxfonts:92 dh_link:229
-#: dh_listpackages:35 dh_makeshlibs:233 dh_md5sums:95 dh_movefiles:168
+#: dh_listpackages:35 dh_makeshlibs:233 dh_md5sums:95 dh_movefiles:170
#: dh_perl:158 dh_python:288 dh_scrollkeeper:34 dh_shlibdeps:174 dh_strip:233
#: dh_suidregister:123 dh_testdir:50 dh_testroot:33 dh_testversion:81
#: dh_undocumented:34 dh_usrlocal:120
@@ -1422,7 +1513,7 @@ msgstr "AUTEUR"
# type: textblock
#. type: textblock
-#: debhelper.pod:533 dh_builddeb:95 dh_clean:138 dh_compress:200
+#: debhelper.pod:577 dh_builddeb:96 dh_clean:138 dh_compress:200
#: dh_fixperms:130 dh_gencontrol:87 dh_installchangelogs:155 dh_installcron:69
#: dh_installdebconf:126 dh_installdeb:102 dh_installdirs:91
#: dh_installdocs:231 dh_installemacsen:119 dh_installexamples:111
@@ -1430,7 +1521,7 @@ msgstr "AUTEUR"
#: dh_installmanpages:205 dh_installman:259 dh_installmenu:90
#: dh_installmime:93 dh_installmodules:132 dh_installpam:60 dh_install:275
#: dh_installppp:64 dh_installwm:115 dh_installxfonts:94 dh_link:231
-#: dh_listpackages:37 dh_makeshlibs:235 dh_md5sums:97 dh_movefiles:170
+#: dh_listpackages:37 dh_makeshlibs:235 dh_md5sums:97 dh_movefiles:172
#: dh_shlibdeps:176 dh_strip:235 dh_suidregister:125 dh_testdir:52
#: dh_testroot:35 dh_testversion:83 dh_undocumented:36
msgid "Joey Hess <joeyh@debian.org>"
@@ -1531,7 +1622,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: dh_builddeb:89 dh_clean:132 dh_compress:194 dh_fixperms:124 dh_gconf:106
+#: dh_builddeb:90 dh_clean:132 dh_compress:194 dh_fixperms:124 dh_gconf:106
#: dh_gencontrol:81 dh_installcatalogs:111 dh_installchangelogs:149
#: dh_installcron:63 dh_installdebconf:120 dh_installdeb:96 dh_installdirs:85
#: dh_installdocs:225 dh_installemacsen:113 dh_installexamples:105
@@ -1539,7 +1630,7 @@ msgstr ""
#: dh_installlogrotate:52 dh_installmanpages:199 dh_installman:253
#: dh_installmime:87 dh_installmodules:126 dh_installpam:54 dh_install:269
#: dh_installppp:58 dh_installwm:109 dh_installxfonts:88 dh_link:225
-#: dh_listpackages:31 dh_makeshlibs:229 dh_md5sums:91 dh_movefiles:164
+#: dh_listpackages:31 dh_makeshlibs:229 dh_md5sums:91 dh_movefiles:166
#: dh_perl:154 dh_python:284 dh_strip:229 dh_suidregister:119 dh_testdir:46
#: dh_testroot:29 dh_testversion:77 dh_undocumented:30 dh_usrlocal:116
msgid "L<debhelper(7)>"
@@ -1547,7 +1638,7 @@ msgstr "L<debhelper(7)>"
# type: textblock
#. type: textblock
-#: dh_builddeb:91 dh_clean:134 dh_compress:196 dh_desktop:31 dh_fixperms:126
+#: dh_builddeb:92 dh_clean:134 dh_compress:196 dh_desktop:31 dh_fixperms:126
#: dh_gconf:108 dh_gencontrol:83 dh_installchangelogs:151 dh_installcron:65
#: dh_installdebconf:122 dh_installdeb:98 dh_installdirs:87 dh_installdocs:227
#: dh_installemacsen:115 dh_installexamples:107 dh_installinfo:78
@@ -1555,7 +1646,7 @@ msgstr "L<debhelper(7)>"
#: dh_installman:255 dh_installmenu:86 dh_installmime:89 dh_installmodules:128
#: dh_installpam:56 dh_install:271 dh_installppp:60 dh_installwm:111
#: dh_installxfonts:90 dh_link:227 dh_listpackages:33 dh_makeshlibs:231
-#: dh_md5sums:93 dh_movefiles:166 dh_perl:156 dh_python:286 dh_scrollkeeper:32
+#: dh_md5sums:93 dh_movefiles:168 dh_perl:156 dh_python:286 dh_scrollkeeper:32
#: dh_shlibdeps:172 dh_strip:231 dh_suidregister:121 dh_testdir:48
#: dh_testroot:31 dh_testversion:79 dh_undocumented:32 dh_usrlocal:118
msgid "This program is a part of debhelper."
@@ -1603,12 +1694,11 @@ msgstr ""
"Des fichiers nommés debian/paquet.info peuvent indiquer d'autres fichiers à "
"installer."
-# type: textblock
#. type: textblock
#: dh_clean:27
msgid ""
"It does not run \"make clean\" to clean up after the build process. Use "
-"L<dh_auto_clean(1)> to do that."
+"L<dh_auto_clean(1)> to do things like that."
msgstr ""
# type: textblock
@@ -2283,7 +2373,7 @@ msgstr ""
# type: =item
#. type: =item
#: dh_installchangelogs:56 dh_installdocs:58 dh_installexamples:43
-#: dh_install:93 dh_link:57 dh_movefiles:44
+#: dh_install:69 dh_link:57 dh_movefiles:44
msgid "B<-Xitem>, B<--exclude=item>"
msgstr "B<-Xélément>, B<--exclude=élément>"
@@ -3008,7 +3098,7 @@ msgstr ""
# type: textblock
#. type: textblock
-#: dh_installexamples:45 dh_install:95 dh_movefiles:46
+#: dh_installexamples:45 dh_install:71 dh_movefiles:46
msgid ""
"Exclude files that contain \"item\" anywhere in their filename from being "
"installed."
@@ -4097,64 +4187,54 @@ msgstr ""
# type: =item
#. type: =item
#: dh_install:51
-msgid "B<--autodest>"
-msgstr "B<--autodest>"
+msgid "B<--list-missing>"
+msgstr "B<--list-missing>"
# type: textblock
#. type: textblock
#: dh_install:53
msgid ""
-"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:"
+"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."
msgstr ""
-"Avec ce paramètre, dh_install détermine de lui-même le répertoire de "
-"destination des éléments installés. Si cette option est spécifiée, il ne "
-"faut indiquer les répertoires de destination, ni dans les fichiers debian/"
-"paquet.install, ni en ligne de commande. dh_install détermine les "
-"répertoires de destination selon la règle S<suivante :>"
+"Cette option impose à dh_install de garder la trace des fichiers qu'il "
+"installe et, à la fin, de comparer cette liste aux fichiers du répertoire "
+"source. Si un des fichiers (ou des liens symboliques) du répertoire source, "
+"n'était pas installé quelque part, il le signalerait par un message sur "
+"stderr."
# type: textblock
#. type: textblock
#: dh_install:58
msgid ""
-"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/."
+"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."
msgstr ""
-"Il enlève debian/tmp (ou le nom du répertoire source, s'il a été indiqué) du "
-"début du chemin du fichier, s'il est présent, et copie le fichier dans le "
-"répertoire de construction du paquet, sous l'arborescence indiquée pour le "
-"fichier source. Par exemple, si l'objet à installer est le répertoire debian/"
-"tmp/usr/bin, alors il sera copié dans debian/paquet/usr/. Si le fichier à "
-"installer est debian/tmp/etc/passwd, il sera copié dans debian/paquet/etc/."
+"Cette option peut être utile dans le cas d'un gros paquet pour lequel on "
+"veut être certain de ne pas oublier l'installation d'un des nouveaux "
+"fichiers récemment ajoutés dans la version."
# type: textblock
#. type: textblock
-#: dh_install:64
+#: dh_install:61
msgid ""
-"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."
+"Note that files that are excluded from being moved via the -X option are not "
+"warned about."
msgstr ""
-"S<Nota :> Si le nom du fichier (ou le motif d'un ensemble de fichiers) est "
-"indiqué sur une ligne du fichier debian/paquet.install, sans que la "
-"destination soit précisée, alors dh_install déterminera automatiquement la "
-"destination, même en l'absence de l'option B<--autodest>."
+"S<Nota :> Les fichiers qui sont exclus par l'option -X n'entraînent aucun "
+"message d'erreur."
# type: =item
#. type: =item
-#: dh_install:69
+#: dh_install:64
msgid "B<--fail-missing>"
msgstr "B<--fail-missing>"
# type: textblock
#. type: textblock
-#: dh_install:71
+#: dh_install:66
msgid ""
"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."
@@ -4166,72 +4246,84 @@ msgstr ""
# type: =item
#. type: =item
#: dh_install:74
-msgid "B<--list-missing>"
-msgstr "B<--list-missing>"
+msgid "B<--sourcedir=dir>"
+msgstr "B<--sourcedir=répertoire>"
-# type: textblock
#. type: textblock
#: dh_install:76
+msgid "Look in the specified directory for files to be installed."
+msgstr ""
+
+#. type: textblock
+#: dh_install:78
msgid ""
-"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."
+"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."
msgstr ""
-"Cette option impose à dh_install de garder la trace des fichiers qu'il "
-"installe et, à la fin, de comparer cette liste aux fichiers du répertoire "
-"source. Si un des fichiers (ou des liens symboliques) du répertoire source, "
-"n'était pas installé quelque part, il le signalerait par un message sur "
-"stderr."
+
+# type: =item
+#. type: =item
+#: dh_install:83
+msgid "B<--autodest>"
+msgstr "B<--autodest>"
# type: textblock
#. type: textblock
-#: dh_install:81
+#: dh_install:85
msgid ""
-"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."
+"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:"
msgstr ""
-"Cette option peut être utile dans le cas d'un gros paquet pour lequel on "
-"veut être certain de ne pas oublier l'installation d'un des nouveaux "
-"fichiers récemment ajoutés dans la version."
+"Avec ce paramètre, dh_install détermine de lui-même le répertoire de "
+"destination des éléments installés. Si cette option est spécifiée, il ne "
+"faut indiquer les répertoires de destination, ni dans les fichiers debian/"
+"paquet.install, ni en ligne de commande. dh_install détermine les "
+"répertoires de destination selon la règle S<suivante :>"
# type: textblock
#. type: textblock
-#: dh_install:84
+#: dh_install:90
msgid ""
-"Note that files that are excluded from being moved via the -X option are not "
-"warned about."
+"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/."
msgstr ""
-"S<Nota :> Les fichiers qui sont exclus par l'option -X n'entraînent aucun "
-"message d'erreur."
-
-# type: =item
-#. type: =item
-#: dh_install:87
-msgid "B<--sourcedir=dir>"
-msgstr "B<--sourcedir=répertoire>"
+"Il enlève debian/tmp (ou le nom du répertoire source, s'il a été indiqué) du "
+"début du chemin du fichier, s'il est présent, et copie le fichier dans le "
+"répertoire de construction du paquet, sous l'arborescence indiquée pour le "
+"fichier source. Par exemple, si l'objet à installer est le répertoire debian/"
+"tmp/usr/bin, alors il sera copié dans debian/paquet/usr/. Si le fichier à "
+"installer est debian/tmp/etc/passwd, il sera copié dans debian/paquet/etc/."
# type: textblock
#. type: textblock
-#: dh_install:89
-#, fuzzy
+#: dh_install:96
msgid ""
-"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."
+"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."
msgstr ""
-"Avec cette option, tous les fichiers source seront trouvés dans le "
-"répertoire indiqué. Cela revient à ce que tous les noms des fichiers source "
-"soient préfixés par S<« répertoire »>."
+"S<Nota :> Si le nom du fichier (ou le motif d'un ensemble de fichiers) est "
+"indiqué sur une ligne du fichier debian/paquet.install, sans que la "
+"destination soit précisée, alors dh_install déterminera automatiquement la "
+"destination, même en l'absence de l'option B<--autodest>."
# type: =item
#. type: =item
-#: dh_install:98
+#: dh_install:101
msgid "I<file [...] dest>"
msgstr "I<fichier [...] destination>"
# type: textblock
#. type: textblock
-#: dh_install:100
+#: dh_install:103
msgid ""
"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."
@@ -6191,6 +6283,16 @@ msgid "Andrew Stribblehill <ads@debian.org>"
msgstr "Andrew Stribblehill <ads@debian.org>"
# type: textblock
+#, fuzzy
+#~ msgid ""
+#~ "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."
+#~ msgstr ""
+#~ "Avec cette option, tous les fichiers source seront trouvés dans le "
+#~ "répertoire indiqué. Cela revient à ce que tous les noms des fichiers "
+#~ "source soient préfixés par S<« répertoire »>."
+
+# type: textblock
#~ msgid ""
#~ "To make dh_install behave like the old dh_movefiles, move your package."
#~ "files file to package.install and call dh_install with \"--"
diff --git a/t/buildsystems/autoconf/configure b/t/buildsystems/autoconf/configure
new file mode 100755
index 00000000..adea14e6
--- /dev/null
+++ b/t/buildsystems/autoconf/configure
@@ -0,0 +1,74 @@
+#!/usr/bin/perl
+
+# Emulate autoconf behaviour and do some checks
+
+use strict;
+use warnings;
+
+my @OPTIONS=qw(
+ ^--build=.*$
+ ^--prefix=/usr$
+ ^--includedir=\$\{prefix\}/include$
+ ^--mandir=\$\{prefix\}/share/man$
+ ^--infodir=\$\{prefix\}/share/info$
+ ^--sysconfdir=/etc$
+ ^--localstatedir=/var$
+ ^--libexecdir=\$\{prefix\}/lib/.*$
+ ^--disable-maintainer-mode$
+ ^--disable-dependency-tracking$
+);
+
+# Verify if all command line arguments were passed
+my @options = map { { regex => qr/$_/,
+ str => $_,
+ found => 0 } } @OPTIONS;
+my @extra_args;
+ARGV_LOOP: foreach my $arg (@ARGV) {
+ foreach my $opt (@options) {
+ if ($arg =~ $opt->{regex}) {
+ $opt->{found} = 1;
+ next ARGV_LOOP;
+ }
+ }
+ # Extra / unrecognized argument
+ push @extra_args, $arg;
+}
+
+my @notfound = grep { ! $_->{found} and $_ } @options;
+if (@notfound) {
+ print STDERR "Error: the following default options were NOT passed\n";
+ print STDERR " ", $_->{str}, "\n" foreach (@notfound);
+ exit 1;
+}
+
+# Create a simple Makefile
+open(MAKEFILE, ">", "Makefile");
+print MAKEFILE <<EOF;
+CONFIGURE := $0
+all: stamp_configure \$(CONFIGURE)
+ \@echo Package built > stamp_build
+
+# Tests if dh_auto_test executes 'check' target if 'test' does not exist
+check: \$(CONFIGURE) stamp_build
+ \@echo Tested > stamp_test
+
+install: stamp_build
+ \@echo DESTDIR=\$(DESTDIR) > stamp_install
+
+# Tests whether dh_auto_clean executes distclean but does not touch
+# this target
+clean:
+ echo "This should not have been executed" >&2 && exit 1
+
+distclean:
+ \@rm -f stamp_* Makefile
+
+.PHONY: all check install clean distclean
+EOF
+close MAKEFILE;
+
+open(STAMP, ">", "stamp_configure");
+print STAMP $_, "\n" foreach (@extra_args);
+close STAMP;
+
+exit 0;
diff --git a/t/buildsystems/buildsystem_tests b/t/buildsystems/buildsystem_tests
new file mode 100755
index 00000000..8f7a275a
--- /dev/null
+++ b/t/buildsystems/buildsystem_tests
@@ -0,0 +1,465 @@
+#!/usr/bin/perl
+
+use Test::More tests => 228;
+
+use strict;
+use warnings;
+use IPC::Open2;
+use Cwd ();
+use File::Temp qw(tempfile tempdir);
+use File::Basename ();
+
+# Let the tests to be run from anywhere but currect directory
+# is expected to be the one where this test lives in.
+chdir File::Basename::dirname($0) or die "Unable to chdir to ".File::Basename::dirname($0);
+
+use_ok( 'Debian::Debhelper::Dh_Lib' );
+use_ok( 'Debian::Debhelper::Buildsystem' );
+use_ok( 'Debian::Debhelper::Dh_Buildsystems' );
+
+my $TOPDIR = "../..";
+my @STEPS = qw(configure build test install clean);
+my $BS_CLASS = 'Debian::Debhelper::Buildsystem';
+
+my ($bs, @bs, %bs);
+my ($tmp, @tmp, %tmp);
+my ($tmpdir, $builddir, $default_builddir);
+
+### Common subs ####
+sub touch {
+ my $file=shift;
+ my $chmod=shift;
+ open FILE, ">", $file and close FILE or die "Unable to touch $file";
+ chmod $chmod, $file if defined $chmod;
+}
+
+sub cleandir {
+ my $dir=shift;
+ system ("find", $dir, "-type", "f", "-delete");
+}
+sub readlines {
+ my $h=shift;
+ my @lines = <$h>;
+ close $h;
+ chop @lines;
+ return \@lines;
+}
+
+sub process_stdout {
+ my ($cmdline, $stdin) = @_;
+ my ($reader, $writer);
+
+ open2($reader, $writer, $cmdline) or die "Unable to exec $cmdline";
+ print $writer $stdin if $stdin;
+ close $writer;
+ return readlines($reader);
+}
+
+### Test Buildsystem class API methods
+is( $BS_CLASS->canonpath("path/to/the/./nowhere/../../somewhere"),
+ "path/to/somewhere", "canonpath no1" );
+is( $BS_CLASS->canonpath("path/to/../forward/../../somewhere"),
+ "somewhere","canonpath no2" );
+is( $BS_CLASS->canonpath("path/to/../../../somewhere"),
+ "../somewhere","canonpath no3" );
+is( $BS_CLASS->canonpath("./"), ".", "canonpath no4" );
+is( $BS_CLASS->canonpath("/absolute/path/./somewhere/../to/nowhere"),
+ "/absolute/path/to/nowhere", "canonpath no5" );
+is( $BS_CLASS->_rel2rel("path/my/file", "path/my", "/tmp"),
+ "file", "_rel2rel no1" );
+is( $BS_CLASS->_rel2rel("path/dir/file", "path/my", "/tmp"),
+ "../dir/file", "_rel2rel no2" );
+is( $BS_CLASS->_rel2rel("file", "/root/path/my", "/root"),
+ "/root/file", "_rel2rel abs no3" );
+is( $BS_CLASS->_rel2rel(".", ".", "/tmp"), ".", "_rel2rel no4" );
+is( $BS_CLASS->_rel2rel("path", "path/", "/tmp"), ".", "_rel2rel no5" );
+is( $BS_CLASS->_rel2rel("/absolute/path", "anybase", "/tmp"),
+ "/absolute/path", "_rel2rel abs no6");
+is( $BS_CLASS->_rel2rel("relative/path", "/absolute/base", "/tmp"),
+ "/tmp/relative/path", "_rel2rel abs no7");
+
+### Test Buildsystem class path API methods under different configurations
+sub test_buildsystem_paths_api {
+ my ($bs, $config, $expected)=@_;
+
+ my $api_is = sub {
+ my ($got, $name)=@_;
+ is( $got, $expected->{$name}, "paths API ($config): $name")
+ };
+
+ &$api_is( $bs->get_sourcedir(), 'get_sourcedir()' );
+ &$api_is( $bs->get_sourcepath("a/b"), 'get_sourcepath(a/b)' );
+ &$api_is( $bs->get_builddir(), 'get_builddir()' );
+ &$api_is( $bs->get_buildpath(), 'get_buildpath()' );
+ &$api_is( $bs->get_buildpath("a/b"), 'get_buildpath(a/b)' );
+ &$api_is( $bs->get_source_rel2builddir(), 'get_source_rel2builddir()' );
+ &$api_is( $bs->get_source_rel2builddir("a/b"), 'get_source_rel2builddir(a/b)' );
+ &$api_is( $bs->get_build_rel2sourcedir(), 'get_build_rel2sourcedir()' );
+ &$api_is( $bs->get_build_rel2sourcedir("a/b"), 'get_build_rel2sourcedir(a/b)' );
+}
+
+# Defaults
+$bs = $BS_CLASS->new();
+$default_builddir = $bs->DEFAULT_BUILD_DIRECTORY();
+%tmp = (
+ "get_sourcedir()" => ".",
+ "get_sourcepath(a/b)" => "./a/b",
+ "get_builddir()" => undef,
+ "get_buildpath()" => ".",
+ "get_buildpath(a/b)" => "./a/b",
+ "get_source_rel2builddir()" => ".",
+ "get_source_rel2builddir(a/b)" => "./a/b",
+ "get_build_rel2sourcedir()" => ".",
+ "get_build_rel2sourcedir(a/b)" => "./a/b",
+);
+test_buildsystem_paths_api($bs, "no builddir, no sourcedir", \%tmp);
+
+# builddir=bld/dir
+$bs = $BS_CLASS->new(builddir => "bld/dir");
+%tmp = (
+ "get_sourcedir()" => ".",
+ "get_sourcepath(a/b)" => "./a/b",
+ "get_builddir()" => "bld/dir",
+ "get_buildpath()" => "bld/dir",
+ "get_buildpath(a/b)" => "bld/dir/a/b",
+ "get_source_rel2builddir()" => "../..",
+ "get_source_rel2builddir(a/b)" => "../../a/b",
+ "get_build_rel2sourcedir()" => "bld/dir",
+ "get_build_rel2sourcedir(a/b)" => "bld/dir/a/b",
+);
+test_buildsystem_paths_api($bs, "builddir=bld/dir, no sourcedir", \%tmp);
+
+# Default builddir, sourcedir=autoconf
+$bs = $BS_CLASS->new(builddir => undef, sourcedir => "autoconf");
+%tmp = (
+ "get_sourcedir()" => "autoconf",
+ "get_sourcepath(a/b)" => "autoconf/a/b",
+ "get_builddir()" => "$default_builddir",
+ "get_buildpath()" => "$default_builddir",
+ "get_buildpath(a/b)" => "$default_builddir/a/b",
+ "get_source_rel2builddir()" => "../autoconf",
+ "get_source_rel2builddir(a/b)" => "../autoconf/a/b",
+ "get_build_rel2sourcedir()" => "../$default_builddir",
+ "get_build_rel2sourcedir(a/b)" => "../$default_builddir/a/b",
+);
+test_buildsystem_paths_api($bs, "default builddir, sourcedir=autoconf", \%tmp);
+
+# sourcedir=autoconf (builddir should be dropped)
+$bs = $BS_CLASS->new(builddir => "autoconf", sourcedir => "autoconf");
+%tmp = (
+ "get_sourcedir()" => "autoconf",
+ "get_sourcepath(a/b)" => "autoconf/a/b",
+ "get_builddir()" => undef,
+ "get_buildpath()" => "autoconf",
+ "get_buildpath(a/b)" => "autoconf/a/b",
+ "get_source_rel2builddir()" => ".",
+ "get_source_rel2builddir(a/b)" => "./a/b",
+ "get_build_rel2sourcedir()" => ".",
+ "get_build_rel2sourcedir(a/b)" => "./a/b",
+);
+test_buildsystem_paths_api($bs, "no builddir, sourcedir=autoconf", \%tmp);
+
+# Prefer out of source tree building when
+# sourcedir=builddir=autoconf hence builddir should be dropped.
+$bs->prefer_out_of_source_building(builddir => "autoconf");
+test_buildsystem_paths_api($bs, "out of source prefered, sourcedir=builddir", \%tmp);
+
+# builddir=bld/dir, sourcedir=autoconf. Should be the same as sourcedir=autoconf.
+$bs = $BS_CLASS->new(builddir => "bld/dir", sourcedir => "autoconf");
+$bs->enforce_in_source_building();
+test_buildsystem_paths_api($bs, "in source enforced, sourcedir=autoconf", \%tmp);
+
+# builddir=../bld/dir (relative to the curdir)
+$bs = $BS_CLASS->new(builddir => "bld/dir/", sourcedir => "autoconf");
+%tmp = (
+ "get_sourcedir()" => "autoconf",
+ "get_sourcepath(a/b)" => "autoconf/a/b",
+ "get_builddir()" => "bld/dir",
+ "get_buildpath()" => "bld/dir",
+ "get_buildpath(a/b)" => "bld/dir/a/b",
+ "get_source_rel2builddir()" => "../../autoconf",
+ "get_source_rel2builddir(a/b)" => "../../autoconf/a/b",
+ "get_build_rel2sourcedir()" => "../bld/dir",
+ "get_build_rel2sourcedir(a/b)" => "../bld/dir/a/b",
+);
+test_buildsystem_paths_api($bs, "builddir=../bld/dir, sourcedir=autoconf", \%tmp);
+
+### Test if all buildsystems can be loaded
+@bs = load_all_buildsystems([ $INC[0] ]);
+@tmp = map { $_->NAME() } @bs;
+ok(@Debian::Debhelper::Dh_Buildsystems::BUILDSYSTEMS >= 1, "some build systems are built in" );
+is_deeply( \@tmp, \@Debian::Debhelper::Dh_Buildsystems::BUILDSYSTEMS, "load_all_buildsystems() loads all built-in buildsystems" );
+
+### Test check_auto_buildable() of each buildsystem
+sub test_check_auto_buildable {
+ my $bs=shift;
+ my $config=shift;
+ my $expected=shift;
+ my @steps=@_ || @STEPS;
+
+ if (! ref $expected) {
+ my %all_steps;
+ $all_steps{$_} = $expected foreach (@steps);
+ $expected = \%all_steps;
+ }
+ for my $step (@steps) {
+ my $e = 0;
+ if (exists $expected->{$step}) {
+ $e = $expected->{$step};
+ } elsif (exists $expected->{default}) {
+ $e = $expected->{default};
+ }
+ if ($e) {
+ ok( $bs->check_auto_buildable($step),
+ $bs->NAME() . "($config): check_auto_buildable($step)" );
+ }
+ else {
+ ok( ! $bs->check_auto_buildable($step),
+ $bs->NAME() . "($config): ! check_auto_buildable($step)" );
+ }
+ }
+}
+
+$tmpdir = tempdir("tmp.XXXXXX");
+$builddir = "$tmpdir/builddir";
+mkdir $builddir;
+%tmp = (
+ builddir => "$tmpdir/builddir",
+ sourcedir => $tmpdir
+);
+
+$bs{autoconf} = load_buildsystem("autoconf", undef, %tmp);
+$bs{cmake} = load_buildsystem("cmake", undef, %tmp);
+$bs{perl_mm} = load_buildsystem("perl_makemaker", undef, %tmp);
+$bs = load_buildsystem("makefile", undef, %tmp);
+
+test_check_auto_buildable($bs{autoconf}, "no configure", 0);
+test_check_auto_buildable($bs{cmake}, "no CMakeLists.txt", 0);
+test_check_auto_buildable($bs{perl_mm}, "no Makefile.PL", 0);
+test_check_auto_buildable($bs, "no Makefile", 0);
+
+touch "$tmpdir/configure", 0755;
+test_check_auto_buildable($bs{autoconf}, "configure", { configure => 1 });
+
+touch "$tmpdir/CMakeLists.txt";
+test_check_auto_buildable($bs{cmake}, "CMakeLists.txt", { configure => 1 });
+
+touch "$tmpdir/Makefile.PL";
+test_check_auto_buildable($bs{perl_mm}, "Makefile.PL",
+ { configure => 1, install => 1 });
+
+# With Makefile
+touch "$builddir/Makefile";
+test_check_auto_buildable($bs, "Makefile", { configure => 0, default => 1 });
+test_check_auto_buildable($bs{autoconf}, "configure+Makefile", { configure => 1 });
+test_check_auto_buildable($bs{cmake}, "CMakeLists.txt+Makefile", 1);
+
+# Makefile.PL forces in-source
+#(see note in check_auto_buildable() why always 1 here)
+unlink "$builddir/Makefile";
+touch "$tmpdir/Makefile";
+test_check_auto_buildable($bs{perl_mm}, "Makefile.PL+Makefile", 1);
+
+# Perl Build.PL - handles always
+$bs = load_buildsystem("perl_build", undef, %tmp);
+test_check_auto_buildable($bs, "no Build.PL", 0);
+touch "$tmpdir/Build.PL";
+test_check_auto_buildable($bs, "Build.PL", { configure => 1 });
+touch "$tmpdir/Build"; # forced in source
+test_check_auto_buildable($bs, "Build.PL+Build", 1);
+
+# Python Distutils
+$bs = load_buildsystem("python_distutils", undef, %tmp);
+test_check_auto_buildable($bs, "no setup.py", 0);
+touch "$tmpdir/setup.py";
+test_check_auto_buildable($bs, "setup.py", 1);
+
+cleandir($tmpdir);
+
+### Now test if it can autoselect a proper buildsystem for a typical package
+sub test_autoselection {
+ my $system=shift;
+ my $expected=shift;
+ for my $step (@STEPS) {
+ my $bs = load_buildsystem(undef, $step, @_);
+ my $e = $expected;
+ $e = $expected->{$step} if ref $expected;
+ if (defined $bs) {
+ is( $bs->NAME(), $e, "autoselection($system): $step=".((defined $e)?$e:'undef') );
+ }
+ else {
+ is ( undef, $e, "autoselection($system): $step=".((defined $e)?$e:'undef') );
+ }
+ }
+}
+
+# Autoconf
+touch "$tmpdir/configure", 0755;
+touch "$builddir/Makefile";
+test_autoselection("autoconf",
+ { configure => "autoconf", build => "makefile",
+ test => "makefile", install => "makefile", clean => "makefile" }, %tmp);
+cleandir $tmpdir;
+
+# Perl Makemaker (build, test, clean fail with builddir set [not supported])
+touch "$tmpdir/Makefile.PL";
+touch "$tmpdir/Makefile";
+test_autoselection("perl_makemaker", "perl_makemaker", %tmp);
+cleandir $tmpdir;
+
+# Makefile
+touch "$builddir/Makefile";
+test_autoselection("makefile", { build => "makefile", test => "makefile",
+ install => "makefile", clean => "makefile" }, %tmp);
+cleandir $tmpdir;
+
+# Python Distutils
+touch "$tmpdir/setup.py";
+test_autoselection("python_distutils", "python_distutils", %tmp);
+cleandir $tmpdir;
+
+# Perl Build
+touch "$tmpdir/Build.PL";
+touch "$tmpdir/Build";
+test_autoselection("perl_build", "perl_build", %tmp);
+cleandir $tmpdir;
+
+# CMake
+touch "$tmpdir/CMakeLists.txt";
+touch "$builddir/Makefile";
+test_autoselection("cmake",
+ { configure => "cmake", build => "makefile",
+ test => "makefile", install => "makefile", clean => "makefile" }, %tmp);
+cleandir $tmpdir;
+
+### Test Buildsystem::rmdir_builddir()
+sub do_rmdir_builddir {
+ my $builddir=shift;
+ my $system;
+ $system = $BS_CLASS->new(builddir => $builddir, sourcedir => $tmpdir);
+ $system->mkdir_builddir();
+ $system->rmdir_builddir();
+}
+
+$builddir = "$tmpdir/builddir";
+do_rmdir_builddir($builddir);
+ok ( ! -e $builddir, "testing rmdir_builddir() 1: builddir parent '$builddir' deleted" );
+ok ( -d $tmpdir, "testing rmdir_builddir() 1: sourcedir '$tmpdir' remains" );
+
+$builddir = "$tmpdir/bld";
+do_rmdir_builddir("$builddir/dir");
+ok ( ! -e $builddir, "testing rmdir_builddir() 2: builddir parent '$builddir' deleted" );
+ok ( -d $tmpdir, "testing rmdir_builddir() 2: sourcedir '$tmpdir' remains" );
+
+$builddir = "$tmpdir/bld";
+mkdir "$builddir";
+touch "$builddir/afile";
+mkdir "$builddir/dir";
+touch "$builddir/dir/afile2";
+do_rmdir_builddir("$builddir/dir");
+ok ( ! -e "$builddir/dir", "testing rmdir_builddir() 3: builddir '$builddir/dir' not empty, but deleted" );
+ok ( -d $builddir, "testing rmdir_builddir() 3: builddir parent '$builddir' not empty, remains" );
+
+cleandir $tmpdir;
+
+### Test buildsystems_init() and commandline/env argument handling
+sub get_load_bs_source {
+ my ($system, $step)=@_;
+ $step = (defined $step) ? "'$step'" : 'undef';
+ $system = (defined $system) ? "'$system'" : 'undef';
+
+return <<EOF;
+use strict;
+use warnings;
+use Debian::Debhelper::Dh_Buildsystems;
+
+buildsystems_init();
+my \$bs = load_buildsystem($system, $step);
+if (defined \$bs) {
+ print 'NAME=', \$bs->NAME(), "\\n";
+ print \$_, "=", (defined \$bs->{\$_}) ? \$bs->{\$_} : 'undef', "\\n"
+ foreach (sort keys \%\$bs);
+}
+EOF
+}
+
+$tmp = Cwd::getcwd();
+is_deeply( process_stdout("$^X -- - --builddirectory='autoconf/bld dir' --sourcedirectory autoconf",
+ get_load_bs_source(undef, "configure")),
+ [ 'NAME=autoconf', 'builddir=autoconf/bld dir', "cwd=$tmp", 'makecmd=make', 'sourcedir=autoconf' ],
+ "autoconf autoselection and sourcedir/builddir" );
+
+is_deeply( process_stdout("$^X -- - -Sautoconf -D autoconf", get_load_bs_source("autoconf", "build")),
+ [ 'NAME=autoconf', 'builddir=undef', "cwd=$tmp", 'makecmd=make', 'sourcedir=autoconf' ],
+ "forced autoconf and sourcedir" );
+
+is_deeply( process_stdout("$^X -- - -B -Sautoconf", get_load_bs_source("autoconf", "build")),
+ [ 'NAME=autoconf', "builddir=$default_builddir", "cwd=$tmp", 'makecmd=make', 'sourcedir=.' ],
+ "forced autoconf and default build directory" );
+
+# Build the autoconf test package
+sub dh_auto_do_autoconf {
+ my $sourcedir=shift;
+ my $builddir=shift;
+ my %args=@_;
+
+ my (@lines, @extra_args);
+ my $buildpath = $sourcedir;
+ my @dh_auto_args = ("-D", $sourcedir);
+ my $dh_auto_str = "-D $sourcedir";
+ if ($builddir) {
+ push @dh_auto_args, "-B", $builddir;
+ $dh_auto_str .= " -B $builddir";
+ $buildpath = $builddir;
+ }
+
+ my $do_dh_auto = sub {
+ my $step=shift;
+ my @extra_args;
+ my $extra_str = "";
+ if (exists $args{"${step}_args"}) {
+ push @extra_args, @{$args{"${step}_args"}};
+ $extra_str .= " $_" foreach (@extra_args);
+ }
+ is ( system("$TOPDIR/dh_auto_$step", @dh_auto_args, "--", @extra_args), 0,
+ "dh_auto_$step $dh_auto_str$extra_str" );
+ return @extra_args;
+ };
+
+ @extra_args = &$do_dh_auto('configure');
+ ok ( -f "$buildpath/Makefile", "$buildpath/Makefile exists" );
+ @lines=();
+ if (ok( open(FILE, "$buildpath/stamp_configure"), "$buildpath/stamp_configure exists") ) {
+ @lines = @{readlines(\*FILE)};
+ }
+ is_deeply( \@lines, \@extra_args, "$buildpath/stamp_configure contains extra args" );
+
+ &$do_dh_auto('build');
+ ok ( -f "$buildpath/stamp_build", "$buildpath/stamp_build exists" );
+ &$do_dh_auto('test');
+ ok ( -f "$buildpath/stamp_test", "$buildpath/stamp_test exists" );
+ &$do_dh_auto('install');
+ @lines=();
+ if ( ok(open(FILE, "$buildpath/stamp_install"), "$buildpath/stamp_install exists") ) {
+ @lines = @{readlines(\*FILE)};
+ }
+ is_deeply( \@lines, [ "DESTDIR=".Cwd::getcwd()."/debian/testpackage" ],
+ "$buildpath/stamp_install contains DESTDIR" );
+ &$do_dh_auto('clean');
+ if ($builddir) {
+ ok ( ! -e "$buildpath", "builddir $buildpath was removed" );
+ }
+ else {
+ ok ( ! -e "$buildpath/Makefile" && ! -e "$buildpath/stamp_configure", "Makefile and stamps gone" );
+ }
+ ok ( -x "$sourcedir/configure", "configure script renamins after clean" );
+}
+
+dh_auto_do_autoconf('autoconf');
+dh_auto_do_autoconf('autoconf', 'bld/dir', configure_args => [ "--extra-autoconf-configure-arg" ]);
+ok ( ! -e 'bld', "bld got deleted too" );
+
+END {
+ system("rm", "-rf", $tmpdir);
+ system("$TOPDIR/dh_clean");
+}
diff --git a/t/buildsystems/debian/changelog b/t/buildsystems/debian/changelog
new file mode 100644
index 00000000..f902d892
--- /dev/null
+++ b/t/buildsystems/debian/changelog
@@ -0,0 +1,5 @@
+testpackage (1.0-1) unstable; urgency=low
+
+ * Initial release. (Closes: #XXXXXX)
+
+ -- Test <testing@nowhere> Tue, 09 Jun 2009 15:35:32 +0300
diff --git a/t/buildsystems/debian/compat b/t/buildsystems/debian/compat
new file mode 100644
index 00000000..7f8f011e
--- /dev/null
+++ b/t/buildsystems/debian/compat
@@ -0,0 +1 @@
+7
diff --git a/t/buildsystems/debian/control b/t/buildsystems/debian/control
new file mode 100644
index 00000000..7edd806e
--- /dev/null
+++ b/t/buildsystems/debian/control
@@ -0,0 +1,10 @@
+Source: testsrcpackage
+Section: devel
+Priority: optional
+Maintainer: Test <testing@nowhere>
+Standards-Version: 3.8.1
+
+Package: testpackage
+Architecture: all
+Description: short description
+ Long description
diff --git a/t/syntax b/t/syntax
index f80fa97c..92455457 100755
--- a/t/syntax
+++ b/t/syntax
@@ -2,7 +2,7 @@
use Test;
my @progs=grep { -x $_ } glob("dh_*"), "dh";
-my @libs=glob("Debian/Debhelper/*.pm");
+my @libs=(glob("Debian/Debhelper/*.pm"), glob("Debian/Debhelper/*/*.pm"));
plan(tests => (@progs + @libs));