There are always exceptions. Just ask me.
-Introducing Dh_Lib.pm:
----------------------
+Introducing Dh_Lib:
+------------------
-Dh_Lib.pm is the library used by all debhelper programs to parse their
+Dh_Lib is the library used by all debhelper programs to parse their
arguments and set some useful variables. It's not mandatory that your
program use Dh_Lib.pm, but it will make it a lot easier to keep it in sync
with the rest of debhelper if it does, so this is highly encouraged.
-(There used to be a version of Dh_lib.pm that was a library of functions for
-shell scripts. If you want to write a debhelper command that is a shell
-script, I can dig up that old library for you. Only the perl one is
-supported now, though.)
-
-Use Dh_Lib.pm like this:
+Use Dh_Lib like this:
use Debian::Debhelper::Dh_Lib
init();
-The BEGIN block is there to make perl look for the module in all the right
-places.
-
The init() function causes Dh_lib to parse the command line and do some other
initialization tasks.
Writes the log files for the specified package(s), adding
the cmd to the end.
+Sequence Addons:
+---------------
+
+The dh(1) command has a --with <addon> parameter that ca be used to load
+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
+
+insert_after($existing_command, $new_command)
+ Insert $new_command in sequences after $existing_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, build, test, install, clean. See the comments
+inside Debian::Debhelper::Buildsystem for details.
+
+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>