public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
* [Bug] setup regression
@ 2022-09-21 17:38 Achim Gratz
  2022-09-21 18:00 ` Achim Gratz
  0 siblings, 1 reply; 10+ messages in thread
From: Achim Gratz @ 2022-09-21 17:38 UTC (permalink / raw)
  To: cygwin-apps


Today I did a new installation of Cygwin @work and setup correctly
registered around 1500 packages as "manually selected" (I have a
setup.ini that has all packages to be installed in one group and setup
gets asked to install this group), then somehow decided to only install
75 of those.  In other words not even all packages from Base got
installed.

I had updated setup to 2.921 recently, so I rolled it back to 2.920 and
this version does the package selection correctly.  I haven't yet looked
what commit is responsible, but whatever the cause of the regression is
still in 2.922 as well.

Apparently updates are not affected or at least I didn't see an issue
with it during the time I was using the 2.921 version.


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Factory and User Sound Singles for Waldorf Blofeld:
http://Synth.Stromeko.net/Downloads.html#WaldorfSounds

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Bug] setup regression
  2022-09-21 17:38 [Bug] setup regression Achim Gratz
@ 2022-09-21 18:00 ` Achim Gratz
  2022-09-22 16:56   ` Achim Gratz
  0 siblings, 1 reply; 10+ messages in thread
From: Achim Gratz @ 2022-09-21 18:00 UTC (permalink / raw)
  To: cygwin-apps

Achim Gratz writes:
> I had updated setup to 2.921 recently, so I rolled it back to 2.920 and
> this version does the package selection correctly.  I haven't yet looked
> what commit is responsible, but whatever the cause of the regression is
> still in 2.922 as well.

The most likely change responsible for this is the additions in
package_meta.cc in commit c99e4c14911181636892355a4f1855024051ea1d.  I
might not be able to check this tomorrow, though I'll try to free up
some time for that.


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

SD adaptation for Waldorf rackAttack V1.04R1:
http://Synth.Stromeko.net/Downloads.html#WaldorfSDada

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Bug] setup regression
  2022-09-21 18:00 ` Achim Gratz
@ 2022-09-22 16:56   ` Achim Gratz
  2022-09-23 14:45     ` Jon Turney
  0 siblings, 1 reply; 10+ messages in thread
From: Achim Gratz @ 2022-09-22 16:56 UTC (permalink / raw)
  To: cygwin-apps

Achim Gratz writes:
> Achim Gratz writes:
>> I had updated setup to 2.921 recently, so I rolled it back to 2.920 and
>> this version does the package selection correctly.  I haven't yet looked
>> what commit is responsible, but whatever the cause of the regression is
>> still in 2.922 as well.
>
> The most likely change responsible for this is the additions in
> package_meta.cc in commit c99e4c14911181636892355a4f1855024051ea1d.  I
> might not be able to check this tomorrow, though I'll try to free up
> some time for that.

That was indeed the culprit.  I've reverted just these two hunks on top
of release_2.922 and things worked again.


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

SD adaptations for KORG EX-800 and Poly-800MkII V0.9:
http://Synth.Stromeko.net/Downloads.html#KorgSDada

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Bug] setup regression
  2022-09-22 16:56   ` Achim Gratz
@ 2022-09-23 14:45     ` Jon Turney
  2022-09-26 15:14       ` Christian Franke
  0 siblings, 1 reply; 10+ messages in thread
From: Jon Turney @ 2022-09-23 14:45 UTC (permalink / raw)
  To: Achim Gratz, cygwin-apps, Christian Franke

On 22/09/2022 17:56, Achim Gratz wrote:
> Achim Gratz writes:
>> Achim Gratz writes:
>>> I had updated setup to 2.921 recently, so I rolled it back to 2.920 and
>>> this version does the package selection correctly.  I haven't yet looked
>>> what commit is responsible, but whatever the cause of the regression is
>>> still in 2.922 as well.
>>
>> The most likely change responsible for this is the additions in
>> package_meta.cc in commit c99e4c14911181636892355a4f1855024051ea1d.  I
>> might not be able to check this tomorrow, though I'll try to free up
>> some time for that.
> 
> That was indeed the culprit.  I've reverted just these two hunks on top
> of release_2.922 and things worked again.
> 

Yes, looking again at that change, the first hunk in package_meta.cc, 
changing Install_action doesn't look right.

If I remember correctly action=Install_action, desired=empty package 
version (evaluating as a boolean is false) means "install the solver's 
preferred version", so converting that to NoChange_action seems wrong.

I'm kind of confused how to reproduce this, or why it decided to install 
only some things, rather than nothing.

Christian,

 From your reply to 
https://cygwin.com/pipermail/cygwin-apps/2022-August/042212.html, it 
seems this change is meant to handle the case where 'I' is pressed but 
the package isn't accessible?  Although I don't seem quite how.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Bug] setup regression
  2022-09-23 14:45     ` Jon Turney
@ 2022-09-26 15:14       ` Christian Franke
  2022-09-27 13:51         ` Christian Franke
  0 siblings, 1 reply; 10+ messages in thread
From: Christian Franke @ 2022-09-26 15:14 UTC (permalink / raw)
  To: Jon Turney, Achim Gratz, cygwin-apps

[-- Attachment #1: Type: text/plain, Size: 2025 bytes --]

Jon Turney wrote:
> On 22/09/2022 17:56, Achim Gratz wrote:
>> Achim Gratz writes:
>>> Achim Gratz writes:
>>>> I had updated setup to 2.921 recently, so I rolled it back to 2.920 
>>>> and
>>>> this version does the package selection correctly.  I haven't yet 
>>>> looked
>>>> what commit is responsible, but whatever the cause of the 
>>>> regression is
>>>> still in 2.922 as well.
>>>
>>> The most likely change responsible for this is the additions in
>>> package_meta.cc in commit c99e4c14911181636892355a4f1855024051ea1d.  I
>>> might not be able to check this tomorrow, though I'll try to free up
>>> some time for that.
>>
>> That was indeed the culprit.  I've reverted just these two hunks on top
>> of release_2.922 and things worked again.
>>
>
> Yes, looking again at that change, the first hunk in package_meta.cc, 
> changing Install_action doesn't look right.

Indeed and this should be removed ASAP - patch attached.

Thanks for catching and sorry for the regression.


>
> If I remember correctly action=Install_action, desired=empty package 
> version (evaluating as a boolean is false) means "install the solver's 
> preferred version", so converting that to NoChange_action seems wrong.
>
> I'm kind of confused how to reproduce this, or why it decided to 
> install only some things, rather than nothing.
>
> Christian,
>
> From your reply to 
> https://cygwin.com/pipermail/cygwin-apps/2022-August/042212.html, it 
> seems this change is meant to handle the case where 'I' is pressed but 
> the package isn't accessible?  Although I don't seem quite how.

I made the false assumption that default_version=empty in set_action() 
always implies that the default version is not accessible. This is not 
the case for packages selected for installation before chooser is visible.

I'm working on a new fix for the "Ctrl+I pressed but current version is 
not accessible" case. The correct logic is already in toggle_action(): 
Install the most recent accessible non-test ('naively_preferred') version.


[-- Attachment #2: 0001-Fix-ignored-install-requests-added-before-run-of-sol.patch --]
[-- Type: text/plain, Size: 788 bytes --]

From 54665f0596f8ca50eff99ec8ec35970dc5fd439d Mon Sep 17 00:00:00 2001
From: Christian Franke <christian.franke@t-online.de>
Date: Mon, 26 Sep 2022 16:47:42 +0200
Subject: [PATCH] Fix ignored install requests added before run of solver

Regression was introduced by commit c99e4c1.
---
 package_meta.cc | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/package_meta.cc b/package_meta.cc
index a5dc436..05b8946 100644
--- a/package_meta.cc
+++ b/package_meta.cc
@@ -651,13 +651,6 @@ packagemeta::set_action (_actions action, packageversion const &default_version,
 	      srcpick (false);
 	    }
 	}
-      else
-	{
-	  action = NoChange_action;
-	  desired = installed;
-	  pick (false);
-	  srcpick (false);
-	}
     }
   else if (action == Reinstall_action)
     {
-- 
2.37.2


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Bug] setup regression
  2022-09-26 15:14       ` Christian Franke
@ 2022-09-27 13:51         ` Christian Franke
  2022-10-01 15:28           ` Jon Turney
  0 siblings, 1 reply; 10+ messages in thread
From: Christian Franke @ 2022-09-27 13:51 UTC (permalink / raw)
  To: Jon Turney, cygwin-apps

[-- Attachment #1: Type: text/plain, Size: 898 bytes --]

Christian Franke wrote:
> ...
> I made the false assumption that default_version=empty in set_action() 
> always implies that the default version is not accessible. This is not 
> the case for packages selected for installation before chooser is 
> visible.
>
> I'm working on a new fix for the "Ctrl+I pressed but current version 
> is not accessible" case. ...

See attached patch. It also fixes the same problem for the "Category" 
view. Testing shows that the problem only affects the display of the 
version number as the solver later silently removes such install requests.


> The correct logic is already in toggle_action(): Install the most 
> recent accessible non-test ('naively_preferred') version.
>

I dropped this idea and aligned Ctrl+I behavior with "Install" from 
"Category" view instead. Toggle_action() behaves different in such 
corner cases as it always installs something.


[-- Attachment #2: 0001-Ignore-install-requests-if-version-is-not-accessible.patch --]
[-- Type: text/plain, Size: 1635 bytes --]

From 7e1efd346e35898e3486fb84cf25b3885a2a16ec Mon Sep 17 00:00:00 2001
From: Christian Franke <christian.franke@t-online.de>
Date: Tue, 27 Sep 2022 15:41:06 +0200
Subject: [PATCH] Ignore install requests if version is not accessible

This avoids that an empty "New" version is shown when install is
requested via "Install" from "Category" view or Ctrl+I and the
version is not accessible.
---
 package_meta.cc | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/package_meta.cc b/package_meta.cc
index 05b8946..ebfc947 100644
--- a/package_meta.cc
+++ b/package_meta.cc
@@ -539,6 +539,17 @@ packagemeta::select_action (int id, trusts const deftrust)
     {
       if (id == packagemeta::NoChange_action)
         set_action((packagemeta::_actions)id, installed);
+      else if (id == Install_action)
+	{
+	  // Ignore install request if the default version is not accessible.
+	  // This assumes that all available versions are already known.
+	  // This is not always the case when set_action is called directly.
+	  packageversion v = trustp (true, deftrust);
+	  if (v.accessible ())
+	    set_action(Install_action, v, true);
+	  else
+	    set_action(NoChange_action, installed);
+	}
       else
         set_action((packagemeta::_actions)id, trustp (true, deftrust), true);
     }
@@ -627,6 +638,7 @@ packagemeta::set_action (_actions action, packageversion const &default_version,
   else if (action == Install_action)
     {
       desired = default_version;
+      // If desired is empty, it will be set to the solver's preferred version later.
       if (desired)
 	{
 	  if (desired != installed)
-- 
2.37.2


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Bug] setup regression
  2022-09-27 13:51         ` Christian Franke
@ 2022-10-01 15:28           ` Jon Turney
  2022-10-03 19:15             ` Achim Gratz
  2022-10-04 11:50             ` Christian Franke
  0 siblings, 2 replies; 10+ messages in thread
From: Jon Turney @ 2022-10-01 15:28 UTC (permalink / raw)
  To: cygwin-apps, Christian Franke, Achim Gratz

On 27/09/2022 14:51, Christian Franke wrote:
> Christian Franke wrote:
>> ...
>> I made the false assumption that default_version=empty in set_action() 
>> always implies that the default version is not accessible. This is not 
>> the case for packages selected for installation before chooser is 
>> visible.
>>
>> I'm working on a new fix for the "Ctrl+I pressed but current version 
>> is not accessible" case. ...
> 
> See attached patch. It also fixes the same problem for the "Category" 
> view. Testing shows that the problem only affects the display of the 
> version number as the solver later silently removes such install requests.
> 
> 
>> The correct logic is already in toggle_action(): Install the most 
>> recent accessible non-test ('naively_preferred') version.
>>
> 
> I dropped this idea and aligned Ctrl+I behavior with "Install" from 
> "Category" view instead. Toggle_action() behaves different in such 
> corner cases as it always installs something.

Thanks, I applied both patches.

Do you have a simple way of causing a non-accessible package for testing 
with?

Achim,

Can you confirm if this fixes package selection for you?


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Bug] setup regression
  2022-10-01 15:28           ` Jon Turney
@ 2022-10-03 19:15             ` Achim Gratz
  2022-10-05 18:40               ` Achim Gratz
  2022-10-04 11:50             ` Christian Franke
  1 sibling, 1 reply; 10+ messages in thread
From: Achim Gratz @ 2022-10-03 19:15 UTC (permalink / raw)
  To: cygwin-apps

Jon Turney writes:
> Achim,
>
> Can you confirm if this fixes package selection for you?

I'll have to setup a test installation to check this.  I am currently
short on time, but I will try to wedge it in somehow.


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

SD adaptation for Waldorf rackAttack V1.04R1:
http://Synth.Stromeko.net/Downloads.html#WaldorfSDada

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Bug] setup regression
  2022-10-01 15:28           ` Jon Turney
  2022-10-03 19:15             ` Achim Gratz
@ 2022-10-04 11:50             ` Christian Franke
  1 sibling, 0 replies; 10+ messages in thread
From: Christian Franke @ 2022-10-04 11:50 UTC (permalink / raw)
  To: Jon Turney, cygwin-apps, Achim Gratz

Jon Turney wrote:
> On 27/09/2022 14:51, Christian Franke wrote:
>> Christian Franke wrote:
>>> ...
>>> I made the false assumption that default_version=empty in 
>>> set_action() always implies that the default version is not 
>>> accessible. This is not the case for packages selected for 
>>> installation before chooser is visible.
>>>
>>> I'm working on a new fix for the "Ctrl+I pressed but current version 
>>> is not accessible" case. ...
>>
>> See attached patch. It also fixes the same problem for the "Category" 
>> view. Testing shows that the problem only affects the display of the 
>> version number as the solver later silently removes such install 
>> requests.
>>
>>
>>> The correct logic is already in toggle_action(): Install the most 
>>> recent accessible non-test ('naively_preferred') version.
>>>
>>
>> I dropped this idea and aligned Ctrl+I behavior with "Install" from 
>> "Category" view instead. Toggle_action() behaves different in such 
>> corner cases as it always installs something.
>
> Thanks, I applied both patches.
>
> Do you have a simple way of causing a non-accessible package for 
> testing with?

Unfortunately there is only a simple one if the current installation and 
cache directory matches some conditions. The "Ignore install requests if 
version is not accessible" case appears if:

- "Install from Local Directory" is selected.
- A previous version of a no longer installed package is still in the 
cache directory. Otherwise the package would not appear in the chooser.
- The current version of this package is not in the cache directory. The 
"Size" column shows "?" for such packages.

Without commit 63a2c90, Ctrl+I or "Install" from "Category" view shows 
an empty version in "New" column. The "Install" from "Category" case 
could also be reproduced with setup 2.919.

With this commit, the Install request does nothing.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Bug] setup regression
  2022-10-03 19:15             ` Achim Gratz
@ 2022-10-05 18:40               ` Achim Gratz
  0 siblings, 0 replies; 10+ messages in thread
From: Achim Gratz @ 2022-10-05 18:40 UTC (permalink / raw)
  To: cygwin-apps

Achim Gratz writes:
>> Can you confirm if this fixes package selection for you?
>
> I'll have to setup a test installation to check this.  I am currently
> short on time, but I will try to wedge it in somehow.

I wasn't able to do an exhaustive test, but the fix seems to be
effective for the two scenarios I've tried (I've confirmed that both
fail without the fix present).


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Wavetables for the Terratec KOMPLEXER:
http://Synth.Stromeko.net/Downloads.html#KomplexerWaves

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2022-10-05 18:40 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-21 17:38 [Bug] setup regression Achim Gratz
2022-09-21 18:00 ` Achim Gratz
2022-09-22 16:56   ` Achim Gratz
2022-09-23 14:45     ` Jon Turney
2022-09-26 15:14       ` Christian Franke
2022-09-27 13:51         ` Christian Franke
2022-10-01 15:28           ` Jon Turney
2022-10-03 19:15             ` Achim Gratz
2022-10-05 18:40               ` Achim Gratz
2022-10-04 11:50             ` Christian Franke

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).