Hello community, here is the log from the commit of package yast2-packager for openSUSE:Factory checked in at 2013-09-27 19:41:50 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yast2-packager (Old) and /work/SRC/openSUSE:Factory/.yast2-packager.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-packager" Changes: -------- --- /work/SRC/openSUSE:Factory/yast2-packager/yast2-packager.changes 2013-09-02 15:02:16.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.yast2-packager.new/yast2-packager.changes 2013-09-27 19:41:51.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.Mvi27n/_old 2013-09-27 19:41:53.000000000 +0200 +++ /var/tmp/diff_new_pack.Mvi27n/_new 2013-09-27 19:41:53.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]
