Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package rubygem-sshkit for openSUSE:Factory 
checked in at 2026-07-15 16:34:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-sshkit (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-sshkit.new.1991 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-sshkit"

Wed Jul 15 16:34:15 2026 rev:2 rq:1365337 version:1.25.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-sshkit/rubygem-sshkit.changes    
2024-12-13 22:34:58.553658432 +0100
+++ /work/SRC/openSUSE:Factory/.rubygem-sshkit.new.1991/rubygem-sshkit.changes  
2026-07-15 16:52:02.267741655 +0200
@@ -1,0 +2,6 @@
+Mon Jul 13 11:25:42 UTC 2026 - Aleksei Burlakov <[email protected]>
+
+- New upstream release 1.25.0:
+  * Add support for nested as (#558) @ThomasSevestre 
+
+-------------------------------------------------------------------

Old:
----
  sshkit-1.23.2.gem

New:
----
  sshkit-1.25.0.gem

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

Other differences:
------------------
++++++ rubygem-sshkit.spec ++++++
--- /var/tmp/diff_new_pack.xs7gdi/_old  2026-07-15 16:52:09.703994319 +0200
+++ /var/tmp/diff_new_pack.xs7gdi/_new  2026-07-15 16:52:09.703994319 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package rubygem-sshkit
 #
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -24,7 +24,7 @@
 #
 
 Name:           rubygem-sshkit
-Version:        1.23.2
+Version:        1.25.0
 Release:        0
 %define mod_name sshkit
 %define mod_full_name %{mod_name}-%{version}

++++++ sshkit-1.23.2.gem -> sshkit-1.25.0.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.github/workflows/ci.yml new/.github/workflows/ci.yml
--- old/.github/workflows/ci.yml        2024-10-15 06:02:57.000000000 +0200
+++ new/.github/workflows/ci.yml        1980-01-02 01:00:00.000000000 +0100
@@ -8,21 +8,9 @@
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        ruby:
-          [
-            "2.3",
-            "2.4",
-            "2.5",
-            "2.6",
-            "2.7",
-            "3.0",
-            "3.1",
-            "3.2",
-            "3.3",
-            "head",
-          ]
+        ruby: ["2.5", "2.6", "2.7", "3.0", "3.1", "3.2", "3.3", "3.4", "head"]
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v6
       - name: Set up Ruby
         uses: ruby/setup-ruby@v1
         with:
@@ -33,24 +21,9 @@
         env:
           RUBYOPT: ${{ startsWith(matrix.ruby, 'head') && 
'--enable=frozen-string-literal' || '' }}
 
-  test-legacy:
-    runs-on: ubuntu-20.04
-    strategy:
-      matrix:
-        ruby: ["2.0", "2.1", "2.2"]
-    steps:
-      - uses: actions/checkout@v4
-      - name: Set up Ruby
-        uses: ruby/setup-ruby@v1
-        with:
-          ruby-version: ${{ matrix.ruby }}
-          bundler-cache: true
-      - name: Run tests
-        run: bundle exec rake test:units
-
   test-all:
     runs-on: ubuntu-latest
-    needs: [test, test-legacy]
+    needs: test
     if: always()
     steps:
       - name: All tests ok
@@ -63,7 +36,7 @@
   rubocop:
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v6
       - name: Set up Ruby
         uses: ruby/setup-ruby@v1
         with:
@@ -76,9 +49,9 @@
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        ruby: ["2.0", "ruby"]
+        ruby: ["2.5", "ruby"]
     steps:
-      - uses: actions/checkout@v4
+      - uses: actions/checkout@v6
       - name: Set up Ruby
         uses: ruby/setup-ruby@v1
         with:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.github/workflows/push.yml 
new/.github/workflows/push.yml
--- old/.github/workflows/push.yml      2024-10-15 06:02:57.000000000 +0200
+++ new/.github/workflows/push.yml      1980-01-02 01:00:00.000000000 +0100
@@ -7,6 +7,6 @@
     steps:
       - uses: actions/checkout@master
       - name: Draft Release
-        uses: toolmantim/[email protected]
+        uses: toolmantim/[email protected]
         env:
           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.rubocop.yml new/.rubocop.yml
--- old/.rubocop.yml    2024-10-15 06:02:57.000000000 +0200
+++ new/.rubocop.yml    1980-01-02 01:00:00.000000000 +0100
@@ -3,7 +3,7 @@
 AllCops:
   DisplayCopNames: true
   DisplayStyleGuide: true
-  TargetRubyVersion: 2.0
+  TargetRubyVersion: 2.5
 
 Lint/AmbiguousBlockAssociation:
   Enabled: false
@@ -18,12 +18,12 @@
   Enabled: false
 Style/DoubleNegation:
   Enabled: false
-Style/FileName:
+Naming/FileName:
   Exclude:
     - "Dangerfile"
-Style/IndentHeredoc:
+Layout/IndentHeredoc:
   Enabled: false
-Style/SpaceAroundEqualsInParameterDefault:
+Layout/SpaceAroundEqualsInParameterDefault:
   EnforcedStyle: no_space
 Style/StringLiterals:
   EnforcedStyle: double_quotes
@@ -47,7 +47,7 @@
   Enabled: false
 Metrics/MethodLength:
   Enabled: false
-Style/PredicateName:
+Naming/PredicateName:
   Enabled: false
 Metrics/LineLength:
   Enabled: false
@@ -59,5 +59,5 @@
   Enabled: false
 Metrics/ModuleLength:
   Enabled: false
-Style/AccessorMethodName:
+Naming/AccessorMethodName:
   Enabled: false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.rubocop_todo.yml new/.rubocop_todo.yml
--- old/.rubocop_todo.yml       2024-10-15 06:02:57.000000000 +0200
+++ new/.rubocop_todo.yml       1980-01-02 01:00:00.000000000 +0100
@@ -439,7 +439,7 @@
 # Offense count: 3
 # Configuration parameters: SupportedStyles.
 # SupportedStyles: snake_case, camelCase
-Style/MethodName:
+Naming/MethodName:
   EnforcedStyle: snake_case
   Exclude:
     - 'test/unit/test_color.rb'
@@ -460,7 +460,7 @@
     - 'lib/sshkit/command.rb'
 
 # Offense count: 1
-Style/OpMethod:
+Naming/BinaryOperatorParameterName:
   Exclude:
     - 'lib/sshkit/host.rb'
 
@@ -611,7 +611,7 @@
 # Offense count: 1
 # Configuration parameters: EnforcedStyle, SupportedStyles.
 # SupportedStyles: snake_case, normalcase, non_integer
-Style/VariableNumber:
+Naming/VariableNumber:
   Exclude:
     - 'test/unit/backends/test_connection_pool.rb'
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Gemfile new/Gemfile
--- old/Gemfile 2024-10-15 06:02:57.000000000 +0200
+++ new/Gemfile 1980-01-02 01:00:00.000000000 +0100
@@ -1,8 +1,3 @@
 source 'https://rubygems.org'
 
 gemspec
-
-# public_suffix 3+ requires ruby 2.1+
-if Gem::Requirement.new('< 2.1').satisfied_by?(Gem::Version.new(RUBY_VERSION))
-  gem 'public_suffix', '< 3'
-end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/RELEASING.md new/RELEASING.md
--- old/RELEASING.md    2024-10-15 06:02:57.000000000 +0200
+++ new/RELEASING.md    1980-01-02 01:00:00.000000000 +0100
@@ -4,7 +4,7 @@
 
 * You must have commit rights to the SSHKit repository.
 * You must have push rights for the sshkit gem on rubygems.org.
-* You must be using Ruby >= 2.1.0.
+* You must be using Ruby >= 2.5.0.
 
 ## How to release
 
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/sshkit/backends/abstract.rb 
new/lib/sshkit/backends/abstract.rb
--- old/lib/sshkit/backends/abstract.rb 2024-10-15 06:02:57.000000000 +0200
+++ new/lib/sshkit/backends/abstract.rb 1980-01-02 01:00:00.000000000 +0100
@@ -103,6 +103,7 @@
       end
 
       def as(who, &_block)
+        who_old = [@user, @group]
         if who.is_a? Hash
           @user  = who[:user]  || who["user"]
           @group = who[:group] || who["group"]
@@ -118,8 +119,7 @@
         EOTEST
         yield
       ensure
-        remove_instance_variable(:@user)
-        remove_instance_variable(:@group)
+        @user, @group = *who_old
       end
 
       class << self
@@ -135,8 +135,7 @@
       # Backends which extend the Abstract backend should implement the 
following methods:
       def upload!(_local, _remote, _options = {}) raise MethodUnavailableError 
end
       def download!(_remote, _local=nil, _options = {}) raise 
MethodUnavailableError end
-      def execute_command(_cmd) raise MethodUnavailableError end
-      private :execute_command # Can inline after Ruby 2.1
+      private def execute_command(_cmd) raise MethodUnavailableError end
 
       private
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/sshkit/backends/connection_pool.rb 
new/lib/sshkit/backends/connection_pool.rb
--- old/lib/sshkit/backends/connection_pool.rb  2024-10-15 06:02:57.000000000 
+0200
+++ new/lib/sshkit/backends/connection_pool.rb  1980-01-02 01:00:00.000000000 
+0100
@@ -1,5 +1,4 @@
 require "monitor"
-require "thread"
 
 # Since we call to_s on new connection arguments and use that as a cache key, 
we
 # need to make sure the memory address of the object is not used as part of the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/sshkit/runners/parallel.rb 
new/lib/sshkit/runners/parallel.rb
--- old/lib/sshkit/runners/parallel.rb  2024-10-15 06:02:57.000000000 +0200
+++ new/lib/sshkit/runners/parallel.rb  1980-01-02 01:00:00.000000000 +0100
@@ -1,5 +1,3 @@
-require 'thread'
-
 module SSHKit
 
   module Runner
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/sshkit/version.rb new/lib/sshkit/version.rb
--- old/lib/sshkit/version.rb   2024-10-15 06:02:57.000000000 +0200
+++ new/lib/sshkit/version.rb   1980-01-02 01:00:00.000000000 +0100
@@ -1,3 +1,3 @@
 module SSHKit
-  VERSION = "1.23.2".freeze
+  VERSION = "1.25.0".freeze
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        2024-10-15 06:02:57.000000000 +0200
+++ new/metadata        1980-01-02 01:00:00.000000000 +0100
@@ -1,14 +1,14 @@
 --- !ruby/object:Gem::Specification
 name: sshkit
 version: !ruby/object:Gem::Version
-  version: 1.23.2
+  version: 1.25.0
 platform: ruby
 authors:
 - Lee Hambley
 - Tom Clements
 bindir: bin
 cert_chain: []
-date: 2024-10-15 00:00:00.000000000 Z
+date: 1980-01-02 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   name: base64
@@ -25,6 +25,20 @@
       - !ruby/object:Gem::Version
         version: '0'
 - !ruby/object:Gem::Dependency
+  name: logger
+  requirement: !ruby/object:Gem::Requirement
+    requirements:
+    - - ">="
+      - !ruby/object:Gem::Version
+        version: '0'
+  type: :runtime
+  prerelease: false
+  version_requirements: !ruby/object:Gem::Requirement
+    requirements:
+    - - ">="
+      - !ruby/object:Gem::Version
+        version: '0'
+- !ruby/object:Gem::Dependency
   name: net-ssh
   requirement: !ruby/object:Gem::Requirement
     requirements:
@@ -123,20 +137,6 @@
       - !ruby/object:Gem::Version
         version: '0'
 - !ruby/object:Gem::Dependency
-  name: rainbow
-  requirement: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: 2.2.2
-  type: :development
-  prerelease: false
-  version_requirements: !ruby/object:Gem::Requirement
-    requirements:
-    - - "~>"
-      - !ruby/object:Gem::Version
-        version: 2.2.2
-- !ruby/object:Gem::Dependency
   name: rake
   requirement: !ruby/object:Gem::Requirement
     requirements:
@@ -156,14 +156,14 @@
     requirements:
     - - "~>"
       - !ruby/object:Gem::Version
-        version: 0.49.1
+        version: 0.52.0
   type: :development
   prerelease: false
   version_requirements: !ruby/object:Gem::Requirement
     requirements:
     - - "~>"
       - !ruby/object:Gem::Version
-        version: 0.49.1
+        version: 0.52.0
 - !ruby/object:Gem::Dependency
   name: mocha
   requirement: !ruby/object:Gem::Requirement
@@ -329,14 +329,14 @@
   requirements:
   - - ">="
     - !ruby/object:Gem::Version
-      version: '0'
+      version: '2.5'
 required_rubygems_version: !ruby/object:Gem::Requirement
   requirements:
   - - ">="
     - !ruby/object:Gem::Version
       version: '0'
 requirements: []
-rubygems_version: 3.6.0.dev
+rubygems_version: 3.7.2
 specification_version: 4
 summary: SSHKit makes it easy to write structured, testable SSH commands in 
Ruby
 test_files:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sshkit.gemspec new/sshkit.gemspec
--- old/sshkit.gemspec  2024-10-15 06:02:57.000000000 +0200
+++ new/sshkit.gemspec  1980-01-02 01:00:00.000000000 +0100
@@ -19,19 +19,20 @@
   gem.name          = "sshkit"
   gem.require_paths = ["lib"]
   gem.version       = SSHKit::VERSION
+  gem.required_ruby_version = ">= 2.5"
 
-  gem.add_runtime_dependency('base64') if RUBY_VERSION >= "2.4"
+  gem.add_runtime_dependency('base64')
+  gem.add_runtime_dependency('logger')
   gem.add_runtime_dependency('net-ssh',  '>= 2.8.0')
   gem.add_runtime_dependency('net-scp',  '>= 1.1.2')
   gem.add_runtime_dependency('net-sftp', '>= 2.1.2')
-  gem.add_runtime_dependency('ostruct') if RUBY_VERSION >= "2.5"
+  gem.add_runtime_dependency('ostruct')
 
   gem.add_development_dependency('danger')
   gem.add_development_dependency('minitest', '>= 5.0.0')
   gem.add_development_dependency('minitest-reporters')
-  gem.add_development_dependency('rainbow', '~> 2.2.2')
   gem.add_development_dependency('rake')
-  gem.add_development_dependency('rubocop', "~> 0.49.1")
+  gem.add_development_dependency('rubocop', "~> 0.52.0")
   gem.add_development_dependency('mocha')
 
   gem.add_development_dependency('bcrypt_pbkdf')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/test/functional/backends/test_netssh.rb 
new/test/functional/backends/test_netssh.rb
--- old/test/functional/backends/test_netssh.rb 2024-10-15 06:02:57.000000000 
+0200
+++ new/test/functional/backends/test_netssh.rb 1980-01-02 01:00:00.000000000 
+0100
@@ -131,7 +131,7 @@
 
       def test_test_does_not_raise_on_non_zero_exit_status
         Netssh.new(a_host) do |_host|
-          test :false
+          test :false # rubocop:disable Lint/BooleanSymbol
         end.run
       end
 
@@ -151,7 +151,7 @@
         # ensure we enable connection pool
         SSHKit::Backend::Netssh.pool.idle_timeout = 10
         Netssh.new(a_host) do |_host|
-          test :false
+          test :false # rubocop:disable Lint/BooleanSymbol
         end.run
         sleep 2.5
         captured_command_result = nil
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/test/unit/backends/test_abstract.rb 
new/test/unit/backends/test_abstract.rb
--- old/test/unit/backends/test_abstract.rb     2024-10-15 06:02:57.000000000 
+0200
+++ new/test/unit/backends/test_abstract.rb     1980-01-02 01:00:00.000000000 
+0100
@@ -111,13 +111,63 @@
         assert_equal 'cd ~/foo && /usr/bin/env cat file', 
backend.executed_command.to_command
       end
 
-      def test_background_logs_deprecation_warnings
-        deprecation_out =
-          if RUBY_VERSION < "2.3"
-            ''
-          else
-            +''
+      def test_as_properly_clears
+        backend = ExampleBackend.new do
+          as :root do
+            execute :cat, 'file', :strip => false
+          end
+
+          execute :cat, 'file', :strip => false
+        end
+
+        backend.run
+
+        assert_equal '/usr/bin/env cat file', 
backend.executed_command.to_command
+      end
+
+      def test_as_root
+        backend = ExampleBackend.new do
+          as :root do
+            execute :cat, 'file', :strip => false
+          end
+        end
+
+        backend.run
+
+        assert_equal 'sudo -u root -- sh -c /usr/bin/env\\ cat\\ file', 
backend.executed_command.to_command
+      end
+
+      def test_nested_as
+        backend = ExampleBackend.new do
+          as :root do
+            as :other_user do
+              execute :cat, 'file', :strip => false
+            end
+          end
+        end
+
+        backend.run
+
+        assert_equal 'sudo -u other_user -- sh -c /usr/bin/env\\ cat\\ file', 
backend.executed_command.to_command
+      end
+
+      def test_nested_as_properly_clears
+        backend = ExampleBackend.new do
+          as :root do
+            as :other_user do
+              execute :cat, 'file', :strip => false
+            end
+            execute :cat, 'file', :strip => false
           end
+        end
+
+        backend.run
+
+        assert_equal 'sudo -u root -- sh -c /usr/bin/env\\ cat\\ file', 
backend.executed_command.to_command
+      end
+
+      def test_background_logs_deprecation_warnings
+        deprecation_out = +''
         SSHKit.config.deprecation_output = deprecation_out
 
         ExampleBackend.new do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/test/unit/test_command.rb 
new/test/unit/test_command.rb
--- old/test/unit/test_command.rb       2024-10-15 06:02:57.000000000 +0200
+++ new/test/unit/test_command.rb       1980-01-02 01:00:00.000000000 +0100
@@ -211,12 +211,7 @@
     end
 
     def test_deprecated_stdtream_accessors
-      deprecation_out =
-        if RUBY_VERSION < "2.3"
-          ''
-        else
-          +''
-        end
+      deprecation_out = +''
 
       SSHKit.config.deprecation_output = deprecation_out
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/test/unit/test_configuration.rb 
new/test/unit/test_configuration.rb
--- old/test/unit/test_configuration.rb 2024-10-15 06:02:57.000000000 +0200
+++ new/test/unit/test_configuration.rb 1980-01-02 01:00:00.000000000 +0100
@@ -11,12 +11,7 @@
     end
 
     def test_deprecation_output
-      output =
-        if RUBY_VERSION < "2.3"
-          ''
-        else
-          +''
-        end
+      output = +''
 
       SSHKit.config.deprecation_output = output
       SSHKit.config.deprecation_logger.log('Test')

Reply via email to