Hello community,

here is the log from the commit of package yast2-packager for openSUSE:13.1 
checked in at 2013-09-27 19:41:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1/yast2-packager (Old)
 and      /work/SRC/openSUSE:13.1/.yast2-packager.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yast2-packager"

Changes:
--------
--- /work/SRC/openSUSE:13.1/yast2-packager/yast2-packager.changes       
2013-09-23 11:16:23.000000000 +0200
+++ /work/SRC/openSUSE:13.1/.yast2-packager.new/yast2-packager.changes  
2013-09-27 19:41:53.000000000 +0200
@@ -1,0 +2,29 @@
+Tue Sep  3 11:34:48 UTC 2013 - [email protected]
+
+- don't reset package selection in the installation proposal when
+  partitioning is changed (bnc#831875, port from SLE11 bnc#450786,
+  bnc#371875) (see commit d1cce0e5a5)
+- fixed slideshow initialization - in add-on workflow the
+  initialization was called too late resulting in still 0% total
+  progress during whole installation (bnc#831875, port from SLE11
+  bnc#663301) (see commit a1772b138d)
+- do not skip package proposal when the partitioner has changed
+  proposed packages - i.e. add snapper packages after switching to
+  btrfs (bnc#831875, port from SLE11 bnc#704127) (see commit
+  6c48fd7761)
+- improve the progress bar during package installation slideshow
+  (bnc#831875, port from SLE11 bnc#724486) (see commit 2be99dd9ff)
+- REGISTERPRODUCT from content file moved to control file to
+  globals->require_registration (bnc#831875, port from SLE11
+  FATE #305578) (see commit 7d9a51bb4a)
+- improved addon file handling (bnc#831875, port from SLE11
+  bnc#815899) (see commit 3490193186)
+- 3.0.5
+
+-------------------------------------------------------------------
+Tue Sep  3 12:31:37 CEST 2013 - [email protected]
+
+- do not install xorg-x11 package (bnc#837450)
+- 3.0.4
+
+-------------------------------------------------------------------

Old:
----
  yast2-packager-3.0.3.tar.bz2

New:
----
  yast2-packager-3.0.5.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ yast2-packager.spec ++++++
--- /var/tmp/diff_new_pack.c7nnge/_old  2013-09-27 19:41:54.000000000 +0200
+++ /var/tmp/diff_new_pack.c7nnge/_new  2013-09-27 19:41:54.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-packager
-Version:        3.0.3
+Version:        3.0.5
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ yast2-packager-3.0.3.tar.bz2 -> yast2-packager-3.0.5.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-3.0.3/VERSION 
new/yast2-packager-3.0.5/VERSION
--- old/yast2-packager-3.0.3/VERSION    2013-08-30 10:21:47.000000000 +0200
+++ new/yast2-packager-3.0.5/VERSION    2013-09-03 17:06:48.000000000 +0200
@@ -1 +1 @@
-3.0.3
+3.0.5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-3.0.3/configure 
new/yast2-packager-3.0.5/configure
--- old/yast2-packager-3.0.3/configure  2013-08-30 10:22:01.000000000 +0200
+++ new/yast2-packager-3.0.5/configure  2013-09-11 17:44:54.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for yast2-packager 3.0.3.
+# Generated by GNU Autoconf 2.69 for yast2-packager 3.0.5.
 #
 # Report bugs to <http://bugs.opensuse.org/>.
 #
@@ -579,8 +579,8 @@
 # Identity of this package.
 PACKAGE_NAME='yast2-packager'
 PACKAGE_TARNAME='yast2-packager'
-PACKAGE_VERSION='3.0.3'
-PACKAGE_STRING='yast2-packager 3.0.3'
+PACKAGE_VERSION='3.0.5'
+PACKAGE_STRING='yast2-packager 3.0.5'
 PACKAGE_BUGREPORT='http://bugs.opensuse.org/'
 PACKAGE_URL=''
 
@@ -1249,7 +1249,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures yast2-packager 3.0.3 to adapt to many kinds of systems.
+\`configure' configures yast2-packager 3.0.5 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1320,7 +1320,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of yast2-packager 3.0.3:";;
+     short | recursive ) echo "Configuration of yast2-packager 3.0.5:";;
    esac
   cat <<\_ACEOF
 
@@ -1400,7 +1400,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-yast2-packager configure 3.0.3
+yast2-packager configure 3.0.5
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1417,7 +1417,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by yast2-packager $as_me 3.0.3, which was
+It was created by yast2-packager $as_me 3.0.5, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2356,7 +2356,7 @@
 
 # Define the identity of the package.
  PACKAGE='yast2-packager'
- VERSION='3.0.3'
+ VERSION='3.0.5'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2479,7 +2479,7 @@
 
 
 
-VERSION="3.0.3"
+VERSION="3.0.5"
 RPMNAME="yast2-packager"
 MAINTAINER="Ladislav Slezak <[email protected]>"
 
@@ -3432,7 +3432,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by yast2-packager $as_me 3.0.3, which was
+This file was extended by yast2-packager $as_me 3.0.5, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -3485,7 +3485,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-yast2-packager config.status 3.0.3
+yast2-packager config.status 3.0.5
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-3.0.3/configure.ac 
new/yast2-packager-3.0.5/configure.ac
--- old/yast2-packager-3.0.3/configure.ac       2013-08-30 10:21:56.000000000 
+0200
+++ new/yast2-packager-3.0.5/configure.ac       2013-09-11 17:44:50.000000000 
+0200
@@ -1,9 +1,9 @@
 dnl configure.ac for yast2-packager
 dnl
-dnl -- This file is generated by y2autoconf 3.0.4 - DO NOT EDIT! --
+dnl -- This file is generated by y2autoconf 3.0.5 - DO NOT EDIT! --
 dnl    (edit configure.ac.in or configure.in.in instead)
 
-AC_INIT(yast2-packager, 3.0.3, http://bugs.opensuse.org/, yast2-packager)
+AC_INIT(yast2-packager, 3.0.5, http://bugs.opensuse.org/, yast2-packager)
 dnl Check for presence of file 'RPMNAME'
 AC_CONFIG_SRCDIR([RPMNAME])
 
@@ -18,7 +18,7 @@
 AM_INIT_AUTOMAKE(tar-ustar -Wno-portability)
 
 dnl Important YaST2 variables
-VERSION="3.0.3"
+VERSION="3.0.5"
 RPMNAME="yast2-packager"
 MAINTAINER="Ladislav Slezak <[email protected]>"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-3.0.3/src/clients/inst_rpmcopy.rb 
new/yast2-packager-3.0.5/src/clients/inst_rpmcopy.rb
--- old/yast2-packager-3.0.3/src/clients/inst_rpmcopy.rb        2013-07-30 
13:20:09.000000000 +0200
+++ new/yast2-packager-3.0.5/src/clients/inst_rpmcopy.rb        2013-09-03 
17:06:48.000000000 +0200
@@ -116,6 +116,9 @@
       @maxnumbercds = Ops.get(@cdnumbers, "maxnumbercds", 10)
       @current_cd_no = Ops.get(@cdnumbers, "current_cd_no", 1)
 
+      # re-initialize package information
+      PackageSlideShow.InitPkgData(true)
+
       @get_setup = SlideShow.GetSetup
       if @get_setup == nil || @get_setup == {}
         Builtins.y2milestone("No SlideShow setup has been set, adjusting")
@@ -135,8 +138,6 @@
       end
       @get_setup = nil
 
-      # re-initialize package information
-      PackageSlideShow.InitPkgData(true)
       # we want the table
       SlideShow.ShowTable
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-packager-3.0.3/src/clients/software_proposal.rb 
new/yast2-packager-3.0.5/src/clients/software_proposal.rb
--- old/yast2-packager-3.0.3/src/clients/software_proposal.rb   2013-07-30 
13:20:09.000000000 +0200
+++ new/yast2-packager-3.0.5/src/clients/software_proposal.rb   2013-09-03 
17:06:48.000000000 +0200
@@ -64,7 +64,13 @@
           )
         end
 
-        @reinit = true if @language_changed || @partition_changed
+        # if only partitioning has been changed just return the current state,
+        # don't reset to default (bnc#450786, bnc#371875)
+        if @partition_changed && !@language_changed && !@force_reset && 
!Packages.PackagesProposalChanged
+          return Packages.Summary([ :product, :pattern, :selection, :size, 
:desktop ], false);
+        end
+
+        @reinit = true if @language_changed
         Builtins.y2milestone(
           "package proposal: force reset: %1, reinit: %2, language changed: 
%3",
           @force_reset,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-3.0.3/src/modules/AddOnProduct.rb 
new/yast2-packager-3.0.5/src/modules/AddOnProduct.rb
--- old/yast2-packager-3.0.3/src/modules/AddOnProduct.rb        2013-07-30 
13:20:09.000000000 +0200
+++ new/yast2-packager-3.0.5/src/modules/AddOnProduct.rb        2013-09-03 
17:06:48.000000000 +0200
@@ -44,6 +44,7 @@
       Yast.import "Icon"
       Yast.import "PackageCallbacks"
       Yast.import "PackagesProposal"
+      Yast.import "SourceManager"
 
       # variables for installation with product
       # ID for cache in the inst-sys
@@ -754,6 +755,18 @@
     #
     # @param integer source id
     def PrepareForRegistration(src_id)
+      control_file = WorkflowManager.GetCachedWorkflowFilename(:addon, src_id, 
"");
+
+      if WorkflowManager.IncorporateControlFileOptions(control_file) == true
+        # FATE #305578: Add-On Product Requiring Registration
+        if WorkflowManager.WorkflowRequiresRegistration(src_id)
+            Builtins.y2milestone("REGISTERPRODUCT (require_registration) 
defined in control file")
+            @addons_requesting_registration << deep_copy(src_id)
+            return nil
+        end
+      end
+
+
       tmpdir = Ops.add(
         Convert.to_string(SCR.Read(path(".target.tmpdir"))),
         "/add-on-content-files/"
@@ -855,7 +868,9 @@
     #
     # @param integer source id
     def RegisterAddOnProduct(src_id)
-      if Builtins.contains(@addons_requesting_registration, src_id)
+      # FATE #305578: Add-On Product Requiring Registration
+      # or check the content file
+      if WorkflowManager.WorkflowRequiresRegistration(src_id) || 
Builtins.contains(@addons_requesting_registration, src_id)
         Builtins.y2milestone("Repository ID %1 requests registration", src_id)
         WFM.CallFunction("inst_suse_register", [])
       else
@@ -901,14 +916,11 @@
 
       ret = nil
 
-      control = GetCachedFileFromSource(
-        @src_id, # optional
-        1,
-        "/installation.xml",
-        "digested",
-        true
-      )
+      control = WorkflowManager.GetCachedWorkflowFilename(:addon, @src_id, "")
       if control != nil
+        # FATE #305578: Add-On Product Requiring Registration
+        WorkflowManager.AddWorkflow(:addon, @src_id, "")
+
         Builtins.y2milestone("Add-On has own control file")
         ret = DoInstall_WithControlFile(control)
       end
@@ -1460,6 +1472,91 @@
       nil
     end
 
+    # Ask for a product medium
+    #
+    # @url medium url (either "cd:///" or "dvd:///")
+    # @product_name expected product name
+    # @return nil if aborted, otherwise URL with the selected CD device
+
+    def AskForCD(url, product_name)
+      parsed = URL.Parse(url)
+      scheme = Builtins.tolower(Ops.get_string(parsed, "scheme", ""))
+
+      msg = product_name == nil || product_name == "" ?
+        # %1 is either "CD" or "DVD"
+        Builtins.sformat(
+          _("Insert the addon %1 medium"),
+          Builtins.toupper(scheme)
+        ) :
+        # %1 is the product name, %2 is either "CD" or "DVD"
+        Builtins.sformat(
+          _("Insert the %1 %2 medium"),
+          product_name,
+          Builtins.toupper(scheme)
+        )
+
+      # make sure no medium is mounted (the drive is not locked)
+      Pkg.SourceReleaseAll
+
+      ui = SourceManager.AskForCD(msg)
+
+      return nil if !Ops.get_boolean(ui, "continue", false)
+
+      cd_device = Ops.get_string(ui, "device", "")
+      if cd_device != nil && cd_device != ""
+        Builtins.y2milestone("Selected CD/DVD device: %1", cd_device)
+        query = Ops.get_string(parsed, "query", "")
+
+        query = Ops.add(query, "&") if query != ""
+
+        query = Ops.add(Ops.add(query, "devices="), cd_device)
+
+        Ops.set(parsed, "query", query)
+        url = URL.Build(parsed)
+      end
+
+      url
+    end
+
+    # Add a new repository
+    # @param url repo url
+    # @param pth product path
+    # @param priority
+    # @return integer repository ID
+    def AddRepo(url, pth, priority)
+      # update the URL to the selected device
+      new_repo = { "enabled" => true, "base_urls" => [url], "prod_dir" => pth }
+
+      # BNC #714027: Possibility to adjust repository priority (usually higher)
+      Ops.set(new_repo, "priority", priority) if Ops.greater_than(priority, -1)
+
+      Builtins.y2milestone(
+        "Adding Repository: %1, product path: %2",
+        URL.HidePassword(url),
+        pth
+      )
+      new_repo_id = Pkg.RepositoryAdd(new_repo)
+
+      if new_repo_id == nil || Ops.less_than(new_repo_id, 0)
+        Builtins.y2error("Unable to add product: %1", URL.HidePassword(url))
+        # TRANSLATORS: error message, %1 is replaced with product URL
+        Report.Error(
+          Builtins.sformat(
+            _("Unable to add product %1."),
+            URL.HidePassword(url)
+          )
+        )
+        return nil
+      end
+
+      # download metadata, build repo cache
+      Pkg.SourceRefreshNow(new_repo_id)
+      # load resolvables to zypp pool
+      Pkg.SourceLoad
+
+      new_repo_id
+    end
+
     # Auto-integrate add-on products in specified file (usually 
add_on_products or
     # add_on_products.xml file)
     #
@@ -1558,27 +1655,60 @@
           url = Ops.get_string(one_product, "url", "")
           pth = Ops.get_string(one_product, "path", "")
           priority = Ops.get_integer(one_product, "priority", -1)
-          new_repo = {
-            "enabled"   => true,
-            "base_urls" => [url],
-            "prod_dir"  => pth
-          }
-          # BNC #714027: Possibility to adjust repository priority (usually 
higher)
-          if Ops.greater_than(priority, -1)
-            Ops.set(new_repo, "priority", priority)
+          prodname = Ops.get_string(one_product, "name", "")
+          # Check URL and setup network if required or prompt to insert CD/DVD
+          parsed = URL.Parse(url)
+          scheme = Builtins.tolower(Ops.get_string(parsed, "scheme", ""))
+          # check if network needs to be configured
+          if Builtins.contains(
+              ["http", "https", "ftp", "nfs", "cifs", "slp"],
+              scheme
+            )
+            inc_ret = Convert.to_symbol(
+              WFM.CallFunction("inst_network_check", [])
+            )
+            Builtins.y2milestone("inst_network_check ret: %1", inc_ret)
           end
-          Builtins.y2milestone("Adding Repository: %1", new_repo)
-          repo_id = Pkg.RepositoryAdd(new_repo)
-          if repo_id == nil || Ops.less_than(repo_id, 0)
-            Builtins.y2error("Unable to add product: %1", url)
-            # TRANSLATORS: error message, %1 is replaced with product URL
-            Report.Error(Builtins.sformat(_("Unable to add product %1."), url))
-            next false
+          # a CD/DVD repository
+          if Builtins.contains(["cd", "dvd"], scheme)
+            # if the CD/DVD product is known just try if it's there
+            # and ask if not
+            if prodname != ""
+              found = false
+
+              while !found
+                repo_id = AddRepo(url, pth, priority)
+                next false if repo_id == nil
+
+                prod2 = Pkg.SourceProductData(repo_id)
+                if Ops.get_string(prod2, "label", "") == prodname
+                  found = true
+                else
+                  Builtins.y2milestone(
+                    "Removing repo %1: Add-on found: %2, expected: %3",
+                    repo_id,
+                    Ops.get_string(prod2, "label", ""),
+                    prodname
+                  )
+                  Pkg.SourceDelete(repo_id)
+
+                  # ask for a different medium
+                  url = AskForCD(url, prodname)
+                  next false if url == nil
+                end
+              end
+            else
+              result = AskForCD(url, prodname)
+              next false if result == nil
+
+              repo_id = AddRepo(result, pth, priority)
+              next false if repo_id == nil
+            end
+          else
+            # a non CD/DVD repository
+            repo_id = AddRepo(url, pth, priority)
+            next false if repo_id == nil
           end
-          # download metadata, build repo cache
-          Pkg.SourceRefreshNow(repo_id)
-          # load resolvables to zypp pool
-          Pkg.SourceLoad
           if !AcceptedLicenseAndInfoFile(repo_id)
             Builtins.y2warning("License not accepted, delete the repository")
             Pkg.SourceDelete(repo_id)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-3.0.3/src/modules/PackageSlideShow.rb 
new/yast2-packager-3.0.5/src/modules/PackageSlideShow.rb
--- old/yast2-packager-3.0.3/src/modules/PackageSlideShow.rb    2013-07-30 
13:20:09.000000000 +0200
+++ new/yast2-packager-3.0.5/src/modules/PackageSlideShow.rb    2013-09-03 
17:06:48.000000000 +0200
@@ -441,7 +441,9 @@
             Ops.get_string(URL.Parse(repo_url), "scheme", "")
           )
 
-          if Builtins.contains(["http", "https", "ftp", "sftp"], repo_schema)
+          # iso repos get also downloaded according to experience; the 
addition is not a perfect
+          # fix, but still improves the progress (bnc#724486)
+          if Builtins.contains(["http", "https", "ftp", "sftp", "iso"], 
repo_schema)
             total = 0
             Builtins.foreach(media_mapping) do |count|
               total = Ops.add(total, count)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-packager-3.0.3/src/modules/Packages.rb 
new/yast2-packager-3.0.5/src/modules/Packages.rb
--- old/yast2-packager-3.0.3/src/modules/Packages.rb    2013-07-30 
13:20:09.000000000 +0200
+++ new/yast2-packager-3.0.5/src/modules/Packages.rb    2013-09-05 
08:56:49.000000000 +0200
@@ -798,22 +798,17 @@
       # don't setup graphics if running via serial console
       if !Linuxrc.serial_console
         packages = [
-          "xorg-x11",
           "xorg-x11-server",
           "xorg-x11-server-glx",
           "libusb",
-          "sax2",
-          "sax2-gui",
-          "sax2-ident",
           "sax2-tools",
-          "sax2-libsax",
-          "sax2-libsax-perl",
           "yast2-x11"
         ]
       end
 
       Builtins.y2milestone("X11 Packages to install: %1", packages)
-      deep_copy(packages)
+
+      packages
     end
 
 
@@ -823,32 +818,22 @@
       packages = []
 
       if Linuxrc.vnc
-        packages = Builtins.add(packages, "tightvnc")
-        packages = Builtins.add(packages, "yast2-qt")
-        packages = Builtins.add(packages, "xorg-x11")
-        packages = Builtins.add(packages, "xorg-x11-fonts")
-        packages = Builtins.add(packages, "icewm")
-        packages = Builtins.add(packages, "sax2-tools")
-        packages = Builtins.add(packages, "yast2-x11")
-        packages = Builtins.add(packages, "xinetd")
+        packages.concat [ "tightvnc", "yast2-qt", "xorg-x11-Xvnc",
+          "xorg-x11-fonts", "icewm", "sax2-tools", "yast2-x11", "xinetd" ]
       end
 
       #this means we have a remote X server
       if Linuxrc.display_ip
-        packages = Builtins.add(packages, "yast2-qt")
-        packages = Builtins.add(packages, "xorg-x11")
-        packages = Builtins.add(packages, "xorg-x11-fonts")
-        packages = Builtins.add(packages, "icewm")
-        packages = Builtins.add(packages, "sax2-tools")
-        packages = Builtins.add(packages, "yast2-x11")
+        packages.concat [ "yast2-qt", "xorg-x11-server", "xorg-x11-fonts",
+          "icewm", "sax2-tools", "yast2-x11" ]
       end
 
-      packages = Builtins.add(packages, "sbl") if Linuxrc.braille
-
-      packages = Builtins.add(packages, "openssh") if Linuxrc.usessh
+      packages << "sbl" if Linuxrc.braille
+      packages << "openssh" if Linuxrc.usessh
 
       Builtins.y2milestone("Installation mode packages: %1", packages)
-      deep_copy(packages)
+
+      packages
     end
 
     # CHeck whether this is a Dell system
@@ -1094,7 +1079,7 @@
         end
       end
 
-      if Pkg.IsSelected("xorg-x11") && Linuxrc.vnc
+      if Pkg.IsSelected("xorg-x11-Xvnc") && Linuxrc.vnc
         install_list = Convert.convert(
           Builtins.union(install_list, graphicPackages),
           :from => "list",
@@ -2087,6 +2072,21 @@
       nil
     end
 
+    # Check whether the list of needed packages has been changed since the last
+    # package proposal
+    #
+    # @return [boolean] true if PackagesProposal has been changed
+    def PackagesProposalChanged
+      new_packages_proposal = PackagesProposal.GetAllResolvablesForAllTypes
+
+      # Force reinit
+      changed = new_packages_proposal != @old_packages_proposal
+      Builtins.y2milestone("PackagesProposal has been changed: %1", changed)
+      Builtins.y2debug("PackagesProposal: %1 -> %2", @old_packages_proposal, 
new_packages_proposal)
+
+      changed
+    end
+
     # Make a proposal for package selection
     #
     # @param force reset (fully resets the proposal and creates a new one)
@@ -2100,13 +2100,10 @@
       # set ignoreAlreadyRecommended solver flag
       Pkg.SetSolverFlags({ "ignoreAlreadyRecommended" => Mode.normal })
 
-      # If anything has changed
-      new_packages_proposal = PackagesProposal.GetAllResolvablesForAllTypes
-
       # Force reinit
-      if new_packages_proposal != @old_packages_proposal
-        Builtins.y2milestone("PackagesProposal have changed")
-        @old_packages_proposal = deep_copy(new_packages_proposal)
+      if PackagesProposalChanged()
+        @old_packages_proposal = PackagesProposal.GetAllResolvablesForAllTypes
+        Builtins.y2milestone("Reinit package proposal");
         reinit = true
       end
 

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to