[PATCH] Do not clear the prev, curr and exp fields of packagemeta. Never.

Houder houder@xs4all.nl
Mon May 23 15:26:00 GMT 2016


On 2016-05-23 15:44, Jon Turney wrote:
>> This patch rectifies
>> 
>>  - packagemeta::ScanDownloadedFiles (package_meta.cc), and
>>  - packagemeta::trustp (package_meta.h)
>> 
>> Clarification:
>> Class packagemeta has "fields" prev, curr, exp and installed, which in 
>> fact
>> represent the info from setup.ini/installed.db, and should never be 
>> cleared
>> therefore. _Currently_ these fields are cleared in 
>> ScanDownloadedFiles() in
>> order to notify that the tarball for the associated field is not 
>> available.
>> This is a mistake, as it destroys relevant info (e.g. the version 
>> number of
>> a version).
>> To ascertain whether or not the associated tarball is available, one 
>> should
>> invoke <field>.accesible().
> 
> Can you clarify a bit about the problem that this patch solves?  And
> how you tested that it fixes it?

Hi Jon,

I reported the "problem" in March, here:

     https://cygwin.com/ml/cygwin/2016-03/msg00425.html
      - Package choosing algorithm ...

However, in a nutshell the story is as follows:

I install from "Local Directory" (i.e. not directly from a mirror; 
neither do
I operate a local mirror).

At that point in time I had installed a TEST version of the cygwin pkg. 
Then
Corinna launched another TEST version of that package. After downloading 
that
new version, I also removed the CURRENT version of that pkg (yes, nobody 
does
that, except me).

After that, I started setup.exe again in order to install the test 
version of
the cygwin pkg, which I had downloaded.

To my surprise, the new test version was NOT offered for install ... As 
I did
not understand why, I started the thread above.

Especially when Corinna told me, that it should work, I really started 
to get
curious, and decided to study the source code of setup ...

After some effort, I found the cause of the problem.

Yes, the patch has been tested, but in order to describe what I did, I 
really
need some more time (as it has been a while), and because I still have a 
hard
time putting it down in English (not being my native tongue).

Thank you for your interest in my patch (although it may not solve a 
problem,
that is really important, it does improve the 'clarity' of the source 
code, I
believe).

Regards,
Henri



More information about the Cygwin-apps mailing list