This is the mail archive of the cygwin-apps@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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



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

Attachment: setup-save-cygdll-til-last-patch-final.diff
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]