From 783f523cf9127e1c6e49ddc8e106328b2a001e03 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 28 Jul 2003 18:43:12 +0000 Subject: [PATCH] r613: This commit was manufactured by cvs2svn to create tag 'upstream_version_2_0_13'. --- .foo | 0 BUGS | 0 Makefile | 0 PROGRAMMING | 187 ---------------------------------------------- README | 100 ------------------------- dh_getopt.pl | 57 -------------- dh_testversion.in | 23 ------ foo | 2 - from-debstd | 63 ---------------- me | 0 me.info | 0 pgptemp.$00 | 0 12 files changed, 432 deletions(-) delete mode 100644 .foo delete mode 100644 BUGS delete mode 100644 Makefile delete mode 100644 PROGRAMMING delete mode 100644 README delete mode 100755 dh_getopt.pl delete mode 100644 dh_testversion.in delete mode 100644 foo delete mode 100644 from-debstd delete mode 100644 me delete mode 100644 me.info delete mode 100644 pgptemp.$00 diff --git a/.foo b/.foo deleted file mode 100644 index e69de29..0000000 diff --git a/BUGS b/BUGS deleted file mode 100644 index e69de29..0000000 diff --git a/Makefile b/Makefile deleted file mode 100644 index e69de29..0000000 diff --git a/PROGRAMMING b/PROGRAMMING deleted file mode 100644 index 7dc0c63..0000000 --- a/PROGRAMMING +++ /dev/null @@ -1,187 +0,0 @@ -This file documents things you should know to write a new debhelper program. - -Standardization: ---------------- - -There are lots of debhelper commands. To make the learning curve shallower, -I want them all to behave in a standard manner: - -All debhelper programs have names beginning with "dh_". This is so we don't -pollute the name space too much. - -Debhelper programs should never output anything to standard output except -error messages, important warnings, and the actual commands they run that -modify files under debian/ and debian/tmp, etc (this last only if they are -passed -v, and if you output the commands, you should indent them with 1 tab). -This is so we don't have a lot of noise output when all the debhelper commands -in a debian/rules are run, so the important stuff is clearly visible. - -Debhelper programs should accept the options, -v, -i, -a, -p, --no-act, and --P, and any long forms of these options, like --verbose . If necessary, the -options may be ignored. - -If debhelper commands need config files, they should use -debian/package.filename as the name of the config file (replace filename -with whatever your command wants), and debian/filename should also be -checked for config information for the first binary package in -debian/control. Also, debhelper commands should accept the same sort of -information that appears in the config files, on their command lines, if -possible, and apply that information to the first package they act on. - -Debhelper programs should never modify the debian/postinst, debian/prerm, -etc scripts, instead, they can add lines to debian/postinst.debhelper, etc. -The autoscript() function (see below) is one easy way to do this. -dh_installdeb is an exception, it will run after the other commands and -merge these modifications into the actual postinst scripts. - -There are always exceptions. Just ask me. - -Introducing dh_lib: ------------------- - -All debhelper programs use the dh_lib library (actually it's a shell script) -to parse their arguments and set some useful variables. It's not mandatory -that your program use dh_lib, 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. - -Typically, you invoke dh_lib like this: - -PATH=debian:$PATH:/usr/lib/debhelper -. dh_lib - -The path statement is there to make your program look first in debian/ for -dh_lib (so users can install a modified version there if necessary), then the -rest of the path, then the canonical location of dh_lib, /usr/lib/debhelper. - -Argument processing: -------------------- - -All debhelper programs should respond to certain arguments, such as -v, -i, --a, and -p. To help you make this work right, dh_lib handles argument -processing. - -As soon as dh_lib loads, it processes any arguments that have been passed to -your program. The following variables may be set during this stage; your -program can use them later: - -switch variable description --v DH_VERBOSE should the program verbosely output what it is - doing? ---no-act DH_NO_ACT should the program not actually do anything? --i,-a,-p DH_DOPACKAGES a space delimited list of the binary packages - to act on --i,-p DH_DOINDEP a space delimited list of the binary independent - packages to act on --a,-p DH_DOARCH a space delimited list of the binary dependent - packages to act on --n DH_NOSCRIPTS if set, do not make any modifications to the - package's postinst, postrm, etc scripts. --X DH_EXCLUDE exclude a something from processing (you - decide what this means for your program) - DH_EXCLUDE_GREP same as DH_EXCLUDE, except all items are - separated by '|' characters, instead of spaces, - handy for egrep -v --x DH_INCLUDE_CONFFILES - include conffiles. It's -x for obscure - historical reasons. --d DH_D_FLAG you decide what this means to your program --r DH_R_FLAG you decide what this means to your program --k DH_K_FLAG you decide what this means to your program --P DH_TMPDIR package build directory (implies only one - package is being acted on) --u DH_U_PARAMS will be set to a string, that is typically - parameters your program passes on to some - other program. --m DH_M_PARAMS will be set to a string, you decide what it - means to your program --V DH_V_FLAG will be set to a string, you decide what it - means to your program --V DH_V_FLAG_SET will be 1 if -V was specified, even if no - parameters were passed along with the -V --A DH_PARAMS_ALL generally means that additional command line - parameters passed to the program (other than - those processed here), will apply to all - binary packages the program acts on, not just - the first ---init-script DH_INIT_SCRIPT will be set to a string, which specifies an - init script name (probably only - dh_installinit will ever use this) - -Any additional command line parameters that do not start with "-" will be -ignored, and you can access them later just as you normally would ($1, $2, -etc). - -If you need a new command line option, just ask me, and I will add it. - -Global variables: ----------------- - -The following variables are also set, you can use any of them: - -MAINPACKAGE the name of the first binary package listed in - debian/control -DH_FIRSTPACKAGE the first package we were instructed to act on. This package - typically gets special treatment, additional arguments - specified on the command line may effect it. - -Functions: ---------- - -Dh_lib also contains a number of functions you may find useful. - -doit() - Pass this function a string that is a shell command. It will run the - command (unless DH_NO_ACT is set), and if DH_VERBOSE is set, it will - also output the command to stdout. You should use this function for - almost all commands your program performs that manipulate files in - the package build directories. -complex_doit() - This is the same as doit(), except you can pass more complicated - commands to it (ie, commands involving piping redirection) -verbose_echo() - Pass this command a string, and it will echo it if DH_VERBOSE is set. -error() - Pass this command a string, it will output it to standard error and - exit. -warning() - Pass this command a string, and it will output it to standard error - as a warning message. -tmpdir() - Pass this command the name of a binary package, it will return the - name of the tmp directory that will be used as this package's - package build directory. Typically, this will be "debian/tmp" or - "debian/package". -pkgfile() - Pass this command the name of a binary package, and the base name of a - file, and it will return the actual filename to use. This is used - for allowing debhelper programs to have configuration files in the - debian/ directory, so there can be one config file per binary - package. The convention is that the files are named - debian/package.filename, and debian/filename is also allowable for - the MAINPACKAGE. If the file does not exist, nothing is returned. -pkgext() - Pass this command the name of a binary package, and it will return - the name to prefix to files in debian/ for this package. For the - MAINPACKAGE, it returns nothing (there is no prefix), for the other - packages, it returns "package.". -isnative() - Pass this command the name of a package, it returns 1 if the package - is a native debian package. - As a side effect, VERSION is set to the version number of the - package. -autoscript() - Pass 3 parameters: - 1: script to add to - 2: filename of snippet - 3: sed commands to run on the snippet. Ie, s/#PACKAGE#/$PACKAGE/ - (optional) - This command automatically adds shell script snippets to a debian - maintainer script (like the postinst or prerm). - -Notes: ------ - -Dh_lib is still evolving. -There will probably be a perl version too, in the future. - --- Joey Hess diff --git a/README b/README deleted file mode 100644 index 986eb02..0000000 --- a/README +++ /dev/null @@ -1,100 +0,0 @@ -Debhelper is a collection of programs that can be used in debian/rules files -to automate common tasks. For further documentation, see the man pages for -dh_* commands. - -To help you get started, I've included examples of debian/rules files -that use debhelper commands extensively. See /usr/doc/debhelper/examples/ . -These files are also useful as they give one good order you can run the -various debhelper scripts in (though other variations are possible). - -Starting a new package: ----------------------- - -You can just use the example rules files and do the rest of the new package -set up by hand, or you could try the new dh-make package, which contains a -"dh_make" command that is similar to debmake, and tries to automate the -process. - -Converting from debstd to debhelper: ------------------------------------ - -See the file "from-debstd" for documentation on how to do this. - -Automatic generation of debian install scripts: ----------------------------------------------- - -Some debhelper commands will automatically generate parts of debian install -scripts. If you want these automatically generated things included in your -debian install scripts, then you need to add "#DEBHELPER#" to your scripts, -in the place the code should be added. "#DEBHELPER#" will be replaced by any -auto-generated code when you run dh_installdeb. - -All scripts that automatically generate code in this way let it be disabled -by the -n parameter. - -Note that it 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 is one way to -do that: - -print << `EOF` -#DEBHELPER# -EOF - - -Notes on multiple binary packages: ---------------------------------- - -If your source package generates more than one binary package, debhelper -programs will default to acting on all binary packages when run. If your -source package happens to generate one architecture dependent package, and -another architecture independent package, this is not the correct behavior, -because you need to generate the architecture dependent packages in the -binary-arch debian/rules target, and the architecture independent packages -in the binary-indep debian/rules target. - -To facilitate this, as well as give you more control over which packages -are acted on by debhelper programs, all debhelper programs accept the -following parameters: - --a Act on architecture dependent packages --i Act on architecture independent packages --ppackage Act on the package named "package" (may be repeated multiple - times) - -These parameters are cumulative. If none are given, the tools default to -affecting all packages. - -See examples/rules.multi for an example of how to use this. - -Package build directories -- debian/tmp, etc: --------------------------------------------- - -By default, all debhelper programs assume that the temporary directory used -for assembling the tree of files in a package is debian/tmp for the first -package listed in debian/control, and debian/ for each -additional package. - -Sometimes, you might want to use some other temporary directory. This is -supported by the -P flag. The directory to use is specified after -P, for -example, "dh_installdocs -Pdebian/tmp", will use debian/tmp as the temporary -directory. Note that if you use -P, the debhelper programs can only be -acting on a single package at a time. So if you have a package that builds -many binary packages, you will need to use the -p flag to specify which -binary package the debhelper program will act on. For example: - - dh_installdocs -pfoolib1 -Pdebian/tmp-foolib1 - dh_installdocs -pfoolib1-dev -Pdebian/tmp-foolib1-dev - dh_installdocs -pfoolib-bin -Pdebian/tmp-foolib-bin - -This uses debian/tmp- as the package build directory. - -Other notes: ------------ - -* 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 - man pages, but for example, dh_installdeb knows to make debian/tmp/DEBIAN/ - before trying to put files there, dh_installmenu knows you need a - debian/tmp/usr/lib/menu/ before installing the menu files, etc. - --- Joey Hess diff --git a/dh_getopt.pl b/dh_getopt.pl deleted file mode 100755 index 4d1d390..0000000 --- a/dh_getopt.pl +++ /dev/null @@ -1,57 +0,0 @@ -#!/usr/bin/perl -# -# Because the getopt() program is so horribly broken, I wrote my own argument -# processer that uses the find Getopt::Long module. This is used by all -# debhelper shell scripts. -# -# Joey Hess, GPL copyright 1998. - -BEGIN { push @INC, "debian", "/usr/lib/debhelper" } -use strict; -use Dh_Getopt; - -# This is a tricky (and nasty) bit: override the error() function, which -# comes from Dh_Lib, with one of our own so we print out the list of errors -# to the shell, which can do what it wants with them. -sub Dh_Getopt::error { my $message=shift; - print "DH_PARSE_ERROR='$message'\n"; - exit 1; -} - -# Parse options. -my %options=Dh_Getopt::parseopts(); - -# Change a few lists in %options into strings, -# generate some options that only need to be visible to the -# shell scripts so Dh_Getopt doesn't bother generating. -$options{DOPACKAGES}=join " ",@{$options{DOPACKAGES}}; -if ($#{$options{EXCLUDE}} > -1) { - $options{EXCLUDE_GREP}=join '|', @{$options{EXCLUDE}}; -} -$options{EXCLUDE}=join " ",@{$options{EXCLUDE}}; - -# Check to see if DH_VERBOSE environment variable was set, if so, -# make sure verbose is on. -if (defined $main::ENV{DH_VERBOSE}) { - if ($main::ENV{DH_VERBOSE} ne undef) { - $options{VERBOSE}=1; - } -} - -# Check to see if DH_NO_ACT environment variable was set, if so, -# make sure no act mode is on. -if (defined $main::ENV{DH_NO_ACT}) { - if ($main::ENV{DH_NO_ACT} ne undef) { - $options{NO_ACT}=1; - } -} - -# Now output everything, in a format suitable for a shell to eval it. -foreach (keys(%options)) { - if (defined $options{$_}) { - print "DH_$_='$options{$_}'\n"; - } -} - -# This sets $@ in the shell to whatever arguements remain. -print "set -- @ARGV\n" diff --git a/dh_testversion.in b/dh_testversion.in deleted file mode 100644 index 9e2f14e..0000000 --- a/dh_testversion.in +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -e -# -# Debhelper version check. - -# Current version of debhelper is: -DH_VERSION=#DEBHELPER_VERSION# - -PATH=debian:$PATH:/usr/lib/debhelper -. dh_lib - -if [ "$1" -a "$2" ]; then - compare=$1 - ver=$2 -elif [ "$1" ]; then - compare=">=" - ver=$1 -fi - -if [ "$compare" -a "$ver" ] ; then - if ! dpkg --compare-versions $DH_VERSION $compare $ver; then - error "debhelper version $DH_VERSION is installed, but a version $compare $ver is needed to build this package." - fi -fi diff --git a/foo b/foo deleted file mode 100644 index ad9712d..0000000 --- a/foo +++ /dev/null @@ -1,2 +0,0 @@ -x="debian|autoscripts" -find |grep -F "`echo "$x" | tr "|" "\n"`" \ No newline at end of file diff --git a/from-debstd b/from-debstd deleted file mode 100644 index 31fd0cd..0000000 --- a/from-debstd +++ /dev/null @@ -1,63 +0,0 @@ -Converting from debstd to debhelper: ------------------------------------ - -Debhelper is designed to be mostly backwards compatible to debstd. I say -mostly because I haven't made debhelper handle everything that debstd does -yet, and in a few cases, debhelper does things differently (and I hope, -better). - -In general, you can switch over to using debhelper as follows. In your -debian/rules, you currently will have some lines that read something like -this: - - debstd CHANGES TODO README - dpkg-gencontrol - dpkg --build debian/tmp .. - -Debhelper comes with a command called dh_debstd that mimics the behavior of -debstd, by calling various debhelper commands. So in the root directory of -your package you are converting, run: - - dh_debstd CHANGES TODO README --verbose --no-act - -Notice the parallel to the debstd command above, I just added "--verbose --act" -to the end. This will make dh_debstd output a list of commands that it thinks -will emulate what debstd would have done, without actually doing anything to -your package. The list will look similar to this: - - dh_installdirs - dh_installdocs TODO README - dh_installexamples - dh_installchangelogs CHANGES - dh_installmenu - dh_installcron - dh_installmanpages - dh_movefiles - dh_strip - dh_compress - dh_fixperms - dh_suidregister - dh_shlibdeps - dh_gencontrol - dh_makeshlibs - dh_installdeb - dh_md5sums - dh_builddeb - -Now copy that output into debian/rules, replacing the debstd command, as -well as any dpkg-gencontol and dpkg --build commands. - -Finally, debstd automatically modified postinst, postrm, etc scripts. Some -of the debhelper apps do that too, but they do it differently. Debstd just -appends its commands to the end of the script. Debhelper requires that you -insert a tag into your scripts, that will tell debhelper where to insert -commands. So if you have postinst, postrm, etc scripts, add a line reading -"#DEBHELPER#" to the end of them. - -Once you think it's all set up properly, do a test build of your package. If -it works ok, I recommend that you compare the new package and the old -debstd-generated package very closely. Pay special attention to the -postinst, postrm, etc scripts, and make sure that the new package contains -all the same files as the old, with the same permissions. - --- Joey Hess diff --git a/me b/me deleted file mode 100644 index e69de29..0000000 diff --git a/me.info b/me.info deleted file mode 100644 index e69de29..0000000 diff --git a/pgptemp.$00 b/pgptemp.$00 deleted file mode 100644 index e69de29..0000000 -- 2.39.2