Bug 596120

Summary: "Your system is up to date" even though "zypper lp" lists a patch
Product: [SUSE Appliance Toolkit] WebYaST Reporter: Martin Vidner <mvidner>
Component: Patch/UpdateAssignee: Ladislav Slezák <lslezak>
Status: RESOLVED FIXED QA Contact: Klaus Kämpf <kkaempf>
Severity: Major    
Priority: P1 - Urgent CC: jreidinger
Version: SLE11 SP1 RC2   
Target Milestone: SLE11 SP1 RC4   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Martin Vidner 2010-04-13 12:46:17 UTC
(today's RC2.9, WebYaST_on_SLES11_SP1.i686-0.0.3-Build1.29-vmx.tar.bz2)

zypper lp lists patch:slessp1-cairo-1863, with cairo 1.8.8-2.2.2 while 1.8.8-2.1.37 is installed, but WebYaST thinks the system is up to date.
Comment 1 Josef Reidinger 2010-04-14 12:48:37 UTC
I also reproduce this issue. It is regression as it works in previous RC ( I test it in RC1 and it works).
Comment 2 Stefan Schubert 2010-04-14 12:57:51 UTC
Yes, and I can also reproduce it.
Comment 3 Stefan Schubert 2010-04-14 13:44:46 UTC
After I have switched off the background mode everything works fine.
Lada could you please check ?
Comment 4 Martin Vidner 2010-04-16 14:48:56 UTC
In bug 565930 comment 5 schubi says:

With RC3 the system reports "your system is ok" although there is a patch for
installation. This patch will be shown after I have added the key with zypper
again.
Comment 5 Ladislav Slezák 2010-04-19 16:33:10 UTC
To comment #4: that's a different problem, here it works fine when the background mode is not used...

I have found the reason (it's quite tricky): in the background mode the patch module starts for querying available patches a helper command like this: 

script/runner -e production vendor/plugins/software/scripts/list_patches.rb :available

(It must be done in a separate process because ruby-dbus is not thread safe.)

The problem is that the list_patches.rb receives "-e production :available" arguments, i.e. it gets even the arguments which are for the runner itself.
So the script then searches for patch "-e" which is apparently not found and it returns empty patch list as the result.


Solution: Adding argument parsing to the helper script is overkill to me, I'll simply remove passing an argument, it will always search for available packages only.
Comment 6 Ladislav Slezák 2010-04-19 18:27:20 UTC
Fixed in webyast-software-ws-0.1.20.