This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Allowing cygwin setup to patch up old versions


Max Bowsher wrote:

chris wrote:


I tend (like I suspect many other people) to update my cygwin every
couple of weeks. As cygwin by default keeps packages it downloads it
would make sense to distribute patches to existing files.

As a tiny example:

emacs-21.2-11.tar.bzip2 : 8MB
emacs-21.2-12.tar.bzip2 : 8MB
patch: 177K

emacs-21.2-11-src.tar.bzip2 : 19MB
emacs-21.2-12-src.tar.bzip2 : 19MB
patch : 3K (!)



This sounds like a very useful thing to do.
Question: What format are the patches? Some kind of binary format, I assume,
since they will need to be able to reconstruct the archives exactly, so the
MD5 checks can pass.



The patch system I am currently using is my personal conversion of the bsdiff package from *BSD. I was intending to submit a cygwinized version, but have decided that to be honest the program is not of the highest quality, so think a re-write of the program would be useful before releasing it on innocent people :) Howev bsdiff does create some very small patches, and is specially designed to cope with binaries, and the kind of differences you get in binaries, better than normal diff (mainly things in a different order, and lots of things shifted in value by a similar amount) ( http://www.daemonology.net/bsdiff/ if anyone wants to see)


The other major thing is that what I diff is (obviously) the .tar files, not the .tar.bz2 files, as even a small change to a file usually totally changes a compressed version of it. The only problem I can see this causing is that the bzip2 files must be compressed in exactly the same way. However I expect that everyone will compress their .bzip2s with the default, and best setting. If it turns out these files drift then I may be forced to MD5 the .tar files. I would like to keep the changes required as small as possible tho.

Chris



Such as it is, documentation is at:
http://sources.redhat.com/cygwin-apps/setup.html

Please join the cygwin-apps@cygwin.com list. That is where setup development
discussion happens.

Max.


-- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/






-- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]