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