Hello community,
here is the log from the commit of package yast2-installation for
openSUSE:Factory checked in at 2018-05-13 15:58:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-installation (Old)
and /work/SRC/openSUSE:Factory/.yast2-installation.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-installation"
Sun May 13 15:58:20 2018 rev:403 rq:606367 version:4.0.59
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-installation/yast2-installation.changes
2018-05-06 14:58:12.176216584 +0200
+++
/work/SRC/openSUSE:Factory/.yast2-installation.new/yast2-installation.changes
2018-05-13 15:58:24.824892313 +0200
@@ -1,0 +2,27 @@
+Thu May 10 13:10:41 UTC 2018 - [email protected]
+
+- Log a warning when umounting a filesystem fails after
+ installation/upgrade (related to bsc#1090018).
+- 4.0.59
+
+-------------------------------------------------------------------
+Tue May 08 12:04:00 CEST 2018 - [email protected]
+
+- disable mdadm auto assembly for installation (bsc#1090690)
+- 4.0.58
+
+-------------------------------------------------------------------
+Thu May 3 07:34:57 UTC 2018 - [email protected]
+
+- Keep the selected product in the desktop selection dialog
+ (bsc#1088660)
+- 4.0.57
+
+-------------------------------------------------------------------
+Wed May 2 15:44:18 UTC 2018 - [email protected]
+
+- Copy new /var/log/YaST2/storage-inst/ subdir to target at the
+ end of the installation (part of fate #318196)
+- 4.0.56
+
+-------------------------------------------------------------------
Old:
----
yast2-installation-4.0.55.tar.bz2
New:
----
yast2-installation-4.0.59.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-installation.spec ++++++
--- /var/tmp/diff_new_pack.EAX8ux/_old 2018-05-13 15:58:26.196842252 +0200
+++ /var/tmp/diff_new_pack.EAX8ux/_new 2018-05-13 15:58:26.200842105 +0200
@@ -17,7 +17,7 @@
Name: yast2-installation
-Version: 4.0.55
+Version: 4.0.59
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -28,7 +28,7 @@
Requires: yast2-ruby-bindings >= 4.0.6
Summary: YaST2 - Installation Parts
-License: GPL-2.0-only
+License: GPL-2.0
Group: System/YaST
Source1: YaST2-Second-Stage.service
@@ -48,9 +48,9 @@
# Yast::Packages.check_remote_installation_packages
BuildRequires: yast2-packager >= 4.0.9
-# Y2Storage::StorageManager#devices_for_installation?
-BuildRequires: yast2-storage-ng >= 4.0.168
-Requires: yast2-storage-ng >= 4.0.168
+# Y2Storage::Inhibitors
+BuildRequires: yast2-storage-ng >= 4.0.175
+Requires: yast2-storage-ng >= 4.0.175
# TextHelpers#div_with_direction
Requires: yast2 >= 4.0.72
++++++ yast2-installation-4.0.55.tar.bz2 -> yast2-installation-4.0.59.tar.bz2
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-4.0.55/package/yast2-installation.changes
new/yast2-installation-4.0.59/package/yast2-installation.changes
--- old/yast2-installation-4.0.55/package/yast2-installation.changes
2018-05-03 11:15:01.000000000 +0200
+++ new/yast2-installation-4.0.59/package/yast2-installation.changes
2018-05-11 10:48:59.000000000 +0200
@@ -1,4 +1,31 @@
-------------------------------------------------------------------
+Thu May 10 13:10:41 UTC 2018 - [email protected]
+
+- Log a warning when umounting a filesystem fails after
+ installation/upgrade (related to bsc#1090018).
+- 4.0.59
+
+-------------------------------------------------------------------
+Tue May 08 12:04:00 CEST 2018 - [email protected]
+
+- disable mdadm auto assembly for installation (bsc#1090690)
+- 4.0.58
+
+-------------------------------------------------------------------
+Thu May 3 07:34:57 UTC 2018 - [email protected]
+
+- Keep the selected product in the desktop selection dialog
+ (bsc#1088660)
+- 4.0.57
+
+-------------------------------------------------------------------
+Wed May 2 15:44:18 UTC 2018 - [email protected]
+
+- Copy new /var/log/YaST2/storage-inst/ subdir to target at the
+ end of the installation (part of fate #318196)
+- 4.0.56
+
+-------------------------------------------------------------------
Fri Apr 27 15:07:15 UTC 2018 - [email protected]
- Do not warn too soon about missing disks during autoinstallation
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-4.0.55/package/yast2-installation.spec
new/yast2-installation-4.0.59/package/yast2-installation.spec
--- old/yast2-installation-4.0.55/package/yast2-installation.spec
2018-05-03 11:15:01.000000000 +0200
+++ new/yast2-installation-4.0.59/package/yast2-installation.spec
2018-05-11 10:48:59.000000000 +0200
@@ -16,7 +16,7 @@
#
Name: yast2-installation
-Version: 4.0.55
+Version: 4.0.59
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -47,9 +47,9 @@
# Yast::Packages.check_remote_installation_packages
BuildRequires: yast2-packager >= 4.0.9
-# Y2Storage::StorageManager#devices_for_installation?
-BuildRequires: yast2-storage-ng >= 4.0.168
-Requires: yast2-storage-ng >= 4.0.168
+# Y2Storage::Inhibitors
+BuildRequires: yast2-storage-ng >= 4.0.175
+Requires: yast2-storage-ng >= 4.0.175
# TextHelpers#div_with_direction
Requires: yast2 >= 4.0.72
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-4.0.55/src/lib/installation/clients/inst_complex_welcome.rb
new/yast2-installation-4.0.59/src/lib/installation/clients/inst_complex_welcome.rb
---
old/yast2-installation-4.0.55/src/lib/installation/clients/inst_complex_welcome.rb
2018-05-03 11:15:01.000000000 +0200
+++
new/yast2-installation-4.0.59/src/lib/installation/clients/inst_complex_welcome.rb
2018-05-11 10:48:59.000000000 +0200
@@ -195,6 +195,7 @@
# agreement confirmed when required; false otherwise
def product_selection_finished?
if selected_product.nil?
+ return true if products.size <= 1
Yast::Popup.Error(_("Please select a product to install."))
return false
elsif license_confirmation_required? &&
!selected_product.license_confirmed?
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-4.0.55/src/lib/installation/clients/inst_system_analysis.rb
new/yast2-installation-4.0.59/src/lib/installation/clients/inst_system_analysis.rb
---
old/yast2-installation-4.0.55/src/lib/installation/clients/inst_system_analysis.rb
2018-05-03 11:15:01.000000000 +0200
+++
new/yast2-installation-4.0.59/src/lib/installation/clients/inst_system_analysis.rb
2018-05-11 10:48:59.000000000 +0200
@@ -27,6 +27,7 @@
require "yast"
require "y2storage"
+require "y2storage/inhibitors"
module Yast
class InstSystemAnalysisClient < Client
@@ -64,6 +65,7 @@
return :back if GetInstArgs.going_back
@packager_initialized = false
+ @inhibitors = nil
Wizard.SetContents(_("Analyzing the Computer"), Empty(), "", false,
false)
Wizard.SetTitleIcon("yast-controller")
@@ -177,6 +179,8 @@
# @raise [AbortException] if an error is found and the installation must
# be aborted because of such error
def ActionHDDProbe
+ inhibit_storage
+
init_storage
devicegraph = storage_manager.probed
@@ -253,6 +257,14 @@
private
+ # Inhibit various storage features, e.g. MD RAID auto assembly
+ def inhibit_storage
+ return if @inhibitors
+
+ @inhibitors = Y2Storage::Inhibitors.new
+ @inhibitors.inhibit
+ end
+
# Return the activate callbacks for libstorage-ng
#
# When running AutoYaST, it will use a different set of callbacks.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-4.0.55/src/lib/installation/clients/umount_finish.rb
new/yast2-installation-4.0.59/src/lib/installation/clients/umount_finish.rb
--- old/yast2-installation-4.0.55/src/lib/installation/clients/umount_finish.rb
2018-05-03 11:15:01.000000000 +0200
+++ new/yast2-installation-4.0.59/src/lib/installation/clients/umount_finish.rb
2018-05-11 10:48:59.000000000 +0200
@@ -159,14 +159,7 @@
WFM.Execute(path(".local.umount"), umount_this)
)
if umount_result != true
- # run "fuser" to get the details about open files
- # (the details are printed on STDERR, redirect it)
- fuser = begin
- `LC_ALL=C fuser -v -m #{Shellwords.escape(umount_this)}
2>&1`
- rescue => e
- "fuser failed: #{e}"
- end
- log.warn("Running processes using #{umount_this}: #{fuser}")
+ log_running_processes(umount_this)
# bnc #395034
# Don't remount them read-only!
if Builtins.contains(
@@ -248,6 +241,7 @@
# bnc #395034
# Don't remount them read-only!
next if @umount_status
+ log_running_processes(@tmp)
if Builtins.contains(
["/proc", "/sys", "/dev", "/proc/bus/usb"],
@@ -281,11 +275,7 @@
WFM.Execute(path(".local.bash_output"), "mount")
)
- @cmd = Builtins.sformat(
- "fuser -v '%1' 2>&1",
- String.Quote(Installation.destdir)
- )
- @cmd_run = Convert.to_map(WFM.Execute(path(".local.bash_output"),
@cmd))
+ log_running_processes(Installation.destdir)
# storage-ng
=begin
@@ -441,5 +431,19 @@
log.info("Setting root subvol read-only property on #{subvolume_path}")
Yast::Execute.on_target("btrfs", "property", "set", subvolume_path,
"ro", "true")
end
+
+ # run "fuser" to get the details about open files
+ #
+ # @param mount_point [String]
+ def log_running_processes(mount_point)
+ fuser =
+ begin
+ # (the details are printed on STDERR, redirect it)
+ `LC_ALL=C fuser -v -m #{Shellwords.escape(mount_point)} 2>&1`
+ rescue => e
+ "fuser failed: #{e}"
+ end
+ log.warn("Running processes using #{mount_point}: #{fuser}")
+ end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-4.0.55/src/lib/installation/copy_logs_finish.rb
new/yast2-installation-4.0.59/src/lib/installation/copy_logs_finish.rb
--- old/yast2-installation-4.0.55/src/lib/installation/copy_logs_finish.rb
2018-05-03 11:15:01.000000000 +0200
+++ new/yast2-installation-4.0.59/src/lib/installation/copy_logs_finish.rb
2018-05-11 10:48:59.000000000 +0200
@@ -47,6 +47,8 @@
end
PREFIX_SIZE = "y2log-".size
+ STORAGE_DUMP_DIR = "storage-inst".freeze
+
def write
log_files = Yast::WFM.Read(Yast::Path.new(".local.dir"),
Yast::Directory.logdir)
@@ -70,38 +72,48 @@
)
# call gzip with -f to avoid stuck during race condition when log
# rotator also gzip file and gzip then wait for input (bnc#897091)
- compress_cmd = "gzip -f #{target_path}"
- log.debug "Compress command: #{compress_cmd}"
- Yast::WFM.Execute(LOCAL_BASH, compress_cmd)
+ shell_cmd("/usr/bin/gzip -f '#{target_path}'")
when /\Ay2log-\d+\.gz\z/
target_no = file[/y2log-(\d+)/, 1].to_i + 1
copy_log_to_target(file, "y2log-#{target_no}.gz")
when "zypp.log"
# Save zypp.log from the inst-sys
copy_log_to_target(file, "zypp.log-1") # not y2log, y2log-*
+ when "pbl.log"
+ copy_log_to_target("pbl.log", "pbl-instsys.log")
+ when STORAGE_DUMP_DIR
+ copy_storage_inst_subdir
else
copy_log_to_target(file)
end
end
- copy_cmd = "/bin/cp /var/log/pbl.log
'#{Yast::Installation.destdir}/#{Yast::Directory.logdir}/pbl-instsys.log'"
- log.debug "Copy command: #{copy_cmd}"
- Yast::WFM.Execute(LOCAL_BASH, copy_cmd)
-
nil
end
private
- def copy_log_to_target(src_file, dst_file = src_file)
- dir = Yast::Directory.logdir
- src_path = "#{dir}/#{src_file}"
- dst_path = "#{Yast::Installation.destdir}/#{dir}/#{dst_file}"
- command = "/bin/cp #{src_path} #{dst_path}"
+ def copy_log_to_target(src_file, dest_file = src_file)
+ shell_cmd("/bin/cp '#{src_dir}/#{src_file}' '#{dest_dir}/#{dest_file}'")
+ end
+
+ def copy_storage_inst_subdir
+ return if dest_dir == "/"
+ shell_cmd("/bin/rm -rf '#{dest_dir}/#{STORAGE_DUMP_DIR}'")
+ shell_cmd("/bin/cp -r '#{src_dir}/#{STORAGE_DUMP_DIR}'
'#{dest_dir}/#{STORAGE_DUMP_DIR}'")
+ end
+
+ def src_dir
+ Yast::Directory.logdir
+ end
- log.info "copy log with '#{command}'"
+ def dest_dir
+ File.join(Yast::Installation.destdir, Yast::Directory.logdir)
+ end
- Yast::WFM.Execute(LOCAL_BASH, command)
+ def shell_cmd(cmd)
+ log.info("Executing #{cmd}")
+ Yast::WFM.Execute(LOCAL_BASH, cmd)
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-4.0.55/src/lib/installation/widgets/system_roles_radio_buttons.rb
new/yast2-installation-4.0.59/src/lib/installation/widgets/system_roles_radio_buttons.rb
---
old/yast2-installation-4.0.55/src/lib/installation/widgets/system_roles_radio_buttons.rb
2018-05-03 11:15:01.000000000 +0200
+++
new/yast2-installation-4.0.59/src/lib/installation/widgets/system_roles_radio_buttons.rb
2018-05-11 10:48:59.000000000 +0200
@@ -52,7 +52,8 @@
CustomPatterns.show = value == "custom"
store_orig
- Yast::Packages.Reset([])
+ # keep the selected products
+ Yast::Packages.Reset([:product])
if value == "custom"
# for custom role do not use any desktop
Yast::DefaultDesktop.SetDesktop(nil)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-4.0.55/test/copy_logs_finish_test.rb
new/yast2-installation-4.0.59/test/copy_logs_finish_test.rb
--- old/yast2-installation-4.0.55/test/copy_logs_finish_test.rb 2018-05-03
11:15:01.000000000 +0200
+++ new/yast2-installation-4.0.59/test/copy_logs_finish_test.rb 2018-05-11
10:48:59.000000000 +0200
@@ -8,6 +8,8 @@
describe "#write" do
before do
allow(Yast::WFM).to receive(:Execute)
+ # Set the target dir to /mnt
+ allow(Yast::WFM).to receive(:Args).and_return("initial")
end
def mock_log_dir(files)
@@ -21,7 +23,7 @@
it "copies logs from instalation to target system" do
mock_log_dir(["y2start.log"])
- expect_to_run(/cp .*y2start.log .*y2start.log/)
+ expect_to_run(/cp .*y2start.log.*y2start.log/)
subject.write
end
@@ -29,7 +31,7 @@
it "rotates y2log" do
mock_log_dir(["y2log-1.gz"])
- expect_to_run(/cp .*y2log-1.gz .*y2log-2.gz/)
+ expect_to_run(/cp .*y2log-1.gz.*y2log-2.gz/)
subject.write
end
@@ -42,7 +44,7 @@
subject.write
end
- it "does not stuck during compress if file already exists (bnc#897091)" do
+ it "does not get stuck during compress if file already exists
(bnc#897091)" do
mock_log_dir(["y2log-1"])
expect_to_run(/gzip -f/)
@@ -53,7 +55,16 @@
it "rotates zypp.log" do
mock_log_dir(["zypp.log"])
- expect_to_run(/cp .*zypp.log .*zypp.log-1/)
+ expect_to_run(/cp .*zypp.log.*zypp.log-1/)
+
+ subject.write
+ end
+
+ it "copies the storage-inst subdir" do
+ mock_log_dir(["storage-inst"])
+
+ expect_to_run(/rm -rf .*storage-inst/)
+ expect_to_run(/cp -r .*storage-inst/)
subject.write
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-installation-4.0.55/test/lib/clients/inst_system_analysis_test.rb
new/yast2-installation-4.0.59/test/lib/clients/inst_system_analysis_test.rb
--- old/yast2-installation-4.0.55/test/lib/clients/inst_system_analysis_test.rb
2018-05-03 11:15:01.000000000 +0200
+++ new/yast2-installation-4.0.59/test/lib/clients/inst_system_analysis_test.rb
2018-05-11 10:48:59.000000000 +0200
@@ -47,6 +47,7 @@
it "uses default activation callbacks" do
expect(storage).to receive(:activate).with(nil).and_return true
+ expect(Yast::Execute).to receive(:locally!).with("/sbin/udevadm",
"control", "--property=ANACONDA=yes")
client.ActionHDDProbe
end