This is the mail archive of the
cygwin
mailing list for the Cygwin project.
RE: bug in setup.exe?
- From: "Swenson, Eric" <Eric dot Swenson at am dot sony dot com>
- To: "'cygwin at cygwin dot com'" <cygwin at cygwin dot com>, "'pechtcha at cs dot nyu dot edu'" <pechtcha at cs dot nyu dot edu>
- Date: Tue, 8 Feb 2005 15:05:43 -0800
- Subject: RE: bug in setup.exe?
Thanks, Igor. Would another possible solution be to have setup special case
*only* the cygwin-dll package? Have it run all the pre-remove scripts
first, then if the cygwin-dll package needs updating, do that, and then do
the rest? Then, packages that have a dependency on cygwin1.dll in their
scripts can be marked as needing to be run before (or after for post-remove)
the cygwin-dll update. Then, the actual ordering algorithm is simply: run
pre-remove scripts, remove cygwin.dll, install new cygwin.dll, and then run
post-remove scripts.
-- Eric
> -----Original Message-----
> From: Igor Pechtchanski [mailto:pechtcha@cs.nyu.edu]
> Sent: Tuesday, February 08, 2005 2:59 PM
> To: Swenson, Eric
> Cc: cygwin@cygwin.com
> Subject: Re: bug in setup.exe?
>
>
> On Tue, 8 Feb 2005, Swenson, Eric wrote:
>
> > I've run into the following situation on several machines
> now, at multiple
> > times -- each with different versions of cygwin (so I'm not
> following the
> > bug reporting procedure as I think the version information
> provided by
> > cygcheck isn't really relevant and as I'm currently in a
> non-cygwin-working
> > state as a result of this issue).
> >
> > Frequently, when running setup.exe and specifying that all
> packages should
> > be installed (the mode I almost always use), setup.exe bombs while
> > uninstalling a package that it knows it needs to update
> with the error that
> > cygwin1.dll is not found. Indeed, at the point the dialog
> box comes up
> > telling me that cygwin1.dll wasn't found, if I check, it
> has indeed been
> > deleted from my /bin directory (actually d:\cygwin\bin). I
> suspect this is
> > because setup has determined that it needs to upgrade my
> cygwin1.dll, and
> > therefore must uninstall the old one first and then install
> the new one.
> > The problem is, that either setup itself (doubtful) or one
> or more of the
> > uninstall/install scripts needs cygwin1.dll in order to run
> successfully.
> >
> > Can anyone in the "know" tell me how this is supposed to work?
>
> This is indeed a (known, long-standing) bug in setup.exe.
> The problem is
> that some packages have pre-remove scripts that prepare a package for
> removal. These scripts are run when the packages are removed, which
> happens in alphabetical order of package names, so the
> scripts will bomb
> out if their packages happen to follow the "cygwin" package
> alphabetically.
>
> It's clear that one needs to run all pre-remove scripts
> before removing
> the actual package files. It's also clear that the
> alphabetical package
> name order is the wrong order to run pre-remove scripts in.
> What is not
> clear is what the right order is.
> <http://cygwin.com/acronyms/#PTC>. :-)
>
> > I tried searching the mailing lists, but the cygwin site says that
> > searching was disabled due to your recent disk crash. I
> tried searching
> > on google and only found one relevant reference
> > (http://sources.redhat.com/ml/cygwin/2002-12/msg01346.html) and that
> > page didn't lead me to any responses.
> >
> > If you press the ok button on the dialog telling you that
> cygwin1.dll
> > was not found, setup proceeds with the next package.
> Frequently, I have
> > to press OK many times (depending on the packages needing to be
> > installed, of course) in order to get to the end of setup.
> Sometimes I
> > can get through with a successfull uninstall/install of the
> necessary
> > packages and cygwin1.dll does get installed again. But the packages
> > whose uninstall/install depended on cygwin1.dll, of course, were not
> > actually "correctly" uninstalled or installed.
> >
> > Ideas? -- Eric
>
> One possible idea is to find out which packages have
> pre-remove scripts
> (run
>
> find /etc/preremove -type f | xargs cygcheck -f | sort -u
>
> to find those) and upgrade them before upgrading everything
> else. This,
> of course, carries other problems with it (i.e., the
> postinstall scripts
> may need the new versions of cygwin1.dll, etc). Ultimately,
> this needs to
> be fixed in setup.exe (once we figure out the right way of doing it).
> There was some discussion of this in the cygwin-apps archives
> (search for
> "preremove", I think).
> Igor
> --
> http://cs.nyu.edu/~pechtcha/
> |\ _,,,---,,_ pechtcha@cs.nyu.edu
> ZZZzz /,`.-'`' -. ;-;;,_ igor@watson.ibm.com
> |,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski, Ph.D.
> '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow!
>
> "The Sun will pass between the Earth and the Moon tonight for a total
> Lunar eclipse..." -- WCBS Radio Newsbrief, Oct 27 2004, 12:01 pm EDT
>
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/