This is the mail archive of the cygwin-apps 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]

Unbelievably obscure setup bug


Whilst trying to write some other modifications to setup.exe, I've found what
looks like an obscure bug introduced in the following change:

> CVSROOT:	/sourceware/projects/cygwin-apps-home/cvsfiles
> Module name:	setup
> Changes by:	corinna@sourceware.org	2009-05-07 14:14:59
> 
> Modified files:
> 	.              : ChangeLog package_db.cc 
> 
> Log message:
> 	* package_db.cc (ConnectedLoopFinder::doIt): Revert patch from
> 	2008-08-29.  Add dumb hardcoded algorithm to make sure base-cygwin
> 	and base-passwd are always the first packages in the postinstall
> 	executable order.
> 
> Patches:
> http://sourceware.org/cgi-bin/cvsweb.cgi/setup/ChangeLog.diff?cvsroot=cygwin-apps&r1=2.618&r2=2.619
> http://sourceware.org/cgi-bin/cvsweb.cgi/setup/package_db.cc.diff?cvsroot=cygwin-apps&r1=2.40&r2=2.41

This change to package_db.cc doesn't do what it claims as casecompare()
returns 0 to indicate equality.

Since db.packages is sorted alphabetically, it looks like it actually inserts
the dependencies of the first (in alphabetical order) installed package
(assuming that's not base-cygwin or base-passwd), twice.

The log output actually shows this happening.  In my case aewm++ is the
installed package which comes first in alphabetical order, which is why the
logged dependency order list before running the postinstall scripts starts
"Dependency order of packages: base-cygwin base-passwd cygwin libgcc1 libXau6
libXdmcp6 libxcb1 libX11_6 libXext6 aewm++ aewm++ ..."

Attached is the obvious patch to fix this, but I'm not sure that's right, as
it runs base-passwd and base-cygwin in the opposite order to the comment
("Dependency order of packages: base-passwd cygwin base-cygwin ..."), which
isn't very clear about if they merely both have to run first, or in a
given order

Attachment: 0001-Obvious-and-probably-incorrect-fix-for-incorrect-use.patch
Description: Text document


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