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 - schubi@suse.de
+
+- Handle NFS version 4.2 (bsc#1118779).
+- 4.1.4
+
+-------------------------------------------------------------------
+Tue Dec 11 15:26:12 UTC 2018 - jreidinger@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
+
+- Provide icon with module (boo#1109310)
+- 4.1.2
+
+-------------------------------------------------------------------
+Tue Nov 27 11:49:07 UTC 2018 - jreidinger@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 - schubi@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 - schubi@suse.de
+
+- Handle NFS version 4.2 (bsc#1118779).
+- 4.1.4
+
+-------------------------------------------------------------------
+Tue Dec 11 15:26:12 UTC 2018 - jreidinger@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
+
+- Provide icon with module (boo#1109310)
+- 4.1.2
+
+-------------------------------------------------------------------
+Tue Nov 27 11:49:07 UTC 2018 - jreidinger@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 - schubi@suse.de
+
+- Added license file to spec.
+
+-------------------------------------------------------------------
Thu Aug 23 10:47:00 UTC 2018 - jreidinger@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