home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.unix.misc:4226 comp.unix.wizards:4756
- Newsgroups: comp.unix.misc,comp.unix.wizards
- Path: sparky!uunet!spillman!tye
- From: tye@spillman.uucp (E. Tye McQueen)
- Subject: Programs to create and apply binary patches?
- Message-ID: <1992Nov17.194826.26531@spillman.uucp>
- Date: Tue, 17 Nov 1992 19:48:26 GMT
- Organization: Spillman Data Systems
- Followup-To: comp.unix.misc
- Lines: 36
-
- [Follow-ups to comp.unix.misc]
-
- Any great ideas on how to create a "patch" file of differences between
- two versions of a very large *binary* file (executable) so the patch
- file could be distributed (via modem) and applied to the many copies
- of the old version of the file?
-
- What I thinking of are two programs:
- A good differences program that is not line-oriented.
- A good batch editor that is not line-oriented.
-
- Several of us here have seen such beasts before but none of us can
- find a nice Unix solution. Any help would be greatly appreciated.
-
- I'm considering converting the binary file to be "line-oriented". But
- it is tricky to put the line breaks so that insertions and deletions of
- code do not cause the difference engine to decide the entire remainder
- of the files are different.
-
- One scheme is to select a byte value that appears with some fairly
- reqular frequency in the executable and transpose that value and
- newline. The hard part is finding an apporpriate value (if one even
- exists).
-
- But I suspect that there is Unix-capatible source code for non-line-
- oriented differences and batch editing programs if I just knew where
- to look. I tried "archie" but that works best if you already know
- the name of what you are looking for. Checking for things containing
- "dif" or "patch" doesn't seem to find anything but differences and
- patches of other packages.
-
- Thanks,
- tye@spillman.com Tye McQueen, E.
- ----------------------------------------------------------
- Nothing is obvious unless you are overlooking something.
- ----------------------------------------------------------
-