Subject: RE: RPM installer (was Re: SETUP WIZARD FOR CYGWIN?XFREE86)
From: Robert Collins <[email-masked]>
To: Dario Alcocer <[email-masked]>
Cc: [email-masked], Bernard Dautrevaux <[email-masked]>
Date: 26 Jul 2001 09:25:48 +1000

On 25 Jul 2001 14:08:02 -0700, Dario Alcocer wrote:
> >>>>> "Bernard" == Bernard Dautrevaux <[email-masked]> writes:
> 
>     Bernard> Or as the installer user interface is tcl/tk-based, you
>     Bernard> can look at FreeWrap
>     Bernard> (http://home.nycap.rr.com/dlabelle/freewrap/freewrap.html). Its
>     Bernard> neat and works quite well; moreover the tcl/tk installer
>     Bernard> in this case do not NEED cygwin, so can unpack the basic
>     Bernard> bootstrap environment without any problem).
> 
> Yes, I guess this would work as well.  However, the main reason I
> didn't want eliminate the Cygwin DLL was that I wanted to use ash to
> run the RPM package post-install/pre-uninstall scripts with it.  I
> guess I could find a Win32 Bourne-compatible shell that didn't require
> Cygwin to replace ash, but that would still leave me looking for
> Win32-only ports of the other utilities that might be required by the
> scripts (e.g. awk, sed, cut, paste etc.)
> 
> In the end, it just seemed simpler that, rather than trying to avoid
> including Cygwin in the installer (and miss out on all that
> functionality), I should instead find a way to use cygwin1.dll and
> avoid the pitfalls instead.  I decided on a two-stage install process;
> the first stage would check for a duplicate cygwin1.dll loaded in
> memory (and abort with a message if one was found), and the second
> stage would be the actual Tcl/Tk installer.

Unfortunately that still has the potential for trouble:

1) consider an ash script run when updating ash?
2) Consider other scripts running when updating ash?
3) Consider rpm updating itself ?

I'm not trying to throw cold water on this - just to raise some
considerations.

IMO, the setup program should update cygwin1.dll; force a reboot if
needed to get the new dll copied in (MS document how to do this); then
call into cygwin linked programs to do the real work (including rpm).
Cygwin1.dll needs to provide an abstracted replace-file-on-reboot
functionality, and the installing package stops as soon as such an
occurence happens triggering another reboot...

Thoughts?

Rob

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/