recoverable downloads - opinions sought

Charles Wilson
Thu Nov 15 14:10:00 GMT 2001

Robert Collins wrote:

> To do recoverable downloads we need 2 things.
> 1) A way to check the file, other than filesize, for integrity. MD5 will
> do and IIRC that's already caclulated on sources.redhat.
> 2) Code to pickup partway through and carry on.
> For 2) we can either code it internally, or link statically to something
> like libcurl, or call out to wget/curl.

But if setup used an external library (or program) it would have to be a 
non-cygwin version, right?

> My current mental state:
> For creating a mirror aka download only, we have to run on a cygwin-free
> system with little or no loss of functionality. Imagine someone on a
> corporate network with a dedicated 'net' PC, and cygwin not allowed on
> that.
> Using an external helper, via a bootstrap process will be a lot easier,
> but will sacrifice the functionality when on a non-cygwin machine.

You're assuming that the external helper is a cygwin program, I guess.

Ummm...I'm reminded of Dario's rpm-based cygwin distribution.  He had a 
bootstrap phase that installed cygwin(dll, bare minumum tools, rpm 
itself), and then used rpm to install everything else...

If we're going to go with a two phase setup, then his idea makes more sense 

than continuing to roll our own. The big argument against his plan was 

(a) two phase is bad (b) why throw away our perfectly good setup tool.  Okay,

that's two arguments. ;-)

> So I'm in favour of internal code/static library linkage. A dynamic
> library _could_ be used, but we'd ned to treat it as a special case, not
> as a standard isntall-and-log package.

Yep.  But if it's a special case, then we might as well link it in 
statically.  If it were in a DLL, we can't update it on-the-fly from 
setup because setup.exe is still using updates of that DLL have 
to be done manually.

Might as well just update setup.exe itself, then, if you're going to do 
it manually.  Therefore, static link.

> The alternative to internal/static code is to go down the path of
> splitting setup into two builds, but as we'd _still_ have to get the
> download-without-cygwin part right, I see no benefit in this.

Yep.  Might be helpful to review the arguments surrounding Dario's 
proposal (which he backed up with an actual implementation and, like, 
documentation and stuff).

Thread: July, "RE: RPM installer (was Re: SETUP WIZARD FOR 


I seem to remember that in early september Dario actually put together 
an ISO that embodied his whole rpm-based cygwin dist including a 
tk/tcl-based 'bootstrap' installer...

anyway, I'm just rambling now.


More information about the Cygwin-apps mailing list