RFC: Allowing cygwin setup to patch up old versions

Robert Collins rbcollins@cygwin.com
Thu Jul 31 13:55:00 GMT 2003


On Thu, 2003-07-31 at 19:11, chris wrote:

> I would like to try to pull this into the main cygwin setup tree, and 
> was wondering if there is any kind of document that specifies exactly 
> how files will be set out on both the computer and the server, of if I 
> should just parse the code and see where it says files live? :)
> 
> Any comments (even "Someone is already working on that" or "Go away and 
> stop bothering us") much appresiated! :)

Ok, a few thoughts:
1) You'll want to decorate the download logic to have the patching occur
seamlessly.
2) It's a nice concept, but you'll also want to generate the patch files
automatically, so that maintainers don't need to think about this. A
perl fragment is probably what Chris needs to integrate into the web
server update scripts, but this is probably the last piece of the
puzzle.
3) As to file locations: put the patches in the same dir as the files.
Extend setup.ini (and the lexer/parser in inilex.l and iniparse.y, + the
IniBuilder interface) to recognize your patch metadata... as part of the
packageversion information. Do NOT put the patch metadata in a separate
file - that would extend the cost to calculate what needs downloading
hugely. I suggest that you store the patch in the packageversion object
it patches to, allowing trivial reverse iteration to calculate the
shortest path (as we know it's a DAG, we can cheat).

Lastly, follow the contributor Guidelines I've posted links to recently,
and be sure to submit patches against HEAD.

If you'd like a CVS branch to work on, that can be arranged.

Cheers,
Rob

-- 
GPG key available at: http://members.aardvark.net.au/lifeless/keys.txt.
---
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://cygwin.com/pipermail/cygwin/attachments/20030731/fb767cb5/attachment.sig>


More information about the Cygwin mailing list