[PATCH] Uninstall .dll last, reinstall first - final version

Dave Korn dave.korn@artimi.com
Wed Apr 20 14:35:00 GMT 2005



  Well, it builds, and it works, and I've tested it by rolling an
installation back-and-forth across quite a large update (the difference
between my local mirror set up last september and an up-to-date mirror),
which I could do with the old setup and see things fail when it removed the
cygwin dll early in the uninstall, and which worked fine with the patched
version because it saves the dll until last, and nobody actually has any
comments, but I've cut out the unnecessary return-an-early-abort-indication
bit now that I'm convinced that LogSingleton::exit doesn't return.  So I'd
call that done for now.  Here ya go!





2005-04-20  Dave Korn <dave.korn@artimi.com>

	* install.cc (uninstall_if_needed):  New function, broken out from
  do_install_thread, tests conditions for uninstall and does so if needed.
  (upgrade_if_needed):  Likewise broken out from upgrade-in-place clause of
  do_install_thread.
  (install_if_needed):  Likewise broken out from third (reinstall) pass
  over package database in do_install_thread.
  (do_install_thread):  Use broken out functions in the three passes over
  the database.  Skip cygwin dll package when found in the first two passes,
  so uninstall scripts can run successfully, then run all three passes for
  cygwin dll only, then complete reinstallation (third pass) using new dll.


    cheers, 
      DaveK
-- 
Can't think of a witty .sigline today....
-------------- next part --------------
A non-text attachment was scrubbed...
Name: setup-save-cygdll-til-last-patch-final.diff
Type: application/octet-stream
Size: 5311 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-apps/attachments/20050420/f0bc63ff/attachment.obj>


More information about the Cygwin-apps mailing list