&dhucpackage; &dhsection;

&dhcommand;

simple script to change the version of a .deb file

          &dhcommand;

            options

           .deb-file
          log message

## DESCRIPTION

`&dhcommand;` unpacks the specified `.deb` file, changes the version number in the relevant locations, appends a Debian `changelog` entry with the specified contents, and creates a new `.deb` file with the updated version.

By default, the tool creates a new version number suitable for local changes, such that the new package will be greater than the current one, but lesser than any future, official Debian packages. With `-v `version``, the version number can be specified directly. On the other hand, the `-c` simply calculates the new version number but does not generate a new package.

When building a `.deb` file, root privileges are required in order to have the correct permissions and ownerships in the resulting `.deb` file. This can be achieved either by running `&dhcommand;` as root or running under

fakeroot

1, as 'fakeroot &dhcommand; foo.deb'.

With `-k `hook``, a hook script may be specified, which is run on the unpacked binary packages just before it is repacked. If you want to write changelog entries from within the hook, use '`dch -a -- `your message``'. (Alternatively, do not give a changelog entry on the `&dhcommand;` command line and `dch` will be called automatically.) The hook command must be placed in quotes if it has more than one word; it is called via `sh -c`.

## OPTIONS

`-v` `new-version`

`--new-version` `new-version`

- Specifies the version number to be used for the new version. Passed to

  dch

  1 .

`-o` `old-version`

`--old-version` `old-version`

- Specifies the version number to be used as the old version instead of the version stored in the `.deb`'s `control` file.

`-c`

`--calculate-only`

- Only calculate and display the new version number which would be used; do not build a new `.deb` file. Cannot be used in conjunction with `-v`.

`-s` `string`

`--string` `string`

- Instead of using 'LOCAL.' as the version string to append to the old version number, use `string` instead.

`-k` `hook-command`

`--hook` `hook-command`

- A hook command to run after unpacking the old `.deb` file and modifying the `changelog`, and before packing up the new `.deb` file. Must be in quotes if it is more than one (shell) word. Only one hook command may be specified; if you want to perform more than this, you could specify 'bash' as the hook command, and you will then be given a shell to work in.

`-D`

`--debug`

- Pass `--debug` to

  dpkg-deb

  1 .

`-b`

`--force-bad-version`

- Pass `--force-bad-version` to

  dch

  1

`-h`

`--help`

- Display usage information.

`-V`

`--version`

- Display version information.

## SEE ALSO

dch

1 ,

dpkg-deb

1 ,

fakeroot

1

## DISCLAIMER

&dhpackage; is a tool intended to help porters with modifying packages for other architectures, and to augment deb-repack, which creates modified packages with identical version numbers as the official packages. Chaos will ensue! With &dhpackage;, a proper version number can be selected, which does not obstruct the next official release but can be specifically pinned with APT or held with dpkg.

Please take note that &dhpackage; does not come without problems. While it works fine in most cases, it may just not in yours. Especially, please consider that it changes binary packages (only!) and hence can break strict versioned dependencies between binary packages generated from the same source.

You are using this tool at your own risk and I shall not shed a tear if your gerbil goes up in flames, your microwave attacks the stereo, or the angry slamming of your fist spills your coffee into the keyboard, which sets off a chain reaction resulting in a vast amount of money transferred from your account to mine.

## AUTHOR

&dhpackage; is Copyright 2004-5 by &dhusername; &dhemail; and modifications are Copyright 2006 by &dhmaintusername; &dhmaintemail;.

Permission is granted to copy, distribute and/or modify this document under the terms of the Artistic License: http://www.opensource.org/licenses/artistic-license.php. On Debian systems, the complete text of the Artistic License can be found in `/usr/share/common-licenses/Artistic`.

This manual page was written by &dhusername; &dhemail; and modified by &dhmaintusername; &dhmaintemail;.