summaryrefslogtreecommitdiff
path: root/doc/PROGRAMMING
Commit message (Collapse)AuthorAge
* If neither -a or -i are specified, debhelper commands used to default to ↵Joey Hess2010-03-01
| | | | acting on all packages in the control file, which was a guaranteed failure if the control file listed packages that did not build for the target architecture. After recent optimisations, this default behavior can efficiently be changed to the more sane default of acting on only packages that can be built for the current architecture. This change is mostly useful when using minimal rules files with dh. Closes: #572077
* stop trying to handle substvars idempotentlyJoey Hess2009-12-29
| | | | | | | | | | | | | | | | | | | | | | | In the beginning, I tried to be careful to have commands that added a substvar remove it when ran again with different options that caused it to not be needed. However, now when I look over the code, I see 3 places that got it right, 1 that was right but I just broke, and a dozen that don't even try to handle this case. Also, handling the case is hard; code that adds substvars may be complex and calculate versioned dependencies. The removal code then has to somehow also come up with those same exact dependency strings. It's a recipe for nasty code and maintenance headache even if I went and fixed everything right now. Instead, I dropped the whole thing. Many debhelper commands make no pretense of being idempotent anyway; it's easy and normal to call dh_prep when starting a binary package build, with the exact purpose of not needing to worry about idempotency. I did leave in the delsubstvar function, as well as the option to addsubstvar that, confusingly, causes an item to be removed. Just for library compatability reasons.
* -a == -sJoey Hess2009-09-01
| | | | | | | The -a flag now does the same thing as the -s flag, so debhelper users do not need to worry about using the -s flag when building a package that only builds for some architectures, and dh will also work in that situation. Closes: #540794
* drop regex support from remove_command_optionsJoey Hess2009-08-26
| | | | | | | | | | | | | I hope that it will not be needed; indeed I doubt that remove_command_options will be used much, because sequence addons would need to try to do conflicting things to need it. And the interface makes it hard for such conflicting sequence addons to work around the other, since addons can be loaded in either order. So let's not encourage them too much, and if there's a use case later, we can made changes. I haven't applied Modestas's enhanced patch that allows adding an option to all commands because I similarly think it might not be used. If a use case comes along we can add something like that.
* Allow dh addons to pass options to debhelper commandsModestas Vainius2009-08-26
| | | | | | | | Add dh addons APIs add_command_options()/remove_command_options() that allow addons to add additional options which dh will pass to the specified debhelper commands. Signed-off-by: Modestas Vainius <modestas@vainius.eu>
* releasing version 7.3.12Joey Hess2009-08-06
|
* dh: Allow creation of new sequences (such as to handle a patch target for ↵Joey Hess2009-08-06
| | | | quilt), by adding an add_command function to the sequence addon interface. See #540124.
* mention configureJoey Hess2009-07-01
|
* misc minor changesJoey Hess2009-06-29
|
* clean up --sourcedir/--sourcedirectory conflictJoey Hess2009-06-28
| | | | | | | | | | | | * Move two move 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(). This was done because of a conflict with the --sourcedirectory options used by dh_auto_*. I originally wanted to make dh_auto_* and dh_install both use --sourcedir, but that didn't work out.
* updateJoey Hess2009-04-20
|
* basic docs about buildsystem classesJoey Hess2009-04-20
|
* Move dh sequence documentation to PROGRAMMING.Joey Hess2009-04-20
|
* document load_load, write_logJoey Hess2009-03-23
|
* Move many command-specific options to only be accepted by the command that ↵Joey Hess2008-10-21
| | | | | | | | | | | | | | | | | | uses them. Affected options are: -x, -r, -R, -l, -L, -m, --include-conffiles, --no-restart-on-upgrade, --no-start, --restart-after-upgrade, --init-script, --filename, --flavor, --autodest, --libpackage, --add-udeb, --dpkg-shlibdeps-params, --dpkg-gencontrol-params, --update-rcd-params, --major, --remove-d, --dirs-only, --keep-debug, --version-info, --list-missing, --fail-missing, --language, --until, --after, --before, --remaining, --with * If any third-party debhelper commands use any of the above options, they will be broken, and need to be changed to pass options to init(). * To avoid breaking rules files that pass options to commands that do not use them, debhelper will now only warn if it encounters an unknown option. This will be converted back to an error later.
* Allow individual debhelper programs to define their own special options by ↵Joey Hess2008-10-21
| | | | passing a hash to init(), which is later passed on the Getopt::Long. Closes: #370823
* docsJoey Hess2008-04-30
|
* r1988: releasing version 5.0.45joeyh2007-04-13
|
* r1871: * dh_makeshlibs: add support for adding udeb: lines to shlibs filejoeyh2006-01-28
| | | | via --add-udeb parameter. Closes: #345471
* r1864: releasing version 5.0.19joeyh2006-01-24
|
* r1859: * Reverted change in 4.1.9, so generation of EXCLUDE_FIND escapes "." tojoeyh2006-01-20
| | | | | | | | "\\.", which turns into "\." after being run through the shell, and prevents find from treating -X.svn as a regexp that matches files such as foo/svn.vim. (It's safe to do this now that all uses of EXCLUDE_FIND are via complex_doit(), which was not the case of dh_clean when this change was originally made.) Closes: #349070
* r1849: * dh_installinit: If run with -o, do the inverse of -n and onlyjoeyh2006-01-08
| | | | | | | | | set up maintainer script snippets, w/o installing any files. Useful for those edge cases where the init script is provided by upstream and not easily installed by dh_installinit but where it's worth letting it manage the maintainer scripts anyway. Closes: #140881, #184980 * -o might be added for other similar commands later if there is any reason to. And yeah, it means that -no is close to a no-op..
* r1783: releasing version 4.9.8joey2005-08-27
|
* r1760: releasing version 4.2.37joey2005-06-09
|
* r1750: document dh_clean removaljoey2005-04-21
|
* r1691: * dh_installinit: Added --error-handler option. Based on work by ↵joey2004-06-29
| | | | | | Thom May. Closes: #209090
* r1655: * Added udeb support, as pioneered by di-packages-build. Understandsjoey2004-02-09
| | | | | | | | | | | | | | | "XC-Package-Type: udeb" in debian/control. See debhelper(1) for details. * Dh_Lib: add and export is_udeb and udeb_filename * dh_builddeb: name udebs with proper extension * dh_gencontrol: pass -n and filename to dpkg-gencontrol * dh_installdocs, dh_makeshlibs, dh_md5sums, dh_installchangelogs, dh_installexamples, dh_installman, dh_installmanpages: skip udebs * dh_shlibdeps: skip udebs. This may be temporary. * dh_installdeb: do not process conffiles, shlibs, preinsts, postrms, or prerms for udebs. Do not substiture #DEBHELPER# tokens in postinst scripts for udebs. * dh_installdebconf: skip config script for udebs, still do templates
* r1635: * Added dh_gconf command from Ross Burton. Closes: #180882joey2004-01-13
| | | | | | | | * dh_scrollkeeper: Make postinst fragment test for scrollkeeper-update. Closes: #225337 * Copyright update. * Include full text of the GPL in the source package, because goodness knows, I need another copy of that in subversion..
* r1596: * Remove duplicate packages from DOPACKAGES after argument processing.joey2003-08-22
| | | | | | | | | | | | | | Closes: #112950 * dh_compress: deal with links pointing to links pointing to compressed files, no matter what order find returns them. Closes: #204169 * dh_installmodules, dh_installpam, dh_installcron, dh_installinit, dh_installogrotate: add --name= option, that can be used to specify the name to use for the file(s) installed by these commands. For example, dh_installcron --name=foo will install debian/package.foo.cron.daily to etc/cron.daily/foo. Closes: #138202, #101003, #68545, #148844 (Thanks to Thomas Hood for connecting these bug reports.) * dh_installinit: deprecated --init-script option in favor of the above. * Add dh_installppp. Closes: #43403
* r587: typosjoey2003-05-23
|
* r576: * Rename debhelper.1 to debhelper.7.joey2003-03-03
| | | | * Typo, Closes: #183267
* r510: * Thanks to Benjamin Drieu <benj@debian.org>, dh_installdocs -X now ↵joey2002-02-17
| | | | | | | | | | | | works. I had to modify his patch to use cp --parents, since -P spews warnings now. Also, I made it continue to use cp -a if nothing is excluded, which is both faster, and means this patch is less likely to break anything if it turns out to be buggy. Also, stylistic changes. Closes: #40649 * Implemented -X for dh_installexamples as well. * dh_clean -X substvars will also work now. Closes: #66890
* r506: * Introduced the debian/compat file. This is the new, preferred way ↵joey2002-01-27
| | | | | | | | | | | | | | | | | | | | | | to say what debhelper compatability level your package uses. It has the big advantage of being available to debhelper when you run it at the command line, as well as in debian/rules. * A new v4 feature: dh_installinit, in v4 mode, will use invoke-rc.d. This is in v4 for testing, but I may well roll it back into v3 (and earlier) once woody is released and I don't have to worry about breaking things (and, presumably, once invoke-rc.d enters policy). * Some debhelper commands will now build up a new substvars variable, ${misc:Depends}, based on things they know your package needs to depend on. For example, dh_installinit in v4 mode adds sysvinit (>= 2.80-1) to that dep list, and dh_installxfonts adds a dep on xutils. This variable should make it easier to keep track of what your package needs to depends on, supplimenting the ${shlibs:Depends} and ${perl:Depends} substvars. Hmm, this appears to be based loosely on an idea by Masato Taruishi <taru@debian.org>, filtered through a long period of mulling it over. Closes: #76352 * Use the addsubstvar function I wrote for the above in dh_perl too.
* r502: * Fixed programmer's documentation of DOINDEP and DOARCH, Closes: ↵joey2002-01-10
| | | | | | #128546 * Fixed dh_builddeb SYNOPSIS, Closes: #128548
* r498: * Typo, Closes: #122679joey2001-12-21
| | | | | * Export dirname from Dh_Lib, and related cleanup, Closes: #125770 * Document dirname, basename in PROGRAMMING
* r493: * dh_installman: documented translated man page support, and made ↵joey2001-10-09
| | | | | | | it work properly. It was not stripping the language part from the installed filenames.
* r482: * Spellpatch, Closes: #101553joey2001-06-21
|
* r475: * dh_gencontrol: Added a documented interface for specifying substvarsjoey2001-06-03
| | | | | | | | | | | | | | | data in a file. Substvars data may be put in debian/package.substvars. (Those files used to be used by debhelper for automatically generated data, but it uses a different internal filename now). It will be merged with any automatically determined substvars data. See bug #98819 * I want to stress that no one should ever rely in internal, undocumented debhelper workings. Just because debhelper uses a certian name for some internally used file does not mean that you should feel free to modify that file to your own ends in a debian package. If you do use it, don't be at all suprised when it breaks. If you find that debhelper is lacking a documented interface for something that you need, ask for it! (debhelper's undocumented, internal use only files should now all be prefixed with ".debhelper")
* r380: * dh_builddeb: added a --filename option to specify the output ↵joey2000-10-28
| | | | | | | filename. This is intended to be used when building .udebs for the debian installer.
* r359: * I started work on debhelper v2 over a year ago, with a long list ofjoey2000-07-19
| | | | | | | | | | | | | | | | | | | | changes I hoped to get in that broke backwards compatability. That development stalled after only the most important change was made, although I did get out over 100 releases in the debhelper 2.0.x tree. In the meantime, lots of packages have switched to using v2, despite my warnings that doing so leaves packages open to being broken without notice until v2 is complete. * Therefore, I am calling v2 complete, as it is. Future non-compatabile changes will happen in v3, which will be started soon. This means that by using debhelper v2, one major thing changes: debhelper uses debian/<package> as the temporary directory for *all* packages; debian/tmp is no longer used to build binary packages out of. This is very useful for multi-binary packages, and I reccommend everyone switch to v2. * Updated example rules files to use v2 by default. * Updated all documentation to assume that v2 is being used. * Added a few notes for people still using v1. * Moved all of the README into debhelper(1).
* r338: * Patch from Jorgen `forcer' Schaefer <forcer at mindless.com> (muchjoey2000-03-02
| | | | | | | | | | | | | | | | | modified)to make dh_installwm use new window manager registration method, update-alternatives. Closes: #52156, #34684 (latter bug is obsolete) * Fixed $dh{flavor} to be upper-case. * Deprecated dh_installemavcsen --number; use --priority instead. Also, the option parser requires the parameter be a number now. And, dh_installwm now accepts --priority, and window manager packages should start using it. * dh_installwm now behaves like a proper debhelper command, and reads debian/<package>.wm too. This is a small behavior change; filenames specified on the command line no longer apply to all packages it acts on. I can't belive this program existed for 2 years with such a glaring problem; I guess most people don't need ot register 5 wm's in 3 sub-packages. Anyway, it can handle such things now. :-) * Moved Dh_*.pm to /usr/lib/perl5/Debian/Debhelper. *big* change.
* r309: removed 'master'joey1999-11-23
|
* r308: * dh_suidregister: Die with understandable error message if asked tojoey1999-11-23
| | | | | | | | | | | | act on files that don't exist. * dh_installchangelogs: to comply with policy, if it's told to act on a html changelog, it installs it as changelog.html.gz and dumps a plain text version to changelog.gz. The dumping is done with lynx. (Closes: #51099) * Dh_Getopt.pm: Modified it so any options specified after -- are added to U_PARAMS. This means that instead of passing '-u"something nasty"' to dh_gencontrol and the like, you can pass '-- something nasty' without fiddling to get the quoting right, etc.
* r302: * dh_shlibdeps: added -l option, which lets you specify a path thatjoey1999-11-04
| | | | | | | | | | | | | | LD_LIBRARY_PATH is then set to when dpkg-shlibdeps is run. This should make it easier for library packages that also build binary packages to be built with correct dependancies. Closes: #36751 * In honor of Burn all GIFs Day (hi Don!), I added alternative image formats .png, .jpg (and .jpeg) to the list of extentions dh_compress does not compress. Closes: #41733 * Also, made all extentions dh_compress skips be looked at case insensitively. * dh_movefiles: force owner and group of installed files to be root. Closes: #46039 * Closes: #42650, #47175 -- they've been fixed forever.
* r84: Initial revisionjoey1999-08-17