X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=doc%2FPROGRAMMING;h=3cea384f787101e83eb1ec42d11423f79ee03bf3;hb=64cd63ff797a52da5222024a966d6fdb495af6b5;hp=a33daeb065e32d67279599cdc9411731798d4d54;hpb=9294875cbb26268af70ec8a84fb9ff74c76cf957;p=debhelper.git diff --git a/doc/PROGRAMMING b/doc/PROGRAMMING index a33daeb..3cea384 100644 --- a/doc/PROGRAMMING +++ b/doc/PROGRAMMING @@ -77,6 +77,13 @@ All debhelper programs should respond to certain arguments, such as -v, -i, -a, and -p. To help you make this work right, Dh_Lib.pm handles argument processing. Just call init(). +You can add support for additional options to your command by passing an +options hash to init(). The hash is then passed on the Getopt::Long to +parse the command line options. For example, to add a --foo option, which +sets $dh{FOO}: + +init(options => { foo => \$dh{FOO} }); + After argument processing, some global variables are used to hold the results; programs can use them later. These variables are elements of the %dh hash. @@ -99,27 +106,19 @@ switch variable description -X EXCLUDE exclude a something from processing (you decide what this means for your program) (This is an array) - EXCLUDE_FIND same as DH_EXCLUDE, except all items are put +-X EXCLUDE_FIND same as EXCLUDE, except all items are put into a string in a way that they will make find find them. (Use ! in front to negate that, of course) Note that this should only be used inside complex_doit(), not in doit(). --x INCLUDE_CONFFILES - include conffiles. It's -x for obscure - historical reasons. -d D_FLAG you decide what this means to your program --r R_FLAG you decide what this means to your program --k K_FLAG you decide what this means to your program +-k K_FLAG used to turn on keeping of something -P TMPDIR package build directory (implies only one package is being acted on) -u U_PARAMS will be set to a string, that is typically parameters your program passes on to some other program. (This is an array) --m M_PARAMS will be set to a string, you decide what it - means to your program --l L_PARAMS will be set to a string, you decide what it - means to your program -V V_FLAG will be set to a string, you decide what it means to your program -V V_FLAG_SET will be 1 if -V was specified, even if no @@ -129,18 +128,11 @@ switch variable description those processed here), will apply to all binary packages the program acts on, not just the first ---init-script INIT_SCRIPT will be set to a string, which specifies an - init script name (probably only - dh_installinit will ever use this) ---sourcedir SOURCEDIR will be set to a string (probably only - dh_movefiles will ever use this) ---destdir DESTDIR will be set to a string (probably only - dh_builddeb will ever use this) ---filename FILENAME will be set to a string ---flavor FLAVOR will be set to a string (probably only - dh_installemacsen will ever use this) ---number PRIORITY will be set to a number (deprecated) +--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 --name NAME a name to use for installed files, instead of the package name --error-handler ERROR_HANDLER a function to call on error @@ -148,8 +140,6 @@ switch variable description Any additional command line parameters that do not start with "-" will be ignored, and you can access them later just as you normally would. -If you need a new command line option, just ask me, and I will add it. - Global variables: ---------------- @@ -220,6 +210,8 @@ autoscript($package, $scriptname, $snippetname, $sedcommands) (optional) This command automatically adds shell script snippets to a debian maintainer script (like the postinst or prerm). + Note that in v6 mode and up, the snippets are added in reverse + order for the removal scripts. dirname($pathname) Return directory part of pathname. basename($pathname) @@ -255,5 +247,8 @@ getpackages($type) packages. As a side effect, populates %package_arches and %package_types with the types of all packages (not only those returned). +inhibit_log() + Prevent logging the program's successful finish to + debian/*debhelper.log -- Joey Hess