Hello community, here is the log from the commit of package SUSEConnect for openSUSE:Factory checked in at 2017-10-25 17:45:32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/SUSEConnect (Old) and /work/SRC/openSUSE:Factory/.SUSEConnect.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "SUSEConnect" Wed Oct 25 17:45:32 2017 rev:5 rq:536390 version:0.3.2 Changes: -------- --- /work/SRC/openSUSE:Factory/SUSEConnect/SUSEConnect.changes 2017-07-04 13:32:24.570766739 +0200 +++ /work/SRC/openSUSE:Factory/.SUSEConnect.new/SUSEConnect.changes 2017-10-25 17:45:37.600750508 +0200 @@ -1,0 +2,5 @@ +Mon Oct 16 15:23:33 UTC 2017 - [email protected] + +- Properly refresh zypper services when deactivating a product on SMT (bsc#1047153) + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ suse-connect-0.3.2.gem ++++++ Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/suse/connect/client.rb new/lib/suse/connect/client.rb --- old/lib/suse/connect/client.rb 2017-06-26 12:00:00.000000000 +0200 +++ new/lib/suse/connect/client.rb 2017-10-17 14:53:49.000000000 +0200 @@ -39,7 +39,7 @@ if @config.product raise BaseProductDeactivationError if @config.product == Zypper.base_product service = deactivate_product @config.product - System.remove_service service + remove_or_refresh_service(service) Zypper.remove_release_package @config.product.identifier print_success_message @config.product, action: 'Deregistered' else @@ -178,6 +178,16 @@ System.credentials? end + # SMT provides one service for all products, removing it would remove all repositories. + # Refreshing the service instead to remove the repos of deregistered product. + def remove_or_refresh_service(service) + if service.name == 'SMT_DUMMY_NOREMOVE_SERVICE' + Zypper.refresh_all_services + else + System.remove_service service + end + end + def print_success_message(product, action: 'Registered') log.info "#{action} #{product.identifier} #{product.version} #{product.arch}" log.info "Rooted at: #{@config.filesystem_root}" if @config.filesystem_root diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/suse/connect/connection.rb new/lib/suse/connect/connection.rb --- old/lib/suse/connect/connection.rb 2017-06-26 12:00:00.000000000 +0200 +++ new/lib/suse/connect/connection.rb 2017-10-17 14:53:49.000000000 +0200 @@ -36,7 +36,7 @@ self.verify_callback = verify_callback end - VERB_TO_CLASS.keys.each do |name_for_method| + VERB_TO_CLASS.each_key do |name_for_method| define_method name_for_method do |path, auth: nil, params: {}| @auth = auth response = json_request(name_for_method.downcase.to_sym, path, params) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/suse/connect/errors.rb new/lib/suse/connect/errors.rb --- old/lib/suse/connect/errors.rb 2017-06-26 12:00:00.000000000 +0200 +++ new/lib/suse/connect/errors.rb 2017-10-17 14:53:49.000000000 +0200 @@ -19,7 +19,7 @@ # Used by YaST already, do not refactor without consulting them! # (Error handling: #response, #code, #message, #service) class ApiError < StandardError - attr_accessor :response, :message + attr_accessor :response # @param response [Net::HTTPResponse] the HTTP response error returned # by API request diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/suse/connect/zypper.rb new/lib/suse/connect/zypper.rb --- old/lib/suse/connect/zypper.rb 2017-06-26 12:00:00.000000000 +0200 +++ new/lib/suse/connect/zypper.rb 2017-10-17 14:53:49.000000000 +0200 @@ -4,6 +4,7 @@ require 'suse/connect/rexml_refinement' require 'suse/toolkit/system_calls' +# rubocop:disable Metrics/ModuleLength module SUSE module Connect @@ -109,6 +110,10 @@ call("--non-interactive refs #{Shellwords.escape(service_name)}") end + def refresh_all_services + call('--non-interactive refs') + end + # @param product identifier [String] # Returns an array of hashes of all solvable products def find_products(identifier) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata --- old/metadata 2017-06-26 12:23:34.000000000 +0200 +++ new/metadata 2017-10-17 14:53:49.000000000 +0200 @@ -8,7 +8,7 @@ autorequire: bindir: bin cert_chain: [] -date: 2017-06-26 00:00:00.000000000 Z +date: 2017-10-17 00:00:00.000000000 Z dependencies: [] description: This package provides a command line tool and rubygem library for connecting a client system to the SUSE Customer Center. It will connect the system to your @@ -83,7 +83,7 @@ version: '0' requirements: [] rubyforge_project: -rubygems_version: 2.2.5 +rubygems_version: 2.2.2 signing_key: specification_version: 4 summary: SUSE Connect utility to register a system with the SUSE Customer Center
