This is the mail archive of the
cygwin-apps@cygwin.com
mailing list for the Cygwin project.
Re: setup.exe-HEAD should build from CVS on gcc-3.
- From: "Max Bowsher" <maxb at ukf dot net>
- To: <cygwin-apps at cygwin dot com>
- Date: Fri, 15 Nov 2002 17:25:22 -0000
- Subject: Re: setup.exe-HEAD should build from CVS on gcc-3.
- References: <1036901087.31204.59.camel@lifelesswks>
Robert Collins <rbcollins@cygwin.com> wrote:
> Also, I've remembered the bug. HEAD selects the wrong default package
> (i.e. running it here it defaulted to openssl ...9.6e.) AFAIK that's
> the only bug preventing release.
...
> Until I've moved though, I won't have the
> time to do in-depth analysis.
Noted.
Here is something for you to think about once you get the time.
This seems to fix the bug. I say 'seems' because I found the
package{db,meta,version} classes quite complex, and don't have a full
understanding of how they work together.
I will be running setup 2.293 + my patches, and will post if I notice any
unintended interactions.
Max.
############## Begin Patch #################
Index: package_version.cc
===================================================================
RCS file: /home/max/cvsmirror/cygwin-apps-cvs/setup/package_version.cc,v
retrieving revision 2.12
diff -u -p -r2.12 package_version.cc
--- package_version.cc 2002/11/10 03:40:36 2.12
+++ package_version.cc 2002/11/15 17:16:27
@@ -351,14 +351,13 @@ processOneDependency(trusts deftrust, si
desired */
packagedb db;
packagemeta *required = db.findBinary (*spec);
- set <packageversion>::iterator v;
- for (v = required->versions.begin();
- v != required->versions.end() && !spec->satisfies (*v); ++v);
- if (v != required->versions.end())
+ packageversion v = required->trustp(deftrust);
+ /* should we test the returned packageversion ? */
{
/* preserve source */
bool sourceticked = required->desired.sourcePackage().picked();
/* install this version */
+ required->desired = v;
required->desired = *v;
required->desired.pick (required->installed != required->desired);
required->desired.sourcePackage().pick (sourceticked);
############### End Patch #################