Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Subject: RE: RPM installer (was Re: SETUP WIZARD FOR CYGWIN?XFREE86) From: Robert Collins To: Dario Alcocer Cc: cygwin AT cygwin DOT com, Bernard Dautrevaux In-Reply-To: <15199.13618.671411.755243@coyote.priv.helixdigital.com> References: <17B78BDF120BD411B70100500422FC6309E2FD AT IIS000> <15199 DOT 13618 DOT 671411 DOT 755243 AT coyote DOT priv DOT helixdigital DOT com> Content-Type: text/plain Content-Transfer-Encoding: 7bit X-Mailer: Evolution/0.11 (Beta Release) Date: 26 Jul 2001 09:25:48 +1000 Message-Id: <996103548.18053.7.camel@lifelesswks> Mime-Version: 1.0 X-OriginalArrivalTime: 25 Jul 2001 23:12:06.0841 (UTC) FILETIME=[392CFA90:01C1155F] On 25 Jul 2001 14:08:02 -0700, Dario Alcocer wrote: > >>>>> "Bernard" == Bernard Dautrevaux 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/