| Producing the diff has to be quite easy, unless I’m missing something:
- Unpack both packages using ‘dpkg-deb –extract’
- Diff the package contents using ‘diff -Naur’
- Distribute that patch gzipped.
And applying it should be as simple as:
- Unpack the old package on the target machine using ‘dpkg-deb –extract’
- Apply the patch using ‘patch’
- Build the new package using ‘dpkg-deb –build’
- Install the new package
(Give or take a few details that haven’t occurred to me and that would preclude this approach 🙂
If upgrading more than one package version at a time, more than one patch must be applied, or a selection of ‘bumper patches’ made available.
The main issues would seem to be the processing time it would take to generate patches, the storage space required for numerous patches per package, and the additional complexity of integrating such a mechanism into ‘dpkg’/index.html’apt-get’ etc.