Bug 397037

Summary: zypper miscounts when skipping packages
Product: [openSUSE] openSUSE 11.0 Reporter: Stephan Binner <stbinner>
Component: YaST2Assignee: Jan Kupec <jkupec>
Status: RESOLVED FIXED QA Contact: Jiri Srain <jsrain>
Severity: Normal    
Priority: P5 - None    
Version: RC 1   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: Development Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Stephan Binner 2008-06-04 11:27:37 UTC
Skipping a package (due to integrity error) increases the installation progress counter by 2:

Downloading package gtksourceview-devel-2.2.1-17.i586 (333/375), 13.0 K (42.0 K unpacked)
Downloading: gtksourceview-devel.rpm [done]
Installing: gtksourceview-devel-2.2.1-17 [done]
Downloading package gnome-utils-devel-2.20.0.1-113.i586 (334/375), 18.0 K (46.0 K unpacked)
Downloading: gnome-utils-devel.rpm [done]
Package gnome-utils-devel-2.20.0.1-113 fails integrity check. Do you want to retry?
Abort, retry, ignore? [A/r/i]: i
Downloading package gnome-mag-devel-0.15.0-50.i586 (336/375), 15.0 K (92.0 K unpacked)
Downloading: gnome-mag-devel.rpm [done]
Installing: gnome-mag-devel-0.15.0-50 [done]
Downloading package gnome-applets-2.22.1-27.i586 (337/375), 858.0 K (5.3 M unpacked)
Comment 1 Jan Kupec 2008-06-04 14:00:35 UTC
grrrr.. such a stupid mistake. Coolo, this is harmless, can i submit?

$ svn diff src/zypper-repo-callbacks.h
Index: src/zypper-repo-callbacks.h
===================================================================
--- src/zypper-repo-callbacks.h (revision 10340)
+++ src/zypper-repo-callbacks.h (working copy)
@@ -184,7 +184,7 @@
   virtual Action problem( zypp::Resolvable::constPtr resolvable_ptr, Error /*error*/, const std::string & description )
   {
     Zypper::instance()->out().error(description);
-    ++Zypper::instance()->runtimeData().commit_pkg_current;
+    --Zypper::instance()->runtimeData().commit_pkg_current;
     DBG << "error report" << endl;
     return (Action) read_action_ari(PROMPT_ARI_RPM_DOWNLOAD_PROBLEM, ABORT);
   }
Comment 2 Jan Kupec 2008-06-04 14:06:16 UTC
Well, in case of ignore it should not decrease the count. But that's harmless, too:

$ svn diff src/zypper-repo-callbacks.h
Index: src/zypper-repo-callbacks.h
===================================================================
--- src/zypper-repo-callbacks.h (revision 10340)
+++ src/zypper-repo-callbacks.h (working copy)
@@ -184,9 +184,12 @@
   virtual Action problem( zypp::Resolvable::constPtr resolvable_ptr, Error /*error*/, const std::string & description )
   {
     Zypper::instance()->out().error(description);
-    ++Zypper::instance()->runtimeData().commit_pkg_current;
     DBG << "error report" << endl;
-    return (Action) read_action_ari(PROMPT_ARI_RPM_DOWNLOAD_PROBLEM, ABORT);
+
+    Action action = (Action) read_action_ari(PROMPT_ARI_RPM_DOWNLOAD_PROBLEM, ABORT);
+    if (action == DownloadResolvableReport::RETRY)
+      --Zypper::instance()->runtimeData().commit_pkg_current;
+    return action;
   }
Comment 3 Stephan Kulow 2008-06-04 14:17:17 UTC
I don't want to review normal bugs.
Comment 4 Jan Kupec 2008-06-04 14:43:19 UTC
OK, 11.1 only. In svn, to be in zypper 0.12.0.
Comment 5 Jan Kupec 2008-07-13 21:42:34 UTC
submitted