Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package rubygem-bootsnap for 
openSUSE:Factory checked in at 2022-06-15 00:32:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-bootsnap (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-bootsnap.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-bootsnap"

Wed Jun 15 00:32:15 2022 rev:19 rq:982527 version:1.12.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-bootsnap/rubygem-bootsnap.changes        
2022-03-11 11:35:15.270196066 +0100
+++ 
/work/SRC/openSUSE:Factory/.rubygem-bootsnap.new.1548/rubygem-bootsnap.changes  
    2022-06-15 00:32:18.934527911 +0200
@@ -1,0 +2,12 @@
+Mon Jun 13 16:52:37 UTC 2022 - Manuel Schnitzer <[email protected]>
+
+- updated to version 1.12.0
+
+  * `bootsnap precompile` CLI will now also precompile `Rakefile` and `.rake` 
files.
+
+  * Stop decorating `Module#autoload` as it was only useful for supporting 
Ruby 2.2 and older.
+
+  * Remove `uname` and other patform specific version from the cache keys. 
`RUBY_PLATFORM + RUBY_REVISION` should be
+    enough to ensure bytecode compatibility. This should improve caching for 
alpine based setups. See #409.
+
+-------------------------------------------------------------------

Old:
----
  bootsnap-1.11.1.gem

New:
----
  bootsnap-1.12.0.gem

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

Other differences:
------------------
++++++ rubygem-bootsnap.spec ++++++
--- /var/tmp/diff_new_pack.HziD8L/_old  2022-06-15 00:32:19.610528905 +0200
+++ /var/tmp/diff_new_pack.HziD8L/_new  2022-06-15 00:32:19.614528910 +0200
@@ -24,7 +24,7 @@
 #
 
 Name:           rubygem-bootsnap
-Version:        1.11.1
+Version:        1.12.0
 Release:        0
 %define mod_name bootsnap
 %define mod_full_name %{mod_name}-%{version}

++++++ bootsnap-1.11.1.gem -> bootsnap-1.12.0.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md
--- old/CHANGELOG.md    2022-03-08 10:54:17.000000000 +0100
+++ new/CHANGELOG.md    2022-05-30 16:33:37.000000000 +0200
@@ -1,5 +1,14 @@
 # Unreleased
 
+# 1.12.0
+
+* `bootsnap precompile` CLI will now also precompile `Rakefile` and `.rake` 
files.
+
+* Stop decorating `Module#autoload` as it was only useful for supporting Ruby 
2.2 and older.
+
+* Remove `uname` and other patform specific version from the cache keys. 
`RUBY_PLATFORM + RUBY_REVISION` should be
+  enough to ensure bytecode compatibility. This should improve caching for 
alpine based setups. See #409.
+
 # 1.11.1
 
 * Fix the `can't modify frozen Hash` error on load path cache mutation. See 
#411.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/README.md new/README.md
--- old/README.md       2022-03-08 10:54:17.000000000 +0100
+++ new/README.md       2022-05-30 16:33:37.000000000 +0200
@@ -232,9 +232,9 @@
 is a cache key including several fields:
 
 * `version`, hardcoded in bootsnap. Essentially a schema version;
-* `ruby_platform`, A hash of `RUBY_PLATFORM` (e.g. x86_64-linux-gnu) variable 
and glibc version (on Linux) or OS version (`uname -v` on BSD, macOS)
+* `ruby_platform`, A hash of `RUBY_PLATFORM` (e.g. x86_64-linux-gnu) variable.
 * `compile_option`, which changes with 
`RubyVM::InstructionSequence.compile_option` does;
-* `ruby_revision`, the version of Ruby this was compiled with;
+* `ruby_revision`, A hash of `RUBY_REVISION`, the exact version of Ruby;
 * `size`, the size of the source file;
 * `mtime`, the last-modification timestamp of the source file when it was 
compiled; and
 * `data_size`, the number of bytes following the header, which we need to read 
it into a buffer.
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ext/bootsnap/bootsnap.c new/ext/bootsnap/bootsnap.c
--- old/ext/bootsnap/bootsnap.c 2022-03-08 10:54:17.000000000 +0100
+++ new/ext/bootsnap/bootsnap.c 2022-05-30 16:33:37.000000000 +0200
@@ -19,12 +19,6 @@
 #include <errno.h>
 #include <fcntl.h>
 #include <sys/stat.h>
-#ifndef _WIN32
-#include <sys/utsname.h>
-#endif
-#ifdef __GLIBC__
-#include <gnu/libc-version.h>
-#endif
 
 /* 1000 is an arbitrary limit; FNV64 plus some slashes brings the cap down to
  * 981 for the cache dir */
@@ -205,29 +199,6 @@
   return Qnil;
 }
 
-/*
- * We use FNV1a-64 to derive cache paths. The choice is somewhat arbitrary but
- * it has several nice properties:
- *
- *   - Tiny implementation
- *   - No external dependency
- *   - Solid performance
- *   - Solid randomness
- *   - 32 bits doesn't feel collision-resistant enough; 64 is nice.
- */
-static uint64_t
-fnv1a_64_iter_cstr(uint64_t h, const char *str)
-{
-  unsigned char *s = (unsigned char *)str;
-
-  while (*s) {
-    h ^= (uint64_t)*s++;
-    h += (h << 1) + (h << 4) + (h << 5) + (h << 7) + (h << 8) + (h << 40);
-  }
-
-  return h;
-}
-
 static uint64_t
 fnv1a_64_iter(uint64_t h, const VALUE str)
 {
@@ -272,10 +243,6 @@
 /*
  * When ruby's version doesn't change, but it's recompiled on a different OS
  * (or OS version), we need to invalidate the cache.
- *
- * We actually factor in some extra information here, to be extra confident
- * that we don't try to re-use caches that will not be compatible, by factoring
- * in utsname.version.
  */
 static uint32_t
 get_ruby_platform(void)
@@ -285,22 +252,7 @@
 
   ruby_platform = rb_const_get(rb_cObject, rb_intern("RUBY_PLATFORM"));
   hash = fnv1a_64(ruby_platform);
-
-#ifdef _WIN32
-  return (uint32_t)(hash >> 32) ^ (uint32_t)GetVersion();
-#elif defined(__GLIBC__)
-  hash = fnv1a_64_iter_cstr(hash, gnu_get_libc_version());
   return (uint32_t)(hash >> 32);
-#else
-  struct utsname utsname;
-
-  /* Not worth crashing if this fails; lose extra cache invalidation potential 
*/
-  if (uname(&utsname) >= 0) {
-    hash = fnv1a_64_iter_cstr(hash, utsname.version);
-  }
-
-  return (uint32_t)(hash >> 32);
-#endif
 }
 
 /*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/bootsnap/cli.rb new/lib/bootsnap/cli.rb
--- old/lib/bootsnap/cli.rb     2022-03-08 10:54:17.000000000 +0100
+++ new/lib/bootsnap/cli.rb     2022-05-30 16:33:37.000000000 +0200
@@ -172,7 +172,7 @@
 
       load_paths.each do |path|
         if !exclude || !exclude.match?(path)
-          list_files(path, "**/*.rb").each do |ruby_file|
+          list_files(path, "**/{*.rb,*.rake,Rakefile}").each do |ruby_file|
             if !exclude || !exclude.match?(ruby_file)
               @work_pool.push(:ruby, ruby_file)
             end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb 
new/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb
--- old/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb 2022-03-08 
10:54:17.000000000 +0100
+++ new/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb 2022-05-30 
16:33:37.000000000 +0200
@@ -42,24 +42,3 @@
     end
   end
 end
-
-class Module
-  alias_method(:autoload_without_bootsnap, :autoload)
-  def autoload(const, path)
-    # NOTE: This may defeat LoadedFeaturesIndex, but it's not immediately
-    # obvious how to make it work. This feels like a pretty niche case, unclear
-    # if it will ever burn anyone.
-    #
-    # The challenge is that we don't control the point at which the entry gets
-    # added to $LOADED_FEATURES and won't be able to hook that modification
-    # since it's done in C-land.
-    resolved = 
Bootsnap::LoadPathCache.load_path_cache.find(Bootsnap.rb_get_path(path))
-    if Bootsnap::LoadPathCache::FALLBACK_SCAN.equal?(resolved)
-      autoload_without_bootsnap(const, path)
-    elsif resolved == false
-      return false
-    else
-      autoload_without_bootsnap(const, resolved || path)
-    end
-  end
-end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/bootsnap/version.rb new/lib/bootsnap/version.rb
--- old/lib/bootsnap/version.rb 2022-03-08 10:54:17.000000000 +0100
+++ new/lib/bootsnap/version.rb 2022-05-30 16:33:37.000000000 +0200
@@ -1,5 +1,5 @@
 # frozen_string_literal: true
 
 module Bootsnap
-  VERSION = "1.11.1"
+  VERSION = "1.12.0"
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        2022-03-08 10:54:17.000000000 +0100
+++ new/metadata        2022-05-30 16:33:37.000000000 +0200
@@ -1,14 +1,14 @@
 --- !ruby/object:Gem::Specification
 name: bootsnap
 version: !ruby/object:Gem::Version
-  version: 1.11.1
+  version: 1.12.0
 platform: ruby
 authors:
 - Burke Libbey
 autorequire: 
 bindir: exe
 cert_chain: []
-date: 2022-03-08 00:00:00.000000000 Z
+date: 2022-05-30 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   name: msgpack

Reply via email to