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]

Re: setup.exe-HEAD should build from CVS on gcc-3.


Oh dear, replying to myself within a minute of posting...

1) The patch was broken. Fixed version in this mail.

2) I'd forgotten to mention the "Cannot open (null) for reading" bug, a.k.a.
"Setup shows versions in the chooser which it cannot install, because the
files aren't cached".

Max Bowsher <maxb@ukf.net> wrote:
> 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.

############## 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:27:22
@@ -351,15 +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);
       /* does this requirement have requirements? */
############### End Patch #################



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