Subject: Re: RFC: Allowing cygwin setup to patch up old versions
From: Robert Collins <[email-masked]>
To: chris <[email-masked]>
Cc: [email-masked]
Date: 31 Jul 2003 19:35:55 +1000

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.
---