Hello community,

here is the log from the commit of package yast2-bootloader for 
openSUSE:Factory checked in at 2018-12-31 09:42:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-bootloader (Old)
 and      /work/SRC/openSUSE:Factory/.yast2-bootloader.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yast2-bootloader"

Mon Dec 31 09:42:17 2018 rev:269 rq:653888 version:4.1.13

Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-bootloader/yast2-bootloader.changes        
2018-11-01 19:04:13.882013738 +0100
+++ 
/work/SRC/openSUSE:Factory/.yast2-bootloader.new.28833/yast2-bootloader.changes 
    2018-12-31 09:42:18.934416755 +0100
@@ -1,0 +2,15 @@
+Tue Dec  4 15:14:47 UTC 2018 - jreidin...@suse.com
+
+- always use absolute path to binaries (bsc#1118291)
+- escape properly shell arguments (bsc#1118291)
+- do not show grub2 password in list of processes when encrypting
+  (bsc#1118291)
+- 4.1.13
+
+-------------------------------------------------------------------
+Sat Nov 24 00:39:54 UTC 2018 - Stasiek Michalski <hel...@mailbox.org>
+
+- Provide icon with module (boo#1109310)
+- 4.1.12
+
+-------------------------------------------------------------------

Old:
----
  yast2-bootloader-4.1.11.tar.bz2

New:
----
  yast2-bootloader-4.1.13.tar.bz2

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

Other differences:
------------------
++++++ yast2-bootloader.spec ++++++
--- /var/tmp/diff_new_pack.lMlQC9/_old  2018-12-31 09:42:19.366416401 +0100
+++ /var/tmp/diff_new_pack.lMlQC9/_new  2018-12-31 09:42:19.366416401 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-bootloader
-Version:        4.1.11
+Version:        4.1.13
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
@@ -101,6 +101,7 @@
 %dir %{yast_schemadir}/autoyast/rnc
 %{yast_schemadir}/autoyast/rnc/bootloader.rnc
 %{yast_libdir}/bootloader
+%{yast_icondir}
 
 %dir %{yast_docdir}
 %license COPYING

++++++ yast2-bootloader-4.1.11.tar.bz2 -> yast2-bootloader-4.1.13.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-bootloader-4.1.11/package/yast2-bootloader.changes 
new/yast2-bootloader-4.1.13/package/yast2-bootloader.changes
--- old/yast2-bootloader-4.1.11/package/yast2-bootloader.changes        
2018-10-24 10:51:22.000000000 +0200
+++ new/yast2-bootloader-4.1.13/package/yast2-bootloader.changes        
2018-12-04 16:58:26.000000000 +0100
@@ -1,4 +1,19 @@
 -------------------------------------------------------------------
+Tue Dec  4 15:14:47 UTC 2018 - jreidin...@suse.com
+
+- always use absolute path to binaries (bsc#1118291)
+- escape properly shell arguments (bsc#1118291)
+- do not show grub2 password in list of processes when encrypting
+  (bsc#1118291)
+- 4.1.13
+
+-------------------------------------------------------------------
+Sat Nov 24 00:39:54 UTC 2018 - Stasiek Michalski <hel...@mailbox.org>
+
+- Provide icon with module (boo#1109310)
+- 4.1.12
+
+-------------------------------------------------------------------
 Tue Oct 23 14:54:29 UTC 2018 - jreidin...@suse.com
 
 - Do not crash if an unknown device is found in a cloned configuration
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-bootloader-4.1.11/package/yast2-bootloader.spec 
new/yast2-bootloader-4.1.13/package/yast2-bootloader.spec
--- old/yast2-bootloader-4.1.11/package/yast2-bootloader.spec   2018-10-24 
10:51:22.000000000 +0200
+++ new/yast2-bootloader-4.1.13/package/yast2-bootloader.spec   2018-12-04 
16:58:26.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-bootloader
-Version:        4.1.11
+Version:        4.1.13
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
@@ -101,6 +101,7 @@
 %dir %{yast_schemadir}/autoyast/rnc
 %{yast_schemadir}/autoyast/rnc/bootloader.rnc
 %{yast_libdir}/bootloader
+%{yast_icondir}
 
 %dir %{yast_docdir}
 %license COPYING
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-bootloader-4.1.11/src/icons/hicolor/scalable/apps/yast-bootloader.svg 
new/yast2-bootloader-4.1.13/src/icons/hicolor/scalable/apps/yast-bootloader.svg
--- 
old/yast2-bootloader-4.1.11/src/icons/hicolor/scalable/apps/yast-bootloader.svg 
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/yast2-bootloader-4.1.13/src/icons/hicolor/scalable/apps/yast-bootloader.svg 
    2018-12-04 16:58:26.000000000 +0100
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg version="1.1" viewBox="0 0 128 128" xmlns="http://www.w3.org/2000/svg"; 
xmlns:xlink="http://www.w3.org/1999/xlink";>
+<defs>
+<linearGradient id="b" x1="4" x2="60" y1="19" y2="19" 
gradientTransform="matrix(3.9932 0 0 4 .027382 -147)" 
gradientUnits="userSpaceOnUse">
+<stop stop-color="#9a9996" offset="0"/>
+<stop stop-color="#9a9996" offset=".10113"/>
+<stop stop-color="#c0bfbc" offset=".17405"/>
+<stop stop-color="#c0bfbc" offset=".39765"/>
+<stop stop-color="#9a9996" offset="1"/>
+</linearGradient>
+<linearGradient id="a" x1="130" x2="130" y1="-191" y2="29" 
gradientUnits="userSpaceOnUse">
+<stop stop-color="#f6f5f4" offset="0"/>
+<stop stop-color="#deddda" offset="1"/>
+</linearGradient>
+</defs>
+<g transform="matrix(.5 0 0 .5 0 103.5)">
+<ellipse cx="127.81" cy="-71" rx="111.81" ry="112" fill="url(#b)"/>
+<ellipse cx="128.19" cy="-79" rx="111.81" ry="112" fill="url(#a)"/>
+<path d="m103.85-155.3a79.863 80 0 0 0 -55.904 76.297 79.863 80 0 0 0 79.863 
80 79.863 80 0 0 0 79.863 -80 79.863 80 0 0 0 -55.904 -76.218v16.938a63.89 64 0 
0 1 39.932 59.282 63.89 64 0 0 1 -63.89 64 63.89 64 0 0 1 -63.89 -64 63.89 64 0 
0 1 39.932 -59.297v-17z" fill="#e01b24"/>
+<rect x="119.82" y="-159" width="15.973" height="64" ry="8" fill="#e01b24"/>
+</g>
+</svg>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-bootloader-4.1.11/src/icons/hicolor/symbolic/apps/yast-bootloader-symbolic.svg
 
new/yast2-bootloader-4.1.13/src/icons/hicolor/symbolic/apps/yast-bootloader-symbolic.svg
--- 
old/yast2-bootloader-4.1.11/src/icons/hicolor/symbolic/apps/yast-bootloader-symbolic.svg
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/yast2-bootloader-4.1.13/src/icons/hicolor/symbolic/apps/yast-bootloader-symbolic.svg
    2018-12-04 16:58:26.000000000 +0100
@@ -0,0 +1,3 @@
+<svg xmlns="http://www.w3.org/2000/svg"; width="16" height="16">
+  <path d="M 8 0 A 8 8 0 0 0 0 8 A 8 8 0 0 0 8 16 A 8 8 0 0 0 10 15.740234 L 
10 13.648438 A 6 6 0 0 1 8 14 A 6 6 0 0 1 2 8 A 6 6 0 0 1 6 2.3515625 L 6 
4.5410156 A 4 4 0 0 0 4 8 A 4 4 0 0 0 8 12 A 4 4 0 0 0 10 11.458984 L 10 10 L 
11.458984 10 A 4 4 0 0 0 12 8 A 4 4 0 0 0 10 4.5410156 L 10 2.3496094 A 6 6 0 0 
1 14 8 A 6 6 0 0 1 13.650391 10 L 15.734375 10 A 8 8 0 0 0 16 8 A 8 8 0 0 0 8 0 
z M 7 2 L 9 2 L 9 7 L 7 7 L 7 2 z M 11 11 L 11 16 L 16 16 L 16 11 L 11 11 z M 
12 12 L 13 12 L 13 13 L 14 13 L 14 12 L 15 12 L 15 14 L 14 14 L 14 15 L 13 15 L 
13 14 L 12 14 L 12 12 z " fill="#c0bfbc" />
+</svg>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-bootloader-4.1.11/src/lib/bootloader/boot_record_backup.rb 
new/yast2-bootloader-4.1.13/src/lib/bootloader/boot_record_backup.rb
--- old/yast2-bootloader-4.1.11/src/lib/bootloader/boot_record_backup.rb        
2018-10-24 10:51:22.000000000 +0200
+++ new/yast2-bootloader-4.1.13/src/lib/bootloader/boot_record_backup.rb        
2018-12-04 16:58:26.000000000 +0100
@@ -1,5 +1,6 @@
 require "yast"
 require "date"
+require "shellwords"
 
 module Bootloader
   # Responsibility of class is to manage backup of MBR, respective PBR of disk,
@@ -35,7 +36,7 @@
     # Backup is stored in /var/lib/YaST2/backup_boot_sectors, in logs
     # directory and if it is MBR of primary disk, then also in /boot/backup_mbr
     def write
-      Yast::SCR.Execute(BASH_PATH, "mkdir -p #{MAIN_BACKUP_DIR}")
+      Yast::SCR.Execute(BASH_PATH, "/usr/sbin/mkdir -p 
#{MAIN_BACKUP_DIR.shellescape}")
 
       if exists?
         rotate
@@ -88,7 +89,8 @@
     def copy_br(device, target_path, bs: 512)
       Yast::SCR.Execute(
         BASH_PATH,
-        "/bin/dd if=#{device} of=#{target_path} bs=#{bs} count=1 2>&1"
+        "/bin/dd if=#{device.shellescape} of=#{target_path.shellescape} " \
+          "bs=#{bs.to_s.shellescape} count=1 2>&1"
       )
     end
 
@@ -114,7 +116,7 @@
       Yast::SCR.Execute(
         BASH_PATH,
         format("/bin/mv %{path} %{path}-%{date}",
-          path: device_file_path, date: change_date)
+          path: device_file_path.shellescape, date: change_date.shellescape)
       )
     end
   end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-bootloader-4.1.11/src/lib/bootloader/grub2pwd.rb 
new/yast2-bootloader-4.1.13/src/lib/bootloader/grub2pwd.rb
--- old/yast2-bootloader-4.1.11/src/lib/bootloader/grub2pwd.rb  2018-10-24 
10:51:22.000000000 +0200
+++ new/yast2-bootloader-4.1.13/src/lib/bootloader/grub2pwd.rb  2018-12-04 
16:58:26.000000000 +0100
@@ -1,4 +1,5 @@
 require "yast"
+require "shellwords"
 
 Yast.import "Stage"
 
@@ -120,28 +121,23 @@
       return unless used_on_target?
 
       # operate on target as we have to remove password during installation 
from target grub2
-      Yast::SCR.Execute(Yast::Path.new(".target.bash"), "rm 
'#{PWD_ENCRYPTION_FILE}'")
+      Yast::SCR.Execute(Yast::Path.new(".target.bash"), "rm 
'#{PWD_ENCRYPTION_FILE.shellescape}'")
     end
 
     def encrypt(password)
-      Yast.import "String"
+      result = Yast::Execute.locally("/usr/bin/grub2-mkpasswd-pbkdf2",
+        env:    { "LANG" => "C" },
+        stdin:  "#{password}\n#{password}\n",
+        stdout: :capture)
 
-      quoted_password = Yast::String.Quote(password)
-      result = Yast::WFM.Execute(YAST_BASH_PATH,
-        "echo '#{quoted_password}\n#{quoted_password}\n' | LANG=C 
grub2-mkpasswd-pbkdf2")
-
-      if result["exit"] != 0
-        raise "Failed to create encrypted password for grub2. Command output: 
#{result["stderr"]}"
-      end
-
-      pwd_line = result["stdout"].split("\n").grep(/password is/).first
+      pwd_line = result.split("\n").grep(/password is/).first
       if !pwd_line
-        raise "grub2-mkpasswd output do not contain encrypted password. 
Output: #{result["stdout"]}"
+        raise "grub2-mkpasswd output do not contain encrypted password. 
Output: #{result}"
       end
 
       ret = pwd_line[/^.*password is\s*(\S+)/, 1]
       if !ret
-        raise "grub2-mkpasswd output do not contain encrypted password. 
Output: #{result["stdout"]}"
+        raise "grub2-mkpasswd output do not contain encrypted password. 
Output: #{result}"
       end
 
       ret
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-bootloader-4.1.11/src/modules/BootSupportCheck.rb 
new/yast2-bootloader-4.1.13/src/modules/BootSupportCheck.rb
--- old/yast2-bootloader-4.1.11/src/modules/BootSupportCheck.rb 2018-10-24 
10:51:22.000000000 +0200
+++ new/yast2-bootloader-4.1.13/src/modules/BootSupportCheck.rb 2018-12-04 
16:58:26.000000000 +0100
@@ -125,7 +125,7 @@
 
     # Check if EFI is needed
     def efi?
-      cmd = "modprobe efivars 2>/dev/null"
+      cmd = "/usr/sbin/modprobe efivars 2>/dev/null"
       SCR.Execute(path(".target.bash_output"), cmd)
       FileUtils.Exists("/sys/firmware/efi/systab")
     end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-bootloader-4.1.11/test/grub2pwd_test.rb 
new/yast2-bootloader-4.1.13/test/grub2pwd_test.rb
--- old/yast2-bootloader-4.1.11/test/grub2pwd_test.rb   2018-10-24 
10:51:22.000000000 +0200
+++ new/yast2-bootloader-4.1.13/test/grub2pwd_test.rb   2018-12-04 
16:58:26.000000000 +0100
@@ -214,13 +214,9 @@
       PBKDF2 hash of your password is #{ENCRYPTED_PASSWORD}
 EOF
 
-      expect(Yast::WFM).to receive(:Execute)
-        .with(kind_of(Yast::Path), /grub2-mkpasswd/)
-        .and_return(
-          "exit"   => 0,
-          "stderr" => "",
-          "stdout" => success_stdout
-        )
+      expect(Yast::Execute).to receive(:locally)
+        .with(/grub2-mkpasswd/, anything)
+        .and_return(success_stdout)
       subject.password = "really strong password"
 
       expect(subject.instance_variable_get(:@encrypted_password)).to eq 
ENCRYPTED_PASSWORD


Reply via email to