Hello community,

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

Package is "yast2-nfs-client"

Mon Dec 31 09:45:47 2018 rev:76 rq:661768 version:4.1.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-nfs-client/yast2-nfs-client.changes        
2018-09-04 22:50:32.347843905 +0200
+++ 
/work/SRC/openSUSE:Factory/.yast2-nfs-client.new.28833/yast2-nfs-client.changes 
    2018-12-31 09:45:55.658239250 +0100
@@ -1,0 +2,31 @@
+Fri Dec 28 11:54:27 CET 2018 - sch...@suse.de
+
+- Handle NFS version 4.2 (bsc#1118779).
+- 4.1.4
+
+-------------------------------------------------------------------
+Tue Dec 11 15:26:12 UTC 2018 - jreidin...@suse.com
+
+- always use absolute path to binaries (bsc#1118291)
+- properly escape shell arguments (bsc#1118291)
+- 4.1.3
+
+-------------------------------------------------------------------
+Sun Nov 29 02:07:57 UTC 2018 - Noah Davis <noaha...@gmail.com>
+
+- Provide icon with module (boo#1109310)
+- 4.1.2
+
+-------------------------------------------------------------------
+Tue Nov 27 11:49:07 UTC 2018 - jreidin...@suse.com
+
+- fix build failure caused by changes in storage-ng
+  (related to change done for bsc#1088426)
+- 4.1.1
+
+-------------------------------------------------------------------
+Tue Oct 16 16:05:36 CEST 2018 - sch...@suse.de
+
+- Added license file to spec.
+
+-------------------------------------------------------------------

Old:
----
  yast2-nfs-client-4.1.0.tar.bz2

New:
----
  yast2-nfs-client-4.1.4.tar.bz2

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

Other differences:
------------------
++++++ yast2-nfs-client.spec ++++++
--- /var/tmp/diff_new_pack.xaglK8/_old  2018-12-31 09:45:55.986238982 +0100
+++ /var/tmp/diff_new_pack.xaglK8/_new  2018-12-31 09:45:55.986238982 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-nfs-client
-Version:        4.1.0
+Version:        4.1.4
 Release:        0
 Url:            https://github.com/yast/yast-nfs-client
 
@@ -99,7 +99,9 @@
 %{yast_dir}/lib/y2nfs_client
 %dir %{yast_desktopdir}
 %{yast_desktopdir}/nfs.desktop
+%{yast_icondir}
 %doc %{yast_docdir}
 %{yast_schemadir}/autoyast/rnc/nfs.rnc
+%license COPYING
 
 %changelog

++++++ yast2-nfs-client-4.1.0.tar.bz2 -> yast2-nfs-client-4.1.4.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-nfs-client-4.1.0/package/yast2-nfs-client.changes 
new/yast2-nfs-client-4.1.4/package/yast2-nfs-client.changes
--- old/yast2-nfs-client-4.1.0/package/yast2-nfs-client.changes 2018-08-23 
16:39:15.000000000 +0200
+++ new/yast2-nfs-client-4.1.4/package/yast2-nfs-client.changes 2018-12-28 
12:02:19.000000000 +0100
@@ -1,4 +1,35 @@
 -------------------------------------------------------------------
+Fri Dec 28 11:54:27 CET 2018 - sch...@suse.de
+
+- Handle NFS version 4.2 (bsc#1118779).
+- 4.1.4
+
+-------------------------------------------------------------------
+Tue Dec 11 15:26:12 UTC 2018 - jreidin...@suse.com
+
+- always use absolute path to binaries (bsc#1118291)
+- properly escape shell arguments (bsc#1118291)
+- 4.1.3
+
+-------------------------------------------------------------------
+Sun Nov 29 02:07:57 UTC 2018 - Noah Davis <noaha...@gmail.com>
+
+- Provide icon with module (boo#1109310)
+- 4.1.2
+
+-------------------------------------------------------------------
+Tue Nov 27 11:49:07 UTC 2018 - jreidin...@suse.com
+
+- fix build failure caused by changes in storage-ng
+  (related to change done for bsc#1088426)
+- 4.1.1
+
+-------------------------------------------------------------------
+Tue Oct 16 16:05:36 CEST 2018 - sch...@suse.de
+
+- Added license file to spec.
+
+-------------------------------------------------------------------
 Thu Aug 23 10:47:00 UTC 2018 - jreidin...@suse.com
 
 - do not crash when nfs version is written as 4.0 instead of 4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-nfs-client-4.1.0/package/yast2-nfs-client.spec 
new/yast2-nfs-client-4.1.4/package/yast2-nfs-client.spec
--- old/yast2-nfs-client-4.1.0/package/yast2-nfs-client.spec    2018-08-23 
16:39:15.000000000 +0200
+++ new/yast2-nfs-client-4.1.4/package/yast2-nfs-client.spec    2018-12-28 
12:02:19.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-nfs-client
-Version:        4.1.0
+Version:        4.1.4
 Release:        0
 Url:            https://github.com/yast/yast-nfs-client
 
@@ -99,7 +99,9 @@
 %{yast_dir}/lib/y2nfs_client
 %dir %{yast_desktopdir}
 %{yast_desktopdir}/nfs.desktop
+%{yast_icondir}
 %doc %{yast_docdir}
 %{yast_schemadir}/autoyast/rnc/nfs.rnc
+%license COPYING
 
 %changelog
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-nfs-client-4.1.0/src/icons/hicolor/scalable/apps/yast-nfs.svg 
new/yast2-nfs-client-4.1.4/src/icons/hicolor/scalable/apps/yast-nfs.svg
--- old/yast2-nfs-client-4.1.0/src/icons/hicolor/scalable/apps/yast-nfs.svg     
1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-nfs-client-4.1.4/src/icons/hicolor/scalable/apps/yast-nfs.svg     
2018-12-28 12:02:19.000000000 +0100
@@ -0,0 +1 @@
+<svg height="128" width="128" xmlns="http://www.w3.org/2000/svg";><g 
fill="#1bbb54" transform="scale(4)"><rect height="3" ry="1" width="8" x="12" 
y="27"/><path d="M4 28h24v1H4z"/><rect height="5" ry="2" width="5" x="24" 
y="20"/></g><g stroke-width="4"><rect fill="#4fe685" height="88" ry="8" 
width="40" x="16" y="12"/><rect fill="#4fe685" height="76" ry="8" width="100" 
x="16" y="20"/><rect fill="#e6e6e6" height="56" ry="8" width="40" x="16" 
y="44"/><path d="M32 44h74v56H32z" fill="#e6e6e6"/><path d="M16 96h90v4H16z" 
fill="#1bbb54"/><g fill="#e6e6e6"><rect height="60" ry="8" width="56" x="60" 
y="36"/><path d="M16 78h52v18H16z"/></g></g><g fill="#4fe685" 
transform="scale(4)"><path d="M15 24h2v3h-2z"/><rect height="3" ry="1" 
width="8" x="12" y="26"/><path d="M4 27h24v1H4z"/></g></svg>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-nfs-client-4.1.0/src/include/nfs/ui.rb 
new/yast2-nfs-client-4.1.4/src/include/nfs/ui.rb
--- old/yast2-nfs-client-4.1.0/src/include/nfs/ui.rb    2018-08-23 
16:39:15.000000000 +0200
+++ new/yast2-nfs-client-4.1.4/src/include/nfs/ui.rb    2018-12-28 
12:02:19.000000000 +0100
@@ -4,6 +4,8 @@
 require "yast2/popup"
 require "y2nfs_client/nfs_version"
 
+require "shellwords"
+
 # YaST namespace
 module Yast
   # NFS client dialogs
@@ -128,19 +130,17 @@
       item
     end
 
+    HOST_BIN = "/usr/bin/host".freeze
     # Find out whether this nfs host really exists
     # @param [String] hname    hostname
     # @return true if it exists, false otherwise
     def HostnameExists(hname)
-      prog_name = "/usr/bin/host"
       ret = false
 
-      if FileUtils.Exists(prog_name)
-        out = Convert.to_map(
-          SCR.Execute(
-            path(".target.bash_output"),
-            Builtins.sformat("%1 %2", prog_name, hname)
-          )
+      if FileUtils.Exists(HOST_BIN)
+        out = SCR.Execute(
+          path(".target.bash_output"),
+          "#{HOST_BIN} #{hname.shellescape}"
         )
 
         ret = Ops.get_integer(out, "exit", -1) == 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-nfs-client-4.1.0/src/lib/y2nfs_client/nfs_version.rb 
new/yast2-nfs-client-4.1.4/src/lib/y2nfs_client/nfs_version.rb
--- old/yast2-nfs-client-4.1.0/src/lib/y2nfs_client/nfs_version.rb      
2018-08-23 16:39:15.000000000 +0200
+++ new/yast2-nfs-client-4.1.4/src/lib/y2nfs_client/nfs_version.rb      
2018-12-28 12:02:19.000000000 +0100
@@ -49,7 +49,8 @@
       new(nil,   N_("Any"),     :vers_any, N_("Any (Highest Available)")),
       new("3",   N_("NFSv3"),   :vers_3,   N_("Force NFSv3")),
       new("4",   N_("NFSv4"),   :vers_4,   N_("Force NFSv4")),
-      new("4.1", N_("NFSv4.1"), :vers_4_1, N_("Force pNFS (v4.1)"))
+      new("4.1", N_("NFSv4.1"), :vers_4_1, N_("Force pNFS (v4.1)")),
+      new("4.2", N_("NFSv4.2"), :vers_4_2, N_("Force NFSv4.2"))
     ].freeze
     private_constant :ALL
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-nfs-client-4.1.0/src/modules/Nfs.rb 
new/yast2-nfs-client-4.1.4/src/modules/Nfs.rb
--- old/yast2-nfs-client-4.1.0/src/modules/Nfs.rb       2018-08-23 
16:39:15.000000000 +0200
+++ new/yast2-nfs-client-4.1.4/src/modules/Nfs.rb       2018-12-28 
12:02:19.000000000 +0100
@@ -3,6 +3,8 @@
 require "yast"
 require "y2firewall/firewalld"
 
+require "shellwords"
+
 # YaST namespace
 module Yast
   # NFS client configuration data, I/O functions.
@@ -299,8 +301,7 @@
 
       SCR.Execute(
         path(".target.bash"),
-        "/bin/cp $ORIG $BACKUP",
-        "ORIG" => "/etc/fstab", "BACKUP" => "/etc/fstab.YaST2.save"
+        "/usr/bin/cp /etc/fstab /etc/fstab.YaST2/save"
       )
 
       if !write_fstab
@@ -487,12 +488,12 @@
 
       # build mount command
       command = Builtins.sformat(
-        "/bin/mount %1 %2 %3:%4 %5",
-        options.to_s == "" ? "" : "-o #{options}",
-        "-t #{type.to_s == "" ? "nfs" : type}",
-        server,
-        share,
-        mpoint
+        "/usr/bin/mount %1 %2 %3:%4 %5",
+        options.to_s == "" ? "" : "-o #{options.to_s.shellescape}",
+        "-t #{type.to_s == "" ? "nfs" : type.shellescape}",
+        server.shellescape,
+        share.shellescape,
+        mpoint.shellescape
       )
 
       # execute mount command
@@ -520,7 +521,7 @@
       end
 
       if found
-        command = Builtins.sformat("/bin/umount %1", mpoint)
+        command = "/usr/bin/umount #{mpoint.shellescape}"
 
         return false if SCR.Execute(path(".target.bash"), command) != 0
       else
@@ -531,7 +532,7 @@
       # if the directory was created by Mount call and it is empty then remove 
it
       if Builtins.contains(@created_dirs, mpoint) &&
           SCR.Read(path(".target.dir"), mpoint) == []
-        command = Builtins.sformat("/bin/rmdir %1", mpoint)
+        command = "/bin/rmdir #{mpoint.shellescape}"
 
         return false if SCR.Execute(path(".target.bash"), command) != 0
 
@@ -550,13 +551,14 @@
 
     # Probe the LAN for NFS servers.
     # Uses RPC broadcast to mountd.
-    # @return a list of hostnames
+    # @return [Array<String>] a list of hostnames
     def ProbeServers
       # newer, shinier, better rpcinfo from rpcbind (#450056)
       prog_name = "/sbin/rpcinfo"
       delim = ""
 
       # fallback from glibc (uses different field separators, grr :( )
+      # TODO: looks like glibc no longer contain this fallback?
       if !FileUtils.Exists(prog_name)
         prog_name = "/usr/sbin/rpcinfo"
         delim = "-d ' ' "
@@ -564,15 +566,9 @@
 
       # #71064
       # this works also if ICMP broadcasts are ignored
-      cmd = Ops.add(
-        Ops.add(Ops.add(prog_name, " -b mountd 1 | cut "), delim),
-        "-f 2 | sort -u"
-      )
+      cmd = "#{prog_name} -b mountd 1 | /usr/bin/cut #{delim} -f 2 | 
/usr/bin/sort -u"
       out = Convert.to_map(SCR.Execute(path(".target.bash_output"), cmd))
-      hosts = Builtins.filter(
-        Builtins.splitstring(Ops.get_string(out, "stdout", ""), "\n")
-      ) { |s| s != "" }
-      deep_copy(hosts)
+      Ops.get_string(out, "stdout", "").lines.map(&:strip).reject(&:empty?)
     end
 
     # Probe a server for its exports.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-nfs-client-4.1.0/test/nfs_options_test.rb 
new/yast2-nfs-client-4.1.4/test/nfs_options_test.rb
--- old/yast2-nfs-client-4.1.0/test/nfs_options_test.rb 2018-08-23 
16:39:15.000000000 +0200
+++ new/yast2-nfs-client-4.1.4/test/nfs_options_test.rb 2018-12-28 
12:02:19.000000000 +0100
@@ -108,6 +108,7 @@
         "nfsvers=4"                => "4",
         "nfsvers=4,minorversion=1" => "4",
         "nfsvers=4.0"              => "4",
+        "nfsvers=4.2"              => "4.2",
         "defaults,nfsvers=3"       => "3",
         "nfsvers=4.1,nolock"       => "4.1"
       }.each_pair do |opts, version|
@@ -120,7 +121,8 @@
       {
         "minorversion=1,vers=4" => "4",
         "vers=3,ro"             => "3",
-        "vers=4.1"              => "4.1"
+        "vers=4.1"              => "4.1",
+        "vers=4.2"              => "4.2"
       }.each_pair do |opts, version|
         returned = Yast::NfsOptions.nfs_version(opts)
         expect(returned.mntops_value).to eq version
@@ -164,12 +166,14 @@
       expect(set_version("nfsvers=4", nil)).to eq "defaults"
       expect(set_version("vers=3,ro", nil)). to eq "ro"
       expect(set_version("nolock,vers=4.1,rw,nfsvers=4", nil)). to eq 
"nolock,rw"
+      expect(set_version("nolock,vers=4.2,rw,nfsvers=4", nil)). to eq 
"nolock,rw"
     end
 
     it "modifies the existing nfsvers or vers option if needed" do
       expect(set_version("nfsvers=4", "3")).to eq "nfsvers=3"
       expect(set_version("vers=3,ro", "4")). to eq "vers=4,ro"
       expect(set_version("nolock,nfsvers=4.1,rw,vers=4", "4.1")). to eq 
"nolock,rw,vers=4.1"
+      expect(set_version("nolock,nfsvers=4.2,rw,vers=4", "4.2")). to eq 
"nolock,rw,vers=4.2"
     end
 
     it "deletes surplus useless nfsvers and vers options" do
@@ -179,6 +183,7 @@
 
     it "adds a nfsvers if a new option is needed" do
       expect(set_version("defaults", "4.1")). to eq "nfsvers=4.1"
+      expect(set_version("defaults", "4.2")). to eq "nfsvers=4.2"
       expect(set_version("rw,nolock", "3")). to eq "rw,nolock,nfsvers=3"
     end
   end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-nfs-client-4.1.0/test/nfs_test.rb 
new/yast2-nfs-client-4.1.4/test/nfs_test.rb
--- old/yast2-nfs-client-4.1.0/test/nfs_test.rb 2018-08-23 16:39:15.000000000 
+0200
+++ new/yast2-nfs-client-4.1.4/test/nfs_test.rb 2018-12-28 12:02:19.000000000 
+0100
@@ -55,6 +55,9 @@
 
     # Prevent further reprobing
     allow(sm).to receive(:probe).and_return true
+
+    # prevent storage-commit
+    allow(subject).to receive(:write_fstab)
   end
 
   describe ".Import" do
@@ -249,7 +252,7 @@
       allow(firewalld).to receive(:write_only)
       # Creation of the backup
       allow(Yast::SCR).to receive(:Execute)
-        .with(path(".target.bash"), %r{^/bin/cp }, any_args)
+        .with(path(".target.bash"), %r{^/usr/bin/cp }, any_args)
 
       # Load the lists
       allow_read_side_effects


Reply via email to