Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package rubygem-mini_magick for
openSUSE:Factory checked in at 2026-07-21 23:00:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-mini_magick (Old)
and /work/SRC/openSUSE:Factory/.rubygem-mini_magick.new.24530 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-mini_magick"
Tue Jul 21 23:00:46 2026 rev:15 rq:1366756 version:5.3.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-mini_magick/rubygem-mini_magick.changes
2024-11-07 16:27:58.699123286 +0100
+++
/work/SRC/openSUSE:Factory/.rubygem-mini_magick.new.24530/rubygem-mini_magick.changes
2026-07-21 23:00:50.842633379 +0200
@@ -1,0 +2,6 @@
+Mon Jul 20 11:58:48 UTC 2026 - Aleksei Burlakov <[email protected]>
+
+- New upstream release 5.3.1:
+ * Fixed MiniMagick.cli_prefix being mutated when set to an array.
+
+-------------------------------------------------------------------
Old:
----
mini_magick-5.0.1.gem
New:
----
mini_magick-5.3.1.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-mini_magick.spec ++++++
--- /var/tmp/diff_new_pack.smhzMX/_old 2026-07-21 23:00:51.614660006 +0200
+++ /var/tmp/diff_new_pack.smhzMX/_new 2026-07-21 23:00:51.618660144 +0200
@@ -1,7 +1,7 @@
#
# spec file for package rubygem-mini_magick
#
-# 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-mini_magick
-Version: 5.0.1
+Version: 5.3.1
Release: 0
%define mod_name mini_magick
%define mod_full_name %{mod_name}-%{version}
++++++ mini_magick-5.0.1.gem -> mini_magick-5.3.1.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/README.md new/README.md
--- old/README.md 2024-07-24 10:29:49.000000000 +0200
+++ new/README.md 1980-01-02 01:00:00.000000000 +0100
@@ -237,9 +237,11 @@
config.timeout = nil # number of seconds IM commands may take
config.errors = true # raise errors non nonzero exit status
config.warnings = true # forward warnings to standard error
- config.tmdir = Dir.tmpdir # alternative directory for tempfiles
+ config.tmpdir = Dir.tmpdir # alternative directory for tempfiles
config.logger = Logger.new($stdout) # where to log IM commands
config.cli_prefix = nil # add prefix to all IM commands
+ config.cli_env = {} # environment variables to set for IM commands
+ config.restricted_env = false # when true, block IM commands from accessing
system environment variables other than those in cli_env
end
```
@@ -455,11 +457,14 @@
### GraphicsMagick
As of MiniMagick 5+, [GraphicsMagick](http://www.graphicsmagick.org/) isn't
-officially supported. However, you can still configure MiniMagick to use it:
+officially supported. This means its installation won't be auto-detected, and
no
+attempts will be made to handle differences in GraphicsMagick API or output.
+
+However, you can still configure MiniMagick to use it:
```rb
MiniMagick.configure do |config|
- config.cli_prefix = "gm"
+ config.graphicsmagick = true
end
```
@@ -468,16 +473,27 @@
### Limiting resources
-ImageMagick supports a number of environment variables for controlling its
+ImageMagick supports a number of [environment variables] for controlling its
resource limits. For example, you can enforce memory or execution time limits
by
-setting the following variables in your application's process environment:
+setting the following:
-* `MAGICK_MEMORY_LIMIT=128MiB`
-* `MAGICK_MAP_LIMIT=64MiB`
-* `MAGICK_TIME_LIMIT=30`
+```rb
+MiniMagick.configure do |config|
+ config.cli_env = {
+ "MAGICK_MEMORY_LIMIT" => "128MiB",
+ "MAGICK_MAP_LIMIT" => "64MiB",
+ "MAGICK_TIME_LIMIT" => "30"
+ }
+end
+```
-For a full list of variables and description, see [ImageMagick's resources
-documentation](http://www.imagemagick.org/script/resources.php#environment).
+For time limit you can also use the `timeout` configuration:
+
+```rb
+MiniMagick.configure do |config|
+ config.timeout = 30 # 30 seconds
+end
+```
### Changing temporary directory
@@ -538,3 +554,5 @@
* To open files with MiniMagick you use `MiniMagick::Image.open` as you would
`Magick::Image.read`. To open a file and directly edit it, use
`MiniMagick::Image.new`.
+
+[environment variables]:
https://imagemagick.org/script/resources.php#environment
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/mini_magick/configuration.rb
new/lib/mini_magick/configuration.rb
--- old/lib/mini_magick/configuration.rb 2024-07-24 10:29:49.000000000
+0200
+++ new/lib/mini_magick/configuration.rb 1980-01-02 01:00:00.000000000
+0100
@@ -5,6 +5,13 @@
module Configuration
##
+ # Uses [GraphicsMagick](http://www.graphicsmagick.org/) instead of
+ # ImageMagick, by prefixing commands with `gm` instead of `magick`.
+ #
+ # @return [Boolean]
+ attr_accessor :graphicsmagick
+
+ ##
# Adds a prefix to the CLI command.
# For example, you could use `firejail` to run all commands in a sandbox.
# Can be a string, or an array of strings.
@@ -16,6 +23,26 @@
attr_accessor :cli_prefix
##
+ # Adds environment variables to every CLI command call.
+ # For example, you could use it to set
`LD_PRELOAD="/path/to/libsomething.so"`.
+ # Must be a hash of strings keyed to valid environment variable name
strings.
+ # e.g. {'MY_ENV' => 'my value'}
+ #
+ # @return [Hash]
+ #
+ attr_accessor :cli_env
+
+ ##
+ # If set to true, Open3 will restrict system calls to access only
+ # environment variables defined in :cli_env, plus HOME, PATH, and LANG
+ # since those are required for such system calls. It will not pass on any
+ # other environment variables from the system.
+ #
+ # @return [Boolean]
+ #
+ attr_accessor :restricted_env
+
+ ##
# If you don't want commands to take too long, you can set a timeout (in
# seconds).
#
@@ -55,6 +82,9 @@
base.errors = true
base.logger = Logger.new($stdout).tap { |l| l.level = Logger::INFO }
base.warnings = true
+ base.cli_env = {}.freeze
+ base.restricted_env = false
+ base.graphicsmagick = false
end
##
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/mini_magick/shell.rb new/lib/mini_magick/shell.rb
--- old/lib/mini_magick/shell.rb 2024-07-24 10:29:49.000000000 +0200
+++ new/lib/mini_magick/shell.rb 1980-01-02 01:00:00.000000000 +0100
@@ -1,5 +1,4 @@
require "open3"
-require "benchmark"
module MiniMagick
##
@@ -27,8 +26,12 @@
end
def execute(command, stdin: "", timeout: MiniMagick.timeout)
+ env = MiniMagick.restricted_env ? ENV.to_h.slice("HOME", "PATH", "LANG")
: {} # Using #to_h for Ruby 2.5 compatibility.
+ env.merge!(MiniMagick.cli_env)
+ env["MAGICK_TIME_LIMIT"] = timeout.to_s if timeout
+
stdout, stderr, status = log(command.join(" ")) do
- Open3.capture3({ "MAGICK_TIME_LIMIT" => timeout&.to_s }, *command,
stdin_data: stdin)
+ Open3.capture3(env, *command, stdin_data: stdin, unsetenv_others:
MiniMagick.restricted_env)
end
[stdout, stderr, status&.exitstatus]
@@ -39,8 +42,9 @@
private
def log(command, &block)
- value = nil
- duration = Benchmark.realtime { value = block.call }
+ time_start = Process.clock_gettime(Process::CLOCK_MONOTONIC)
+ value = block.call
+ duration = Process.clock_gettime(Process::CLOCK_MONOTONIC) - time_start
MiniMagick.logger.debug "[%.2fs] %s" % [duration, command]
value
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/mini_magick/tool.rb new/lib/mini_magick/tool.rb
--- old/lib/mini_magick/tool.rb 2024-07-24 10:29:49.000000000 +0200
+++ new/lib/mini_magick/tool.rb 1980-01-02 01:00:00.000000000 +0100
@@ -27,8 +27,8 @@
# instance of the tool, if block is given, returns the output of the
# command.
#
- def self.new(*args)
- instance = super(*args)
+ def self.new(name, **options)
+ instance = super
if block_given?
yield instance
@@ -121,10 +121,10 @@
# identify.executable #=> ["firejail", "--force", "magick", "identify"]
#
def executable
- exe = [name]
- exe.unshift "magick" if MiniMagick.imagemagick7? && name != "magick"
- Array(MiniMagick.cli_prefix).reverse_each { |p| exe.unshift p } if
MiniMagick.cli_prefix
- exe
+ exe = Array(MiniMagick.cli_prefix).dup
+ exe << "magick" if MiniMagick.imagemagick7? && name != "magick"
+ exe << "gm" if MiniMagick.graphicsmagick
+ exe << name
end
##
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/mini_magick/version.rb
new/lib/mini_magick/version.rb
--- old/lib/mini_magick/version.rb 2024-07-24 10:29:49.000000000 +0200
+++ new/lib/mini_magick/version.rb 1980-01-02 01:00:00.000000000 +0100
@@ -8,7 +8,7 @@
module VERSION
MAJOR = 5
- MINOR = 0
+ MINOR = 3
TINY = 1
PRE = nil
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/mini_magick.rb new/lib/mini_magick.rb
--- old/lib/mini_magick.rb 2024-07-24 10:29:49.000000000 +0200
+++ new/lib/mini_magick.rb 1980-01-02 01:00:00.000000000 +0100
@@ -17,6 +17,7 @@
#
# @return [Boolean]
def self.imagemagick7?
+ return false if graphicsmagick
return @imagemagick7 if defined?(@imagemagick7)
@imagemagick7 = !!MiniMagick::Utilities.which("magick")
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2024-07-24 10:29:49.000000000 +0200
+++ new/metadata 1980-01-02 01:00:00.000000000 +0100
@@ -1,7 +1,7 @@
--- !ruby/object:Gem::Specification
name: mini_magick
version: !ruby/object:Gem::Version
- version: 5.0.1
+ version: 5.3.1
platform: ruby
authors:
- Corey Johnson
@@ -10,19 +10,18 @@
- James Miller
- Thiago Fernandes Massa
- Janko Marohnić
-autorequire:
bindir: bin
cert_chain: []
-date: 2024-07-24 00:00:00.000000000 Z
+date: 1980-01-02 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
- name: rake
+ name: logger
requirement: !ruby/object:Gem::Requirement
requirements:
- - ">="
- !ruby/object:Gem::Version
version: '0'
- type: :development
+ type: :runtime
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
@@ -30,33 +29,33 @@
- !ruby/object:Gem::Version
version: '0'
- !ruby/object:Gem::Dependency
- name: rspec
+ name: rake
requirement: !ruby/object:Gem::Requirement
requirements:
- - - "~>"
+ - - ">="
- !ruby/object:Gem::Version
- version: '3.5'
+ version: '0'
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - - "~>"
+ - - ">="
- !ruby/object:Gem::Version
- version: '3.5'
+ version: '0'
- !ruby/object:Gem::Dependency
- name: webmock
+ name: rspec
requirement: !ruby/object:Gem::Requirement
requirements:
- - - ">="
+ - - "~>"
- !ruby/object:Gem::Version
- version: '0'
+ version: '3.5'
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - - ">="
+ - - "~>"
- !ruby/object:Gem::Version
- version: '0'
+ version: '3.5'
description: Manipulate images with minimal use of memory via ImageMagick
email:
- [email protected]
@@ -85,7 +84,6 @@
- MIT
metadata:
changelog_uri: https://github.com/minimagick/minimagick/releases
-post_install_message:
rdoc_options: []
require_paths:
- lib
@@ -93,7 +91,7 @@
requirements:
- - ">="
- !ruby/object:Gem::Version
- version: '2.3'
+ version: '2.5'
required_rubygems_version: !ruby/object:Gem::Requirement
requirements:
- - ">="
@@ -101,8 +99,7 @@
version: '0'
requirements:
- You must have ImageMagick installed
-rubygems_version: 3.5.11
-signing_key:
+rubygems_version: 3.6.7
specification_version: 4
summary: Manipulate images with minimal use of memory via ImageMagick
test_files: []