It is occasionally useful to change the metadata of Debian binary packages. Here are some typical use-cases:
- You don't have access to a program's source code and can't do a proper build.
- You're modifying a package with static, non-executable files (i.e. runtime problems are not likely).
- You're porting an application to a newer (or older) Debian version, but the dependencies declared in the Debian package prevent it from being installed, and you don't want to make the package management unhappy.
First extract the files installed by the binary package:
$ dpkg-deb -x mypackage.deb mypackage
Next extract the package metadata:
$ dpkg-deb -e mypackage.deb mypackage/DEBIAN
At this point edit the control files in mypackage/DEBIAN. Finally, create the modified package:
dpkg-deb -b mypackage mypackage-new.deb