Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package rubygem-serverengine for openSUSE:Factory checked in at 2022-02-02 22:41:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rubygem-serverengine (Old) and /work/SRC/openSUSE:Factory/.rubygem-serverengine.new.1898 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-serverengine" Wed Feb 2 22:41:37 2022 rev:10 rq:950653 version:2.2.5 Changes: -------- --- /work/SRC/openSUSE:Factory/rubygem-serverengine/rubygem-serverengine.changes 2021-06-25 15:02:19.808224194 +0200 +++ /work/SRC/openSUSE:Factory/.rubygem-serverengine.new.1898/rubygem-serverengine.changes 2022-02-02 22:42:35.295054183 +0100 @@ -1,0 +2,11 @@ +Tue Jan 25 07:35:37 UTC 2022 - Stephan Kulow <co...@suse.com> + +updated to version 2.2.5 + see installed Changelog + + 2022-01-13 version 2.2.5: + + * Fix DLL load error on Ruby 3.1 on Windows + + +------------------------------------------------------------------- Old: ---- serverengine-2.2.4.gem New: ---- serverengine-2.2.5.gem ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rubygem-serverengine.spec ++++++ --- /var/tmp/diff_new_pack.4XhtgT/_old 2022-02-02 22:42:35.763051011 +0100 +++ /var/tmp/diff_new_pack.4XhtgT/_new 2022-02-02 22:42:35.771050956 +0100 @@ -1,7 +1,7 @@ # # spec file for package rubygem-serverengine # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # 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-serverengine -Version: 2.2.4 +Version: 2.2.5 Release: 0 %define mod_name serverengine %define mod_full_name %{mod_name}-%{version} ++++++ serverengine-2.2.4.gem -> serverengine-2.2.5.gem ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.github/workflows/linux.yml new/.github/workflows/linux.yml --- old/.github/workflows/linux.yml 2021-05-24 07:43:50.000000000 +0200 +++ new/.github/workflows/linux.yml 2022-01-13 10:47:58.000000000 +0100 @@ -1,26 +1,31 @@ name: Testing on Ubuntu on: - - push - - pull_request + push: + branches: [master] + pull_request: + branches: [master] + jobs: - build: + test: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: - ruby: [ '3.0', '2.7', '2.6', '2.5' ] + ruby: [ '3.1', '3.0', '2.7', '2.6' ] os: - ubuntu-latest - name: Ruby ${{ matrix.ruby }} unit testing on ${{ matrix.os }} + name: Unit testing with Ruby ${{ matrix.ruby }} on ${{ matrix.os }} steps: - - uses: actions/checkout@v2 - - uses: ruby/setup-ruby@v1 - with: - ruby-version: ${{ matrix.ruby }} - - name: unit testing - env: - CI: true - run: | - gem install bundler rake - bundle install --jobs 4 --retry 3 - bundle exec rake spec + - uses: actions/checkout@v2 + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + - name: Install dependencies + run: | + gem install bundler rake + bundle install --jobs 4 --retry 3 + - name: Run tests + env: + CI: true + run: bundle exec rake spec diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.github/workflows/windows.yml new/.github/workflows/windows.yml --- old/.github/workflows/windows.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/.github/workflows/windows.yml 2022-01-13 10:47:58.000000000 +0100 @@ -0,0 +1,42 @@ +name: Testing on Windows +on: + push: + branches: [master] + pull_request: + branches: [master] + +jobs: + test: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + ruby: [ '3.1', '2.7', '2.6' ] + os: + - windows-latest + include: + - ruby: '3.0.3' + os: windows-latest + # On Ruby 3.0, we need to use fiddle 1.0.8 or later to retrieve correct + # error code. In addition, we have to specify the path of fiddle by RUBYLIB + # because RubyInstaller loads Ruby's bundled fiddle before initializing gem. + # See also: + # * https://github.com/ruby/fiddle/issues/72 + # * https://bugs.ruby-lang.org/issues/17813 + # * https://github.com/oneclick/rubyinstaller2/blob/8225034c22152d8195bc0aabc42a956c79d6c712/lib/ruby_installer/build/dll_directory.rb + ruby-lib-opt: RUBYLIB=%RUNNER_TOOL_CACHE%/Ruby/3.0.3/x64/lib/ruby/gems/3.0.0/gems/fiddle-1.1.0/lib + + name: Unit testing with Ruby ${{ matrix.ruby }} on ${{ matrix.os }} + steps: + - uses: actions/checkout@v2 + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + - name: Add Fiddle 1.1.0 + if: ${{ matrix.ruby == '3.0.3' }} + run: gem install fiddle --version 1.1.0 + - name: Install dependencies + run: ridk exec bundle install --jobs 4 --retry 3 + - name: Run tests + run: bundle exec rake spec ${{ matrix.ruby-lib-opt }} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Changelog new/Changelog --- old/Changelog 2021-05-24 07:43:50.000000000 +0200 +++ new/Changelog 2022-01-13 10:47:58.000000000 +0100 @@ -1,3 +1,7 @@ +2022-01-13 version 2.2.5: + +* Fix DLL load error on Ruby 3.1 on Windows + 2021-05-24 version 2.2.4: * Ensure to get correct Win32 socket error on Ruby 3.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/appveyor.yml new/appveyor.yml --- old/appveyor.yml 2021-05-24 07:43:50.000000000 +0200 +++ new/appveyor.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,35 +0,0 @@ ---- -image: Visual Studio 2019 - -install: - - SET PATH=C:\Ruby%ruby_version%\bin;%PATH% - - ruby --version - - gem --version - - bundle install -build: off -test_script: - - bundle exec rake spec - -environment: - matrix: - - ruby_version: "30-x64" - - ruby_version: "27-x64" - - ruby_version: "26-x64" - - ruby_version: "25-x64" - -# On Ruby 3.0, we need to use fiddle 1.0.8 or later to retrieve correct -# error code. In addition, we have to specify the path of fiddle by RUBYLIB -# because RubyInstaller loads Ruby's bundled fiddle before initializing gem. -# See also: -# * https://github.com/ruby/fiddle/issues/72 -# * https://bugs.ruby-lang.org/issues/17813 -# * https://github.com/oneclick/rubyinstaller2/blob/8225034c22152d8195bc0aabc42a956c79d6c712/lib/ruby_installer/build/dll_directory.rb -for: -- - matrix: - only: - - ruby_version: "30-x64" - test_script: - - gem install fiddle --version 1.0.8 - - set RUBYLIB=C:/Ruby%ruby_version%/lib/ruby/gems/3.0.0/gems/fiddle-1.0.8/lib - - bundle exec rake spec Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/serverengine/multi_process_server.rb new/lib/serverengine/multi_process_server.rb --- old/lib/serverengine/multi_process_server.rb 2021-05-24 07:43:50.000000000 +0200 +++ new/lib/serverengine/multi_process_server.rb 2022-01-13 10:47:58.000000000 +0100 @@ -142,7 +142,11 @@ return false unless @pmon if stat = @pmon.try_join - @worker.logger.info "Worker #{@wid} finished#{@stop ? '' : ' unexpectedly'} with #{ServerEngine.format_join_status(stat)}" + if @stop + @worker.logger.info "Worker #{@wid} finished with #{ServerEngine.format_join_status(stat)}" + else + @worker.logger.error "Worker #{@wid} finished unexpectedly with #{ServerEngine.format_join_status(stat)}" + end if stat.is_a?(Process::Status) && stat.exited? && @unrecoverable_exit_codes.include?(stat.exitstatus) @unrecoverable_exit = true @exitstatus = stat.exitstatus diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/serverengine/version.rb new/lib/serverengine/version.rb --- old/lib/serverengine/version.rb 2021-05-24 07:43:50.000000000 +0200 +++ new/lib/serverengine/version.rb 2022-01-13 10:47:58.000000000 +0100 @@ -1,3 +1,3 @@ module ServerEngine - VERSION = "2.2.4" + VERSION = "2.2.5" end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/serverengine/winsock.rb new/lib/serverengine/winsock.rb --- old/lib/serverengine/winsock.rb 2021-05-24 07:43:50.000000000 +0200 +++ new/lib/serverengine/winsock.rb 2022-01-13 10:47:58.000000000 +0100 @@ -21,6 +21,7 @@ require 'fiddle/import' require 'fiddle/types' require 'socket' + require 'rbconfig' extend Fiddle::Importer @@ -101,14 +102,7 @@ extern "int GetModuleFileNameA(int, char *, int)" extern "int CloseHandle(int)" - ruby_bin_path_buf = Fiddle::Pointer.malloc(1000) - GetModuleFileNameA(0, ruby_bin_path_buf, ruby_bin_path_buf.size) - - ruby_bin_path = ruby_bin_path_buf.to_s.gsub(/\\/, '/') - ruby_dll_paths = File.dirname(ruby_bin_path) + '/*msvcr*ruby*.dll' - ruby_dll_path = Dir.glob(ruby_dll_paths).first - dlload ruby_dll_path - + dlload RbConfig::CONFIG['LIBRUBY_SO'] extern "int rb_w32_map_errno(int)" def self.raise_last_error(name) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata --- old/metadata 2021-05-24 07:43:50.000000000 +0200 +++ new/metadata 2022-01-13 10:47:58.000000000 +0100 @@ -1,14 +1,14 @@ --- !ruby/object:Gem::Specification name: serverengine version: !ruby/object:Gem::Version - version: 2.2.4 + version: 2.2.5 platform: ruby authors: - Sadayuki Furuhashi autorequire: bindir: bin cert_chain: [] -date: 2021-05-24 00:00:00.000000000 Z +date: 2022-01-13 00:00:00.000000000 Z dependencies: - !ruby/object:Gem::Dependency name: sigdump @@ -88,6 +88,7 @@ extra_rdoc_files: [] files: - ".github/workflows/linux.yml" +- ".github/workflows/windows.yml" - ".gitignore" - ".rspec" - Changelog @@ -96,7 +97,6 @@ - NOTICE - README.md - Rakefile -- appveyor.yml - examples/server.rb - examples/spawn_worker_script.rb - lib/serverengine.rb diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec/supervisor_spec.rb new/spec/supervisor_spec.rb --- old/spec/supervisor_spec.rb 2021-05-24 07:43:50.000000000 +0200 +++ new/spec/supervisor_spec.rb 2022-01-13 10:47:58.000000000 +0100 @@ -197,7 +197,13 @@ t.join end - test_state(:worker_run).should == 3 + if ServerEngine.windows? + # Because launching a process on Windows is high cost, + # it doesn't often reach to 3. + test_state(:worker_run).should <= 3 + else + test_state(:worker_run).should == 3 + end end end end