Hello community, here is the log from the commit of package yast2 for openSUSE:Factory checked in at 2015-06-03 08:28:50 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yast2 (Old) and /work/SRC/openSUSE:Factory/.yast2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2" Changes: -------- --- /work/SRC/openSUSE:Factory/yast2/yast2.changes 2015-05-26 13:28:22.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.yast2.new/yast2.changes 2015-06-03 08:28:52.000000000 +0200 @@ -1,0 +2,19 @@ +Tue Jun 2 11:26:50 UTC 2015 - [email protected] + +- reduce count of extending inst-sys with snapper for snapshotting + (fate#317973) +- 3.1.128 + +------------------------------------------------------------------- +Mon Jun 1 16:23:37 CEST 2015 - [email protected] + +- Added Linuxrc.value_for (fate#317973) +- 3.1.127 + +------------------------------------------------------------------- +Wed May 27 14:36:47 UTC 2015 - [email protected] + +- Add persistent storage for fs pre snapshots (fate#317973) +- 3.1.126 + +------------------------------------------------------------------- Old: ---- yast2-3.1.125.tar.bz2 New: ---- yast2-3.1.128.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2.spec ++++++ --- /var/tmp/diff_new_pack.UT2zHK/_old 2015-06-03 08:28:53.000000000 +0200 +++ /var/tmp/diff_new_pack.UT2zHK/_new 2015-06-03 08:28:53.000000000 +0200 @@ -17,7 +17,7 @@ Name: yast2 -Version: 3.1.125 +Version: 3.1.128 Release: 0 Url: https://github.com/yast/yast-yast2 @@ -44,8 +44,8 @@ # For running RSpec tests during build BuildRequires: rubygem(rspec) -# To have specific RSpec extensions available -BuildRequires: yast2-ruby-bindings >= 3.1.26 +# To have scr_chrooted? call available +BuildRequires: yast2-ruby-bindings >= 3.1.33 # pre-requires for filling the sysconfig template (sysconfig.yast2) PreReq: %fillup_prereq @@ -128,7 +128,7 @@ Provides: yast2-network:/usr/share/YaST2/modules/Internet.ycp Provides: yast2-packager:/usr/lib/YaST2/servers_non_y2/ag_anyxml -Requires: yast2-ruby-bindings >= 1.0.0 +Requires: yast2-ruby-bindings >= 3.1.33 Summary: YaST2 - Main Package License: GPL-2.0 ++++++ yast2-3.1.125.tar.bz2 -> yast2-3.1.128.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.125/library/general/src/modules/Linuxrc.rb new/yast2-3.1.128/library/general/src/modules/Linuxrc.rb --- old/yast2-3.1.125/library/general/src/modules/Linuxrc.rb 2015-05-25 15:36:08.000000000 +0200 +++ new/yast2-3.1.128/library/general/src/modules/Linuxrc.rb 2015-06-02 14:31:10.000000000 +0200 @@ -211,6 +211,29 @@ true end + # Returns value of a given Linxurc key/feature defined on commandline + # and written into install.inf + # + # @param [String] key + # @return [String, nil] value of a given key or `nil` if not found + def value_for(feature_key) + ReadInstallInf() + feature_key = polish(feature_key) + + # at first check the keys in install.inf + install_inf_key, install_inf_val = @install_inf.find { |k, _v| polish(k) == feature_key } + return install_inf_val if install_inf_key + + # then check the command line + ret = nil + @install_inf.fetch("Cmdline", "").split.each do |cmdline_entry| + key, val = cmdline_entry.split("=", 2) + ret = val if polish(key) == feature_key + end + + ret + end + publish function: :ResetInstallInf, type: "void ()" publish function: :InstallInf, type: "string (string)" publish function: :manual, type: "boolean ()" @@ -224,6 +247,17 @@ publish function: :WriteYaSTInf, type: "void (map <string, string>)" publish function: :SaveInstallInf, type: "boolean (string)" publish function: :keys, type: "list <string> ()" + publish function: :value_for, type: "string (string)" + + private + + # Removes characters ignored by Linuxrc and turns all to downcase + # + # @param [String] + # @return [String] + def polish(key) + key.downcase.tr("-_\\.", "") + end end Linuxrc = LinuxrcClass.new diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.125/library/general/test/linuxrc_test.rb new/yast2-3.1.128/library/general/test/linuxrc_test.rb --- old/yast2-3.1.125/library/general/test/linuxrc_test.rb 2015-05-25 15:36:08.000000000 +0200 +++ new/yast2-3.1.128/library/general/test/linuxrc_test.rb 2015-06-02 14:31:10.000000000 +0200 @@ -187,4 +187,47 @@ expect(subject.keys.sort).to eq(DEFAULT_INSTALL_INF.keys.sort) end end + + describe "#value_for" do + context "when key is defined in install.inf (Linuxrc commandline)" do + it "returns value for given key" do + load_install_inf( + "test_1" => "123", + "T-E-S-T-2" => "456", + "TeSt3" => "678", + "Cmdline" => "test4=890 test5=10,11,12" + ) + + expect(subject.value_for("test_1")).to eq("123") + expect(subject.value_for("TEsT2")).to eq("456") + expect(subject.value_for("T_e_St_3")).to eq("678") + expect(subject.value_for("T.e.s.t-4")).to eq("890") + expect(subject.value_for("test5")).to eq("10,11,12") + end + + it "parses commandline with '=' in the value" do + url = "http://example.com?bar=42" + load_install_inf( + "Cmdline" => "test6=#{url}" + ) + + expect(subject.value_for("test_6")).to eq(url) + end + + it "returns the last matching value from command line" do + load_install_inf( + "Cmdline" => "test7=foo test.7=bar test__7=baz" + ) + + expect(subject.value_for("test_7")).to eq("baz") + end + end + + context "when key is not defined in install.inf (Linuxrc commandline)" do + it "returns nil" do + load_install_inf + expect(subject.value_for("this-key-is-not-defined")).to eq(nil) + end + end + end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.125/library/system/src/Makefile.am new/yast2-3.1.128/library/system/src/Makefile.am --- old/yast2-3.1.125/library/system/src/Makefile.am 2015-05-25 15:36:08.000000000 +0200 +++ new/yast2-3.1.128/library/system/src/Makefile.am 2015-06-02 14:31:10.000000000 +0200 @@ -30,7 +30,8 @@ ylibdir = @ylibdir@/yast2 ylib_DATA = \ lib/yast2/hw_detection.rb \ - lib/yast2/fs_snapshot.rb + lib/yast2/fs_snapshot.rb \ + lib/yast2/fs_snapshot_store.rb EXTRA_DIST = $(module_DATA) $(client_DATA) $(ynclude_DATA) $(scrconf_DATA) $(desktop_DATA) $(ylib_DATA) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.125/library/system/src/lib/yast2/fs_snapshot.rb new/yast2-3.1.128/library/system/src/lib/yast2/fs_snapshot.rb --- old/yast2-3.1.125/library/system/src/lib/yast2/fs_snapshot.rb 2015-05-25 15:36:08.000000000 +0200 +++ new/yast2-3.1.128/library/system/src/lib/yast2/fs_snapshot.rb 2015-06-02 14:31:10.000000000 +0200 @@ -58,9 +58,9 @@ class FsSnapshot include Yast::Logger - FIND_CONFIG_CMD = "/usr/bin/snapper --no-dbus list-configs | grep \"^root \" >/dev/null" - CREATE_SNAPSHOT_CMD = "/usr/lib/snapper/installation-helper --step 5 --snapshot-type %s --description \"%s\"" - LIST_SNAPSHOTS_CMD = "LANG=en_US.UTF-8 /usr/bin/snapper --no-dbus list" + FIND_CONFIG_CMD = "/usr/bin/snapper --no-dbus --root=%{root} list-configs | grep \"^root \" >/dev/null" + CREATE_SNAPSHOT_CMD = "/usr/lib/snapper/installation-helper --step 5 --root-prefix=%{root} --snapshot-type %{snapshot_type} --description \"%{description}\"" + LIST_SNAPSHOTS_CMD = "LANG=en_US.UTF-8 /usr/bin/snapper --no-dbus --root=%{root} list" VALID_LINE_REGEX = /\A\w+\s+\| \d+/ attr_reader :number, :snapshot_type, :previous_number, :timestamp, :user, @@ -70,9 +70,16 @@ # # @return [true,false] true if it's configured; false otherwise. def self.configured? - out = Yast::SCR.Execute(Yast::Path.new(".target.bash_output"), FIND_CONFIG_CMD) + return @configured unless @configured.nil? + + out = with_snapper do + Yast::SCR.Execute(Yast::Path.new(".target.bash_output"), + format(FIND_CONFIG_CMD, root: target_root) + ) + end + log.info("Checking if Snapper is configured: \"#{FIND_CONFIG_CMD}\" returned: #{out}") - out["exit"] == 0 + @configured = out["exit"] == 0 end # Creates a new 'single' snapshot @@ -127,9 +134,17 @@ def self.create(snapshot_type, description, previous = nil) raise SnapperNotConfigured unless configured? - cmd = format(CREATE_SNAPSHOT_CMD, snapshot_type, description) - cmd << format(" --pre-num %s", previous.number) if previous - out = Yast::SCR.Execute(Yast::Path.new(".target.bash_output"), cmd) + cmd = format(CREATE_SNAPSHOT_CMD, + root: target_root, + snapshot_type: snapshot_type, + description: description + ) + cmd << " --pre-num #{previous.number}" if previous + + out = with_snapper do + Yast::SCR.Execute(Yast::Path.new(".target.bash_output"), cmd) + end + if out["exit"] == 0 find(out["stdout"].to_i) # The CREATE_SNAPSHOT_CMD returns the number of the new snapshot. else @@ -139,6 +154,36 @@ end private_class_method :create + # detects if module runs in initial stage before scr is switched to target system + def self.non_switched_installation? + Yast.import "Stage" + return false unless Yast::Stage.initial + + !Yast::WFM.scr_chrooted? + end + private_class_method :non_switched_installation? + + # ensures that for local SCR snapper is available in insts-sys + def self.with_snapper(&block) + return block.call unless non_switched_installation? + + Yast.import "InstExtensionImage" + Yast::InstExtensionImage.with_extension("snapper") do + block.call + end + end + private_class_method :with_snapper + + # Gets target directory on which should snapper operate + def self.target_root + return "/" unless non_switched_installation? + + Yast.import "Installation" + + Yast::Installation.destdir + end + private_class_method :target_root + # Returns all snapshots # # It raises an exception if Snapper is not configured. @@ -147,11 +192,17 @@ def self.all raise SnapperNotConfigured unless configured? - out = Yast::SCR.Execute(Yast::Path.new(".target.bash_output"), LIST_SNAPSHOTS_CMD) + out = with_snapper do + Yast::SCR.Execute( + Yast::Path.new(".target.bash_output"), + format(LIST_SNAPSHOTS_CMD, root: target_root) + ) + end lines = out["stdout"].lines.grep(VALID_LINE_REGEX) # relevant lines from output. log.info("Retrieving snapshots list: #{LIST_SNAPSHOTS_CMD} returned: #{out}") - lines.map do |line| + lines.each_with_object([]) do |line, snapshots| data = line.split("|").map(&:strip) + next if data[1] == "0" # Ignores 'current' snapshot (id = 0) because it's not a real snapshot begin timestamp = DateTime.parse(data[3]) rescue ArgumentError @@ -159,8 +210,8 @@ timestamp = nil end previous_number = data[2] == "" ? nil : data[2].to_i - new(data[1].to_i, data[0].to_sym, previous_number, timestamp, data[4], - data[5].to_sym, data[6]) + snapshots << new(data[1].to_i, data[0].to_sym, previous_number, timestamp, + data[4], data[5].to_sym, data[6]) end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.125/library/system/src/lib/yast2/fs_snapshot_store.rb new/yast2-3.1.128/library/system/src/lib/yast2/fs_snapshot_store.rb --- old/yast2-3.1.125/library/system/src/lib/yast2/fs_snapshot_store.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-3.1.128/library/system/src/lib/yast2/fs_snapshot_store.rb 2015-06-02 14:31:10.000000000 +0200 @@ -0,0 +1,80 @@ +# encoding: utf-8 + +# *************************************************************************** +# +# Copyright (c) 2015 SUSE LLC +# All Rights Reserved. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of version 2 of the GNU General Public License as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, contact Novell, Inc. +# +# To contact Novell about this file by physical or electronic mail, +# you may find current contact information at www.novell.com +# +# *************************************************************************** + +require "yast" + +module Yast2 + # Goal of this module is to provide easy to use api to store id of pre + # snapshots, so post snapshots can be then easy to make. + module FsSnapshotStore + # Stores pre snapshot with given id and purpose + # @param[String] purpose of snapshot like "upgrade" + # @raise[RuntimeError] if writing to file failed + def self.save(purpose, snapshot_id) + result = Yast::SCR.Write( + Yast::Path.new(".target.string"), + snapshot_path(purpose), + snapshot_id.to_s + ) + + raise "Failed to write Pre Snapshot id for #{purpose} to store. See logs." unless result + end + + # Loads id of pre snapshot for given purpose + # @param[String] purpose of snapshot like "upgrade" + # @raise[RuntimeError] if writing to file failed + # @return[Fixnum] + def self.load(purpose) + content = Yast::SCR.Read( + Yast::Path.new(".target.string"), + snapshot_path(purpose) + ) + + if !content || content !~ /^\d+$/ + raise "Failed to read Pre Snapshot id for #{purpose} from store. See logs." + end + + content.to_i + end + + # Cleans store content of given purpose + def self.clean(purpose) + Yast::SCR.Execute(Yast::Path.new(".target.remove"), snapshot_path(purpose)) + end + + # Path where is stored given purpose + def self.snapshot_path(purpose) + path = "/var/lib/YaST2/pre_snapshot_#{purpose}.id" + + Yast.import "Stage" + if Yast::Stage.initial && !Yast::WFM.scr_chrooted? + Yast.import "Installation" + path = ::File.join(Yast::Installation.destdir, path) + end + + path + end + private_class_method :snapshot_path + end +end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.125/library/system/test/Makefile.am new/yast2-3.1.128/library/system/test/Makefile.am --- old/yast2-3.1.125/library/system/test/Makefile.am 2015-05-25 15:36:08.000000000 +0200 +++ new/yast2-3.1.128/library/system/test/Makefile.am 2015-06-02 14:31:10.000000000 +0200 @@ -1,7 +1,8 @@ TESTS = \ kernel_test.rb \ hw_detection_test.rb \ - fs_snapshot_test.rb + fs_snapshot_test.rb \ + fs_snapshot_store_test.rb TEST_EXTENSIONS = .rb RB_LOG_COMPILER = rspec diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.125/library/system/test/fs_snapshot_store_test.rb new/yast2-3.1.128/library/system/test/fs_snapshot_store_test.rb --- old/yast2-3.1.125/library/system/test/fs_snapshot_store_test.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-3.1.128/library/system/test/fs_snapshot_store_test.rb 2015-06-02 14:31:10.000000000 +0200 @@ -0,0 +1,85 @@ +#!/usr/bin/env rspec + +require_relative "test_helper" +require "yast2/fs_snapshot_store" + +describe Yast2::FsSnapshotStore do + describe ".save" do + it "stores snapshot id to file identified by purpose" do + expect(Yast::SCR).to receive(:Write).with( + path(".target.string"), + "/var/lib/YaST2/pre_snapshot_test.id", + "42" + ).and_return(true) + + described_class.save("test", 42) + end + + it "raises exception if writing failed" do + expect(Yast::SCR).to receive(:Write).with( + path(".target.string"), + "/var/lib/YaST2/pre_snapshot_test.id", + "42" + ).and_return(nil) + + expect { described_class.save("test", 42) }.to raise_error(/Failed to write/) + end + end + + describe ".load" do + it "loads snapshot id from file identified by purpose" do + expect(Yast::SCR).to receive(:Read).with( + path(".target.string"), + "/var/lib/YaST2/pre_snapshot_test.id" + ).and_return("42\n") + + expect(described_class.load("test")).to eq 42 + end + + it "raises exception if reading failed" do + expect(Yast::SCR).to receive(:Read).with( + path(".target.string"), + "/var/lib/YaST2/pre_snapshot_test.id" + ).and_return(nil) + + expect { described_class.load("test") }.to raise_error(/Failed to read/) + end + + it "raises exception if file content is not number" do + expect(Yast::SCR).to receive(:Read).with( + path(".target.string"), + "/var/lib/YaST2/pre_snapshot_test.id" + ).and_return("blabla\n") + + expect { described_class.load("test") }.to raise_error(/Failed to read/) + end + end + + describe "clean" do + it "cleans file storing snapshot id" do + expect(Yast::SCR).to receive(:Execute).with( + path(".target.remove"), + "/var/lib/YaST2/pre_snapshot_test.id" + ) + + described_class.clean("test") + end + end + + context "in initial stage before SCR switched" do + it "use path on mounted target system" do + Yast.import "Installation" + Yast::Installation.destdir = "/mnt" + + Yast.import "Stage" + allow(Yast::Stage).to receive(:initial).and_return(true) + + expect(Yast::SCR).to receive(:Execute).with( + path(".target.remove"), + "/mnt/var/lib/YaST2/pre_snapshot_test.id" + ) + + described_class.clean("test") + end + end +end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.125/library/system/test/fs_snapshot_test.rb new/yast2-3.1.128/library/system/test/fs_snapshot_test.rb --- old/yast2-3.1.125/library/system/test/fs_snapshot_test.rb 2015-05-25 15:36:08.000000000 +0200 +++ new/yast2-3.1.128/library/system/test/fs_snapshot_test.rb 2015-06-02 14:31:10.000000000 +0200 @@ -8,8 +8,14 @@ described_class.log end - FIND_CONFIG = "/usr/bin/snapper --no-dbus list-configs | grep \"^root \" >/dev/null" - LIST_SNAPSHOTS = "LANG=en_US.UTF-8 /usr/bin/snapper --no-dbus list" + FIND_CONFIG = "/usr/bin/snapper --no-dbus --root=/ list-configs | grep \"^root \" >/dev/null" + FIND_IN_ROOT_CONFIG = "/usr/bin/snapper --no-dbus --root=/mnt list-configs | grep \"^root \" >/dev/null" + LIST_SNAPSHOTS = "LANG=en_US.UTF-8 /usr/bin/snapper --no-dbus --root=/ list" + + before do + # reset configured cache + described_class.instance_variable_set("@configured", nil) + end describe ".configured?" do before do @@ -34,11 +40,47 @@ expect(described_class.configured?).to eq(true) end end + + context "in initial stage before scr switched" do + let(:find_code) { 0 } + before do + Yast.import "Installation" + Yast::Installation.destdir = "/mnt" + + Yast.import "Stage" + allow(Yast::Stage).to receive(:initial).and_return true + + allow(Yast::SCR).to receive(:Execute) + .with(path(".target.bash_output"), FIND_IN_ROOT_CONFIG) + .and_return("stdout" => "", "exit" => 0) + + Yast.import "InstExtensionImage" + allow(Yast::InstExtensionImage).to receive(:with_extension) do |&block| + block.call + end + end + + it "ensures snapper is available" do + expect(Yast::InstExtensionImage).to receive(:with_extension) do |&block| + block.call + end + + described_class.configured? + end + + it "detects snapper configuration in installation target dir" do + expect(Yast::SCR).to receive(:Execute) + .with(path(".target.bash_output"), FIND_IN_ROOT_CONFIG) + .and_return("stdout" => "", "exit" => 0) + + expect(described_class.configured?).to eq(true) + end + end end describe ".create_single" do CREATE_SINGLE_SNAPSHOT = "/usr/lib/snapper/installation-helper --step 5 "\ - "--snapshot-type single --description \"some-description\"" + "--root-prefix=/ --snapshot-type single --description \"some-description\"" before do allow(Yast2::FsSnapshot).to receive(:configured?).and_return(configured) @@ -88,7 +130,7 @@ describe ".create_pre" do CREATE_PRE_SNAPSHOT = "/usr/lib/snapper/installation-helper --step 5 "\ - "--snapshot-type pre --description \"some-description\"" + "--root-prefix=/ --snapshot-type pre --description \"some-description\"" before do allow(Yast2::FsSnapshot).to receive(:configured?).and_return(configured) @@ -138,7 +180,8 @@ describe ".create_post" do CREATE_POST_SNAPSHOT = "/usr/lib/snapper/installation-helper --step 5 "\ - "--snapshot-type post --description \"some-description\" --pre-num 2" + "--root-prefix=/ --snapshot-type post --description \"some-description\" "\ + "--pre-num 2" before do allow(Yast2::FsSnapshot).to receive(:configured?).and_return(configured) @@ -226,7 +269,7 @@ expect(logger).to receive(:info).with(/Retrieving snapshots list/) snapshots = described_class.all expect(snapshots).to be_kind_of(Array) - expect(snapshots.size).to eq(5) + expect(snapshots.size).to eq(4) end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.125/package/yast2.changes new/yast2-3.1.128/package/yast2.changes --- old/yast2-3.1.125/package/yast2.changes 2015-05-25 15:36:08.000000000 +0200 +++ new/yast2-3.1.128/package/yast2.changes 2015-06-02 14:31:10.000000000 +0200 @@ -1,4 +1,23 @@ ------------------------------------------------------------------- +Tue Jun 2 11:26:50 UTC 2015 - [email protected] + +- reduce count of extending inst-sys with snapper for snapshotting + (fate#317973) +- 3.1.128 + +------------------------------------------------------------------- +Mon Jun 1 16:23:37 CEST 2015 - [email protected] + +- Added Linuxrc.value_for (fate#317973) +- 3.1.127 + +------------------------------------------------------------------- +Wed May 27 14:36:47 UTC 2015 - [email protected] + +- Add persistent storage for fs pre snapshots (fate#317973) +- 3.1.126 + +------------------------------------------------------------------- Mon May 25 14:04:51 CEST 2015 - [email protected] - Fixed proposal to open fallback ports for services (bsc#916376) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.125/package/yast2.spec new/yast2-3.1.128/package/yast2.spec --- old/yast2-3.1.125/package/yast2.spec 2015-05-25 15:36:08.000000000 +0200 +++ new/yast2-3.1.128/package/yast2.spec 2015-06-02 14:31:10.000000000 +0200 @@ -17,7 +17,7 @@ Name: yast2 -Version: 3.1.125 +Version: 3.1.128 Release: 0 URL: https://github.com/yast/yast-yast2 @@ -41,8 +41,8 @@ # For running RSpec tests during build BuildRequires: rubygem(rspec) -# To have specific RSpec extensions available -BuildRequires: yast2-ruby-bindings >= 3.1.26 +# To have scr_chrooted? call available +BuildRequires: yast2-ruby-bindings >= 3.1.33 # pre-requires for filling the sysconfig template (sysconfig.yast2) PreReq: %fillup_prereq @@ -117,7 +117,7 @@ Provides: yast2-dns-server:/usr/share/YaST2/modules/DnsServerAPI.pm Provides: yast2-mail-aliases -Requires: yast2-ruby-bindings >= 1.0.0 +Requires: yast2-ruby-bindings >= 3.1.33 Summary: YaST2 - Main Package
