openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
June 2014
- 1 participants
- 1147 discussions
Hello community,
here is the log from the commit of package hostapd for openSUSE:Factory checked in at 2014-06-02 07:00:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hostapd (Old)
and /work/SRC/openSUSE:Factory/.hostapd.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hostapd"
Changes:
--------
--- /work/SRC/openSUSE:Factory/hostapd/hostapd.changes 2014-04-23 17:32:06.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.hostapd.new/hostapd.changes 2014-06-02 07:00:55.000000000 +0200
@@ -1,0 +2,6 @@
+Tue May 27 19:57:16 UTC 2014 - crrodriguez(a)opensuse.org
+
+- Update hostapd-2.1-defconfig.patch and spec file
+ to build with libnl3 instead of libnl1
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ hostapd.spec ++++++
--- /var/tmp/diff_new_pack.Hqja91/_old 2014-06-02 07:00:56.000000000 +0200
+++ /var/tmp/diff_new_pack.Hqja91/_new 2014-06-02 07:00:56.000000000 +0200
@@ -17,9 +17,9 @@
Name: hostapd
-BuildRequires: libnl-1_1-devel
BuildRequires: openssl-devel
BuildRequires: sqlite3-devel
+BuildRequires: pkgconfig(libnl-3.0) >= 3.0
BuildRequires: pkgconfig(systemd)
Summary: Turns Your WLAN Card into a WPA capable Access Point
License: GPL-2.0 or BSD-3-Clause
++++++ hostapd-2.1-defconfig.patch ++++++
--- /var/tmp/diff_new_pack.Hqja91/_old 2014-06-02 07:00:56.000000000 +0200
+++ /var/tmp/diff_new_pack.Hqja91/_new 2014-06-02 07:00:56.000000000 +0200
@@ -1,7 +1,14 @@
-Index: hostapd-2.1/hostapd/defconfig
-===================================================================
--- hostapd-2.1.orig/hostapd/defconfig
+++ hostapd-2.1/hostapd/defconfig
+@@ -32,7 +32,7 @@ CONFIG_DRIVER_NL80211=y
+ #CONFIG_LIBNL20=y
+
+ # Use libnl 3.2 libraries (if this is selected, CONFIG_LIBNL20 is ignored)
+-#CONFIG_LIBNL32=y
++CONFIG_LIBNL32=y
+
+
+ # Driver interface for FreeBSD net80211 layer (e.g., Atheros driver)
@@ -43,7 +43,7 @@ CONFIG_DRIVER_NL80211=y
#LIBS_c += -L/usr/local/lib
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package lftp for openSUSE:Factory checked in at 2014-06-02 07:00:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lftp (Old)
and /work/SRC/openSUSE:Factory/.lftp.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lftp"
Changes:
--------
--- /work/SRC/openSUSE:Factory/lftp/lftp.changes 2014-05-11 16:36:00.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.lftp.new/lftp.changes 2014-06-02 07:00:53.000000000 +0200
@@ -1,0 +2,21 @@
+Fri May 30 20:31:41 UTC 2014 - andreas.stieger(a)gmx.de
+
+- lftp 4.5.0:
+ * optimized cpu usage for 10Gb/s transfers by using better data
+ structures and algorithms.
+ * new open option --env-password to take password from
+ LFTP_PASSWORD environment variable.
+ * new `exit parent' subcommand.
+ * new settings http:accept-encoding, http:decode.
+ * new setting xfer:max-log-size to limit transfer log size.
+ * show last disconnect cause for a few seconds in the session
+ status.
+ * improved mirror status to display real-time aggregated byte
+ count and rate.
+ * save torrent matadata on disk and load if available when
+ needed.
+ * improved torrent DHT search.
+ * fixed exit behavior to flush buffered commands.
+ * fixed transfer rate reporting for mirror --parallel.
+
+-------------------------------------------------------------------
Old:
----
lftp-4.4.16.tar.xz
lftp-4.4.16.tar.xz.asc
New:
----
lftp-4.5.0.tar.xz
lftp-4.5.0.tar.xz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ lftp.spec ++++++
--- /var/tmp/diff_new_pack.z4z8xY/_old 2014-06-02 07:00:54.000000000 +0200
+++ /var/tmp/diff_new_pack.z4z8xY/_new 2014-06-02 07:00:54.000000000 +0200
@@ -24,7 +24,7 @@
%define with_openssl 1
%endif
Name: lftp
-Version: 4.4.16
+Version: 4.5.0
Release: 0
Summary: LFTP Command Line File Transfer Program
License: GPL-2.0+
++++++ lftp-4.4.16.tar.xz -> lftp-4.5.0.tar.xz ++++++
++++ 38627 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package speech-dispatcher for openSUSE:Factory checked in at 2014-06-02 07:00:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/speech-dispatcher (Old)
and /work/SRC/openSUSE:Factory/.speech-dispatcher.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "speech-dispatcher"
Changes:
--------
--- /work/SRC/openSUSE:Factory/speech-dispatcher/speech-dispatcher.changes 2013-10-01 08:35:23.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.speech-dispatcher.new/speech-dispatcher.changes 2014-06-02 07:00:52.000000000 +0200
@@ -1,0 +2,5 @@
+Fri May 23 11:45:01 UTC 2014 - jsegitz(a)novell.com
+
+- added necessary macros for systemd files
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ speech-dispatcher.spec ++++++
--- /var/tmp/diff_new_pack.fhkbHh/_old 2014-06-02 07:00:53.000000000 +0200
+++ /var/tmp/diff_new_pack.fhkbHh/_new 2014-06-02 07:00:53.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package speech-dispatcher
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -193,6 +193,10 @@
%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
%install_info --info-dir=%{_infodir} %{_infodir}/spd-say.info.gz
%install_info --info-dir=%{_infodir} %{_infodir}/ssip.info.gz
+%service_add_post speech-dispatcherd.service
+
+%pre
+%service_add_pre speech-dispatcherd.service
%preun
%service_del_preun speech-dispatcherd.service
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libexif for openSUSE:Factory checked in at 2014-06-02 07:00:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libexif (Old)
and /work/SRC/openSUSE:Factory/.libexif.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libexif"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libexif/libexif.changes 2014-05-27 18:23:57.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libexif.new/libexif.changes 2014-06-02 07:00:51.000000000 +0200
@@ -1,0 +2,5 @@
+Fri May 30 15:00:27 UTC 2014 - opensuse(a)dstoecker.de
+
+- fix description to be UTF-8
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libexif.spec ++++++
--- /var/tmp/diff_new_pack.4Dpbz3/_old 2014-06-02 07:00:52.000000000 +0200
+++ /var/tmp/diff_new_pack.4Dpbz3/_new 2014-06-02 07:00:52.000000000 +0200
@@ -49,7 +49,6 @@
This library is used to parse EXIF information from JPEGs created by
digital cameras.
-
%package devel
Summary: An EXIF Tag Parsing Library for Digital Cameras (Development files)
Group: Development/Libraries/C and C++
@@ -60,13 +59,6 @@
This library is used to parse EXIF information from JPEGs created by
digital cameras.
-
-
-Authors:
---------
- Lutz M�ller <lutz(a)users.sourceforge.net>
- Curtis Galloway <curtisg(a)users.sourceforge.net>
-
%prep
%setup -q
%patch0 -p1
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package yast2-network for openSUSE:Factory checked in at 2014-06-02 07:00:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-network (Old)
and /work/SRC/openSUSE:Factory/.yast2-network.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-network"
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-network/yast2-network.changes 2014-05-29 08:43:36.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-network.new/yast2-network.changes 2014-06-02 07:00:49.000000000 +0200
@@ -1,0 +2,13 @@
+Fri May 30 14:41:29 UTC 2014 - mfilka(a)suse.com
+
+- bnc#880754
+ - fixed internal error when configuring TUN/TAP device
+- 3.1.61
+
+-------------------------------------------------------------------
+Fri May 30 13:50:20 UTC 2014 - vmoravec(a)suse.com
+
+- Fix failing tests due to changes in SystemdService#restart
+- 3.1.60
+
+-------------------------------------------------------------------
Old:
----
yast2-network-3.1.59.tar.bz2
New:
----
yast2-network-3.1.61.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-network.spec ++++++
--- /var/tmp/diff_new_pack.d0MJBT/_old 2014-06-02 07:00:50.000000000 +0200
+++ /var/tmp/diff_new_pack.d0MJBT/_new 2014-06-02 07:00:50.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-network
-Version: 3.1.59
+Version: 3.1.61
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
++++++ yast2-network-3.1.59.tar.bz2 -> yast2-network-3.1.61.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.59/package/yast2-network.changes new/yast2-network-3.1.61/package/yast2-network.changes
--- old/yast2-network-3.1.59/package/yast2-network.changes 2014-05-26 17:53:47.000000000 +0200
+++ new/yast2-network-3.1.61/package/yast2-network.changes 2014-05-30 16:53:46.000000000 +0200
@@ -1,4 +1,17 @@
-------------------------------------------------------------------
+Fri May 30 14:41:29 UTC 2014 - mfilka(a)suse.com
+
+- bnc#880754
+ - fixed internal error when configuring TUN/TAP device
+- 3.1.61
+
+-------------------------------------------------------------------
+Fri May 30 13:50:20 UTC 2014 - vmoravec(a)suse.com
+
+- Fix failing tests due to changes in SystemdService#restart
+- 3.1.60
+
+-------------------------------------------------------------------
Mon May 26 09:45:24 UTC 2014 - mfilka(a)suse.com
- bnc#868256
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.59/package/yast2-network.spec new/yast2-network-3.1.61/package/yast2-network.spec
--- old/yast2-network-3.1.59/package/yast2-network.spec 2014-05-26 17:53:47.000000000 +0200
+++ new/yast2-network-3.1.61/package/yast2-network.spec 2014-05-30 16:53:46.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-network
-Version: 3.1.59
+Version: 3.1.61
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.59/src/include/network/lan/address.rb new/yast2-network-3.1.61/src/include/network/lan/address.rb
--- old/yast2-network-3.1.59/src/include/network/lan/address.rb 2014-05-26 17:53:47.000000000 +0200
+++ new/yast2-network-3.1.61/src/include/network/lan/address.rb 2014-05-30 16:53:46.000000000 +0200
@@ -1277,11 +1277,15 @@
type == "vlan" ? VBox("ETHERDEVICE") : Empty()
)
- address_contents = VBox(
- Left(label),
- just_address_contents,
- "AD_ADDRESSES"
- )
+ if ["tun", "tap"].include?(LanItems.type)
+ address_contents = VBox(Left(label), "TUNNEL")
+ else
+ address_contents = VBox(
+ Left(label),
+ just_address_contents,
+ "AD_ADDRESSES"
+ )
+ end
{
# FIXME: here it does not complain about missing
@@ -1441,10 +1445,6 @@
@settings["IFCFG"] = LanItems.device if LanItems.operation != :add
- if Builtins.contains(["tun", "tap"], LanItems.type)
- address_contents = VBox(Left(label), "TUNNEL")
- end
-
functions = {
"init" => fun_ref(method(:InitAddrWidget), "void (string)"),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.59/testsuite/tests/Network_YaPI.out new/yast2-network-3.1.61/testsuite/tests/Network_YaPI.out
--- old/yast2-network-3.1.59/testsuite/tests/Network_YaPI.out 2014-05-26 17:53:47.000000000 +0200
+++ new/yast2-network-3.1.61/testsuite/tests/Network_YaPI.out 2014-05-30 16:53:46.000000000 +0200
@@ -273,10 +273,7 @@
Write .network nil true
Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password show network.service --property=Id --property=MainPID --property=Description --property=LoadState --property=ActiveState --property=SubState --property=UnitFileState --property=FragmentPath " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password is-enabled network.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
-Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password stop network.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
-Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password show network.service --property=Id --property=MainPID --property=Description --property=LoadState --property=ActiveState --property=SubState --property=UnitFileState --property=FragmentPath " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
-Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password is-enabled network.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
-Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password start network.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
+Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password restart network.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password show network.service --property=Id --property=MainPID --property=Description --property=LoadState --property=ActiveState --property=SubState --property=UnitFileState --property=FragmentPath " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password is-enabled network.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
Read .target.size "/etc/sysconfig/network/routes" 27
@@ -361,10 +358,7 @@
Write .network nil true
Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password show network.service --property=Id --property=MainPID --property=Description --property=LoadState --property=ActiveState --property=SubState --property=UnitFileState --property=FragmentPath " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password is-enabled network.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
-Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password stop network.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
-Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password show network.service --property=Id --property=MainPID --property=Description --property=LoadState --property=ActiveState --property=SubState --property=UnitFileState --property=FragmentPath " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
-Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password is-enabled network.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
-Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password start network.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
+Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password restart network.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password show network.service --property=Id --property=MainPID --property=Description --property=LoadState --property=ActiveState --property=SubState --property=UnitFileState --property=FragmentPath " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password is-enabled network.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
Dir .network.section: ["eth0", "eth1", "eth2", "eth3", "eth4", "eth5", "eth5.23"]
@@ -434,9 +428,6 @@
Write .network nil true
Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password show network.service --property=Id --property=MainPID --property=Description --property=LoadState --property=ActiveState --property=SubState --property=UnitFileState --property=FragmentPath " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password is-enabled network.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
-Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password stop network.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
-Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password show network.service --property=Id --property=MainPID --property=Description --property=LoadState --property=ActiveState --property=SubState --property=UnitFileState --property=FragmentPath " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
-Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password is-enabled network.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
-Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password start network.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
+Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password restart network.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password show network.service --property=Id --property=MainPID --property=Description --property=LoadState --property=ActiveState --property=SubState --property=UnitFileState --property=FragmentPath " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password is-enabled network.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.59/testsuite/tests/YaPI_bond.out new/yast2-network-3.1.61/testsuite/tests/YaPI_bond.out
--- old/yast2-network-3.1.59/testsuite/tests/YaPI_bond.out 2014-05-26 17:53:47.000000000 +0200
+++ new/yast2-network-3.1.61/testsuite/tests/YaPI_bond.out 2014-05-30 16:53:46.000000000 +0200
@@ -19,9 +19,6 @@
Write .network nil true
Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password show network.service --property=Id --property=MainPID --property=Description --property=LoadState --property=ActiveState --property=SubState --property=UnitFileState --property=FragmentPath " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password is-enabled network.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
-Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password stop network.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
-Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password show network.service --property=Id --property=MainPID --property=Description --property=LoadState --property=ActiveState --property=SubState --property=UnitFileState --property=FragmentPath " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
-Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password is-enabled network.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
-Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password start network.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
+Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password restart network.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password show network.service --property=Id --property=MainPID --property=Description --property=LoadState --property=ActiveState --property=SubState --property=UnitFileState --property=FragmentPath " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
Execute .target.bash_output " LANG=C TERM=dumb COLUMNS=1024 systemctl --no-legend --no-pager --no-ask-password is-enabled network.service " $["exit":0, "stderr":"", "stdout":"laptop.suse.cz"]
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
02 Jun '14
Hello community,
here is the log from the commit of package yast2-control-center-gnome for openSUSE:Factory checked in at 2014-06-02 07:00:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-control-center-gnome (Old)
and /work/SRC/openSUSE:Factory/.yast2-control-center-gnome.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-control-center-gnome"
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-control-center-gnome/yast2-control-center-gnome.changes 2014-02-28 07:26:15.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.yast2-control-center-gnome.new/yast2-control-center-gnome.changes 2014-06-02 07:00:48.000000000 +0200
@@ -1,0 +2,6 @@
+Fri May 30 08:00:43 UTC 2014 - fezhang(a)suse.com
+
+- Remove redundant icon in search entry (bnc#873641)
+- 3.1.3
+
+-------------------------------------------------------------------
Old:
----
yast2-control-center-gnome-3.1.2.tar.bz2
New:
----
yast2-control-center-gnome-3.1.3.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-control-center-gnome.spec ++++++
--- /var/tmp/diff_new_pack.r8Aq1m/_old 2014-06-02 07:00:49.000000000 +0200
+++ /var/tmp/diff_new_pack.r8Aq1m/_new 2014-06-02 07:00:49.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-control-center-gnome
-Version: 3.1.2
+Version: 3.1.3
Release: 0
Summary: YaST2 - Control Center (GNOME version)
@@ -59,7 +59,7 @@
%files
%defattr (-, root, root)
-%doc ChangeLog COPYING README
+%doc COPYING README
%{_sysconfdir}/xdg/menus/*.menu
%{_sysconfdir}/xdg/menus/YaST-gnome-merged
%{_libexecdir}/YaST2/bin/y2controlcenter-gnome
++++++ yast2-control-center-gnome-3.1.2.tar.bz2 -> yast2-control-center-gnome-3.1.3.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-control-center-gnome-3.1.2/ChangeLog new/yast2-control-center-gnome-3.1.3/ChangeLog
--- old/yast2-control-center-gnome-3.1.2/ChangeLog 2014-02-27 18:36:51.000000000 +0100
+++ new/yast2-control-center-gnome-3.1.3/ChangeLog 1970-01-01 01:00:00.000000000 +0100
@@ -1,213 +0,0 @@
--------------------------------------------------------------------
-Thu Sep 26 08:14:01 UTC 2013 - lslezak(a)suse.cz
-
-- fixed repeated start of a Yast module (bnc#827704) (by Michael
- Catanzaro)
-- 3.0.1
-
--------------------------------------------------------------------
-Wed Jul 31 14:43:55 UTC 2013 - lslezak(a)suse.cz
-
-- version 3.0.0
-
--------------------------------------------------------------------
-Wed Feb 27 10:06:42 CET 2013 - tgoettlicher(a)suse.de
-
-- Added dependency to yast2_theme
-- Release 2.23.3
-
--------------------------------------------------------------------
-Fri Feb 22 00:00:00 UTC 2013 - mike.catanzaro(a)gmail.com
-
-Release 2.23.0
-
-Update code to gnome-control-center 3.6 branch. Most significant change
-is bigger sizes for the window and all icons.
-
-* configure.in.in: now requires x11
-* src/cut-n-paste/: update code from gnome-control-center
-* src/{control-center.c,gnome-control-center.c,shell.ui}: rebase on updated code
-* src/patch/: update patch to current changes
-
--------------------------------------------------------------------
-Wed Jan 11 11:03:11 UTC 2012 - vuntz(a)opensuse.org
-
-- Update to version 2.21.3:
- + Update gnome-control-center code; this includes:
- - Window sizing fixes.
- - Small changes.
- - Build fixes on recent GNOME.
-- Add new explicit pkgconfig(glib-2.0) BuildRequires, following
- upstream change.
-
--------------------------------------------------------------------
-Fri Sep 2 14:22:30 UTC 2011 - vuntz(a)opensuse.org
-
-- Update to version 2.21.2:
- + Update gnome-control-center code; this includes:
- - port to the new gnome-menus library
- - do not display item title twice when searching
- - add Ctrl+Q as a way to exit the shell
- + Specify layout in YaST-gnome.menu to avoid alphabetical order.
-- Change pkgconfig(libgnome-menu) BuildRequires to
- pkgconfig(libgnome-menu-3.0) to use the new gnome-menus library.
-
--------------------------------------------------------------------
-Thu Jul 28 12:23:33 CEST 2011 - vuntz(a)opensuse.org
-
-- Update to version 2.21.1:
- + Do not depend on libgnome-control-center, which is going
- private upstream. Instead, keep a local copy of the code.
-- Remove pkgconfig(libgnome-control-center) BuildRequires.
-
--------------------------------------------------------------------
-Mon Jul 25 12:23:50 CEST 2011 - vuntz(a)opensuse.org
-
-- Update to version 2.21.0:
- + Port to GNOME 3, based on the code of the gnome-control-center
- shell.
-- Change pkgconfig() BuildRequires to reflect dependency changes:
- + Old ones: libslab, unique-1.0.
- + New ones: gio-unix-2.0, gtk+-3.0, libgnome-control-center,
- libgnome-menu.
-- Remove gconf schema handling, since there is no gconf schema
- anymore.
-
--------------------------------------------------------------------
-Tue Apr 26 23:49:06 CEST 2011 - vuntz(a)opensuse.org
-
-- Move to pkgconfig()-style BuildRequires:
- + Old ones: libslab-devel, libunique-devel.
- + New ones: libslab, unique-1.0.
-- This fixes the build with GNOME 3.
-
--------------------------------------------------------------------
-Sat Aug 29 00:59:44 CEST 2009 - vuntz(a)novell.com
-
-- Update to version 2.13.4:
- + force not using the default handler for gconf errors, to avoid
- spammy dialog for errors
- + use the "current" icon theme for yast
- + move the gconf key to /apps/yast-control-center
- + synchronize code with code from the shell in
- gnome-control-center:
- - use goption
- - use libunique instead of bonobo
- - bigger icons
-- Drop yast2-control-center-gnome-no-gconf-error-dialog.patch:
- now unneeded.
-- Do not call autoreconf.
-- Remove definition of prefix.
-- Drop gnome-main-menu-devel, gnome-menus-devel, libgnomeui-devel
- BuildRequires.
-- Add libslab-devel and libunique-devel BuildRequires.
-- Drop gnome-main-menu, libgnomesu Requires.
-- Use spec-cleaner script:
- + reorder lines in preamble.
- + remove AutoReqProv: it's default now.
- + use makeinstall macro.
-
--------------------------------------------------------------------
-Sat Jan 31 02:06:06 CET 2009 - vuntz(a)novell.com
-
-- Add yast2-control-center-gnome-no-gconf-error-dialog.patch: fix
- the error dialog popping up when run under "su" (not "su -"). Fix
- bnc#448398, bnc#470714 and probably a few others.
-
--------------------------------------------------------------------
-Fri Jan 30 15:40:01 CET 2009 - vuntz(a)novell.com
-
-- Review BuildRequires.
-
--------------------------------------------------------------------
-Tue Sep 23 23:58:36 CEST 2008 - mauro(a)suse.de
-
-- Fix Requires, now asks for libgnomesu
- * Fixes bnc#388586
-
--------------------------------------------------------------------
-Mon May 12 14:07:26 CEST 2008 - mmichael(a)suse.de
-
-- Update to version 2.13.3:
- * Fix random -S parameter from yast2 shell script wrapper
- (bnc#389069)
-
--------------------------------------------------------------------
-Thu Mar 20 10:31:36 CET 2008 - vuntz(a)suse.de
-
-- Require yast2-control-center. Without this, we don't have
- YaST.desktop and so the control center doesn't appear in menus.
- Fix bnc372569.
-- Recompress the source to bz2.
-
--------------------------------------------------------------------
-Wed Sep 26 18:59:51 CEST 2007 - sreeves(a)suse.de
-
-- Fix for 328615 - untranslated.
-
--------------------------------------------------------------------
-Sat Aug 25 01:17:16 CEST 2007 - sreeves(a)suse.de
-
-- Fix for 247684 - remove empty icon hierarchy
- Fix for 8097 - use new yast window icon
- Fix for 297243 - change app armor icon name
-
--------------------------------------------------------------------
-Wed May 23 01:41:50 CEST 2007 - sreeves(a)suse.de
-
-- Remove existing X-SuSE-translate from .directory files so
- suse_update_desktop_file wont error out
-
--------------------------------------------------------------------
-Wed Apr 18 02:20:24 CEST 2007 - sreeves(a)suse.de
-
-- Fix for 245970 - install into y2bindir.
-
--------------------------------------------------------------------
-Mon Mar 19 23:22:47 CET 2007 - sreeves(a)suse.de
-
-- Fix for 254718 - additional menu entries
- Fix for 252799 - merge in additional menu files
-
--------------------------------------------------------------------
-Tue Mar 13 22:31:42 CET 2007 - sreeves(a)suse.de
-
-- Roll in all changes from SP1 branch:
- Fri Mar 9 20:44:02 CET 2007 - sreeves(a)suse.de
- - Fix for 250415 - allow different theming for the cc shell
- Fix for 249717 - change title to "YaST2 Control Center" - use the same string
- already in yast2-control-center package so we can use existing translations.
- Tue Mar 6 15:49:05 CET 2007 - cthiel(a)suse.de
- - Supplements: gnome-main-menu instead of gnome-desktop
- Mon Mar 5 15:59:17 CET 2007 - cthiel(a)suse.de
- - fix for #240240
- * Supplements: gnome-desktop
- * Provides: yast2-control-center-binary
- Thu Mar 1 00:04:48 CET 2007 - sreeves(a)suse.de
- - Call suse_update_desktop_file for all .directory files
- #247812 will be fixed in yast2.rpm so remove desktop file
- Thu Feb 22 23:14:26 CET 2007 - sreeves(a)suse.de
- - Fix for no desktop file - #247812
- Includes changes by mmeeks to build project the "standard yast way"
- Thu Feb 1 23:44:45 CET 2007 - sreeves(a)suse.de
- - Fix for BNC #236464 - duplicated items.
- Fix for gnome.org #395133 - tasks launched twice.
- Fix for BNC #240242 - no common tasks.
- Remove .desktop file now that yast2 launches us
-
--------------------------------------------------------------------
-Wed Jan 17 15:26:12 CET 2007 - sbrabec(a)suse.cz
-
-- Prefix changed to /usr.
-- Spec file cleanup.
-
--------------------------------------------------------------------
-Tue Oct 24 17:50:01 CEST 2006 - sreeves(a)suse.de
-
-- Fix to build with new gnome-main-menu
-
--------------------------------------------------------------------
-Mon Oct 9 13:10:28 CEST 2006 - mmichael(a)suse.de
-
-- import 1st cut.
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-control-center-gnome-3.1.2/package/yast2-control-center-gnome.changes new/yast2-control-center-gnome-3.1.3/package/yast2-control-center-gnome.changes
--- old/yast2-control-center-gnome-3.1.2/package/yast2-control-center-gnome.changes 2014-02-27 18:36:51.000000000 +0100
+++ new/yast2-control-center-gnome-3.1.3/package/yast2-control-center-gnome.changes 2014-05-30 16:36:45.000000000 +0200
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Fri May 30 08:00:43 UTC 2014 - fezhang(a)suse.com
+
+- Remove redundant icon in search entry (bnc#873641)
+- 3.1.3
+
+-------------------------------------------------------------------
Thu Feb 27 16:19:22 UTC 2014 - fcrozat(a)suse.com
- Add Support section in YaST control center to make SUSE Customer
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-control-center-gnome-3.1.2/package/yast2-control-center-gnome.spec new/yast2-control-center-gnome-3.1.3/package/yast2-control-center-gnome.spec
--- old/yast2-control-center-gnome-3.1.2/package/yast2-control-center-gnome.spec 2014-02-27 18:36:51.000000000 +0100
+++ new/yast2-control-center-gnome-3.1.3/package/yast2-control-center-gnome.spec 2014-05-30 16:36:45.000000000 +0200
@@ -16,7 +16,7 @@
#
Name: yast2-control-center-gnome
-Version: 3.1.2
+Version: 3.1.3
Release: 0
Summary: YaST2 - Control Center (GNOME version)
@@ -58,7 +58,7 @@
%files
%defattr (-, root, root)
-%doc ChangeLog COPYING README
+%doc COPYING README
%{_sysconfdir}/xdg/menus/*.menu
%{_sysconfdir}/xdg/menus/YaST-gnome-merged
%{_libexecdir}/YaST2/bin/y2controlcenter-gnome
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-control-center-gnome-3.1.2/src/shell.ui new/yast2-control-center-gnome-3.1.3/src/shell.ui
--- old/yast2-control-center-gnome-3.1.2/src/shell.ui 2014-02-19 13:19:54.000000000 +0100
+++ new/yast2-control-center-gnome-3.1.3/src/shell.ui 2014-05-30 16:36:45.000000000 +0200
@@ -78,9 +78,6 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
- <property name="secondary-icon-name">edit-find-symbolic</property>
- <property name="secondary-icon-activatable">False</property>
- <property name="secondary-icon-sensitive">False</property>
</object>
</child>
<child>
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package samba for openSUSE:Factory checked in at 2014-06-02 07:00:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/samba (Old)
and /work/SRC/openSUSE:Factory/.samba.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "samba"
Changes:
--------
--- /work/SRC/openSUSE:Factory/samba/samba.changes 2014-05-22 09:04:15.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.samba.new/samba.changes 2014-06-02 07:00:46.000000000 +0200
@@ -1,0 +2,10 @@
+Fri May 23 10:41:11 UTC 2014 - lmuelle(a)suse.com
+
+- examples/libsmbclient: avoid some compiler warnings; (bso#10624).
+
+-------------------------------------------------------------------
+Thu May 22 13:08:13 UTC 2014 - ddiss(a)suse.com
+
+- Fix printer job purging; (bso#10612); (bnc#879390).
+
+-------------------------------------------------------------------
@@ -98 +108,2 @@
-- Fix malformed FSCTL_SRV_ENUMERATE_SNAPSHOTS response; (bnc#872396).
+- Fix malformed FSCTL_SRV_ENUMERATE_SNAPSHOTS response; CVE-2014-0178;
+ (bso#10549); (bnc#872396).
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ samba.spec ++++++
--- /var/tmp/diff_new_pack.DBFh9W/_old 2014-06-02 07:00:48.000000000 +0200
+++ /var/tmp/diff_new_pack.DBFh9W/_new 2014-06-02 07:00:48.000000000 +0200
@@ -144,7 +144,7 @@
%else
%define build_make_smp_mflags %{?jobs:-j%jobs}
%endif
-%define SOURCE_TIMESTAMP 3238
+%define SOURCE_TIMESTAMP 3243
%define BRANCH %{version}
%global with_mitkrb5 1
%global with_dc 0
++++++ patches.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/samba.org/57a4319baaee011f2604eadeac655ff1c84d4312 new/patches/samba.org/57a4319baaee011f2604eadeac655ff1c84d4312
--- old/patches/samba.org/57a4319baaee011f2604eadeac655ff1c84d4312 2014-04-30 15:48:20.000000000 +0200
+++ new/patches/samba.org/57a4319baaee011f2604eadeac655ff1c84d4312 2014-05-22 18:27:13.000000000 +0200
@@ -20,9 +20,9 @@
source4/torture/rpc/fsrvp.c | 5 +++--
3 files changed, 11 insertions(+), 8 deletions(-)
-diff --git librpc/idl/fsrvp.idl librpc/idl/fsrvp.idl
-index 5fb79aa..9bcf10c 100644
---- librpc/idl/fsrvp.idl
+Index: librpc/idl/fsrvp.idl
+===================================================================
+--- librpc/idl/fsrvp.idl.orig
+++ librpc/idl/fsrvp.idl
@@ -22,12 +22,6 @@ import "misc.idl";
const uint32 FSRVP_E_OBJECT_NOT_FOUND = 0x80042308;
@@ -37,9 +37,9 @@
typedef struct {
GUID ShadowCopySetId;
GUID ShadowCopyId;
-diff --git source3/rpcclient/cmd_fss.c source3/rpcclient/cmd_fss.c
-index 945f4d9..54fade7 100644
---- source3/rpcclient/cmd_fss.c
+Index: source3/rpcclient/cmd_fss.c
+===================================================================
+--- source3/rpcclient/cmd_fss.c.orig
+++ source3/rpcclient/cmd_fss.c
@@ -23,6 +23,7 @@
#include "rpcclient.h"
@@ -49,7 +49,7 @@
static const struct {
uint32_t error_code;
-@@ -100,6 +101,13 @@ static const char *get_error_str(uint32_t code)
+@@ -100,6 +101,13 @@ static const char *get_error_str(uint32_
break;
}
}
@@ -63,9 +63,9 @@
return result;
};
-diff --git source4/torture/rpc/fsrvp.c source4/torture/rpc/fsrvp.c
-index f9bd2f3..7ed4c0f 100644
---- source4/torture/rpc/fsrvp.c
+Index: source4/torture/rpc/fsrvp.c
+===================================================================
+--- source4/torture/rpc/fsrvp.c.orig
+++ source4/torture/rpc/fsrvp.c
@@ -36,6 +36,7 @@
#include "libcli/smb2/smb2_calls.h"
@@ -75,7 +75,7 @@
#include "torture/torture.h"
#include "torture/smb2/proto.h"
#include "torture/rpc/torture_rpc.h"
-@@ -461,7 +462,7 @@ static bool test_fsrvp_sc_set_abort(struct torture_context *tctx,
+@@ -384,7 +385,7 @@ static bool test_fsrvp_sc_set_abort(stru
"following abort");
/*
* XXX Windows 8 server beta returns FSRVP_E_BAD_STATE here rather than
@@ -84,7 +84,7 @@
*/
torture_assert(tctx, (r_scset_add.out.result != 0),
"incorrect AddToShadowCopySet response following abort");
-@@ -502,7 +503,7 @@ static bool test_fsrvp_bad_id(struct torture_context *tctx,
+@@ -425,7 +426,7 @@ static bool test_fsrvp_bad_id(struct tor
torture_assert_ntstatus_ok(tctx, status,
"DeleteShareMapping failed");
torture_assert_int_equal(tctx, r_sharemap_del.out.result,
@@ -93,6 +93,3 @@
"incorrect DeleteShareMapping response");
torture_assert(tctx, test_fsrvp_sc_delete(tctx, p, sc_map), "sc del");
---
-1.8.1.4
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/samba.org/c8519003a34dc7db44854a3d844d1c7432d52a78 new/patches/samba.org/c8519003a34dc7db44854a3d844d1c7432d52a78
--- old/patches/samba.org/c8519003a34dc7db44854a3d844d1c7432d52a78 1970-01-01 01:00:00.000000000 +0100
+++ new/patches/samba.org/c8519003a34dc7db44854a3d844d1c7432d52a78 2014-05-23 11:04:59.000000000 +0200
@@ -0,0 +1,116 @@
+commit c8519003a34dc7db44854a3d844d1c7432d52a78
+Author: Stefan Metzmacher <metze(a)samba.org>
+Date: Thu Feb 27 09:39:20 2014 +0100
+
+ examples/libsmbclient: avoid some compiler warnings
+
+ Signed-off-by: Stefan Metzmacher <metze(a)samba.org>
+ Reviewed-by: Andrew Bartlett <abartlet(a)samba.org>
+
+diff --git examples/libsmbclient/testacl2.c examples/libsmbclient/testacl2.c
+index ef044f8..a74a72d 100644
+--- examples/libsmbclient/testacl2.c
++++ examples/libsmbclient/testacl2.c
+@@ -25,6 +25,7 @@ int main(int argc, const char *argv[])
+ int ret;
+ const char *debugstr;
+ char value[1024];
++ SMBCCTX *context;
+
+ if (smbc_init(get_auth_data_fn, debug) != 0)
+ {
+@@ -32,7 +33,7 @@ int main(int argc, const char *argv[])
+ return 1;
+ }
+
+- SMBCCTX *context = smbc_set_context(NULL);
++ context = smbc_set_context(NULL);
+ smbc_setOptionFullTimeNames(context, 1);
+
+ the_acl = strdup("system.nt_sec_desc.*");
+diff --git examples/libsmbclient/testbrowse.c examples/libsmbclient/testbrowse.c
+index 2ae7ca1..0629653 100644
+--- examples/libsmbclient/testbrowse.c
++++ examples/libsmbclient/testbrowse.c
+@@ -25,8 +25,7 @@ get_auth_data_with_context_fn(SMBCCTX * context,
+ char * pPassword,
+ int maxLenPassword);
+
+-int
+-main(int argc, char * argv[])
++int main(int argc, const char *argv[])
+ {
+ int debug = 0;
+ int debug_stderr = 0;
+@@ -73,7 +72,7 @@ main(int argc, char * argv[])
+
+ setbuf(stdout, NULL);
+
+- pc = poptGetContext("opendir", argc, (const char **)argv, long_options, 0);
++ pc = poptGetContext("opendir", argc, argv, long_options, 0);
+
+ poptSetOtherOptionHelp(pc, "");
+
+@@ -100,7 +99,7 @@ main(int argc, char * argv[])
+ if (context_auth) {
+ smbc_setFunctionAuthDataWithContext(context,
+ get_auth_data_with_context_fn);
+- smbc_setOptionUserData(context, (void *)"hello world");
++ smbc_setOptionUserData(context, strdup("hello world"));
+ } else {
+ smbc_setFunctionAuthData(context, get_auth_data_fn);
+ }
+@@ -126,20 +125,22 @@ main(int argc, char * argv[])
+
+ if (scan)
+ {
+- for (;
+- iterations == -1 || iterations > 0;
+- iterations = (iterations == -1 ? iterations : --iterations))
+- {
++ for (; iterations != 0;) {
++ if (iterations > 0) {
++ iterations--;
++ }
++
+ snprintf(buf, sizeof(buf), "smb://");
+ browse(buf, scan, 0);
+ }
+ }
+ else
+ {
+- for (;
+- iterations == -1 || iterations > 0;
+- iterations = (iterations == -1 ? iterations : --iterations))
+- {
++ for (; iterations != 0;) {
++ if (iterations > 0) {
++ iterations--;
++ }
++
+ fputs("url: ", stdout);
+ p = fgets(buf, sizeof(buf), stdin);
+ if (! p)
+diff --git examples/libsmbclient/testctx.c examples/libsmbclient/testctx.c
+index cec9776..7f27fbd 100644
+--- examples/libsmbclient/testctx.c
++++ examples/libsmbclient/testctx.c
+@@ -1,15 +1,16 @@
+ #include <libsmbclient.h>
+ #include <stdlib.h>
+ #include <stdio.h>
++#include <string.h>
+
+-void create_and_destroy_context (void)
++static void create_and_destroy_context (void)
+ {
+ int i;
+ SMBCCTX *ctx;
+ ctx = smbc_new_context ();
+ /* Both should do the same thing */
+ smbc_setOptionDebugToStderr(ctx, 1);
+- smbc_option_set(ctx, "debug_to_stderr", 1);
++ smbc_option_set(ctx, strdup("debug_to_stderr"), 1);
+ smbc_setDebug(ctx, 1);
+ i = smbc_getDebug(ctx);
+ if (i != 1) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/samba.org/efb4684a3fc0b32a71eab013000f730e6b144a67 new/patches/samba.org/efb4684a3fc0b32a71eab013000f730e6b144a67
--- old/patches/samba.org/efb4684a3fc0b32a71eab013000f730e6b144a67 1970-01-01 01:00:00.000000000 +0100
+++ new/patches/samba.org/efb4684a3fc0b32a71eab013000f730e6b144a67 2014-05-22 18:27:13.000000000 +0200
@@ -0,0 +1,57 @@
+From efb4684a3fc0b32a71eab013000f730e6b144a67 Mon Sep 17 00:00:00 2001
+From: David Disseldorp <ddiss(a)samba.org>
+Date: Wed, 21 May 2014 21:55:58 +0200
+Subject: [PATCH] printing: fix purge of all print jobs
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The incorrect (system) jobid is currently passed to the job deletion
+function.
+
+Bug: https://bugzilla.samba.org/show_bug.cgi?id=10612
+
+Reported-by: Franz Pförtsch <franz.pfoertsch(a)brose.com>
+Signed-off-by: David Disseldorp <ddiss(a)samba.org>
+Reviewed-by: Jeremy Allison <jra(a)samba.org>
+---
+ source3/printing/printing.c | 23 +++++++++++++++++++----
+ 1 file changed, 19 insertions(+), 4 deletions(-)
+
+Index: source3/printing/printing.c
+===================================================================
+--- source3/printing/printing.c.orig
++++ source3/printing/printing.c
+@@ -3373,13 +3373,28 @@ WERROR print_queue_purge(const struct au
+ if ( can_job_admin )
+ become_root();
+
+- for (i=0;i<njobs;i++) {
+- bool owner = is_owner(server_info, lp_const_servicename(snum),
+- queue[i].sysjob);
++ for (i = 0; i < njobs; i++) {
++ struct tdb_print_db *pdb;
++ int jobid;
++ bool owner;
++ pdb = get_print_db_byname(lp_const_servicename(snum));
++ if (pdb == NULL) {
++ DEBUG(1, ("failed to find printdb for %s\n",
++ lp_const_servicename(snum)));
++ continue;
++ }
++ jobid = sysjob_to_jobid_pdb(pdb, queue[i].sysjob);
++ if (jobid == (uint32_t)-1) {
++ DEBUG(2, ("jobid for system job %d not found\n",
++ queue[i].sysjob));
++ continue; /* unix job */
++ }
++ owner = is_owner(server_info, lp_const_servicename(snum),
++ jobid);
+
+ if (owner || can_job_admin) {
+ print_job_delete1(server_event_context(), msg_ctx,
+- snum, queue[i].sysjob);
++ snum, jobid);
+ }
+ }
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/series new/patches/series
--- old/patches/series 2014-05-06 19:48:32.000000000 +0200
+++ new/patches/series 2014-05-23 12:47:48.000000000 +0200
@@ -71,14 +71,16 @@
samba.org/4f979525e4137c536118a9c2b2b4ef798c270e27 -p0 # bnc 860809
samba.org/ca3998d0436747f637b04eb32eb6c17fce3e2159 -p0 # bnc 865641
samba.org/cbc6082ec75ee97ae28d94ccfb92c3d93705798a -p0 # bso 10521, bnc 870957
-samba.org/30e724cbff1ecd90e5a676831902d1e41ec1b347 -p0 # bnc 872396
-samba.org/eb50fb8f3bf670bd7d1cf8fd4368ef4a73083696 -p0 # bnc 872396
+samba.org/30e724cbff1ecd90e5a676831902d1e41ec1b347 -p0 # bso 10549, bnc 872396, CVE-2014-0178
+samba.org/eb50fb8f3bf670bd7d1cf8fd4368ef4a73083696 -p0 # bso 10549, bnc 872396, CVE-2014-0178
samba.org/04e434661fa6b5f13776f925b0a7cbadb6b6d006 -p0 # bnc 873658
samba.org/05daf6a25ecbe928987446f39e2d7855328195d1 -p0 # bnc 866927
samba.org/3ac9cb3d17c5252383e8f971818a426c6ad68c2d -p0 # bnc 866927
samba.org/027afd11ca404f24726013d0f9805f42b14e59d7 -p0 # bnc 866927
samba.org/57a4319baaee011f2604eadeac655ff1c84d4312 -p0 # bnc 866927
samba.org/4f9dd94819b5cebe53bbc34d69df408f2eb1e800 -p0 # bnc 866927
+samba.org/efb4684a3fc0b32a71eab013000f730e6b144a67 -p0 # bso 10612, bnc 879390
+samba.org/c8519003a34dc7db44854a3d844d1c7432d52a78 -p0 # bso 10624
samba.org/fix_pc_dependencies.diff -p0
# SuSE specific changes
++++++ vendor-files.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor-files/tools/package-data new/vendor-files/tools/package-data
--- old/vendor-files/tools/package-data 2014-05-18 14:13:34.000000000 +0200
+++ new/vendor-files/tools/package-data 2014-05-23 12:52:25.000000000 +0200
@@ -1,2 +1,2 @@
# This is an autogenrated file.
-SAMBA_PACKAGE_SVN_VERSION="3238"
+SAMBA_PACKAGE_SVN_VERSION="3243"
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package mariadb for openSUSE:Factory checked in at 2014-06-02 07:00:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mariadb (Old)
and /work/SRC/openSUSE:Factory/.mariadb.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mariadb"
Changes:
--------
--- /work/SRC/openSUSE:Factory/mariadb/mariadb.changes 2014-05-22 20:38:30.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.mariadb.new/mariadb.changes 2014-06-02 07:00:42.000000000 +0200
@@ -1,0 +2,9 @@
+Fri May 23 09:04:30 CEST 2014 - mhrusecky(a)suse.cz
+
+- Updating to 10.0 branch of MariaDB
+ * https://mariadb.com/kb/en/what-is-mariadb-100/
+- Many additional fixes like basic systemd support
+- enabled TokuDB storage engine
+- warning text about security implications on first install
+
+-------------------------------------------------------------------
Old:
----
mariadb-5.5.33.tar.bz2
rc.mysql-multi
New:
----
README.install
mariadb-10.0.11.tar.bz2
mysql.service
rc.mysql.systemd
rc.mysql.sysvinit
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mariadb.spec ++++++
--- /var/tmp/diff_new_pack.qtKbwB/_old 2014-06-02 07:00:45.000000000 +0200
+++ /var/tmp/diff_new_pack.qtKbwB/_new 2014-06-02 07:00:45.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package mariadb
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,13 +16,14 @@
#
# Few definitions which will alter build
-%define prefered 01
+%define preferred 01
+%define use_systemd 01
%define use_cmake 01
%define cluster 00
%define have_info 0
%define builtin_plugins partition,csv,heap,aria,pbxt,myisam,myisammrg,xtradb
%define use_extra_provides 1
-%define extra_provides mariadb_55
+%define extra_provides mariadb_100
%if ! %{defined _rundir}
%define _rundir %{_localstatedir}/run
@@ -39,16 +40,16 @@
Summary: Server part of MariaDB
License: SUSE-GPL-2.0-with-FLOSS-exception
Group: Productivity/Databases/Servers
-Version: 5.5.33
+Version: 10.0.11
Release: 0
-%define srv_vers 5.5.33
+%define srv_vers 5.6.17
Url: http://www.mariab.org
Source: mariadb-%{version}.tar.bz2
Source2: baselibs.conf
Source3: README.debug
Source4: suse-test-run
Source5: mysql.SuSEfirewall2
-Source7: rc.mysql-multi
+Source7: README.install
Source8: README.SuSE
Source9: mysql-patches.tar.bz2
Source10: build.inc
@@ -56,6 +57,9 @@
Source12: series
Source13: configuration-tweaks.tar.bz2
Source14: my.ini
+Source15: rc.mysql.sysvinit
+Source16: rc.mysql.systemd
+Source17: mysql.service
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version}
PreReq: pwdutils
@@ -70,6 +74,7 @@
BuildRequires: gcc-c++
BuildRequires: libaio-devel
BuildRequires: libedit-devel
+BuildRequires: libevent-devel
BuildRequires: libtool
BuildRequires: ncurses-devel
BuildRequires: openssl-devel
@@ -109,7 +114,7 @@
Provides: %{extra_provides} = %{version}
Obsoletes: %{extra_provides} < %{version}
%endif
-%if 0%{?prefered} > 0
+%if 0%{?preferred} > 0
%if "%{name}" != mysql
Obsoletes: mysql < %{srv_vers}
%endif
@@ -124,7 +129,7 @@
This package only contains the server-side programs.
-%if 0%{?prefered} > 0
+%if 0%{?preferred} > 0
%package -n libmysqlclient-devel
# mysql-devel was last used in openSUSE 10.2
Provides: mysql-devel = %srv_vers-%release
@@ -194,7 +199,7 @@
Obsoletes: %{extra_provides}-client < %{version}
%endif
Requires: %{name}-errormessages = %version
-%if 0%{?prefered} > 0
+%if 0%{?preferred} > 0
%if "%{name}" != mysql
Obsoletes: mysql-client < %{srv_vers}
%endif
@@ -224,7 +229,7 @@
Provides: %{extra_provides}-bench = %{version}
Obsoletes: %{extra_provides}-bench < %{version}
%endif
-%if 0%{?prefered} > 0
+%if 0%{?preferred} > 0
%if "%{name}" != mysql
Obsoletes: mysql-bench < %{srv_vers}
%endif
@@ -248,7 +253,7 @@
Provides: %{extra_provides}-debug-verion = %{version}
Obsoletes: %{extra_provides}-debug-version < %{version}
%endif
-%if 0%{?prefered} > 0
+%if 0%{?preferred} > 0
Obsoletes: mysql-debug < %{srv_vers}
%endif
Conflicts: otherproviders(mysql-debug)
@@ -275,7 +280,7 @@
Provides: %{extra_provides}-test = %{version}
Obsoletes: %{extra_provides}-test < %{version}
%endif
-%if 0%{?prefered} > 0
+%if 0%{?preferred} > 0
%if "%{name}" != mysql
Obsoletes: mysql-test < %{srv_vers}
%endif
@@ -301,7 +306,7 @@
Provides: %{extra_provides}-tools = %{version}
Obsoletes: %{extra_provides}-tools < %{version}
%endif
-%if 0%{?prefered} > 0
+%if 0%{?preferred} > 0
%if "%{name}" != mysql
Obsoletes: mysql-tools < %{srv_vers}
%endif
@@ -401,18 +406,17 @@
# breaks VPATH builds when in sourcedir, is generated in the builddirs
rm -f sql/sql_builtin.cc
sed -i 's|@localstatedir@|/var/log|' support-files/mysql-log-rotate.sh
-%if 0%{prefered} < 1
+%if 0%{preferred} < 1
for i in `grep -Rl mysqlclient .`; do
sed -i 's|mysqlclient|mysqlclient|g' $i
+ sed -i 's|-libmysqlclient-symbols.patch|-libmysqlclient-symbols.patch|g' $i
done
%endif
# Broken test that needs sources
rm -f mysql-test/t/file_contents.test mysql-test/r/file_contents.result
-# Present only in newer MariaDB, big change, needs fixing & testing
-rm -rf storage/tokudb
# Specify perl path on shebangs
for i in `grep -Rl '^#!@PERL@$' .`; do
- sed -i 's|#!@PERL@|/usr/bin/perl|' $i
+ sed -i 's|@PERL@|/usr/bin/perl|' $i
done
%build
@@ -447,14 +451,13 @@
# preun and posttran takes care of restart #
#######################################################################
%preun
-[ $1 = 1 ] || /usr/sbin/rcmysql stop
+[ $1 = 1 ] || /usr/sbin/rcmysql stop || true
%pretrans -p <lua>
if posix.access("/usr/sbin/rcmysql", "x") then
restart = os.execute("/usr/sbin/rcmysql status > /dev/null")
- os.execute("/usr/sbin/rcmysql stop")
-
if restart == 0 then
+ os.execute("/usr/sbin/rcmysql stop")
os.execute("/bin/mkdir -p %{_rundir}/mysql/restart")
end
end
@@ -475,6 +478,18 @@
if [ "`ls /etc/rc.d/rc*.d/S*mysql 2> /dev/null`" ] || [ -d %{_rundir}/mysql/restart ]; then
[ -x /usr/sbin/rcmysql ] && /usr/sbin/rcmysql start
rmdir %{_rundir}/mysql/restart || :
+ rmdir %{_rundir}/mysql || :
+fi
+# warn on first run
+datadir="/var/lib/mysql"
+if [ -x /usr/bin/my_print_defaults ]; then
+ datadir="`/usr/bin/my_print_defaults mysqld mysql_server | sed -n 's|--datadir=||p'`"
+ [ "$datadir" ] || datadir="/var/lib/mysql"
+fi
+if [ \! -d "$datadir/mysql" ]; then
+cat > /var/adm/update-messages/%{name}-%{version}-%{release} << EOF
+%(cat %_sourcedir/README.install)
+EOF
fi
#######################################################################
@@ -495,7 +510,7 @@
%postun -n libndbclient6 -p /sbin/ldconfig
%endif
-%if 0%{prefered} > 0
+%if 0%{preferred} > 0
%post -n libmysqld18 -p /sbin/ldconfig
%postun -n libmysqld18 -p /sbin/ldconfig
@@ -527,13 +542,18 @@
%if %have_info
%doc %{_infodir}/mysql.info.*
%endif
+%if 0%{?suse_version} >= 1210 && 0%{?use_systemd} > 0
+%dir /usr/lib/mysql
+/usr/lib/mysql/rcmysql
+/usr/lib/systemd/system/mysql.service
+%else
/etc/init.d/mysql
+%endif
/usr/sbin/rcmysql
%dir /usr/share/%{name}
%dir /usr/share/mysql
/usr/share/%{name}/charsets/
/usr/share/%{name}/*.sql
-%ghost %dir %attr(755,mysql,mysql)%{_rundir}/mysql
%dir %{_libdir}/mysql
%{_libdir}/mysql/mysqld.sym
%config /etc/sysconfig/SuSEfirewall2.d/services/mysql
@@ -546,12 +566,13 @@
%files client -f mysql-client.files
%defattr(-, root, root)
-%config(noreplace) %attr(0640, root, mysql) /etc/mysqlaccess.conf
-%if 0%{prefered} > 0
+%if 0%{preferred} > 0
%files -n libmysqlclient-devel -f libmysqlclient-devel.files
%defattr(-, root, root)
/usr/include/mysql
+%{_libdir}/libmysqlclient.so
+%{_libdir}/libmysqlclient_r.so
%dir /usr/share/aclocal
/usr/share/aclocal/mysql.m4
@@ -567,7 +588,7 @@
%files -n libmysqlclient18
%defattr(-, root, root)
-%{_libdir}/libmysqlclient.so*
+%{_libdir}/libmysqlclient.so.*
%if 0%{cluster} > 1
%files -n libndbclient6
@@ -577,7 +598,7 @@
%files -n libmysqlclient_r18
%defattr(-, root, root)
-%{_libdir}/libmysqlclient_r.so*
+%{_libdir}/libmysqlclient_r.so.*
%files bench -f mysql-bench.files
%defattr(-, root, root)
++++++ README.install ++++++
You just installed MySQL server for the first time.
You can start it using:
rcmysql start
During first start empty database will be created for your automatically.
PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
To do so, start the server, then issue the following commands:
'/usr/bin/mysqladmin' -u root password 'new-password'
'/usr/bin/mysqladmin' -u root -h misibook password 'new-password'
Alternatively you can run:
'/usr/bin/mysql_secure_installation'
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
++++++ build.inc ++++++
--- /var/tmp/diff_new_pack.qtKbwB/_old 2014-06-02 07:00:45.000000000 +0200
+++ /var/tmp/diff_new_pack.qtKbwB/_new 2014-06-02 07:00:45.000000000 +0200
@@ -10,7 +10,7 @@
export EXTRA_FLAGS=" -mminimal-toc "
%endif
export CFLAGS="$RPM_OPT_FLAGS -DOPENSSL_LOAD_CONF -DPIC -fPIC -DFORCE_INIT_OF_VARS $EXTRA_FLAGS "
-export CXXFLAGS="$CFLAGS -fno-exceptions -fno-rtti"
+export CXXFLAGS="$CFLAGS"
%if 0%{use_cmake} < 1
autoreconf -f -i
@@ -73,7 +73,7 @@
popd
}
# Build the client, extra tools, libraries
-%if 0%{?prefered} > 0
+%if 0%{?preferred} > 0
BuildMySQL "" --with-embedded-server
%else
BuildMySQL "" --without-embedded-server
@@ -81,7 +81,7 @@
# build mysqld-debug
BuildMySQL "-debug" --with-debug --without-embedded-server
-%if 0%{?prefered} > 0
+%if 0%{?preferred} > 0
mkdir -p _buildlibmysqld/tmp
cd _buildlibmysqld/tmp
ar -x ../../_build/libmysqld/libmysqld.a
@@ -101,6 +101,7 @@
shift
cmake -DWITH_SSL=system \
-DWITH_ZLIB=system \
+ -DWITH_LIBEVENT=system \
-DWITH_JEMALLOC=no \
-DWITH_READLINE=0 \
-DWITH_LIBEDIT=0 \
@@ -117,12 +118,13 @@
-DDENABLE_DOWNLOADS=false \
-DINSTALL_PLUGINDIR_RPM="%{_lib}/mysql/plugin" \
-DINSTALL_LIBDIR_RPM="%{_lib}" \
- "$@" ..
+ -Wno-dev "$@" ..
make %{?jobs:-j%jobs}
nm --numeric-sort sql/mysqld > sql/mysqld.sym
popd
}
BuildMySQL "" -DCMAKE_BUILD_TYPE=Release -DINSTALL_SQLBENCHDIR=share
-BuildMySQL "-debug" -DCMAKE_BUILD_TYPE=Debug
+# TokuDB can't be compiled without optimisations turned on
+BuildMySQL "-debug" -DCMAKE_BUILD_TYPE=Debug -DWITHOUT_TOKUDB=1
%endif
++++++ configuration-tweaks.tar.bz2 ++++++
--- old/default_plugins.cnf 2013-09-19 10:02:49.000000000 +0200
+++ new/default_plugins.cnf 2014-05-23 12:52:11.000000000 +0200
@@ -1,4 +1,4 @@
[server]
-plugin-load=blackhole=ha_blackhole.so
-plugin-load=federated=ha_federated.so
-plugin-load=archive=ha_archive.so
+#plugin-load=blackhole=ha_blackhole.so
+#plugin-load=federated=ha_federated.so
+#plugin-load=archive=ha_archive.so
++++++ install.inc ++++++
--- /var/tmp/diff_new_pack.qtKbwB/_old 2014-06-02 07:00:45.000000000 +0200
+++ /var/tmp/diff_new_pack.qtKbwB/_new 2014-06-02 07:00:45.000000000 +0200
@@ -41,14 +41,14 @@
done
popd >/dev/null
}
-filelist innochecksum my_print_defaults myisam_ftdump myisamchk myisamlog myisampack mysql_fix_extensions mysql_fix_privilege_tables mysql_install_db mysql_secure_installation mysql_upgrade mysqlbug mysqld mysqld_multi mysqld_safe mysqlbinlog mysqldumpslow mysqlmanager resolve_stack_dump resolveip {m,}aria_chk {m,}aria_dump_log {m,}aria_ftdump {m,}aria_pack {m,}aria_read_log xtstat >mysql.files
-filelist mysql mysqladmin mysqlcheck mysqldump mysqlimport mysqlshow >mysql-client.files
+filelist innochecksum my_print_defaults myisam_ftdump myisamchk myisamlog myisampack mysql_fix_extensions mysql_fix_privilege_tables mysql_install_db mysql_secure_installation mysql_upgrade mysqlbug mysqld mysqld_multi mysqld_safe mysqlbinlog mysqldumpslow mysqlmanager resolve_stack_dump resolveip {m,}aria_chk {m,}aria_dump_log {m,}aria_ftdump {m,}aria_pack {m,}aria_read_log xtstat tokuftdump >mysql.files
+filelist mysql mysqladmin mysqlcheck mysqldump mysqlimport mysqlshow mysql_config_editor >mysql-client.files
filelist mysql_config >libmysqlclient-devel.files
filelist mysqlslap >mysql-bench.files
filelist mysql_client_test mysql_client_test_embedded mysql_waitpid mysqltest mysqltest_embedded >mysql-test.files
# all binaries that don't need to be in a "default" install (mysql.rpm +
# mysql-client.rpm)
-filelist msql2mysql mysql_config_editor mysql_plugin mysql_convert_table_format mysql_find_rows mysql_setpermission mysql_tzinfo_to_sql mysql_zap mysqlaccess mysqlhotcopy perror replace mysql_embedded %{name}_mytop hsclient >mysql-tools.files
+filelist msql2mysql mysql_plugin mysql_convert_table_format mysql_find_rows mysql_setpermission mysql_tzinfo_to_sql mysql_zap mysqlaccess mysqlhotcopy perror replace mysql_embedded %{name}_mytop hsclient >mysql-tools.files
filelist ndbd ndbmtd ndbd_redo_log_reader >mysql-ndb-storage.files
filelist ndb_mgmd >mysql-ndb-management.files
filelist ndb_{config,desc,error_reporter,mgm,print_backup_file,print_schema_file,print_sys_file,restore,select_all,select_count,show_tables,size.pl,test_platform,waiter} >mysql-ndb-tools.files
@@ -75,23 +75,31 @@
DOCDIR=%buildroot%_defaultdocdir/%name
install -d -m 755 ${DOCDIR}
install -d -m 755 %buildroot/etc/logrotate.d
-install -d -m 755 %buildroot/etc/init.d
install -m 644 _build/support-files/mysql-log-rotate %buildroot/etc/logrotate.d/mysql
-%if 0%{?prefered} > 0%{?use_cmake}
+%if 0%{?preferred} > 0%{?use_cmake}
install -m 644 _buildlibmysqld/*.so* %buildroot%_libdir
ln -s libmysqld.so.0.0.1 %buildroot%_libdir/libmysqld.so.0
ln -s libmysqld.so.0.0.1 %buildroot%_libdir/libmysqld.so
%endif
install -m 660 %{S:14} %buildroot/etc/my.cnf
-install -m 640 scripts/mysqlaccess.conf %buildroot/etc/mysqlaccess.conf
+[ \! -f scripts/mysqlaccess.conf ] || install -m 640 scripts/mysqlaccess.conf %buildroot/etc/mysqlaccess.conf
for i in "${DOCS[@]}"; do
install -m 644 "${i}" "${DOCDIR}" || true
done
-install -m 755 %_sourcedir/rc.mysql-multi %buildroot/etc/init.d/mysql
-sed -i 's|@MYSQLVER@|%{version}|' %buildroot/etc/init.d/mysql
-ln -sf ../../etc/init.d/mysql %buildroot/usr/sbin/rcmysql
-# this is used by the init script
-install -m 755 -d %buildroot/var/run/mysql
+%if 0%{?suse_version} >= 1210 && 0%{?use_systemd} > 0
+install -D -m 755 %_sourcedir/rc.mysql.systemd '%buildroot'/usr/lib/mysql/rcmysql
+sed -i 's|@MYSQLVER@|%{version}|' '%buildroot'/usr/lib/mysql/rcmysql
+ln -sf service '%buildroot'/usr/sbin/rcmysql
+install -D -m 644 %_sourcedir/mysql.service '%buildroot'/usr/lib/systemd/system/mysql.service
+sed -i 's|doc/packages/mysql|doc/packages/%{name}|g' '%buildroot'/usr/lib/mysql/rcmysql
+rm -rf '%buildroot'/etc/init.d
+%else
+install -d -m 755 '%buildroot'/etc/init.d
+install -m 755 '%_sourcedir'/rc.mysql.sysvinit '%buildroot'/etc/init.d/mysql
+sed -i 's|@MYSQLVER@|%{version}|' '%buildroot'/etc/init.d/mysql
+ln -sf ../../etc/init.d/mysql '%buildroot'/usr/sbin/rcmysql
+sed -i 's|doc/packages/mysql|doc/packages/%{name}|g' '%buildroot'/etc/init.d/mysql
+%endif
# SuSEfirewall service description
install -D -m 644 %_sourcedir/mysql.SuSEfirewall2 \
%buildroot/etc/sysconfig/SuSEfirewall2.d/services/mysql
@@ -121,7 +129,7 @@
rm -f .$tmp
done
%endif
-%if ! 0%{prefered} > 0
+%if ! 0%{preferred} > 0
cat libmysqlclient-devel.files | sed 's|%%doc\ ||' | while read tmp; do
cd '%buildroot'
rm -f ."$tmp"
@@ -132,7 +140,6 @@
rm -rf '%buildroot'/%_includedir
rm -rf '%buildroot'/%_datadir/aclocal
%endif
-sed -i 's|doc/packages/mysql|doc/packages/%{name}|g' '%buildroot'/etc/init.d/mysql
ln -s mysqlcheck '%buildroot'%_bindir/mysqlrepair
ln -s mysqlcheck '%buildroot'%_bindir/mysqlanalyze
ln -s mysqlcheck '%buildroot'%_bindir/mysqloptimize
@@ -143,12 +150,14 @@
if [ -f '%buildroot'/usr/bin/mysqlaccess.conf ]; then
mv '%buildroot'/usr/bin/mysqlaccess.conf '%buildroot'/etc/mysqlaccess.conf
fi
+[ \! -f '%buildroot'/etc/mysqlaccess.conf ] || echo '%config(noreplace) %attr(0640, root, mysql) /etc/mysqlaccess.conf' >> mysql-client.files
rm -rf '%buildroot'/etc/my.cnf.d
mkdir -p '%buildroot'/etc/my.cnf.d
bzip2 -cd '%_sourcedir'/configuration-tweaks.tar.bz2 | tar -C '%buildroot'/etc/my.cnf.d -xvf -
%if %have_info < 1
[ -z "`ls '%buildroot'/usr/share/info/mysql.info* 2> /dev/null`" ] || rm -f '%buildroot'/usr/share/info/mysql.info*
%endif
+[ -z "`ls '%buildroot'/usr/share/mysql-test/suite/innodb/t/*.zip`" ] || chmod a-x '%buildroot'/usr/share/mysql-test/suite/innodb/t/*.zip
if [ "`ls '%buildroot'%_libdir/mysql/plugin/dialog*.so 2> /dev/null`" ]; then
echo '%%dir %%_libdir/mysql' >> mysql-client.files
echo '%%dir %%_libdir/mysql/plugin' >> mysql-client.files
++++++ mariadb-5.5.33.tar.bz2 -> mariadb-10.0.11.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/mariadb/mariadb-5.5.33.tar.bz2 /work/SRC/openSUSE:Factory/.mariadb.new/mariadb-10.0.11.tar.bz2 differ: char 11, line 1
++++++ mysql-patches.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mysql-patches/mysql-patches/mariadb-10.0.11-group.patch new/mysql-patches/mysql-patches/mariadb-10.0.11-group.patch
--- old/mysql-patches/mysql-patches/mariadb-10.0.11-group.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/mysql-patches/mysql-patches/mariadb-10.0.11-group.patch 2014-05-20 15:56:19.000000000 +0200
@@ -0,0 +1,148 @@
+PATCH-P0-FEATURE-UPSTREAM: Adds group option
+
+This patch let's you specify not only user to use but also group that MySQL
+should use.
+
+Maintainer: Michal Hrusecky <mhrusecky(a)suse.cz>
+
+Index: scripts/mysqld_safe.sh
+===================================================================
+--- scripts/mysqld_safe.sh.orig
++++ scripts/mysqld_safe.sh
+@@ -26,6 +26,7 @@ logging=init
+ want_syslog=0
+ syslog_tag=
+ user='@MYSQLD_USER@'
++group='@MYSQLD_GROUP@'
+ pid_file=
+ err_log=
+
+@@ -210,6 +211,7 @@ parse_arguments() {
+ --pid[-_]file=*) pid_file="$val" ;;
+ --plugin[-_]dir=*) PLUGIN_DIR="$val" ;;
+ --user=*) user="$val"; SET_USER=1 ;;
++ --group=*) group="$val"; SET_USER=1 ;;
+ --log[-_]basename=*|--hostname=*|--loose[-_]log[-_]basename=*)
+ pid_file="$val.pid";
+ err_log="$val.err";
+@@ -611,11 +613,17 @@ then
+ if test "$user" != "root" -o $SET_USER = 1
+ then
+ USER_OPTION="--user=$user"
++ GROUP_OPTION="--group=$group"
+ fi
+ # Change the err log to the right user, if it is in use
+ if [ $want_syslog -eq 0 ]; then
+ touch "$err_log"
+- chown $user "$err_log"
++ if [ "$user" -a "$group" ]; then
++ chown $user:$group $err_log
++ else
++ [ "$user" ] && chown $user $err_log
++ [ "$group" ] && chgrp $group $err_log
++ fi
+ fi
+ if test -n "$open_files"
+ then
+@@ -638,7 +646,12 @@ then
+ echo "Fatal error Can't create database directory '$mysql_unix_port'"
+ exit 1
+ fi
+- chown $user $mysql_unix_port_dir
++ if [ "$user" -a "$group" ]; then
++ chown $user:$group $mysql_unix_port_dir
++ else
++ [ "$user" ] && chown $user $mysql_unix_port_dir
++ [ "$group" ] && chgrp $group $mysql_unix_port_dir
++ fi
+ chmod 755 $mysql_unix_port_dir
+ fi
+
+Index: scripts/mysql_install_db.sh
+===================================================================
+--- scripts/mysql_install_db.sh.orig
++++ scripts/mysql_install_db.sh
+@@ -29,6 +29,7 @@ args=""
+ defaults=""
+ mysqld_opt=""
+ user=""
++group=""
+
+ force=0
+ in_rpm=0
+@@ -71,6 +72,11 @@ Usage: $0 [OPTIONS]
+ user. You must be root to use this option. By default
+ mysqld runs using your current login name and files and
+ directories that it creates will be owned by you.
++ --group=group_name The login group to use for running mysqld. Files and
++ directories created by mysqld will be owned by this
++ group. You must be root to use this option. By default
++ mysqld runs using your current group and files and
++ directories that it creates will be owned by you.
+
+ All other options are passed to the mysqld program
+
+@@ -118,11 +124,11 @@ parse_arguments()
+ --builddir=*) builddir=`parse_arg "$arg"` ;;
+ --srcdir=*) srcdir=`parse_arg "$arg"` ;;
+ --ldata=*|--datadir=*|--data=*) ldata=`parse_arg "$arg"` ;;
+- --user=*)
+ # Note that the user will be passed to mysqld so that it runs
+ # as 'user' (crucial e.g. if log-bin=/some_other_path/
+ # where a chown of datadir won't help)
+- user=`parse_arg "$arg"` ;;
++ --user=*) user=`parse_arg "$arg"` ;;
++ --group=*) group=`parse_arg "$arg"` ;;
+ --skip-name-resolve) ip_only=1 ;;
+ --verbose) verbose=1 ;; # Obsolete
+ --rpm) in_rpm=1 ;;
+@@ -386,7 +392,12 @@ do
+ fi
+ if test -n "$user"
+ then
+- chown $user "$dir"
++ if test -z "$group"
++ then
++ chown $user $dir
++ else
++ chown $user:$group $dir
++ fi
+ if test $? -ne 0
+ then
+ echo "Cannot change ownership of the database directories to the '$user'"
+@@ -401,6 +412,11 @@ then
+ args="$args --user=$user"
+ fi
+
++if test -n "$group"
++then
++ args="$args --group=$group"
++fi
++
+ # When doing a "cross bootstrap" install, no reference to the current
+ # host should be added to the system tables. So we filter out any
+ # lines which contain the current host name.
+Index: scripts/CMakeLists.txt
+===================================================================
+--- scripts/CMakeLists.txt.orig
++++ scripts/CMakeLists.txt
+@@ -139,6 +139,7 @@ ENDIF()
+
+ SET(HOSTNAME "hostname")
+ SET(MYSQLD_USER "mysql")
++SET(MYSQLD_GROUP "mysql")
+
+ # Required for mysqlbug until autotools are deprecated, once done remove these
+ # and expand default cmake variables
+Index: support-files/CMakeLists.txt
+===================================================================
+--- support-files/CMakeLists.txt.orig
++++ support-files/CMakeLists.txt
+@@ -29,6 +29,7 @@ ELSE()
+ SET(CFLAGS ${CMAKE_C_FLAGS})
+ SET(CXXFLAGS ${CMAKE_CXX_FLAGS})
+ SET(MYSQLD_USER "mysql")
++ SET(MYSQLD_GROUP "mysql")
+ SET(ini_file_extension "cnf")
+ SET(HOSTNAME "hostname")
+ ENDIF()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mysql-patches/mysql-patches/mariadb-10.0.11-header_files_const_warnings.patch new/mysql-patches/mysql-patches/mariadb-10.0.11-header_files_const_warnings.patch
--- old/mysql-patches/mysql-patches/mariadb-10.0.11-header_files_const_warnings.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/mysql-patches/mysql-patches/mariadb-10.0.11-header_files_const_warnings.patch 2014-05-20 15:56:19.000000000 +0200
@@ -0,0 +1,1132 @@
+PATCH-P0-FIX-UPSTREAM: Fix unclean prototype declarations
+BUGS: bnc#860137
+
+Maintainer: Roman Drahtmueller <draht(a)suse.de>
+
+
+diff -rNU 100 ../mariadb-10.0.10-o/include/my_dbug.h ./include/my_dbug.h
+--- ../mariadb-10.0.10-o/include/my_dbug.h 2014-03-30 19:56:34.000000000 +0200
++++ ./include/my_dbug.h 2014-04-23 14:23:19.000000000 +0200
+@@ -1,187 +1,187 @@
+ /* Copyright (c) 2000, 2010, Oracle and/or its affiliates.
+ Copyright (C) 2000-2011 Monty Program Ab
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; version 2 of the License.
+
+ 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, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
+
+ #ifndef _my_dbug_h
+ #define _my_dbug_h
+
+ #ifndef __WIN__
+ #include <signal.h>
+ #endif /* not __WIN__ */
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+ #if !defined(DBUG_OFF) && !defined(_lint)
+
+ struct _db_stack_frame_ {
+ const char *func; /* function name of the previous stack frame */
+ const char *file; /* filename of the function of previous frame */
+ uint level; /* this nesting level, highest bit enables tracing */
+ struct _db_stack_frame_ *prev; /* pointer to the previous frame */
+ };
+
+ struct _db_code_state_;
+ extern my_bool _dbug_on_;
+ extern my_bool _db_keyword_(struct _db_code_state_ *, const char *, int);
+ extern int _db_explain_(struct _db_code_state_ *cs, char *buf, size_t len);
+ extern int _db_explain_init_(char *buf, size_t len);
+ extern int _db_is_pushed_(void);
+ extern void _db_setjmp_(void);
+ extern void _db_longjmp_(void);
+ extern void _db_process_(const char *name);
+ extern void _db_push_(const char *control);
+ extern void _db_pop_(void);
+ extern void _db_set_(const char *control);
+ extern void _db_set_init_(const char *control);
+ extern void _db_enter_(const char *_func_, const char *_file_, uint _line_,
+ struct _db_stack_frame_ *_stack_frame_);
+ extern void _db_return_(uint _line_, struct _db_stack_frame_ *_stack_frame_);
+ extern void _db_pargs_(uint _line_,const char *keyword);
+ extern void _db_doprnt_(const char *format,...)
+ ATTRIBUTE_FORMAT(printf, 1, 2);
+ extern void _db_dump_(uint _line_,const char *keyword,
+ const unsigned char *memory, size_t length);
+ extern void _db_end_(void);
+ extern void _db_lock_file_(void);
+ extern void _db_unlock_file_(void);
+ extern FILE *_db_fp_(void);
+-extern void _db_flush_();
++extern void _db_flush_(void);
+ extern void dbug_swap_code_state(void **code_state_store);
+ extern void dbug_free_code_state(void **code_state_store);
+ extern const char* _db_get_func_(void);
+
+ #define DBUG_ENTER(a) struct _db_stack_frame_ _db_stack_frame_; \
+ _db_enter_ (a,__FILE__,__LINE__,&_db_stack_frame_)
+ #define DBUG_LEAVE _db_return_ (__LINE__, &_db_stack_frame_)
+
+ #define DBUG_RETURN(a1) do {DBUG_LEAVE; return(a1);} while(0)
+ #define DBUG_VOID_RETURN do {DBUG_LEAVE; return;} while(0)
+ #define DBUG_EXECUTE(keyword,a1) \
+ do {if (_db_keyword_(0, (keyword), 0)) { a1 }} while(0)
+ #define DBUG_EXECUTE_IF(keyword,a1) \
+ do {if (_db_keyword_(0, (keyword), 1)) { a1 }} while(0)
+ #define DBUG_EVALUATE(keyword,a1,a2) \
+ (_db_keyword_(0,(keyword), 0) ? (a1) : (a2))
+ #define DBUG_EVALUATE_IF(keyword,a1,a2) \
+ (_db_keyword_(0,(keyword), 1) ? (a1) : (a2))
+ #define DBUG_PRINT(keyword,arglist) \
+ do {_db_pargs_(__LINE__,keyword); _db_doprnt_ arglist;} while(0)
+ #define DBUG_PUSH(a1) _db_push_ (a1)
+ #define DBUG_POP() _db_pop_ ()
+ #define DBUG_SET(a1) _db_set_ (a1)
+ #define DBUG_SET_INITIAL(a1) _db_set_init_ (a1)
+ #define DBUG_PROCESS(a1) _db_process_(a1)
+ #define DBUG_FILE _db_fp_()
+ #define DBUG_DUMP(keyword,a1,a2) _db_dump_(__LINE__,keyword,a1,a2)
+ #define DBUG_END() _db_end_ ()
+ #define DBUG_LOCK_FILE _db_lock_file_()
+ #define DBUG_UNLOCK_FILE _db_unlock_file_()
+ #define DBUG_ASSERT(A) assert(A)
+ #define DBUG_EXPLAIN(buf,len) _db_explain_(0, (buf),(len))
+ #define DBUG_EXPLAIN_INITIAL(buf,len) _db_explain_init_((buf),(len))
+ #define DEBUGGER_OFF do { _dbug_on_= 0; } while(0)
+ #define DEBUGGER_ON do { _dbug_on_= 1; } while(0)
+ #define IF_DBUG(A,B) A
+ #define DBUG_SWAP_CODE_STATE(arg) dbug_swap_code_state(arg)
+ #define DBUG_FREE_CODE_STATE(arg) dbug_free_code_state(arg)
+
+ #ifndef __WIN__
+ #define DBUG_ABORT() (_db_flush_(), abort())
+ #else
+ /*
+ Avoid popup with abort/retry/ignore buttons. When BUG#31745 is fixed we can
+ call abort() instead of _exit(3) (now it would cause a "test signal" popup).
+ */
+ #include <crtdbg.h>
+ #define DBUG_ABORT() (_db_flush_(),\
+ (void)_CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE),\
+ (void)_CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDERR),\
+ _exit(3))
+ #endif
+
+ /*
+ Make the program fail, without creating a core file.
+ abort() will send SIGABRT which (most likely) generates core.
+ Use SIGKILL instead, which cannot be caught.
+ We also pause the current thread, until the signal is actually delivered.
+ An alternative would be to use _exit(EXIT_FAILURE),
+ but then valgrind would report lots of memory leaks.
+ */
+ #ifdef __WIN__
+ #define DBUG_SUICIDE() DBUG_ABORT()
+ #else
+-extern void _db_suicide_();
++extern void _db_suicide_(void);
+ #define DBUG_SUICIDE() (_db_flush_(), _db_suicide_())
+ #endif
+
+ #else /* No debugger */
+
+ #define DBUG_ENTER(a1)
+ #define DBUG_VIOLATION_HELPER_LEAVE do { } while(0)
+ #define DBUG_LEAVE
+ #define DBUG_RETURN(a1) do { return(a1); } while(0)
+ #define DBUG_VOID_RETURN do { return; } while(0)
+ #define DBUG_EXECUTE(keyword,a1) do { } while(0)
+ #define DBUG_EXECUTE_IF(keyword,a1) do { } while(0)
+ #define DBUG_EVALUATE(keyword,a1,a2) (a2)
+ #define DBUG_EVALUATE_IF(keyword,a1,a2) (a2)
+ #define DBUG_PRINT(keyword,arglist) do { } while(0)
+ #define DBUG_PUSH(a1) do { } while(0)
+ #define DBUG_SET(a1) do { } while(0)
+ #define DBUG_SET_INITIAL(a1) do { } while(0)
+ #define DBUG_POP() do { } while(0)
+ #define DBUG_PROCESS(a1) do { } while(0)
+ #define DBUG_DUMP(keyword,a1,a2) do { } while(0)
+ #define DBUG_END() do { } while(0)
+ #define DBUG_ASSERT(A) do { } while(0)
+ #define DBUG_LOCK_FILE do { } while(0)
+ #define DBUG_FILE (stderr)
+ #define DBUG_UNLOCK_FILE do { } while(0)
+ #define DBUG_EXPLAIN(buf,len)
+ #define DBUG_EXPLAIN_INITIAL(buf,len)
+ #define DEBUGGER_OFF do { } while(0)
+ #define DEBUGGER_ON do { } while(0)
+ #define IF_DBUG(A,B) B
+ #define DBUG_SWAP_CODE_STATE(arg) do { } while(0)
+ #define DBUG_FREE_CODE_STATE(arg) do { } while(0)
+ #define DBUG_ABORT() do { } while(0)
+ #define DBUG_CRASH_ENTER(func)
+ #define DBUG_CRASH_RETURN(val) do { return(val); } while(0)
+ #define DBUG_CRASH_VOID_RETURN do { return; } while(0)
+ #define DBUG_SUICIDE() do { } while(0)
+
+ #endif
+
+ #ifdef EXTRA_DEBUG
+ /**
+ Sync points allow us to force the server to reach a certain line of code
+ and block there until the client tells the server it is ok to go on.
+ The client tells the server to block with SELECT GET_LOCK()
+ and unblocks it with SELECT RELEASE_LOCK(). Used for debugging difficult
+ concurrency problems
+ */
+ #define DBUG_SYNC_POINT(lock_name,lock_timeout) \
+ debug_sync_point(lock_name,lock_timeout)
+ void debug_sync_point(const char* lock_name, uint lock_timeout);
+ #else
+ #define DBUG_SYNC_POINT(lock_name,lock_timeout)
+ #endif /* EXTRA_DEBUG */
+
+ #ifdef __cplusplus
+ }
+ #endif
+
+ #endif /* _my_dbug_h */
+diff -rNU 100 ../mariadb-10.0.10-o/include/my_global.h ./include/my_global.h
+--- ../mariadb-10.0.10-o/include/my_global.h 2014-03-30 19:56:37.000000000 +0200
++++ ./include/my_global.h 2014-04-23 14:23:46.000000000 +0200
+@@ -458,201 +458,201 @@
+ #endif
+
+ /*
+ Deprecated workaround for false-positive uninitialized variables
+ warnings. Those should be silenced using tool-specific heuristics.
+
+ Enabled by default for g++ due to the bug referenced below.
+ */
+ #if defined(_lint) || defined(FORCE_INIT_OF_VARS) || \
+ (defined(__GNUC__) && defined(__cplusplus))
+ #define LINT_INIT(var) var= 0
+ #else
+ #define LINT_INIT(var)
+ #endif
+
+ #ifndef SO_EXT
+ #ifdef _WIN32
+ #define SO_EXT ".dll"
+ #else
+ #define SO_EXT ".so"
+ #endif
+ #endif
+
+ /*
+ Suppress uninitialized variable warning without generating code.
+
+ The _cplusplus is a temporary workaround for C++ code pending a fix
+ for a g++ bug (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34772)
+ */
+ #if defined(_lint) || defined(FORCE_INIT_OF_VARS) || \
+ defined(__cplusplus) || !defined(__GNUC__)
+ #define UNINIT_VAR(x) x= 0
+ #else
+ /* GCC specific self-initialization which inhibits the warning. */
+ #define UNINIT_VAR(x) x= x
+ #endif
+
+ #if !defined(HAVE_UINT)
+ #undef HAVE_UINT
+ #define HAVE_UINT
+ typedef unsigned int uint;
+ typedef unsigned short ushort;
+ #endif
+
+ #define swap_variables(t, a, b) do { t dummy; dummy= a; a= b; b= dummy; } while(0)
+ #define MY_TEST(a) ((a) ? 1 : 0)
+ #define set_if_bigger(a,b) do { if ((a) < (b)) (a)=(b); } while(0)
+ #define set_if_smaller(a,b) do { if ((a) > (b)) (a)=(b); } while(0)
+ #define set_bits(type, bit_count) (sizeof(type)*8 <= (bit_count) ? ~(type) 0 : ((((type) 1) << (bit_count)) - (type) 1))
+ #define test_all_bits(a,b) (((a) & (b)) == (b))
+ #define array_elements(A) ((uint) (sizeof(A)/sizeof(A[0])))
+
+ /* Define some general constants */
+ #ifndef TRUE
+ #define TRUE (1) /* Logical true */
+ #define FALSE (0) /* Logical false */
+ #endif
+
+ #include <my_compiler.h>
+
+ /*
+ Wen using the embedded library, users might run into link problems,
+ duplicate declaration of __cxa_pure_virtual, solved by declaring it a
+ weak symbol.
+ */
+ #if defined(USE_MYSYS_NEW) && ! defined(DONT_DECLARE_CXA_PURE_VIRTUAL)
+ C_MODE_START
+ int __cxa_pure_virtual () __attribute__ ((weak));
+ C_MODE_END
+ #endif
+
+ /* The DBUG_ON flag always takes precedence over default DBUG_OFF */
+ #if defined(DBUG_ON) && defined(DBUG_OFF)
+ #undef DBUG_OFF
+ #endif
+
+ /* We might be forced to turn debug off, if not turned off already */
+ #if (defined(FORCE_DBUG_OFF) || defined(_lint)) && !defined(DBUG_OFF)
+ # define DBUG_OFF
+ # ifdef DBUG_ON
+ # undef DBUG_ON
+ # endif
+ #endif
+
+ #ifdef DBUG_OFF
+ #undef EXTRA_DEBUG
+ #endif
+
+ /* Some types that is different between systems */
+
+ typedef int File; /* File descriptor */
+ #ifdef _WIN32
+ typedef SOCKET my_socket;
+ #else
+ typedef int my_socket; /* File descriptor for sockets */
+ #define INVALID_SOCKET -1
+ #endif
+ /* Type for fuctions that handles signals */
+ #define sig_handler RETSIGTYPE
+ C_MODE_START
+-typedef void (*sig_return)();/* Returns type from signal */
++typedef void (*sig_return)(void);/* Returns type from signal */
+ C_MODE_END
+ #if defined(__GNUC__) && !defined(_lint)
+ typedef char pchar; /* Mixed prototypes can take char */
+ typedef char puchar; /* Mixed prototypes can take char */
+ typedef char pbool; /* Mixed prototypes can take char */
+ typedef short pshort; /* Mixed prototypes can take short int */
+ typedef float pfloat; /* Mixed prototypes can take float */
+ #else
+ typedef int pchar; /* Mixed prototypes can't take char */
+ typedef uint puchar; /* Mixed prototypes can't take char */
+ typedef int pbool; /* Mixed prototypes can't take char */
+ typedef int pshort; /* Mixed prototypes can't take short int */
+ typedef double pfloat; /* Mixed prototypes can't take float */
+ #endif
+ C_MODE_START
+ typedef int (*qsort_cmp)(const void *,const void *);
+ typedef int (*qsort_cmp2)(void*, const void *,const void *);
+ C_MODE_END
+ #define qsort_t RETQSORTTYPE /* Broken GCC cant handle typedef !!!! */
+ #ifdef HAVE_SYS_SOCKET_H
+ #include <sys/socket.h>
+ #endif
+ typedef SOCKET_SIZE_TYPE size_socket;
+
+ #ifndef SOCKOPT_OPTLEN_TYPE
+ #define SOCKOPT_OPTLEN_TYPE size_socket
+ #endif
+
+ /* file create flags */
+
+ #ifndef O_SHARE /* Probably not windows */
+ #define O_SHARE 0 /* Flag to my_open for shared files */
+ #ifndef O_BINARY
+ #define O_BINARY 0 /* Flag to my_open for binary files */
+ #endif
+ #ifndef FILE_BINARY
+ #define FILE_BINARY O_BINARY /* Flag to my_fopen for binary streams */
+ #endif
+ #ifdef HAVE_FCNTL
+ #define HAVE_FCNTL_LOCK
+ #define F_TO_EOF 0L /* Param to lockf() to lock rest of file */
+ #endif
+ #endif /* O_SHARE */
+
+ #ifndef O_TEMPORARY
+ #define O_TEMPORARY 0
+ #endif
+ #ifndef O_SHORT_LIVED
+ #define O_SHORT_LIVED 0
+ #endif
+ #ifndef O_NOFOLLOW
+ #define O_NOFOLLOW 0
+ #endif
+
+ /* additional file share flags for win32 */
+ #ifdef __WIN__
+ #define _SH_DENYRWD 0x110 /* deny read/write mode & delete */
+ #define _SH_DENYWRD 0x120 /* deny write mode & delete */
+ #define _SH_DENYRDD 0x130 /* deny read mode & delete */
+ #define _SH_DENYDEL 0x140 /* deny delete only */
+ #endif /* __WIN__ */
+
+
+ /* General constants */
+ #define FN_LEN 256 /* Max file name len */
+ #define FN_HEADLEN 253 /* Max length of filepart of file name */
+ #define FN_EXTLEN 20 /* Max length of extension (part of FN_LEN) */
+ #define FN_REFLEN 512 /* Max length of full path-name */
+ #define FN_EXTCHAR '.'
+ #define FN_HOMELIB '~' /* ~/ is used as abbrev for home dir */
+ #define FN_CURLIB '.' /* ./ is used as abbrev for current dir */
+ #define FN_PARENTDIR ".." /* Parent directory; Must be a string */
+
+ #ifdef _WIN32
+ #define FN_LIBCHAR '\\'
+ #define FN_LIBCHAR2 '/'
+ #define FN_DIRSEP "/\\" /* Valid directory separators */
+ #define FN_EXEEXT ".exe"
+ #define FN_SOEXT ".dll"
+ #define FN_ROOTDIR "\\"
+ #define FN_DEVCHAR ':'
+ #define FN_NETWORK_DRIVES /* Uses \\ to indicate network drives */
+ #define FN_NO_CASE_SENCE /* Files are not case-sensitive */
+ #else
+ #define FN_LIBCHAR '/'
+ #define FN_LIBCHAR2 '/'
+ #define FN_DIRSEP "/" /* Valid directory separators */
+ #define FN_EXEEXT ""
+ #define FN_SOEXT ".so"
+ #define FN_ROOTDIR "/"
+ #endif
+
+ /*
+ MY_FILE_MIN is Windows speciality and is used to quickly detect
+ the mismatch of CRT and mysys file IO usage on Windows at runtime.
+ CRT file descriptors can be in the range 0-2047, whereas descriptors returned
+ by my_open() will start with 2048. If a file descriptor with value less then
+ MY_FILE_MIN is passed to mysys IO function, chances are it stemms from
+ open()/fileno() and not my_open()/my_fileno.
+
+diff -rNU 100 ../mariadb-10.0.10-o/include/my_pthread.h ./include/my_pthread.h
+--- ../mariadb-10.0.10-o/include/my_pthread.h 2014-03-30 19:56:37.000000000 +0200
++++ ./include/my_pthread.h 2014-04-23 14:24:59.000000000 +0200
+@@ -594,247 +594,247 @@
+ };
+
+ /*
+ Portable implementation (is_srwlock == FALSE)
+ Fields are identical with Unix my_rw_lock_t fields.
+ */
+ struct
+ {
+ pthread_mutex_t lock; /* lock for structure */
+ pthread_cond_t readers; /* waiting readers */
+ pthread_cond_t writers; /* waiting writers */
+ int state; /* -1:writer,0:free,>0:readers */
+ int waiters; /* number of waiting writers */
+ #ifdef SAFE_MUTEX
+ pthread_t write_thread;
+ #endif
+ };
+ } my_rw_lock_t;
+
+
+ #else /* _WIN32 */
+
+ /*
+ On systems which don't support native read/write locks we have
+ to use own implementation.
+ */
+ typedef struct st_my_rw_lock_t {
+ pthread_mutex_t lock; /* lock for structure */
+ pthread_cond_t readers; /* waiting readers */
+ pthread_cond_t writers; /* waiting writers */
+ int state; /* -1:writer,0:free,>0:readers */
+ int waiters; /* number of waiting writers */
+ #ifdef SAFE_MUTEX
+ pthread_t write_thread;
+ #endif
+ } my_rw_lock_t;
+
+ #endif /*! _WIN32 */
+
+ extern int my_rw_init(my_rw_lock_t *);
+ extern int my_rw_destroy(my_rw_lock_t *);
+ extern int my_rw_rdlock(my_rw_lock_t *);
+ extern int my_rw_wrlock(my_rw_lock_t *);
+ extern int my_rw_unlock(my_rw_lock_t *);
+ extern int my_rw_tryrdlock(my_rw_lock_t *);
+ extern int my_rw_trywrlock(my_rw_lock_t *);
+ #ifdef SAFE_MUTEX
+ #define my_rw_lock_assert_write_owner(A) \
+ DBUG_ASSERT((A)->state == -1 && pthread_equal(pthread_self(), \
+ (A)->write_thread))
+ #define my_rw_lock_assert_not_write_owner(A) \
+ DBUG_ASSERT((A)->state >= 0 || ! pthread_equal(pthread_self(), \
+ (A)->write_thread))
+ #else
+ #define my_rw_lock_assert_write_owner(A)
+ #define my_rw_lock_assert_not_write_owner(A)
+ #endif
+ #endif /* NEED_MY_RW_LOCK */
+
+
+ #define GETHOSTBYADDR_BUFF_SIZE 2048
+
+ #ifndef HAVE_THR_SETCONCURRENCY
+ #define thr_setconcurrency(A) pthread_dummy(0)
+ #endif
+ #if !defined(HAVE_PTHREAD_ATTR_SETSTACKSIZE) && ! defined(pthread_attr_setstacksize)
+ #define pthread_attr_setstacksize(A,B) pthread_dummy(0)
+ #endif
+
+ /* Define mutex types, see my_thr_init.c */
+ #define MY_MUTEX_INIT_SLOW NULL
+ #ifdef PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP
+ extern pthread_mutexattr_t my_fast_mutexattr;
+ #define MY_MUTEX_INIT_FAST &my_fast_mutexattr
+ #else
+ #define MY_MUTEX_INIT_FAST NULL
+ #endif
+ #ifdef PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP
+ extern pthread_mutexattr_t my_errorcheck_mutexattr;
+ #define MY_MUTEX_INIT_ERRCHK &my_errorcheck_mutexattr
+ #else
+ #define MY_MUTEX_INIT_ERRCHK NULL
+ #endif
+
+ #ifndef ESRCH
+ /* Define it to something */
+ #define ESRCH 1
+ #endif
+
+ typedef ulong my_thread_id;
+
+ extern void my_threadattr_global_init(void);
+ extern my_bool my_thread_global_init(void);
+ extern void my_thread_global_reinit(void);
+ extern void my_thread_global_end(void);
+ extern my_bool my_thread_init(void);
+ extern void my_thread_end(void);
+ extern const char *my_thread_name(void);
+ extern my_thread_id my_thread_dbug_id(void);
+ extern int pthread_dummy(int);
+-extern void my_mutex_init();
+-extern void my_mutex_end();
++extern void my_mutex_init(void);
++extern void my_mutex_end(void);
+
+ /* All thread specific variables are in the following struct */
+
+ #define THREAD_NAME_SIZE 10
+ #ifndef DEFAULT_THREAD_STACK
+ /*
+ We need to have at least 256K stack to handle calls to myisamchk_init()
+ with the current number of keys and key parts.
+ */
+ #define DEFAULT_THREAD_STACK (288*1024L)
+ #endif
+
+ #define MY_PTHREAD_LOCK_READ 0
+ #define MY_PTHREAD_LOCK_WRITE 1
+
+ #include <mysql/psi/mysql_thread.h>
+
+ #define INSTRUMENT_ME 0
+
+ struct st_my_thread_var
+ {
+ int thr_errno;
+ mysql_cond_t suspend;
+ mysql_mutex_t mutex;
+ mysql_mutex_t * volatile current_mutex;
+ mysql_cond_t * volatile current_cond;
+ pthread_t pthread_self;
+ my_thread_id id;
+ int cmp_length;
+ int volatile abort;
+ my_bool init;
+ struct st_my_thread_var *next,**prev;
+ void *opt_info;
+ uint lock_type; /* used by conditional release the queue */
+ void *stack_ends_here;
+ safe_mutex_t *mutex_in_use;
+ #ifndef DBUG_OFF
+ void *dbug;
+ char name[THREAD_NAME_SIZE+1];
+ #endif
+ };
+
+ extern struct st_my_thread_var *_my_thread_var(void) __attribute__ ((const));
+-extern void **my_thread_var_dbug();
+-extern safe_mutex_t **my_thread_var_mutex_in_use();
++extern void **my_thread_var_dbug(void);
++extern safe_mutex_t **my_thread_var_mutex_in_use(void);
+ extern uint my_thread_end_wait_time;
+ extern my_bool safe_mutex_deadlock_detector;
+ #define my_thread_var (_my_thread_var())
+ #define my_errno my_thread_var->thr_errno
+ /*
+ Keep track of shutdown,signal, and main threads so that my_end() will not
+ report errors with them
+ */
+
+ /* Which kind of thread library is in use */
+
+ #define THD_LIB_OTHER 1
+ #define THD_LIB_NPTL 2
+ #define THD_LIB_LT 4
+
+ extern uint thd_lib_detected;
+
+ /*
+ thread_safe_xxx functions are for critical statistic or counters.
+ The implementation is guaranteed to be thread safe, on all platforms.
+ Note that the calling code should *not* assume the counter is protected
+ by the mutex given, as the implementation of these helpers may change
+ to use my_atomic operations instead.
+ */
+
+ #ifndef thread_safe_increment
+ #ifdef _WIN32
+ #define thread_safe_increment(V,L) InterlockedIncrement((long*) &(V))
+ #define thread_safe_decrement(V,L) InterlockedDecrement((long*) &(V))
+ #else
+ #define thread_safe_increment(V,L) \
+ (mysql_mutex_lock((L)), (V)++, mysql_mutex_unlock((L)))
+ #define thread_safe_decrement(V,L) \
+ (mysql_mutex_lock((L)), (V)--, mysql_mutex_unlock((L)))
+ #endif
+ #endif
+
+ #ifndef thread_safe_add
+ #ifdef _WIN32
+ #define thread_safe_add(V,C,L) InterlockedExchangeAdd((long*) &(V),(C))
+ #define thread_safe_sub(V,C,L) InterlockedExchangeAdd((long*) &(V),-(long) (C))
+ #else
+ #define thread_safe_add(V,C,L) \
+ (mysql_mutex_lock((L)), (V)+=(C), mysql_mutex_unlock((L)))
+ #define thread_safe_sub(V,C,L) \
+ (mysql_mutex_lock((L)), (V)-=(C), mysql_mutex_unlock((L)))
+ #endif
+ #endif
+
+
+ /*
+ statistics_xxx functions are for non critical statistic,
+ maintained in global variables.
+ When compiling with SAFE_STATISTICS:
+ - race conditions can not occur.
+ - some locking occurs, which may cause performance degradation.
+
+ When compiling without SAFE_STATISTICS:
+ - race conditions can occur, making the result slightly inaccurate.
+ - the lock given is not honored.
+ */
+ #ifdef SAFE_STATISTICS
+ #define statistic_increment(V,L) thread_safe_increment((V),(L))
+ #define statistic_decrement(V,L) thread_safe_decrement((V),(L))
+ #define statistic_add(V,C,L) thread_safe_add((V),(C),(L))
+ #define statistic_sub(V,C,L) thread_safe_sub((V),(C),(L))
+ #else
+ #define statistic_decrement(V,L) (V)--
+ #define statistic_increment(V,L) (V)++
+ #define statistic_add(V,C,L) (V)+=(C)
+ #define statistic_sub(V,C,L) (V)-=(C)
+ #endif /* SAFE_STATISTICS */
+
+ /*
+ No locking needed, the counter is owned by the thread
+ */
+ #define status_var_increment(V) (V)++
+ #define status_var_decrement(V) (V)--
+ #define status_var_add(V,C) (V)+=(C)
+ #define status_var_sub(V,C) (V)-=(C)
+
+ #ifdef SAFE_MUTEX
+ #define mysql_mutex_record_order(A,B) \
+ do { \
+ mysql_mutex_lock(A); mysql_mutex_lock(B); \
+ mysql_mutex_unlock(B); mysql_mutex_unlock(A); \
+ } while(0)
+ #else
+ #define mysql_mutex_record_order(A,B) do { } while(0)
+ #endif
+
+ /* At least Windows and NetBSD do not have this definition */
+ #ifndef PTHREAD_STACK_MIN
+ #define PTHREAD_STACK_MIN 65536
+ #endif
+
+ #ifdef __cplusplus
+ }
+ #endif
+ #endif /* _my_ptread_h */
+diff -rNU 100 ../mariadb-10.0.10-o/include/my_sys.h ./include/my_sys.h
+--- ../mariadb-10.0.10-o/include/my_sys.h 2014-03-30 19:56:37.000000000 +0200
++++ ./include/my_sys.h 2014-04-23 14:26:50.000000000 +0200
+@@ -539,226 +539,226 @@
+ (_my_b_write(info,0,0) , ((*(info)->write_pos++)=(chr))))
+
+ #define my_b_fill_cache(info) \
+ (((info)->read_end=(info)->read_pos),(*(info)->read_function)(info,0,0))
+
+ #define my_b_tell(info) ((info)->pos_in_file + \
+ (size_t) (*(info)->current_pos - (info)->request_pos))
+ #define my_b_write_tell(info) ((info)->pos_in_file + \
+ ((info)->write_pos - (info)->write_buffer))
+
+ #define my_b_get_buffer_start(info) (info)->request_pos
+ #define my_b_get_bytes_in_buffer(info) (char*) (info)->read_end - \
+ (char*) my_b_get_buffer_start(info)
+ #define my_b_get_pos_in_file(info) (info)->pos_in_file
+
+ /* tell write offset in the SEQ_APPEND cache */
+ int my_b_copy_to_file(IO_CACHE *cache, FILE *file);
+ my_off_t my_b_append_tell(IO_CACHE* info);
+ my_off_t my_b_safe_tell(IO_CACHE* info); /* picks the correct tell() */
+
+ #define my_b_bytes_in_cache(info) (size_t) (*(info)->current_end - \
+ *(info)->current_pos)
+
+ typedef uint32 ha_checksum;
+ extern ulong my_crc_dbug_check;
+
+ #include <my_alloc.h>
+
+ /* Prototypes for mysys and my_func functions */
+
+ extern int my_copy(const char *from,const char *to,myf MyFlags);
+ extern int my_delete(const char *name,myf MyFlags);
+ extern int my_getwd(char * buf,size_t size,myf MyFlags);
+ extern int my_setwd(const char *dir,myf MyFlags);
+ extern int my_lock(File fd,int op,my_off_t start, my_off_t length,myf MyFlags);
+ extern void *my_once_alloc(size_t Size,myf MyFlags);
+ extern void my_once_free(void);
+ extern char *my_once_strdup(const char *src,myf myflags);
+ extern void *my_once_memdup(const void *src, size_t len, myf myflags);
+ extern File my_open(const char *FileName,int Flags,myf MyFlags);
+ extern File my_register_filename(File fd, const char *FileName,
+ enum file_type type_of_file,
+ uint error_message_number, myf MyFlags);
+ extern File my_create(const char *FileName,int CreateFlags,
+ int AccessFlags, myf MyFlags);
+ extern int my_close(File Filedes,myf MyFlags);
+ extern int my_mkdir(const char *dir, int Flags, myf MyFlags);
+ extern int my_readlink(char *to, const char *filename, myf MyFlags);
+ extern int my_is_symlink(const char *filename);
+ extern int my_realpath(char *to, const char *filename, myf MyFlags);
+ extern File my_create_with_symlink(const char *linkname, const char *filename,
+ int createflags, int access_flags,
+ myf MyFlags);
+ extern int my_delete_with_symlink(const char *name, myf MyFlags);
+ extern int my_rename_with_symlink(const char *from,const char *to,myf MyFlags);
+ extern int my_symlink(const char *content, const char *linkname, myf MyFlags);
+ extern size_t my_read(File Filedes,uchar *Buffer,size_t Count,myf MyFlags);
+ extern size_t my_pread(File Filedes,uchar *Buffer,size_t Count,my_off_t offset,
+ myf MyFlags);
+ extern int my_rename(const char *from,const char *to,myf MyFlags);
+ extern my_off_t my_seek(File fd,my_off_t pos,int whence,myf MyFlags);
+ extern my_off_t my_tell(File fd,myf MyFlags);
+ extern size_t my_write(File Filedes,const uchar *Buffer,size_t Count,
+ myf MyFlags);
+ extern size_t my_pwrite(File Filedes,const uchar *Buffer,size_t Count,
+ my_off_t offset,myf MyFlags);
+ extern size_t my_fread(FILE *stream,uchar *Buffer,size_t Count,myf MyFlags);
+ extern size_t my_fwrite(FILE *stream,const uchar *Buffer,size_t Count,
+ myf MyFlags);
+ extern my_off_t my_fseek(FILE *stream,my_off_t pos,int whence,myf MyFlags);
+ extern my_off_t my_ftell(FILE *stream,myf MyFlags);
+
+ /* implemented in my_memmem.c */
+ extern void *my_memmem(const void *haystack, size_t haystacklen,
+ const void *needle, size_t needlelen);
+
+
+ #ifdef _WIN32
+ extern int my_access(const char *path, int amode);
+ #else
+ #define my_access access
+ #endif
+
+ extern int check_if_legal_filename(const char *path);
+ extern int check_if_legal_tablename(const char *path);
+
+ #ifdef __WIN__
+ extern my_bool is_filename_allowed(const char *name, size_t length,
+ my_bool allow_current_dir);
+ #else /* __WIN__ */
+ # define is_filename_allowed(name, length, allow_cwd) (TRUE)
+ #endif /* __WIN__ */
+
+ #ifdef _WIN32
+ /* Windows-only functions (CRT equivalents)*/
+ extern HANDLE my_get_osfhandle(File fd);
+ extern void my_osmaperr(unsigned long last_error);
+ #endif
+
+ extern void init_glob_errs(void);
+-extern const char** get_global_errmsgs();
++extern const char** get_global_errmsgs(void);
+ extern void wait_for_free_space(const char *filename, int errors);
+ extern FILE *my_fopen(const char *FileName,int Flags,myf MyFlags);
+ extern FILE *my_fdopen(File Filedes,const char *name, int Flags,myf MyFlags);
+ extern FILE *my_freopen(const char *path, const char *mode, FILE *stream);
+ extern int my_fclose(FILE *fd,myf MyFlags);
+ extern int my_vfprintf(FILE *stream, const char* format, va_list args);
+ extern void my_strerror(char *buf, size_t len, int nr);
+ extern int my_fprintf(FILE *stream, const char* format, ...);
+ extern File my_fileno(FILE *fd);
+ extern int my_chsize(File fd,my_off_t newlength, int filler, myf MyFlags);
+ extern int my_chmod(const char *name, mode_t mode, myf my_flags);
+ extern const char *my_basename(const char *filename);
+ extern void thr_set_sync_wait_callback(void (*before_sync)(void),
+ void (*after_sync)(void));
+ extern int my_sync(File fd, myf my_flags);
+ extern int my_sync_dir(const char *dir_name, myf my_flags);
+ extern int my_sync_dir_by_file(const char *file_name, myf my_flags);
+ extern const char *my_get_err_msg(uint nr);
+ extern void my_error(uint nr,myf MyFlags, ...);
+ extern void my_printf_error(uint my_err, const char *format,
+ myf MyFlags, ...)
+ ATTRIBUTE_FORMAT(printf, 2, 4);
+ extern void my_printv_error(uint error, const char *format, myf MyFlags,
+ va_list ap);
+-extern int my_error_register(const char** (*get_errmsgs) (),
++extern int my_error_register(const char** (*get_errmsgs) (void),
+ uint first, uint last);
+ extern const char **my_error_unregister(uint first, uint last);
+ extern void my_message(uint my_err, const char *str,myf MyFlags);
+ extern void my_message_stderr(uint my_err, const char *str, myf MyFlags);
+ extern my_bool my_init(void);
+ extern void my_end(int infoflag);
+ extern int my_redel(const char *from, const char *to, time_t backup_time_stamp,
+ myf MyFlags);
+ void my_create_backup_name(char *to, const char *from,
+ time_t backup_time_stamp);
+ extern int my_copystat(const char *from, const char *to, int MyFlags);
+ extern char * my_filename(File fd);
+
+ #ifdef EXTRA_DEBUG
+ void my_print_open_files(void);
+ #else
+ #define my_print_open_files()
+ #endif
+
+ extern my_bool init_tmpdir(MY_TMPDIR *tmpdir, const char *pathlist);
+ extern char *my_tmpdir(MY_TMPDIR *tmpdir);
+ extern void free_tmpdir(MY_TMPDIR *tmpdir);
+
+ extern void my_remember_signal(int signal_number,sig_handler (*func)(int));
+ extern size_t dirname_part(char * to,const char *name, size_t *to_res_length);
+ extern size_t dirname_length(const char *name);
+ #define base_name(A) (A+dirname_length(A))
+ extern int test_if_hard_path(const char *dir_name);
+ extern my_bool has_path(const char *name);
+ extern char *convert_dirname(char *to, const char *from, const char *from_end);
+ extern void to_unix_path(char * name);
+ extern char * fn_ext(const char *name);
+ extern char * fn_ext2(const char *name);
+ extern char * fn_same(char * toname,const char *name,int flag);
+ extern char * fn_format(char * to,const char *name,const char *dir,
+ const char *form, uint flag);
+ extern size_t strlength(const char *str);
+ extern void pack_dirname(char * to,const char *from);
+ extern size_t normalize_dirname(char * to, const char *from);
+ extern size_t unpack_dirname(char * to,const char *from);
+ extern size_t cleanup_dirname(char * to,const char *from);
+ extern size_t system_filename(char * to,const char *from);
+ extern size_t unpack_filename(char * to,const char *from);
+ extern char * intern_filename(char * to,const char *from);
+ extern int pack_filename(char * to, const char *name, size_t max_length);
+ extern char * my_path(char * to,const char *progname,
+ const char *own_pathname_part);
+ extern char * my_load_path(char * to, const char *path,
+ const char *own_path_prefix);
+ extern int wild_compare(const char *str,const char *wildstr,
+ pbool str_is_pattern);
+ extern my_bool array_append_string_unique(const char *str,
+ const char **array, size_t size);
+ extern void get_date(char * to,int timeflag,time_t use_time);
+ extern void soundex(CHARSET_INFO *, char * out_pntr, char * in_pntr,
+ pbool remove_garbage);
+ extern int init_record_cache(RECORD_CACHE *info,size_t cachesize,File file,
+ size_t reclength,enum cache_type type,
+ pbool use_async_io);
+ extern int read_cache_record(RECORD_CACHE *info,uchar *to);
+ extern int end_record_cache(RECORD_CACHE *info);
+ extern int write_cache_record(RECORD_CACHE *info,my_off_t filepos,
+ const uchar *record,size_t length);
+ extern int flush_write_cache(RECORD_CACHE *info);
+ extern void handle_recived_signals(void);
+
+ extern sig_handler my_set_alarm_variable(int signo);
+ extern my_bool radixsort_is_appliccable(uint n_items, size_t size_of_element);
+ extern void my_string_ptr_sort(uchar *base,uint items,size_t size);
+ extern void radixsort_for_str_ptr(uchar* base[], uint number_of_elements,
+ size_t size_of_element,uchar *buffer[]);
+ extern qsort_t my_qsort(void *base_ptr, size_t total_elems, size_t size,
+ qsort_cmp cmp);
+ extern qsort_t my_qsort2(void *base_ptr, size_t total_elems, size_t size,
+ qsort2_cmp cmp, void *cmp_argument);
+ extern qsort2_cmp get_ptr_compare(size_t);
+ void my_store_ptr(uchar *buff, size_t pack_length, my_off_t pos);
+ my_off_t my_get_ptr(uchar *ptr, size_t pack_length);
+ extern int init_io_cache(IO_CACHE *info,File file,size_t cachesize,
+ enum cache_type type,my_off_t seek_offset,
+ pbool use_async_io, myf cache_myflags);
+ extern my_bool reinit_io_cache(IO_CACHE *info,enum cache_type type,
+ my_off_t seek_offset,pbool use_async_io,
+ pbool clear_cache);
+ extern void setup_io_cache(IO_CACHE* info);
+ extern int _my_b_read(IO_CACHE *info,uchar *Buffer,size_t Count);
+ extern int _my_b_read_r(IO_CACHE *info,uchar *Buffer,size_t Count);
+ extern void init_io_cache_share(IO_CACHE *read_cache, IO_CACHE_SHARE *cshare,
+ IO_CACHE *write_cache, uint num_threads);
+ extern void remove_io_thread(IO_CACHE *info);
+ extern int _my_b_seq_read(IO_CACHE *info,uchar *Buffer,size_t Count);
+ extern int _my_b_net_read(IO_CACHE *info,uchar *Buffer,size_t Count);
+ extern int _my_b_get(IO_CACHE *info);
+ extern int _my_b_async_read(IO_CACHE *info,uchar *Buffer,size_t Count);
+ extern int _my_b_write(IO_CACHE *info,const uchar *Buffer,size_t Count);
+ extern int my_b_append(IO_CACHE *info,const uchar *Buffer,size_t Count);
+ extern int my_b_safe_write(IO_CACHE *info,const uchar *Buffer,size_t Count);
+
+ extern int my_block_write(IO_CACHE *info, const uchar *Buffer,
+ size_t Count, my_off_t pos);
+@@ -782,235 +782,235 @@
+ extern void close_cached_file(IO_CACHE *cache);
+ File create_temp_file(char *to, const char *dir, const char *pfx,
+ int mode, myf MyFlags);
+ #define my_init_dynamic_array(A,B,C,D,E) init_dynamic_array2(A,B,NULL,C,D,E)
+ #define my_init_dynamic_array2(A,B,C,D,E,F) init_dynamic_array2(A,B,C,D,E,F)
+ extern my_bool init_dynamic_array2(DYNAMIC_ARRAY *array, uint element_size,
+ void *init_buffer, uint init_alloc,
+ uint alloc_increment, myf my_flags);
+ extern my_bool insert_dynamic(DYNAMIC_ARRAY *array, const void* element);
+ extern void *alloc_dynamic(DYNAMIC_ARRAY *array);
+ extern void *pop_dynamic(DYNAMIC_ARRAY*);
+ extern my_bool set_dynamic(DYNAMIC_ARRAY *array, const void *element,
+ uint array_index);
+ extern my_bool allocate_dynamic(DYNAMIC_ARRAY *array, uint max_elements);
+ extern void get_dynamic(DYNAMIC_ARRAY *array, void *element, uint array_index);
+ extern void delete_dynamic(DYNAMIC_ARRAY *array);
+ extern void delete_dynamic_element(DYNAMIC_ARRAY *array, uint array_index);
+ extern void delete_dynamic_with_callback(DYNAMIC_ARRAY *array, FREE_FUNC f);
+ extern void freeze_size(DYNAMIC_ARRAY *array);
+ extern int get_index_dynamic(DYNAMIC_ARRAY *array, void *element);
+ #define dynamic_array_ptr(array,array_index) ((array)->buffer+(array_index)*(array)->size_of_element)
+ #define dynamic_element(array,array_index,type) ((type)((array)->buffer) +(array_index))
+ #define push_dynamic(A,B) insert_dynamic((A),(B))
+ #define reset_dynamic(array) ((array)->elements= 0)
+ #define sort_dynamic(A,cmp) my_qsort((A)->buffer, (A)->elements, (A)->size_of_element, (cmp))
+
+ extern my_bool init_dynamic_string(DYNAMIC_STRING *str, const char *init_str,
+ size_t init_alloc,size_t alloc_increment);
+ extern my_bool dynstr_append(DYNAMIC_STRING *str, const char *append);
+ my_bool dynstr_append_mem(DYNAMIC_STRING *str, const char *append,
+ size_t length);
+ extern my_bool dynstr_append_os_quoted(DYNAMIC_STRING *str, const char *append,
+ ...);
+ extern my_bool dynstr_append_quoted(DYNAMIC_STRING *str,
+ const char *append, size_t len,
+ char quote);
+ extern my_bool dynstr_set(DYNAMIC_STRING *str, const char *init_str);
+ extern my_bool dynstr_realloc(DYNAMIC_STRING *str, size_t additional_size);
+ extern my_bool dynstr_trunc(DYNAMIC_STRING *str, size_t n);
+ extern void dynstr_free(DYNAMIC_STRING *str);
+ extern uint32 copy_and_convert_extended(char *to, uint32 to_length,
+ CHARSET_INFO *to_cs,
+ const char *from, uint32 from_length,
+ CHARSET_INFO *from_cs, uint *errors);
+ extern void dynstr_reassociate(DYNAMIC_STRING *str, char **res, size_t *length,
+ size_t *alloc_length);
+ extern uint32 copy_and_convert_extended(char *to, uint32 to_length,
+ CHARSET_INFO *to_cs,
+ const char *from, uint32 from_length,
+ CHARSET_INFO *from_cs, uint *errors);
+ #ifdef HAVE_MLOCK
+ extern void *my_malloc_lock(size_t length,myf flags);
+ extern void my_free_lock(void *ptr);
+ #else
+ #define my_malloc_lock(A,B) my_malloc((A),(B))
+ #define my_free_lock(A) my_free((A))
+ #endif
+ #define alloc_root_inited(A) ((A)->min_malloc != 0)
+ #define ALLOC_ROOT_MIN_BLOCK_SIZE (MALLOC_OVERHEAD + sizeof(USED_MEM) + 8)
+ #define clear_alloc_root(A) do { (A)->free= (A)->used= (A)->pre_alloc= 0; (A)->min_malloc=0;} while(0)
+ extern void init_alloc_root(MEM_ROOT *mem_root, size_t block_size,
+ size_t pre_alloc_size, myf my_flags);
+ extern void *alloc_root(MEM_ROOT *mem_root, size_t Size);
+ extern void *multi_alloc_root(MEM_ROOT *mem_root, ...);
+ extern void free_root(MEM_ROOT *root, myf MyFLAGS);
+ extern void set_prealloc_root(MEM_ROOT *root, char *ptr);
+ extern void reset_root_defaults(MEM_ROOT *mem_root, size_t block_size,
+ size_t prealloc_size);
+ extern char *strdup_root(MEM_ROOT *root,const char *str);
+ static inline char *safe_strdup_root(MEM_ROOT *root, const char *str)
+ {
+ return str ? strdup_root(root, str) : 0;
+ }
+ extern char *strmake_root(MEM_ROOT *root,const char *str,size_t len);
+ extern void *memdup_root(MEM_ROOT *root,const void *str, size_t len);
+ extern my_bool my_compress(uchar *, size_t *, size_t *);
+ extern my_bool my_uncompress(uchar *, size_t , size_t *);
+ extern uchar *my_compress_alloc(const uchar *packet, size_t *len,
+ size_t *complen);
+ extern void *my_az_allocator(void *dummy, unsigned int items, unsigned int size);
+ extern void my_az_free(void *dummy, void *address);
+ extern int my_compress_buffer(uchar *dest, size_t *destLen,
+ const uchar *source, size_t sourceLen);
+ extern int packfrm(const uchar *, size_t, uchar **, size_t *);
+ extern int unpackfrm(uchar **, size_t *, const uchar *);
+
+ extern ha_checksum my_checksum(ha_checksum crc, const uchar *mem,
+ size_t count);
+ #ifndef DBUG_OFF
+ extern void my_debug_put_break_here(void);
+ #else
+ #define my_debug_put_break_here() do {} while(0)
+ #endif
+
+ extern void my_sleep(ulong m_seconds);
+ extern ulong crc32(ulong crc, const uchar *buf, uint len);
+ extern uint my_set_max_open_files(uint files);
+ void my_free_open_file_info(void);
+
+ extern my_bool my_gethwaddr(uchar *to);
+-extern int my_getncpus();
++extern int my_getncpus(void);
+
+ #define HRTIME_RESOLUTION 1000000ULL /* microseconds */
+ typedef struct {ulonglong val;} my_hrtime_t;
+-void my_time_init();
+-extern my_hrtime_t my_hrtime();
++void my_time_init(void);
++extern my_hrtime_t my_hrtime(void);
+ extern ulonglong my_interval_timer(void);
+ extern ulonglong my_getcputime(void);
+
+ #define microsecond_interval_timer() (my_interval_timer()/1000)
+ #define hrtime_to_time(X) ((X).val/HRTIME_RESOLUTION)
+ #define hrtime_from_time(X) ((ulonglong)((X)*HRTIME_RESOLUTION))
+ #define hrtime_to_double(X) ((X).val/(double)HRTIME_RESOLUTION)
+ #define hrtime_sec_part(X) ((ulong)((X).val % HRTIME_RESOLUTION))
+ #define my_time(X) hrtime_to_time(my_hrtime())
+
+ #ifdef HAVE_SYS_MMAN_H
+ #include <sys/mman.h>
+
+ #ifndef MAP_NOSYNC
+ #define MAP_NOSYNC 0
+ #endif
+ #ifndef MAP_NORESERVE
+ #define MAP_NORESERVE 0 /* For irix and AIX */
+ #endif
+
+ #ifdef HAVE_MMAP64
+ #define my_mmap(a,b,c,d,e,f) mmap64(a,b,c,d,e,f)
+ #else
+ #define my_mmap(a,b,c,d,e,f) mmap(a,b,c,d,e,f)
+ #endif
+ #define my_munmap(a,b) munmap((a),(b))
+
+ #else
+ /* not a complete set of mmap() flags, but only those that nesessary */
+ #define PROT_READ 1
+ #define PROT_WRITE 2
+ #define MAP_NORESERVE 0
+ #define MAP_SHARED 0x0001
+ #define MAP_PRIVATE 0x0002
+ #define MAP_NOSYNC 0x0800
+ #define MAP_FAILED ((void *)-1)
+ #define MS_SYNC 0x0000
+
+ #define HAVE_MMAP
+ void *my_mmap(void *, size_t, int, int, int, my_off_t);
+ int my_munmap(void *, size_t);
+ #endif
+
+ /* my_getpagesize */
+ #ifdef HAVE_GETPAGESIZE
+ #define my_getpagesize() getpagesize()
+ #else
+ int my_getpagesize(void);
+ #endif
+
+ int my_msync(int, void *, size_t, int);
+
+ #define MY_UUID_SIZE 16
+ #define MY_UUID_STRING_LENGTH (8+1+4+1+4+1+4+1+12)
+
+ void my_uuid_init(ulong seed1, ulong seed2);
+ void my_uuid(uchar *guid);
+ void my_uuid2str(const uchar *guid, char *s);
+-void my_uuid_end();
++void my_uuid_end(void);
+
+ /* character sets */
+ extern void my_charset_loader_init_mysys(MY_CHARSET_LOADER *loader);
+ extern uint get_charset_number(const char *cs_name, uint cs_flags);
+ extern uint get_collation_number(const char *name);
+ extern const char *get_charset_name(uint cs_number);
+
+ extern CHARSET_INFO *get_charset(uint cs_number, myf flags);
+ extern CHARSET_INFO *get_charset_by_name(const char *cs_name, myf flags);
+ extern CHARSET_INFO *my_collation_get_by_name(MY_CHARSET_LOADER *loader,
+ const char *name, myf flags);
+ extern CHARSET_INFO *get_charset_by_csname(const char *cs_name,
+ uint cs_flags, myf my_flags);
+ extern CHARSET_INFO *my_charset_get_by_name(MY_CHARSET_LOADER *loader,
+ const char *name,
+ uint cs_flags, myf my_flags);
+ extern my_bool resolve_charset(const char *cs_name,
+ CHARSET_INFO *default_cs,
+ CHARSET_INFO **cs);
+ extern my_bool resolve_collation(const char *cl_name,
+ CHARSET_INFO *default_cl,
+ CHARSET_INFO **cl);
+ extern void free_charsets(void);
+ extern char *get_charsets_dir(char *buf);
+ extern my_bool my_charset_same(CHARSET_INFO *cs1, CHARSET_INFO *cs2);
+ extern my_bool init_compiled_charsets(myf flags);
+ extern void add_compiled_collation(struct charset_info_st *cs);
+ extern size_t escape_string_for_mysql(CHARSET_INFO *charset_info,
+ char *to, size_t to_length,
+ const char *from, size_t length);
+ #ifdef __WIN__
+ #define BACKSLASH_MBTAIL
+ /* File system character set */
+ extern CHARSET_INFO *fs_character_set(void);
+ #endif
+ extern size_t escape_quotes_for_mysql(CHARSET_INFO *charset_info,
+ char *to, size_t to_length,
+ const char *from, size_t length);
+
+ extern void thd_increment_bytes_sent(ulong length);
+ extern void thd_increment_bytes_received(ulong length);
+ extern void thd_increment_net_big_packet_count(ulong length);
+
+ #ifdef __WIN__
+ extern my_bool have_tcpip; /* Is set if tcpip is used */
+
+ /* implemented in my_windac.c */
+
+ int my_security_attr_create(SECURITY_ATTRIBUTES **psa, const char **perror,
+ DWORD owner_rights, DWORD everybody_rights);
+
+ void my_security_attr_free(SECURITY_ATTRIBUTES *sa);
+
+ /* implemented in my_conio.c */
+ char* my_cgets(char *string, size_t clen, size_t* plen);
+
+ #endif
+
+ #include <mysql/psi/psi.h>
+
+ #ifdef HAVE_PSI_INTERFACE
+ extern MYSQL_PLUGIN_IMPORT struct PSI_bootstrap *PSI_hook;
+ extern void set_psi_server(PSI *psi);
+ void my_init_mysys_psi_keys(void);
+ #endif
+
+ struct st_mysql_file;
+ extern struct st_mysql_file *mysql_stdin;
+ C_MODE_END
+ #endif /* _my_sys_h */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mysql-patches/mysql-patches/mariadb-10.0.5-deharcode-libdir.patch new/mysql-patches/mysql-patches/mariadb-10.0.5-deharcode-libdir.patch
--- old/mysql-patches/mysql-patches/mariadb-10.0.5-deharcode-libdir.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/mysql-patches/mysql-patches/mariadb-10.0.5-deharcode-libdir.patch 2014-05-20 15:56:19.000000000 +0200
@@ -0,0 +1,27 @@
+PATCH-P0-FIX-SUSE: dehardcode libdir
+
+Don't expect libdir is set to lib64 on x86_64 only.
+There is other occurances like ppc64 and aarch64.
+Use %{_libdir} macro instead
+
+Maintainer: Dinar Valeev <dvaleev(a)suse.com>
+
+Index: cmake/install_layout.cmake
+===================================================================
+--- cmake/install_layout.cmake.orig
++++ cmake/install_layout.cmake
+@@ -148,14 +148,6 @@ SET(INSTALL_SCRIPTDIR_RPM
+ SET(INSTALL_SYSCONFDIR_RPM "/etc")
+ SET(INSTALL_SYSCONF2DIR_RPM "/etc/my.cnf.d")
+ #
+-IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
+- SET(INSTALL_LIBDIR_RPM "lib64")
+- SET(INSTALL_PLUGINDIR_RPM "lib64/mysql/plugin")
+-ELSE()
+- SET(INSTALL_LIBDIR_RPM "lib")
+- SET(INSTALL_PLUGINDIR_RPM "lib/mysql/plugin")
+-ENDIF()
+-#
+ SET(INSTALL_INCLUDEDIR_RPM "include/mysql")
+ #
+ SET(INSTALL_DOCDIR_RPM "share/doc")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mysql-patches/mysql-patches/mariadb-10.0.9-perl-in-bench.patch new/mysql-patches/mysql-patches/mariadb-10.0.9-perl-in-bench.patch
--- old/mysql-patches/mysql-patches/mariadb-10.0.9-perl-in-bench.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/mysql-patches/mysql-patches/mariadb-10.0.9-perl-in-bench.patch 2014-05-20 15:56:19.000000000 +0200
@@ -0,0 +1,17 @@
+PATCH-P0-HACK-UPSTREAM: Correct perl interpreter
+
+Setting correct perl interpreter in ugly way. Somebody should find out why it
+is not set correctly by itself.
+
+Maintainer: Michal Hrusecky <mhrusecky(a)suse.cz>
+
+Index: sql-bench/test-table-elimination.sh
+===================================================================
+--- sql-bench/test-table-elimination.sh.orig
++++ sql-bench/test-table-elimination.sh
+@@ -1,4 +1,4 @@
+-#!@PERL@
++#!/usr/bin/perl
+ # Test of table elimination feature
+
+ use Cwd;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mysql-patches/mysql-patches/mariadb-5.5.28-group.patch new/mysql-patches/mysql-patches/mariadb-5.5.28-group.patch
--- old/mysql-patches/mysql-patches/mariadb-5.5.28-group.patch 2013-08-14 09:05:39.000000000 +0200
+++ new/mysql-patches/mysql-patches/mariadb-5.5.28-group.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,148 +0,0 @@
-PATCH-P0-FEATURE-UPSTREAM: Adds group option
-
-This patch let's you specify not only user to use but also group that MySQL
-should use.
-
-Maintainer: Michal Hrusecky <mhrusecky(a)suse.cz>
-
-Index: scripts/mysqld_safe.sh
-===================================================================
---- scripts/mysqld_safe.sh.orig
-+++ scripts/mysqld_safe.sh
-@@ -24,6 +24,7 @@ logging=init
- want_syslog=0
- syslog_tag=
- user='@MYSQLD_USER@'
-+group='@MYSQLD_GROUP@'
- pid_file=
- err_log=
-
-@@ -187,6 +188,7 @@ parse_arguments() {
- --pid-file=*) pid_file="$val" ;;
- --plugin-dir=*) PLUGIN_DIR="$val" ;;
- --user=*) user="$val"; SET_USER=1 ;;
-+ --group=*) group="$val"; SET_USER=1 ;;
- --log-basename=*|--hostname=*|--loose-log-basename=*)
- pid_file="$val.pid";
- err_log="$val.err";
-@@ -579,11 +581,17 @@ then
- if test "$user" != "root" -o $SET_USER = 1
- then
- USER_OPTION="--user=$user"
-+ GROUP_OPTION="--group=$group"
- fi
- # Change the err log to the right user, if it is in use
- if [ $want_syslog -eq 0 ]; then
- touch "$err_log"
-- chown $user "$err_log"
-+ if [ "$user" -a "$group" ]; then
-+ chown $user:$group $err_log
-+ else
-+ [ "$user" ] && chown $user $err_log
-+ [ "$group" ] && chgrp $group $err_log
-+ fi
- fi
- if test -n "$open_files"
- then
-@@ -606,7 +614,12 @@ then
- echo "Fatal error Can't create database directory '$mysql_unix_port'"
- exit 1
- fi
-- chown $user $mysql_unix_port_dir
-+ if [ "$user" -a "$group" ]; then
-+ chown $user:$group $mysql_unix_port_dir
-+ else
-+ [ "$user" ] && chown $user $mysql_unix_port_dir
-+ [ "$group" ] && chgrp $group $mysql_unix_port_dir
-+ fi
- chmod 755 $mysql_unix_port_dir
- fi
-
-Index: scripts/mysql_install_db.sh
-===================================================================
---- scripts/mysql_install_db.sh.orig
-+++ scripts/mysql_install_db.sh
-@@ -29,6 +29,7 @@ args=""
- defaults=""
- mysqld_opt=""
- user=""
-+group=""
-
- force=0
- in_rpm=0
-@@ -71,6 +72,11 @@ Usage: $0 [OPTIONS]
- user. You must be root to use this option. By default
- mysqld runs using your current login name and files and
- directories that it creates will be owned by you.
-+ --group=group_name The login group to use for running mysqld. Files and
-+ directories created by mysqld will be owned by this
-+ group. You must be root to use this option. By default
-+ mysqld runs using your current group and files and
-+ directories that it creates will be owned by you.
-
- All other options are passed to the mysqld program
-
-@@ -118,11 +124,11 @@ parse_arguments()
- --builddir=*) builddir=`parse_arg "$arg"` ;;
- --srcdir=*) srcdir=`parse_arg "$arg"` ;;
- --ldata=*|--datadir=*|--data=*) ldata=`parse_arg "$arg"` ;;
-- --user=*)
- # Note that the user will be passed to mysqld so that it runs
- # as 'user' (crucial e.g. if log-bin=/some_other_path/
- # where a chown of datadir won't help)
-- user=`parse_arg "$arg"` ;;
-+ --user=*) user=`parse_arg "$arg"` ;;
-+ --group=*) group=`parse_arg "$arg"` ;;
- --skip-name-resolve) ip_only=1 ;;
- --verbose) verbose=1 ;; # Obsolete
- --rpm) in_rpm=1 ;;
-@@ -385,7 +391,12 @@ do
- fi
- if test -n "$user"
- then
-- chown $user "$dir"
-+ if test -z "$group"
-+ then
-+ chown $user $dir
-+ else
-+ chown $user:$group $dir
-+ fi
- if test $? -ne 0
- then
- echo "Cannot change ownership of the database directories to the '$user'"
-@@ -400,6 +411,11 @@ then
- args="$args --user=$user"
- fi
-
-+if test -n "$group"
-+then
-+ args="$args --group=$group"
-+fi
-+
- # When doing a "cross bootstrap" install, no reference to the current
- # host should be added to the system tables. So we filter out any
- # lines which contain the current host name.
-Index: scripts/CMakeLists.txt
-===================================================================
---- scripts/CMakeLists.txt.orig
-+++ scripts/CMakeLists.txt
-@@ -137,6 +137,7 @@ ENDIF()
-
- SET(HOSTNAME "hostname")
- SET(MYSQLD_USER "mysql")
-+SET(MYSQLD_GROUP "mysql")
-
- # Required for mysqlbug until autotools are deprecated, once done remove these
- # and expand default cmake variables
-Index: support-files/CMakeLists.txt
-===================================================================
---- support-files/CMakeLists.txt.orig
-+++ support-files/CMakeLists.txt
-@@ -29,6 +29,7 @@ ELSE()
- SET(CFLAGS ${CMAKE_C_FLAGS})
- SET(CXXFLAGS ${CMAKE_CXX_FLAGS})
- SET(MYSQLD_USER "mysql")
-+ SET(MYSQLD_GROUP "mysql")
- SET(ini_file_extension "cnf")
- SET(HOSTNAME "hostname")
- ENDIF()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mysql-patches/mysql-patches/mariadb-5.5.33-deharcode-libdir.patch new/mysql-patches/mysql-patches/mariadb-5.5.33-deharcode-libdir.patch
--- old/mysql-patches/mysql-patches/mariadb-5.5.33-deharcode-libdir.patch 2013-09-18 10:38:32.000000000 +0200
+++ new/mysql-patches/mysql-patches/mariadb-5.5.33-deharcode-libdir.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,27 +0,0 @@
-PATCH-P0-FIX-SUSE: dehardcode libdir
-
-Don't expect libdir is set to lib64 on x86_64 only.
-There is other occurances like ppc64 and aarch64.
-Use %{_libdir} macro instead
-
-Maintainer: Dinar Valeev <dvaleev(a)suse.com>
-
-Index: cmake/install_layout.cmake
-===================================================================
---- cmake/install_layout.cmake.orig
-+++ cmake/install_layout.cmake
-@@ -148,14 +148,6 @@ SET(INSTALL_SCRIPTDIR_RPM
- SET(INSTALL_SYSCONFDIR_RPM "/etc")
- SET(INSTALL_SYSCONF2DIR_RPM "/etc/my.cnf.d")
- #
--IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
-- SET(INSTALL_LIBDIR_RPM "lib64")
-- SET(INSTALL_PLUGINDIR_RPM "lib64/mysql/plugin")
--ELSE()
-- SET(INSTALL_LIBDIR_RPM "lib")
-- SET(INSTALL_PLUGINDIR_RPM "lib/mysql/plugin")
--ENDIF()
--#
- SET(INSTALL_INCLUDEDIR_RPM "include/mysql")
- #
- SET(INSTALL_DOCDIR_RPM "share/doc")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mysql-patches/mysql-patches/mysql-community-server-5.6.12-srv_buf_size.patch new/mysql-patches/mysql-patches/mysql-community-server-5.6.12-srv_buf_size.patch
--- old/mysql-patches/mysql-patches/mysql-community-server-5.6.12-srv_buf_size.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/mysql-patches/mysql-patches/mysql-community-server-5.6.12-srv_buf_size.patch 2014-05-20 15:56:19.000000000 +0200
@@ -0,0 +1,30 @@
+PATCH-P0-FIX-UPSTREAM: Rename srv_buf_size variable
+BUGS: upstream#70047
+
+Variable was probably renamed sometime in the past but error was not triggered
+because ifdef was not satisfied.
+
+Maintainer: Michal Hrusecky <mhrusecky(a)suse.cz>
+
+Index: storage/innobase/row/row0log.cc
+===================================================================
+--- storage/innobase/row/row0log.cc.orig
++++ storage/innobase/row/row0log.cc
+@@ -2364,7 +2364,7 @@ all_done:
+ and be ignored when the operation is unsupported. */
+ fallocate(index->online_log->fd,
+ FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE,
+- ofs, srv_buf_size);
++ ofs, srv_sort_buf_size);
+ #endif /* FALLOC_FL_PUNCH_HOLE */
+
+ next_mrec = index->online_log->head.block;
+@@ -3152,7 +3152,7 @@ all_done:
+ and be ignored when the operation is unsupported. */
+ fallocate(index->online_log->fd,
+ FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE,
+- ofs, srv_buf_size);
++ ofs, srv_sort_buf_size);
+ #endif /* FALLOC_FL_PUNCH_HOLE */
+
+ next_mrec = index->online_log->head.block;
++++++ mysql.service ++++++
[Unit]
Description=MySQL server
Wants=basic.target
After=basic.target network.target
[Service]
Type=forking
ExecStart=/usr/lib/mysql/rcmysql start
ExecStop=/usr/lib/mysql/rcmysql stop
[Install]
WantedBy=multi-user.target
++++++ rc.mysql.systemd ++++++
++++ 679 lines (skipped)
++++++ rc.mysql.sysvinit ++++++
++++ 628 lines (skipped)
++++++ series ++++++
--- /var/tmp/diff_new_pack.qtKbwB/_old 2014-06-02 07:00:45.000000000 +0200
+++ /var/tmp/diff_new_pack.qtKbwB/_new 2014-06-02 07:00:45.000000000 +0200
@@ -8,6 +8,9 @@
mariadb-5.5.32-upgrade-exit-status.patch
mariadb-5.2.3-cnf.patch
mysql-community-server-5.5.6-safe-process-in-bin.patch
-mariadb-5.5.28-group.patch
-mariadb-5.5.33-deharcode-libdir.patch
+mariadb-10.0.11-group.patch
+mariadb-10.0.5-deharcode-libdir.patch
mysql-5.5.31-upgrade-datadir.patch
+mysql-community-server-5.6.12-srv_buf_size.patch
+mariadb-10.0.9-perl-in-bench.patch
+mariadb-10.0.11-header_files_const_warnings.patch
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package kdump for openSUSE:Factory checked in at 2014-06-02 07:00:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kdump (Old)
and /work/SRC/openSUSE:Factory/.kdump.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdump"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kdump/kdump.changes 2014-05-23 08:05:25.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kdump.new/kdump.changes 2014-06-02 07:00:39.000000000 +0200
@@ -1,0 +2,13 @@
+Fri May 30 11:31:44 UTC 2014 - ptesarik(a)suse.cz
+
+- Update to 0.8.13
+ o Store current configuration if KDUMP_NETCONFIG is static
+ (bnc#876212).
+ o Modify kdump udev rules to work with systemd
+ (bnc#874992, bnc#809209).
+ o Support percent-encoded URLs for KDUMP_SAVEDIR (bnc#869590).
+
+- kdump-fix-udev-rules.patch: Dropped.
+- kdump-urldecode.patch: Dropped.
+
+-------------------------------------------------------------------
Old:
----
kdump-0.8.12-rpmlintrc
kdump-0.8.12.tar.bz2
kdump-fix-udev-rules.patch
kdump-urldecode.patch
New:
----
kdump-0.8.13-rpmlintrc
kdump-0.8.13.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdump.spec ++++++
--- /var/tmp/diff_new_pack.XA4XLr/_old 2014-06-02 07:00:40.000000000 +0200
+++ /var/tmp/diff_new_pack.XA4XLr/_new 2014-06-02 07:00:40.000000000 +0200
@@ -31,7 +31,7 @@
Url: https://github.com/ptesarik/kdump
Name: kdump
-Version: 0.8.12
+Version: 0.8.13
Release: 0
Requires: curl
Requires: makedumpfile
@@ -59,8 +59,6 @@
Source: %{name}-%{version}.tar.bz2
Source2: %{name}-%{version}-rpmlintrc
Source3: kdump.service
-Patch1: %{name}-fix-udev-rules.patch
-Patch2: %{name}-urldecode.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# rename "kdump-helpers" (10.3) -> "kdump" (11.0/SP2)
Provides: kdump-helpers = %{version}
@@ -98,9 +96,6 @@
%prep
%setup
-%patch1 -p1
-%patch2 -p1
-chmod +x tests/testurldecode.sh
%build
export CFLAGS="%optflags"
++++++ kdump-0.8.12-rpmlintrc -> kdump-0.8.13-rpmlintrc ++++++
++++++ kdump-0.8.12.tar.bz2 -> kdump-0.8.13.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-0.8.12/70-kdump.rules new/kdump-0.8.13/70-kdump.rules
--- old/kdump-0.8.12/70-kdump.rules 2014-05-16 19:31:02.000000000 +0200
+++ new/kdump-0.8.13/70-kdump.rules 1970-01-01 01:00:00.000000000 +0100
@@ -1,12 +0,0 @@
-#
-# Kdump core headers needs to be regnerated if the CPUs or memory changes.
-# For this, reload kdump.
-#
-# Novell Bug #389658
-#
-
-SUBSYSTEM=="cpu", ACTION=="online", PROGRAM="/etc/init.d/boot.kdump try-restart"
-SUBSYSTEM=="cpu", ACTION=="offline", PROGRAM="/etc/init.d/boot.kdump try-restart"
-SUBSYSTEM=="memory", ACTION=="add", PROGRAM="/etc/init.d/boot.kdump try-restart"
-SUBSYSTEM=="memory", ACTION=="remove", PROGRAM="/etc/init.d/boot.kdump try-restart"
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-0.8.12/70-kdump.rules.in new/kdump-0.8.13/70-kdump.rules.in
--- old/kdump-0.8.12/70-kdump.rules.in 1970-01-01 01:00:00.000000000 +0100
+++ new/kdump-0.8.13/70-kdump.rules.in 2014-05-30 13:24:24.000000000 +0200
@@ -0,0 +1,37 @@
+@if @ARCH@ s390 s390x
+#
+# For s390x the ELF header is created in the kdump kernel and therefore
+# no kdump udev rules are required.
+#
+@else
+#
+# Kdump core headers needs to be regnerated if the CPUs or memory changes.
+# For this, reload kdump.
+#
+# Novell Bug #389658
+#
+
+TEST=="/usr/bin/systemctl", GOTO="kdump_systemd"
+
+@if @ARCH@ ppc ppc64 ppc64le
+SUBSYSTEM=="cpu", ACTION=="online", RUN+="/etc/init.d/boot.kdump try-restart"
+SUBSYSTEM=="cpu", ACTION=="offline", RUN+="/etc/init.d/boot.kdump try-restart"
+@endif
+SUBSYSTEM=="memory", ACTION=="add", RUN+="/etc/init.d/boot.kdump try-restart"
+SUBSYSTEM=="memory", ACTION=="remove", RUN+="/etc/init.d/boot.kdump try-restart"
+
+GOTO="kdump_end"
+
+# Systemd limits service start rate, so if udev events are emitted too
+# often, kdump will enter failed state, unless the counter is reset here.
+LABEL="kdump_systemd"
+
+@if @ARCH@ ppc ppc64 ppc64le
+SUBSYSTEM=="cpu", ACTION=="online", RUN+="/usr/bin/systemctl reset-failed kdump", RUN+="/usr/bin/systemctl try-restart kdump"
+SUBSYSTEM=="cpu", ACTION=="offline", RUN+="/usr/bin/systemctl reset-failed kdump", RUN+="/usr/bin/systemctl try-restart kdump"
+@endif
+SUBSYSTEM=="memory", ACTION=="add", RUN+="/usr/bin/systemctl reset-failed kdump", RUN+="/usr/bin/systemctl try-restart kdump"
+SUBSYSTEM=="memory", ACTION=="remove", RUN+="/usr/bin/systemctl reset-failed kdump", RUN+="/usr/bin/systemctl try-restart kdump"
+
+LABEL="kdump_end"
+@endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-0.8.12/CMakeLists.txt new/kdump-0.8.13/CMakeLists.txt
--- old/kdump-0.8.12/CMakeLists.txt 2014-05-16 19:31:02.000000000 +0200
+++ new/kdump-0.8.13/CMakeLists.txt 2014-05-30 13:24:24.000000000 +0200
@@ -26,7 +26,7 @@
cmake_minimum_required(VERSION 2.6.2)
set (PACKAGE_STRING "kdump")
-set (PACKAGE_VERSION "0.8.12")
+set (PACKAGE_VERSION "0.8.13")
include_directories("${PROJECT_BINARY_DIR}")
@@ -195,8 +195,26 @@
/var/adm/fillup-templates/
)
+ADD_CUSTOM_COMMAND(
+ OUTPUT
+ 70-kdump.rules
+ COMMAND
+ ARCH=${CMAKE_SYSTEM_PROCESSOR}
+ awk -f ${CMAKE_CURRENT_SOURCE_DIR}/process_cond.awk
+ ${CMAKE_CURRENT_SOURCE_DIR}/70-kdump.rules.in
+ > ${CMAKE_CURRENT_BINARY_DIR}/70-kdump.rules
+ DEPENDS
+ 70-kdump.rules.in
+)
+ADD_CUSTOM_TARGET(
+ kdump.rules
+ ALL
+ DEPENDS
+ 70-kdump.rules
+)
+
INSTALL(FILES
- ${CMAKE_CURRENT_SOURCE_DIR}/70-kdump.rules
+ ${CMAKE_CURRENT_BINARY_DIR}/70-kdump.rules
DESTINATION
/etc/udev/rules.d
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-0.8.12/NEWS new/kdump-0.8.13/NEWS
--- old/kdump-0.8.12/NEWS 2014-05-16 19:31:02.000000000 +0200
+++ new/kdump-0.8.13/NEWS 2014-05-30 13:24:24.000000000 +0200
@@ -1,3 +1,9 @@
+0.8.13
+------
+ * Store current configuration if KDUMP_NETCONFIG is static
+ * Modify kdump udev rules to work with systemd (and clean them up)
+ * Support percent-encoded URLs for KDUMP_SAVEDIR
+
0.8.12
------
* Add "ssh" target protocol to transfer the file over the standard input
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-0.8.12/init/mkdumprd new/kdump-0.8.13/init/mkdumprd
--- old/kdump-0.8.12/init/mkdumprd 2014-05-16 19:31:02.000000000 +0200
+++ new/kdump-0.8.13/init/mkdumprd 2014-05-30 13:24:24.000000000 +0200
@@ -156,8 +156,8 @@
fi
if [ "$KDUMP_NETCONFIG" = "auto" ] ; then
status_message "Network: auto"
- DRACUT_ARGS+=" --kernel-cmdline 'rd.neednet=1 ip=any'"
if [ -n "$neednet" ]; then
+ DRACUT_ARGS+=" --kernel-cmdline 'rd.neednet=1 ip=any'"
modules="$modules network"
fi
elif [ -z "$KDUMP_NETCONFIG" ] ; then
@@ -166,10 +166,19 @@
interface=$(echo "$KDUMP_NETCONFIG" | cut -d ':' -f 1)
mode=$(echo "$KDUMP_NETCONFIG" | cut -d ':' -f 2)
- status_message "Network interface: $interface"
+ if [ "$interface" = "default" ] ; then
+ interface=$( kdump_default_netdev )
+ interface="${interface% *}"
+ status_message "Network interface: $interface (default)"
+ else
+ status_message "Network interface: $interface"
+ fi
+
if [ "$mode" = "static" ] ; then
+ ipcfg="$(kdump_ip_config "$interface")"
+ hwaddr=$(cat "/sys/class/net/$interface/address")
status_message "Network mode: Static IP"
- DRACUT_ARGS+=" --kernel-cmdline 'rd.neednet=1'"
+ DRACUT_ARGS+=" --kernel-cmdline 'rd.neednet=1 ip=$ipcfg::$hwaddr'"
else
status_message "Network mode: Automatic IP (DHCP)"
DRACUT_ARGS+=" --kernel-cmdline 'rd.neednet=1 ip=${interface}:dhcp'"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-0.8.12/init/module-setup.sh new/kdump-0.8.13/init/module-setup.sh
--- old/kdump-0.8.12/init/module-setup.sh 2014-05-16 19:31:02.000000000 +0200
+++ new/kdump-0.8.13/init/module-setup.sh 2014-05-30 13:24:24.000000000 +0200
@@ -18,7 +18,9 @@
kdump_setup_files "$initdir" "${!host_fs_types[*]}"
+ inst_hook mount 30 "$moddir/mount-kdump.sh"
inst_hook pre-pivot 90 /lib/kdump/save_dump.sh
inst_multiple makedumpfile makedumpfile-R.pl kdumptool \
$KDUMP_REQUIRED_PROGRAMS
+ inst_simple /etc/resolv.conf
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-0.8.12/init/mount-kdump.sh new/kdump-0.8.13/init/mount-kdump.sh
--- old/kdump-0.8.12/init/mount-kdump.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/kdump-0.8.13/init/mount-kdump.sh 2014-05-30 13:24:24.000000000 +0200
@@ -0,0 +1,25 @@
+#!/bin/bash
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+#
+# mount-kdump.sh: fake successful mount without mounting anything
+#
+# The kdump module adds all necessary mount points under /kdump,
+# so there is no need to mount root separately. In fact, mounting
+# the root filesystem may not be needed at all, e.g. with FTP dump.
+#
+
+# override ismounted: pretend that "$NEWROOT" is mounted
+# since this function must return correct result for non-root fs,
+# let's modify the existing definition using sed:
+eval "$(
+ type ismounted |
+ sed -e '1,/^{/s/^{.*/&\n test "$1" != "$NEWROOT" || return 0/; 1d'
+)"
+
+# override usable_root: everything is "usable" for kdump
+usable_root()
+{
+ return 0
+}
+
+# vim: set sw=4 ts=4 et:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-0.8.12/init/setup-kdump.functions new/kdump-0.8.13/init/setup-kdump.functions
--- old/kdump-0.8.12/init/setup-kdump.functions 2014-05-16 19:31:02.000000000 +0200
+++ new/kdump-0.8.13/init/setup-kdump.functions 2014-05-30 13:24:24.000000000 +0200
@@ -46,6 +46,169 @@
)
} # }}}
+# Extract the device name from a route
+#
+# Input:
+# output of "route show"
+# Output:
+# device name (for each line of input)
+function kdump_route2dev() # {{{
+{
+ sed -n 's/.* dev \([^ ]*\) *.*/\1/p'
+} # }}}
+
+#
+# Determine the default network device.
+#
+# Output:
+# "$ifname $mode"
+# ifname default network interface name (or empty if none)
+# mode initialization mode ("static" or "dhcp")
+function kdump_default_netdev() # {{{
+{
+ local ifname BOOTPROTO
+ local inffile="/etc/install.inf"
+
+ # check current default routes
+ ifname=$(ip route show 0/0 | kdump_route2dev)
+ if [ -z "$ifname" ] ; then
+ ifname=$(ip -6 route show ::/0 | kdump_route2dev)
+ fi
+
+ # if not found, get info from install.inf
+ if [ -z "$ifname" -a -f "$inffile" ] ; then
+ local dev hwaddr hwaddr2
+ eval $( sed -ne '
+ s/^NetConfig: \(.*\)/BOOTPROTO=\1/p;
+ s/^Netdevice: \(.*\)/ifname=\1/p;
+ s/HWAddr: \(.*\)/hwaddr=\1/p'
+ "$inffile" )
+ if [ -n "$hwaddr" ] ; then
+ for dev in /sys/class/net/* ; do
+ read hwaddr2 < "$dev"/address
+ if [ "$hwaddr" = "$hwaddr2" ] ; then
+ ifname="${dev##*/}"
+ fi
+ done
+ fi
+ fi
+
+ # if still not found, there is no network
+ if [ -z "$ifname" ] ; then
+ return 0
+ fi
+
+ # get mode from config files
+ if [ -z "$BOOTPROTO" ] ; then
+ local cfg=/etc/sysconfig/network/ifcfg-"$ifname"
+ if [ -f "$cfg" ] ; then
+ eval $(grep '^[[:space:]]*BOOTPROTO=' "$cfg")
+ fi
+ fi
+
+ # if not found, look if there is a dhcp daemon for the interface
+ if [ -z "$BOOTPROTO" ] ; then
+ if [ -n "$(ps -C dhclient,dhclient6,dhcpcd -o cmd= |
+ sed -n '/.* \('"$ifname"'\)\( .*\|$\)/p' )" ] ; then
+ BOOTPROTO=dhcp
+ else
+ BOOTPROTO=static
+ fi
+ fi
+
+ # if the interface is a bridge, then try to use the underlying interface
+ # if it is the only non-virtual interface (not tap or vif)
+ if [ -d "/sys/class/net/$ifname/bridge" -a \
+ -d "/sys/class/net/$ifname/brif" ] ; then
+
+ local ifname2 res count=0
+ for ifname2 in "/sys/class/net/$ifname/brif"/*; do
+ case "$(readlink -f "$ifname2")" in
+ /sys/devices/virtual/*)
+ continue
+ esac
+ res="${ifname2##*/}"
+ count=$(( count+1 ))
+ done
+
+ if [ "$count" -ne 1 ] ; then
+ echo >&2 ">>> WARNING: $ifname is a bridge with more than one"
+ echo >&2 ">>> underlying interface. Please specify the device"
+ echo >&2 ">>> in KDUMP_NETCONFIG manually."
+ else
+ ifname="$res"
+ fi
+ fi
+
+ echo "$ifname $BOOTPROTO"
+} # }}}
+
+#
+# Convert a CIDR prefix to IPv4 netmask
+#
+# Parameters:
+# 1) prefix the CIDR prefix (default: 32)
+# Output:
+# Corresponding netmask
+kdump_prefix2netmask() { # {{{
+ local prefix="${1:-32}"
+ local netmask=
+ local i
+ for i in a b c d
+ do
+ netmask="$netmask.$(( 255 - (255 >> prefix) ))"
+ if [ "$prefix" -gt 8 ] ; then
+ prefix=$(( prefix - 8 ))
+ else
+ prefix=0
+ fi
+ done
+ echo "${netmask:1}"
+} # }}}
+
+#
+# Get the ip= parameter for a given device
+#
+# Parameters:
+# 1) device device name (use default if empty)
+# Output:
+# ip configuration string that can be used for the ip= initrd parameter
+function kdump_ip_config() # {{{
+{
+ local iface="$1"
+ if [ -z "$iface" ] ; then
+ iface=$( kdump_default_netdev )
+ iface="${iface% *}"
+ fi
+ [ -z "$iface" ] && return 1
+
+ local ipaddr peeraddr gwaddr netmask hostname iface
+ local family cidr rest
+ local prefix
+ while read family cidr rest
+ do
+ [ "$family" = "inet" ] || continue
+
+ ipaddr="${cidr%/*}"
+ prefix="${cidr:${#ipaddr}}"
+ set -- $rest
+
+ if [ "$1" == "peer" ] ; then
+ cidr="$2"
+ peeraddr=${cidr%/*}
+ prefix="${cidr:${#peeraddr}}"
+ shift 2
+ fi
+ netmask=$( kdump_prefix2netmask "${prefix:1}" )
+
+ done < <(ip -4 address show dev "$iface")
+
+ gwaddr=$(ip route show 0/0 | sed -n 's/.* via \([^ ]*\).*/\1/p')
+ hostname=$(hostname)
+
+ echo "$ipaddr:$peeraddr:$gwaddr:$netmask:$hostname:$iface:none"
+} # }}}
+
#
# Get the save directory and protocol.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-0.8.12/kdumptool/CMakeLists.txt new/kdump-0.8.13/kdumptool/CMakeLists.txt
--- old/kdump-0.8.12/kdumptool/CMakeLists.txt 2014-05-16 19:31:02.000000000 +0200
+++ new/kdump-0.8.13/kdumptool/CMakeLists.txt 2014-05-30 13:24:24.000000000 +0200
@@ -142,3 +142,8 @@
testprocess.cc
)
target_link_libraries(testprocess common ${EXTRA_LIBS})
+
+add_executable(testurldecode
+ testurldecode.cc
+)
+target_link_libraries(testurldecode common ${EXTRA_LIBS})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-0.8.12/kdumptool/stringutil.cc new/kdump-0.8.13/kdumptool/stringutil.cc
--- old/kdump-0.8.12/kdumptool/stringutil.cc 2014-05-16 19:31:02.000000000 +0200
+++ new/kdump-0.8.13/kdumptool/stringutil.cc 2014-05-30 13:24:24.000000000 +0200
@@ -270,6 +270,19 @@
#endif // HAVE_LIBSSL
+// -----------------------------------------------------------------------------
+int Stringutil::hex2int(char c)
+ throw (KError)
+{
+ if (c >= '0' && c <= '9')
+ return c - '0';
+ if (c >= 'a' && c <= 'f')
+ return c - 'a' + 10;
+ if (c >= 'A' && c <= 'F')
+ return c - 'A' + 10;
+ throw KError(string("Stringutil::hex2int: '") + c + "' is not a hex digit");
+}
+
//}}}
//{{{ KString ------------------------------------------------------------------
@@ -333,6 +346,27 @@
return strcmp(c_str() + size() - part.size(), part.c_str()) == 0;
}
+// -----------------------------------------------------------------------------
+KString &KString::decodeURL(bool formenc)
+ throw()
+{
+ iterator src, dst;
+ for (src = dst = begin(); src != end(); ++src) {
+ char c1, c2;
+ if (*src == '%' && end() - src >= 2 &&
+ isxdigit(c1 = src[1]) && isxdigit(c2 = src[2])) {
+ *dst++ = (Stringutil::hex2int(c1) << 4) |
+ Stringutil::hex2int(c2);
+ src += 2;
+ } else if (formenc && *src == '+')
+ *dst++ = ' ';
+ else
+ *dst++ = *src;
+ }
+ resize(dst - begin());
+ return *this;
+}
+
//}}}
// vim: set sw=4 ts=4 fdm=marker et: :collapseFolds=1:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-0.8.12/kdumptool/stringutil.h new/kdump-0.8.13/kdumptool/stringutil.h
--- old/kdump-0.8.12/kdumptool/stringutil.h 2014-05-16 19:31:02.000000000 +0200
+++ new/kdump-0.8.13/kdumptool/stringutil.h 2014-05-30 13:24:24.000000000 +0200
@@ -200,6 +200,9 @@
throw (KError);
#endif // HAVE_LIBSSL
+
+ static int hex2int(char c)
+ throw (KError);
};
//}}}
@@ -289,6 +292,14 @@
bool endsWith(const std::string &part) const
throw ();
+ /**
+ * Perform URL decoding on the string.
+ *
+ * @param[in] formenc if @c true, translate '+' into spaces
+ * @return reference to this object (after decoding)
+ */
+ KString &decodeURL(bool formenc = false)
+ throw();
};
//}}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-0.8.12/kdumptool/testurldecode.cc new/kdump-0.8.13/kdumptool/testurldecode.cc
--- old/kdump-0.8.12/kdumptool/testurldecode.cc 1970-01-01 01:00:00.000000000 +0100
+++ new/kdump-0.8.13/kdumptool/testurldecode.cc 2014-05-30 13:24:24.000000000 +0200
@@ -0,0 +1,60 @@
+/*
+ * (c) 2014, Petr Tesarik <ptesarik(a)suse.de>, SUSE LINUX Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * 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, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA.
+ */
+#include <iostream>
+#include <cstdlib>
+
+#include "global.h"
+#include "stringutil.h"
+#include "debug.h"
+
+using std::cout;
+using std::cerr;
+using std::endl;
+
+// -----------------------------------------------------------------------------
+int main(int argc, char *argv[])
+{
+ Debug::debug()->setStderrLevel(Debug::DL_TRACE);
+ bool formenc = false;
+
+ try {
+ int i = 1;
+ if (i < argc && KString(argv[i]) == "-f") {
+ formenc = true;
+ ++i;
+ }
+
+ bool addspace = false;
+ while (i < argc) {
+ KString arg(argv[i]);
+ if (addspace)
+ cout << ' ';
+ cout << arg.decodeURL(formenc);
+ addspace = true;
+ ++i;
+ }
+ cout << endl;
+
+ } catch(const std::exception &ex) {
+ cerr << "Fatal exception: " << ex.what() << endl;
+ return EXIT_FAILURE;
+ }
+
+ return EXIT_SUCCESS;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-0.8.12/kdumptool/urlparser.cc new/kdump-0.8.13/kdumptool/urlparser.cc
--- old/kdump-0.8.12/kdumptool/urlparser.cc 2014-05-16 19:31:02.000000000 +0200
+++ new/kdump-0.8.13/kdumptool/urlparser.cc 2014-05-30 13:24:24.000000000 +0200
@@ -86,166 +86,147 @@
}
// -----------------------------------------------------------------------------
-URLParser::URLParser(const std::string &url)
- throw (KError)
- : m_url(url), m_port(-1)
+string URLParser::extractScheme(string::iterator &it,
+ const string::const_iterator &end)
{
- Debug::debug()->trace("URLParser::URLParser(%s)", url.c_str());
+ string::iterator const start = it;
- if (url.size() == 0)
- throw KError("URL must be longer than 0 characters.");
+ if (it == m_url.end() || !isalpha(*it))
+ return string();
- // local files that don't have URL syntax
- // we support that for backward-compatibility
- if (url[0] == '/') {
- m_protocol = PROT_FILE;
- m_path = url;
- return;
+ do {
+ ++it;
+ if (it == m_url.end()) {
+ it = start;
+ return string();
+ }
+ } while (*it != ':' && *it != '/' && *it != '?' && *it != '#');
+
+ if (*it != ':') {
+ it = start;
+ return string();
}
- //
- // get the protocol
- //
-
- string::size_type first_colon = url.find(':');
- if (first_colon == string::npos)
- throw KError("The URL does not contain any protocol.");
- string proto_part = url.substr(0, first_colon);
- Debug::debug()->trace("Setting protocol to %s", proto_part.c_str());
- m_protocol = string2protocol(proto_part);
-
- if (url.size() < (first_colon + 3) ||
- url[first_colon+1] != '/' ||
- url[first_colon+2] != '/')
- throw KError("protocol: must be followed by '//'.");
-
- //
- // call the parse methods matching for the protocol
- //
+ return string(start, it++);
+}
- if (m_protocol == PROT_FILE) {
- m_path = url.substr(first_colon+3);
- } else if (m_protocol == PROT_NFS) {
- parseNFSUrl(url.substr(first_colon+3));
- } else if (m_protocol == PROT_SFTP || m_protocol == PROT_SSH ||
- m_protocol == PROT_FTP || m_protocol == PROT_CIFS) {
- parseFTPUrl(url.substr(first_colon+3));
- } else
- throw KError("Invalid protocol: " +
- Stringutil::number2string(m_protocol) + ".");
+// -----------------------------------------------------------------------------
+string URLParser::extractAuthority(string::iterator &it,
+ const string::const_iterator &end)
+{
+ if (end - it < 2 || it[0] != '/' || it[1] != '/')
+ return string();
- Debug::debug()->dbg("URL parsed as: protocol=%s, host=%s, port=%d, "
- "username=%s, password=%s, path=%s",
- getProtocolAsString().c_str(),
- getHostname().c_str(), getPort(), getUsername().c_str(),
- getPassword().c_str(), getPath().c_str());
+ it += 2;
+ string::iterator const start = it;
+ while (*it != '/' && *it != '?' && *it != '#')
+ ++it;
+ return string(start, it);
}
// -----------------------------------------------------------------------------
-void URLParser::parseUserPassHostPort(const string &userpasshostport)
+URLParser::URLParser(const std::string &url)
throw (KError)
+ : m_url(url), m_port(-1)
{
- // now scan for an '@' to separate userhost from hostport
- string::size_type last_at = userpasshostport.rfind('@');
- string userhost;
- string hostport;
- if (last_at == string::npos) {
- hostport = userpasshostport;
-
- switch (m_protocol) {
- case PROT_FTP:
- m_username = FTP_DEFAULT_USER;
- break;
-
- case PROT_SFTP:
- case PROT_SSH:
- m_username = SFTP_DEFAULT_USER;
- break;
-
- default:
- // do nothing but make the compiler happy
- break;
- }
+ Debug::debug()->trace("URLParser::URLParser(%s)", url.c_str());
- } else {
- string userpass = userpasshostport.substr(0, last_at);
- hostport = userpasshostport.substr(last_at+1);
+ string::iterator it = m_url.begin();
- // now separate user and passwort
- string::size_type firstcolon = userpass.find(':');
- if (firstcolon != string::npos) {
- m_username = userpass.substr(0, firstcolon);
- m_password = userpass.substr(firstcolon+1);
- } else
- m_username = userpass;
- }
+ //
+ // extract the three main URL componenets
+ //
+ string scheme = extractScheme(it, m_url.end());
+ string authority = extractAuthority(it, m_url.end());
+ m_path.assign(it, m_url.end());
+ // TODO: query and fragment are not handled
+
+ if (m_path.empty() || m_path[0] != '/')
+ throw KError("URLParser: Only absolute paths are supported.");
- // look for a literal IPv6 addresses
- string::size_type last_colon = hostport.rfind(':');
- if (hostport[0] == '[') {
- string::size_type bracket = hostport.find(']');
- if (bracket != string::npos && bracket > last_colon)
- last_colon = string::npos;
+ //
+ // parse the authority part
+ //
+
+ // Look for (optional) port
+ it = authority.end();
+ while (it != authority.begin() && isdigit(it[-1]))
+ --it;
+ if (it != authority.begin() && it[-1] == ':') {
+ string port(it, authority.end());
+ authority.resize(it - authority.begin() - 1);
+
+ if (port.size() > 0)
+ m_port = Stringutil::string2number(port);
}
- // and separate host and port
- if (last_colon != string::npos) {
- m_hostname = hostport.substr(0, last_colon);
- string portstr = hostport.substr(last_colon+1);
- if (portstr.size() > 0)
- m_port = Stringutil::string2number(portstr);
+ // look for userinfo
+ string::size_type last_at = authority.rfind('@');
+ if (last_at != string::npos) {
+ m_hostname = authority.substr(last_at+1);
+ authority.resize(last_at);
+
+ // now separate user and password
+ string::size_type first_colon = authority.find(':');
+ if (first_colon != string::npos) {
+ m_username = authority.substr(0, first_colon);
+ m_password = authority.substr(first_colon+1);
+ } else
+ m_username = authority;
} else
- m_hostname = hostport;
-}
+ m_hostname = authority;
-// -----------------------------------------------------------------------------
-void URLParser::parseNFSUrl(const string &partUrl)
- throw (KError)
-{
- Debug::debug()->trace("URLParser::parseNFSUrl(%s)", partUrl.c_str());
+ //
+ // undo percent encoding
+ //
+ m_hostname.decodeURL();
+ m_password.decodeURL();
+ m_username.decodeURL();
+ m_path.decodeURL();
- // look for the first '/'
- string::size_type first_slash = partUrl.find('/');
- if (first_slash == string::npos)
- throw KError("NFS URL must contain at least one '/'.");
-
- m_hostname = partUrl.substr(0, first_slash);
-
- string::size_type last_colon = m_hostname.rfind(':');
- if (m_hostname[0] == '[') {
- string::size_type bracket = m_hostname.find(']');
- if (bracket != string::npos && bracket > last_colon)
- last_colon = string::npos;
- }
- if (last_colon != string::npos) {
- string hostport = m_hostname;
- m_hostname = hostport.substr(0, last_colon);
- string portstring = hostport.substr(last_colon+1);
- if (portstring.size() > 0)
- m_port = Stringutil::string2number(hostport.substr(last_colon+1));
+ //
+ // guess the scheme, if omitted
+ //
+ if (scheme.empty()) {
+ if (m_hostname.empty() || m_hostname == "localhost") {
+ m_protocol = PROT_FILE;
+ Debug::debug()->trace("URL looks like a local file");
+ } else {
+ m_protocol = PROT_NFS;
+ Debug::debug()->trace("URL looks like a remote file");
+ }
+ } else {
+ Debug::debug()->trace("Scheme explicitly set to %s", scheme.c_str());
+ m_protocol = string2protocol(scheme);
}
- m_path = partUrl.substr(first_slash);
-}
+ //
+ // protocol-specific defaults
+ //
-// -----------------------------------------------------------------------------
-void URLParser::parseFTPUrl(const string &partUrl)
- throw (KError)
-{
- Debug::debug()->trace("URLParser::parseFTPUrl(%s)", partUrl.c_str());
+ if (m_protocol == PROT_FILE && m_hostname == "localhost")
+ m_hostname.clear();
+
+ if (m_username.empty()) {
+ if (m_protocol == PROT_FTP)
+ m_username = FTP_DEFAULT_USER;
+ else if (m_protocol == PROT_SFTP || m_protocol == PROT_SSH)
+ m_username = SFTP_DEFAULT_USER;
+ }
- // look for the first '/' to separate the host name part from the
- // path name
- string::size_type first_slash = partUrl.find('/');
- if (first_slash == string::npos)
- throw KError(getProtocolAsString() +
- " URL must contain at least one '/'.");
+ //
+ // sanity checks
+ //
+ if (m_protocol == PROT_FILE && !m_hostname.empty())
+ throw KError("File protocol cannot specify a remote host");
- parseUserPassHostPort(partUrl.substr(0, first_slash));
+ Debug::debug()->dbg("URL parsed as: protocol=%s, host=%s, port=%d, "
+ "username=%s, password=%s, path=%s",
+ getProtocolAsString().c_str(),
+ getHostname().c_str(), getPort(), getUsername().c_str(),
+ getPassword().c_str(), getPath().c_str());
- // and the rest is the path
- m_path = partUrl.substr(first_slash);
}
// -----------------------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-0.8.12/kdumptool/urlparser.h new/kdump-0.8.13/kdumptool/urlparser.h
--- old/kdump-0.8.12/kdumptool/urlparser.h 2014-05-16 19:31:02.000000000 +0200
+++ new/kdump-0.8.13/kdumptool/urlparser.h 2014-05-30 13:24:24.000000000 +0200
@@ -26,6 +26,7 @@
#include "global.h"
#include "optionparser.h"
#include "subcommand.h"
+#include "stringutil.h"
//{{{ URLParser ----------------------------------------------------------------
@@ -158,29 +159,32 @@
static std::string protocol2string(Protocol protocol)
throw (KError);
- protected:
-
- void parseCifsUrl(const std::string &partUrl)
- throw (KError);
-
- void parseNFSUrl(const std::string &partUrl)
- throw (KError);
-
- void parseUserPassHostPort(const std::string &userpasshostport)
- throw (KError);
-
- void parseFTPUrl(const std::string &partUrl)
- throw (KError);
-
private:
- std::string m_url;
+ std::string m_url;
Protocol m_protocol;
- std::string m_hostname;
- std::string m_password;
- std::string m_username;
+ KString m_hostname;
+ KString m_password;
+ KString m_username;
int m_port;
- std::string m_path;
- std::string m_share;
+ KString m_path;
+
+ /**
+ * Extract scheme from a string
+ *
+ * @param[in,out] it starting position (updated if scheme is found)
+ * @param[in] end end of input string
+ */
+ std::string extractScheme(std::string::iterator &it,
+ const std::string::const_iterator &end);
+
+ /**
+ * Extract authority from a string
+ *
+ * @param[in,out] it starting position (updated if authority is found)
+ * @param[in] end end of input string
+ */
+ std::string extractAuthority(std::string::iterator &it,
+ const std::string::const_iterator &end);
};
//}}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-0.8.12/process_cond.awk new/kdump-0.8.13/process_cond.awk
--- old/kdump-0.8.12/process_cond.awk 2014-05-16 19:31:02.000000000 +0200
+++ new/kdump-0.8.13/process_cond.awk 2014-05-30 13:24:24.000000000 +0200
@@ -5,7 +5,12 @@
ENVIRON[var[1]] \
substr($0, RSTART + RLENGTH)
stack[sp++] = remove
- remove = remove || ($2 != $3)
+ condition = 0
+ for (i = 3; i <= NF; i++) {
+ if ($2 == $i)
+ condition = 1
+ }
+ remove = remove || !condition
skip = 1
}
/^@else\>/ {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-0.8.12/tests/CMakeLists.txt new/kdump-0.8.13/tests/CMakeLists.txt
--- old/kdump-0.8.12/tests/CMakeLists.txt 2014-05-16 19:31:02.000000000 +0200
+++ new/kdump-0.8.13/tests/CMakeLists.txt 2014-05-30 13:24:24.000000000 +0200
@@ -60,3 +60,7 @@
ADD_TEST(process
${CMAKE_CURRENT_SOURCE_DIR}/process.sh
${CMAKE_BINARY_DIR}/kdumptool/testprocess)
+
+ADD_TEST(urldecode
+ ${CMAKE_CURRENT_SOURCE_DIR}/testurldecode.sh
+ ${CMAKE_BINARY_DIR}/kdumptool/testurldecode)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-0.8.12/tests/testurldecode.sh new/kdump-0.8.13/tests/testurldecode.sh
--- old/kdump-0.8.12/tests/testurldecode.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/kdump-0.8.13/tests/testurldecode.sh 2014-05-30 13:24:24.000000000 +0200
@@ -0,0 +1,163 @@
+#!/bin/bash
+#
+# (c) 2014, Petr Tesarik <ptesarik(a)suse.de>, SUSE LINUX Products GmbH
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# 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, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+
+# Check that results match expectation
+# {{{
+function check()
+{
+ local arg="$1"
+ local expect="$2"
+ local result="$3"
+ if [ "$result" != "$expect" ] ; then
+ echo "failed string: $arg"
+ echo "Expected:"
+ echo "$expect"
+ echo "Result:"
+ echo "$result"
+ errornumber=$(( errornumber + 1 ))
+ fi
+}
+# }}}
+
+#
+# Program {{{
+#
+
+# number of tested characters for random tests
+NTEST=100
+
+URLDECODE=$1
+HEXDUMP="od -Ax -tx1"
+
+if [ -z "$URLDECODE" ] ; then
+ echo "Usage: $0 urldecode"
+ exit 1
+fi
+
+errornumber=0
+
+# TEST #1: Random uppercase %-sequences
+
+ARG=
+EXPECT=
+i=0
+while [ $i -lt $NTEST ]
+do
+ ch=$(( $RANDOM % 256 ))
+ hex=$( printf "%02X" $ch )
+ ARG="$ARG%$hex"
+ EXPECT="$EXPECT\\x$hex"
+ i=$(( i + 1 ))
+done
+EXPECT=$( echo -e "$EXPECT" | $HEXDUMP )
+RESULT=$( "$URLDECODE" "$ARG" | $HEXDUMP )
+check "$ARG" "$EXPECT" "$RESULT"
+
+# TEST #2: Random lowercase %-sequences
+
+ARG=
+EXPECT=
+i=0
+while [ $i -lt $NTEST ]
+do
+ ch=$(( $RANDOM % 256 ))
+ hex=$( printf "%02x" $ch )
+ ARG="$ARG%$hex"
+ EXPECT="$EXPECT\\x$hex"
+ i=$(( i + 1 ))
+done
+EXPECT=$( echo -e "$EXPECT" | $HEXDUMP )
+RESULT=$( "$URLDECODE" "$ARG" | $HEXDUMP )
+check "$ARG" "$EXPECT" "$RESULT"
+
+# TEST #3: Decoding '+'
+
+ARG=" + +begin hello+world end+"
+EXPECT="+ +begin hello+world end+"
+RESULT=$( "$URLDECODE" $ARG )
+check "$ARG" "$EXPECT" "$RESULT"
+
+# now using form decoding
+EXPECT=" begin hello world end "
+RESULT=$( "$URLDECODE" -f $ARG )
+check "$ARG" "$EXPECT" "$RESULT"
+
+# TEST #4: Transitions quoted <-> unquoted
+
+ARG=
+EXPECT=
+i=0
+while [ $i -lt $NTEST ]
+do
+ ch=$(( $RANDOM % 256 ))
+ hex=$( printf "%02x" $ch )
+ case $(( $ch % 3 )) in
+ 0)
+ ARG="$ARG $hex%$hex"
+ EXPECT="$EXPECT $hex\\x$hex"
+ ;;
+
+ 1)
+ ARG="$ARG %$hex$hex"
+ EXPECT="$EXPECT \\x$hex$hex"
+ ;;
+
+ 2)
+ ARG="$ARG $hex%$hex$hex"
+ EXPECT="$EXPECT $hex\\x$hex$hex"
+ ;;
+
+ 3)
+ ARG="$ARG +%$hex+$hex"
+ EXPECT="$EXPECT \\x$hex $hex"
+ ;;
+ esac
+ i=$(( i + 1 ))
+done
+EXPECT=$( echo -e "$EXPECT" | $HEXDUMP )
+RESULT=$( "$URLDECODE" "$ARG" | $HEXDUMP )
+check "$ARG" "$EXPECT" "$RESULT"
+
+# TEST #5: Test invalid sequence
+
+ARG=" %invalid %0invalid %ainvalid %x0invalid %+invalid %0+invalid"
+EXPECT="%invalid %0invalid %ainvalid %x0invalid % invalid %0 invalid"
+RESULT=$( "$URLDECODE" -f $ARG )
+check "$ARG" "$EXPECT" "$RESULT"
+
+# TEST #6: More than two hex digits
+
+ARG="%4567 %456789abcdef0123"
+EXPECT="E67 E6789abcdef0123"
+RESULT=$( "$URLDECODE" $ARG )
+check "$ARG" "$EXPECT" "$RESULT"
+
+# TEST #7: NUL character
+
+ARG="NUL character here: '%00'"
+EXPECT=$( echo -e "NUL character here: '\000'" | $HEXDUMP )
+RESULT=$( "$URLDECODE" $ARG | $HEXDUMP )
+check "$ARG" "$EXPECT" "$RESULT"
+
+exit $errornumber
+
+# }}}
+
+# vim: set sw=4 ts=4 fdm=marker et: :collapseFolds=1:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-0.8.12/tests/testurlparser.sh new/kdump-0.8.13/tests/testurlparser.sh
--- old/kdump-0.8.12/tests/testurlparser.sh 2014-05-16 19:31:02.000000000 +0200
+++ new/kdump-0.8.13/tests/testurlparser.sh 2014-05-30 13:24:24.000000000 +0200
@@ -32,6 +32,7 @@
"cifs://bwalle:dontsay@neptunium:/var/log/dump"
"smb://bwalle@192.168.0.70:/var/log"
"cifs://bwalle:dontsay@neptunium:/var/log/dump"
+ "ftp://pt%65sarik:don%27t%20say@fu%6eny+host/var/log/dum%70"
)
# protocol:host:port:user:pass:path
@@ -45,6 +46,7 @@
"cifs:neptunium:-1:bwalle:dontsay:/var/log/dump"
"cifs:192.168.0.70:-1:bwalle::/var/log"
"cifs:neptunium:-1:bwalle:dontsay:/var/log/dump"
+ "ftp:funny+host:-1:ptesarik:don't say:/var/log/dump"
)
# }}}
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package yast2 for openSUSE:Factory checked in at 2014-06-02 07:00:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 2014-05-13 20:46:30.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.yast2.new/yast2.changes 2014-06-02 07:00:36.000000000 +0200
@@ -1,0 +2,75 @@
+Fri May 30 11:06:47 UTC 2014 - vmoravec(a)suse.com
+
+- Add Service.call method to make available all systemctl commands
+- 3.1.74
+
+-------------------------------------------------------------------
+Fri May 30 08:55:45 UTC 2014 - lslezak(a)suse.cz
+
+- DonePackage callback: remove invalid UTF-8 characters to avoid
+ crash (bnc#876459)
+- 3.1.73
+
+-------------------------------------------------------------------
+Fri May 30 10:41:14 CEST 2014 - locilka(a)suse.com
+
+- Fixed network backend handling during upgrade - unified with
+ installation (bnc#879594)
+- 3.1.72
+
+-------------------------------------------------------------------
+Wed May 28 10:55:02 UTC 2014 - locilka(a)suse.com
+
+- Removed warning message when starting Yast in Qt instead of GTK
+ and vice versa (bnc#861807)
+- 3.1.71
+
+-------------------------------------------------------------------
+Wed May 28 10:39:00 UTC 2014 - jreidinger(a)suse.com
+
+- split too wide urls for accepting GnuGP key (bnc#870822)
+- 3.1.70
+
+-------------------------------------------------------------------
+Wed May 28 10:00:17 UTC 2014 - lslezak(a)suse.cz
+
+- removed system verification check when yast module installs
+ required packages (bnc#866256)
+- 3.1.69
+
+-------------------------------------------------------------------
+Wed May 28 07:56:29 UTC 2014 - jreidinger(a)suse.com
+
+- save_y2logs: store also pbl.log from target system, if bootloader
+ installation failed (bnc#879622)
+- 3.1.68
+
+-------------------------------------------------------------------
+Fri May 23 12:35:42 CEST 2014 - locilka(a)suse.com
+
+- Added check for existence of /etc/modules.d/ directory in Kernel
+ library, the directory is created when missing (bnc#879428)
+- 3.1.67
+
+-------------------------------------------------------------------
+Fri May 23 09:06:28 UTC 2014 - mfilka(a)suse.com
+
+- bnc#879399
+ - offer /var/log/boot.log in SysLog module for view
+- 3.1.66
+
+-------------------------------------------------------------------
+Mon May 19 15:42:28 CEST 2014 - locilka(a)suse.com
+
+- Always using special InstallationProperties for systemd_unit
+ while called in first stage (bnc#878560)
+- 3.1.65
+
+-------------------------------------------------------------------
+Mon May 19 15:07:50 CEST 2014 - locilka(a)suse.com
+
+- Changed dialog label for updating/installing in SlideShow
+ depending on the selected method (bnc#874995)
+- 3.1.64
+
+-------------------------------------------------------------------
Old:
----
yast2-3.1.63.tar.bz2
New:
----
yast2-3.1.74.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2.spec ++++++
--- /var/tmp/diff_new_pack.2ODn50/_old 2014-06-02 07:00:38.000000000 +0200
+++ /var/tmp/diff_new_pack.2ODn50/_new 2014-06-02 07:00:38.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2
-Version: 3.1.63
+Version: 3.1.74
Release: 0
Url: https://github.com/yast/yast-yast2
++++++ yast2-3.1.63.tar.bz2 -> yast2-3.1.74.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.63/library/network/src/modules/NetworkService.rb new/yast2-3.1.74/library/network/src/modules/NetworkService.rb
--- old/yast2-3.1.63/library/network/src/modules/NetworkService.rb 2014-05-13 12:52:44.000000000 +0200
+++ new/yast2-3.1.74/library/network/src/modules/NetworkService.rb 2014-05-30 13:12:46.000000000 +0200
@@ -71,11 +71,16 @@
WICKED = "/usr/sbin/wicked"
+ DEFAULT_BACKEND = :wicked
+
+ include Yast::Logger
+
def main
Yast.import "Service"
Yast.import "NetworkConfig"
Yast.import "Popup"
Yast.import "Mode"
+ Yast.import "Stage"
Yast.import "PackageSystem"
textdomain "base"
@@ -179,18 +184,21 @@
when "wicked"
@current_name = :wicked
else
- if running_installer?
- Builtins.y2milestone("Running in installer, use default: wicked")
- @current_name = :wicked
+ if Stage.initial
+ @current_name = DEFAULT_BACKEND
+ log.info "Running in installer, use default: #{@current_name}"
+ elsif Mode.config
+ @current_name = DEFAULT_BACKEND
+ log.info "Running in AutoYast config, use default: #{@current_name}"
else
- Builtins.y2error("Cannot determine used network service.")
+ log.info "Cannot determine used network service."
raise "Cannot detect used network service"
end
end
@cached_name = @current_name
- Builtins.y2milestone("Current backend: #{@current_name}")
+ log.info "Current backend: #{@current_name}"
end
@initialized = true
@@ -247,7 +255,7 @@
# Reload or restars the network service.
def ReloadOrRestart
- if Mode.installation
+ if Stage.initial
# inst-sys is not running systemd nor sysV init, so systemctl call
# is not available and service has to be restarted directly
wicked_restart
@@ -258,7 +266,7 @@
# Restarts the network service
def Restart
- if Mode.installation
+ if Stage.initial
wicked_restart
else
systemctl_restart
@@ -342,25 +350,33 @@
end
# If there is network running, return true.
- # Otherwise show error popup depending on Mode and return false
+ # Otherwise show error popup depending on Stage and return false
# @return true if network running
def RunningNetworkPopup
- Builtins.y2internal("RunningNetworkPopup %1", isNetworkRunning)
- if isNetworkRunning
+ network_running = isNetworkRunning
+
+ log.info "RunningNetworkPopup #{network_running}"
+
+ if network_running
return true
else
- error_text = Builtins.sformat(
- "%1\n%2 %3",
- _("No running network detected."),
- Mode.installation ?
- _("Restart installation and configure network in Linuxrc") :
- _(
- "Configure network with YaST or Network Manager plug-in\nand start this module again"
- ),
- _("or continue without network.")
- )
+ error_text = Stage.initial ?
+ _(
+ "No running network detected.\n" +
+ "Restart installation and configure network in Linuxrc\n" +
+ "or continue without network."
+ )
+ :
+ _(
+ "No running network detected.\n" +
+ "Configure network with YaST or Network Manager plug-in\n" +
+ "and start this module again\n" +
+ "or continue without network."
+ )
+
ret = Popup.ContinueCancel(error_text)
- Builtins.y2error("Network not runing!")
+
+ log.error "Network not runing!"
return ret
end
end
@@ -420,11 +436,6 @@
nil
end
- # Check if currently runs in installer
- def running_installer?
- Mode.installation || Mode.config || Mode.update
- end
-
publish :function => :Read, :type => "void ()"
publish :function => :Modified, :type => "boolean ()"
publish :function => :is_backend_available, :type => "boolean (symbol)"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.63/library/packages/src/modules/PackageCallbacks.rb new/yast2-3.1.74/library/packages/src/modules/PackageCallbacks.rb
--- old/yast2-3.1.63/library/packages/src/modules/PackageCallbacks.rb 2014-05-13 12:52:44.000000000 +0200
+++ new/yast2-3.1.74/library/packages/src/modules/PackageCallbacks.rb 2014-05-30 13:12:46.000000000 +0200
@@ -35,6 +35,8 @@
module Yast
class PackageCallbacksClass < Module
+ include Yast::Logger
+
def main
Yast.import "Pkg"
Yast.import "UI"
@@ -567,6 +569,14 @@
# return "R" for retry
# return "C" for abort (not implemented !)
def DonePackage(error, reason)
+
+ # remove invalid characters (bnc#876459)
+ if !reason.valid_encoding?
+ reason.encode!('UTF-16', :undef => :replace, :invalid => :replace, :replace => "?")
+ reason.encode!('UTF-8')
+ log.warn "Invalid byte sequence found, fixed text: #{reason}"
+ end
+
UI.CloseDialog if @_package_popup
@_package_popup = false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.63/library/packages/src/modules/PackageSystem.rb new/yast2-3.1.74/library/packages/src/modules/PackageSystem.rb
--- old/yast2-3.1.63/library/packages/src/modules/PackageSystem.rb 2014-05-13 12:52:44.000000000 +0200
+++ new/yast2-3.1.74/library/packages/src/modules/PackageSystem.rb 2014-05-30 13:12:46.000000000 +0200
@@ -213,111 +213,9 @@
@last_op_canceled = false
end
-
- # check if the database is consistent before packages are added
- packages_consistent = Pkg.PkgSolveCheckTargetOnly
- transact = Pkg.IsAnyResolvable(:any, :to_install) ||
- Pkg.IsAnyResolvable(:any, :to_remove)
-
- Builtins.y2internal(
- "Target solved: %1, something to transact: %2",
- packages_consistent,
- transact
- )
-
return false if !SelectPackages(toinstall, toremove)
- packager_displayed = false
-
- # display an error message and advice to manually fix the system
- if !packages_consistent || transact
- Builtins.y2warning("The current system is not consistent")
-
- message = _(
- "The current system is not consistent,\nsome packages have unresolved dependencies."
- )
-
- if !packages_consistent
- message = Ops.add(
- Ops.add(message, "\n\n"),
- _(
- "Automatic resolving failed, manual dependency resolving is needed."
- )
- )
- end
-
- if transact
- message = Ops.add(
- Ops.add(message, "\n\n"),
- _(
- "Yast has automatically added or removed some packages,\n" +
- "check the changes scheduled to fix the system\n" +
- "in the software manager."
- )
- )
- end
-
-
- message = Ops.add(
- Ops.add(message, "\n\n"),
- _(
- "Start the software manager and fix the problems\nor skip fixing and install the already confirmed packages only?"
- )
- )
-
- fixsystem = Popup.AnyQuestion3(
- Label.WarningMsg,
- message,
- Label.ContinueButton,
- Label.SkipButton,
- Label.AbortButton,
- :focus_yes
- )
-
- Builtins.y2milestone("Fixsystem answer: %1", fixsystem)
-
- # the 3rd button ("Abort" label in this case)
- if fixsystem == :retry
- Builtins.y2milestone("Aborting package installation")
- # do not install anything, abort
- return false
- elsif fixsystem == :yes
- # disable repomanagement during installation
- repomgmt = !Mode.installation
- # start the package selector
- ret = PackagesUI.RunPackageSelector(
- { "enable_repo_mgr" => repomgmt, "mode" => :summaryMode }
- )
-
- Builtins.y2internal("Package selector returned: %1", ret)
-
- # do not install anything
- if ret == :cancel || ret == :close
- Builtins.y2milestone("Aborting package installation")
- return false
- end
-
- packager_displayed = true
- # `no = do not fix the system, install the required packages only
- # and ignore the inconsistencies
- elsif fixsystem == :no
- Builtins.y2milestone("Resetting the preselected packages")
- # reset the solver - disable the fixsystem solver mode (bnc#439373)
- Pkg.SetSolverFlags({ "reset" => true })
- # reset the preselected transactions to fix the problems
- Pkg.PkgApplReset
-
- # reselect the packages again after the reset
- return false if !SelectPackages(toinstall, toremove)
- else
- Builtins.y2internal("Unknown result %1, aborting", fixsystem)
- return false
- end
- end
-
- solved = Pkg.PkgSolve(false)
-
- if solved != true
+ if !Pkg.PkgSolve(false)
Builtins.y2error("Package solve failed: %1", Pkg.LastError)
# error message, after pressing [OK] the package manager is displayed
@@ -338,8 +236,6 @@
# do not fix the system
return false if ret == :cancel || ret == :close
-
- packager_displayed = true
end
# is a package or a patch selected for installation?
@@ -379,8 +275,7 @@
end
# check if the required packages have been installed
- # (user could deselect or uninstall them in the packager widget)
- if packager_displayed && !InstalledAll(toinstall)
+ if !InstalledAll(toinstall)
Builtins.y2error("Required packages have not been installed")
return false
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.63/library/packages/src/modules/SignatureCheckDialogs.rb new/yast2-3.1.74/library/packages/src/modules/SignatureCheckDialogs.rb
--- old/yast2-3.1.63/library/packages/src/modules/SignatureCheckDialogs.rb 2014-05-13 12:52:44.000000000 +0200
+++ new/yast2-3.1.74/library/packages/src/modules/SignatureCheckDialogs.rb 2014-05-30 13:12:46.000000000 +0200
@@ -974,7 +974,8 @@
"(%2):"
),
Ops.get_locale(repo, "name", _("Unknown")),
- Ops.get_locale(repo, "url", _("Unknown"))
+ repo["url"] ? repo["url"].scan(/.{1,59}/).join("\n") :
+ _("Unknown")
)
# popup message - label, part 2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.63/library/packages/src/modules/SlideShow.rb new/yast2-3.1.74/library/packages/src/modules/SlideShow.rb
--- old/yast2-3.1.63/library/packages/src/modules/SlideShow.rb 2014-05-13 12:52:44.000000000 +0200
+++ new/yast2-3.1.74/library/packages/src/modules/SlideShow.rb 2014-05-30 13:12:46.000000000 +0200
@@ -109,6 +109,13 @@
module Yast
class SlideShowClass < Module
+ include Yast::Logger
+
+ module UI_ID
+ TOTAL_PROGRESS = :progressTotal
+ CURRENT_PACKAGE = :progressCurrentPackage
+ end
+
def main
Yast.import "UI"
@@ -142,6 +149,7 @@
@user_abort = false
# we need to remember the values for tab switching
+ # these are the initial values
@total_progress_label = _("Installing...")
@sub_progress_label = _("Installing...")
@total_progress_value = 0
@@ -245,66 +253,67 @@
end
# Restart the subprogress of the slideshow. This means the
- # label will be set to \param text, value to 0.
+ # label will be set to given text, value to 0.
# @param [String] text new label for the subprogress
def SubProgressStart(text)
- if UI.WidgetExists(:progressCurrentPackage)
- UI.ChangeWidget(:progressCurrentPackage, :Value, 0)
- UI.ChangeWidget(:progressCurrentPackage, :Label, text)
- end
-
- @sub_progress_label = text
-
- nil
+ SubProgress(0, text)
end
- # Update status of subprogress of the slideshow. The new value will be set
- # to \param value, if the \text is not nil, the label will be updated
- # to this text as well. Otherwise label will not change.
+ # Updates status of the sub-progress in slide show. The new value and label
+ # will be set to values given as parametes. If a given parameter contains *nil*,
+ # respective value/label will not be updated.
+ #
# @param [Fixnum] value new value for the subprogress
- # @param [String] text new label for the subprogress
- def SubProgress(value, text)
- if UI.WidgetExists(:progressCurrentPackage)
- UI.ChangeWidget(:progressCurrentPackage, :Value, value)
- UI.ChangeWidget(:progressCurrentPackage, :Label, text) if text != nil
- end
+ # @param [String] label new label for the subprogress
+ def SubProgress(value, label)
+ value ||= @sub_progress_value
+ label ||= @sub_progress_label
+
+ if UI.WidgetExists(UI_ID::CURRENT_PACKAGE)
+ if @sub_progress_value != value
+ @sub_progress_value = value
+ UI.ChangeWidget(UI_ID::CURRENT_PACKAGE, :Value, value)
+ end
- @sub_progress_value = value
- @sub_progress_label = text if text != nil
+ if @sub_progress_label != label
+ @sub_progress_label = label
+ UI.ChangeWidget(UI_ID::CURRENT_PACKAGE, :Label, label)
+ end
+ end
nil
end
# Restart the global progress of the slideshow. This means the
- # label will be set to \param text, value to 0.
+ # label will be set to given text, value to 0.
+ #
# @param [String] text new label for the global progress
def GlobalProgressStart(text)
- @total_progress_label = text
- if UI.WidgetExists(:progressTotal)
- UI.ChangeWidget(:progressTotal, :Value, 0)
- UI.ChangeWidget(:progressTotal, :Label, text)
- end
-
- @total_progress_label = text
- @total_progress_value = 0
-
- nil
+ UpdateGlobalProgress(0, text)
end
- # Update status of global progress of the slideshow. The new value will be set
- # to \param value, if the \text is not nil, the label will be updated
- # to this text as well. Otherwise label will not change.
+ # Updates status of the global progress in slide show. The new value and label
+ # will be set to values given as parametes. If a given parameter contains *nil*,
+ # respective value/label will not be updated.
+ #
# @param [Fixnum] value new value for the global progress
- # @param text new label for the global progress
- def UpdateGlobalProgress(value, new_text)
- @total_progress_label = new_text if new_text != nil
- @total_progress_value = value
-
- if UI.WidgetExists(:progressTotal)
- UI.ChangeWidget(:progressTotal, :Value, value)
- UI.ChangeWidget(:progressTotal, :Label, new_text) if new_text != nil
+ # @param [String] label new label for the global progress
+ def UpdateGlobalProgress(value, label)
+ value ||= @total_progress_value
+ label ||= @total_progress_label
+
+ if UI.WidgetExists(UI_ID::TOTAL_PROGRESS)
+ if @total_progress_value != value
+ @total_progress_value = value
+ UI.ChangeWidget(UI_ID::TOTAL_PROGRESS, :Value, value)
+ end
+
+ if @total_progress_label != label
+ @total_progress_label = label
+ UI.ChangeWidget(UI_ID::TOTAL_PROGRESS, :Label, label)
+ end
else
- Builtins.y2milestone("progressTotal widget missing")
+ log.warn "progressTotal widget missing"
end
# update slide
@@ -371,13 +380,11 @@
nil
end
- # Return the current global progress label.
- # @return [String] current label
+ # Sets the current global progress label.
+ #
+ # @param [String] new label
def SetGlobalProgressLabel(text)
- @total_progress_label = text
- if UI.WidgetExists(:progressTotal)
- UI.ChangeWidget(:progressTotal, :Label, text)
- end
+ UpdateGlobalProgress(nil, text)
nil
end
@@ -385,13 +392,12 @@
# Append message to the installation log.
# @param [String] msg message to be added, without trailing eoln
def AppendMessageToInstLog(msg)
- log_line = Ops.add(msg, "\n")
- @inst_log = Ops.add(@inst_log, log_line)
+ log_line = "#{msg}\n"
- if ShowingDetails()
- if UI.WidgetExists(:instLog)
- UI.ChangeWidget(:instLog, :LastLine, log_line)
- end
+ @inst_log << log_line
+
+ if ShowingDetails() && UI.WidgetExists(:instLog)
+ UI.ChangeWidget(:instLog, :LastLine, log_line)
end
nil
@@ -508,7 +514,7 @@
# too much flicker upon update (UI::RecalcLayout() ) on NCurses
# Progress bar for overall progress of software package installation
ProgressBar(
- Id(:progressTotal),
+ Id(UI_ID::TOTAL_PROGRESS),
@total_progress_label,
100,
@total_progress_value
@@ -565,7 +571,7 @@
@_show_table ? DetailsTableWidget() : Empty(),
VWeight(1, LogView(Id(:instLog), _("Actions performed:"), 6, 0)),
ProgressBar(
- Id(:progressCurrentPackage),
+ Id(UI_ID::CURRENT_PACKAGE),
@sub_progress_label,
100,
@sub_progress_value
@@ -717,13 +723,18 @@
Builtins.y2milestone("SlideShow contents: %1", contents)
Wizard.SetContents(
- # Dialog heading while software packages are being installed
- _("Performing Installation"),
+ (Mode.update ?
+ # Dialog heading - software packages are being upgraded
+ _("Performing Upgrade")
+ :
+ # Dialog heading - software packages are being installed
+ _("Performing Installation")
+ ),
contents,
HelpText(),
- false,
- false
- ) # has_back, has_next
+ false, # no back button
+ false # no next button
+ )
@widgets_created = true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.63/library/packages/test/Makefile.am new/yast2-3.1.74/library/packages/test/Makefile.am
--- old/yast2-3.1.63/library/packages/test/Makefile.am 2014-05-13 12:52:44.000000000 +0200
+++ new/yast2-3.1.74/library/packages/test/Makefile.am 2014-05-30 13:12:46.000000000 +0200
@@ -1,5 +1,6 @@
TESTS = \
- product_test.rb
+ product_test.rb \
+ slide_show_test.rb
TEST_EXTENSIONS = .rb
RB_LOG_COMPILER = rspec
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.63/library/packages/test/slide_show_test.rb new/yast2-3.1.74/library/packages/test/slide_show_test.rb
--- old/yast2-3.1.63/library/packages/test/slide_show_test.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-3.1.74/library/packages/test/slide_show_test.rb 2014-05-30 13:12:46.000000000 +0200
@@ -0,0 +1,139 @@
+#! /usr/bin/rspec
+
+top_srcdir = File.expand_path("../../../..", __FILE__)
+inc_dirs = Dir.glob("#{top_srcdir}/library/*/src")
+ENV["Y2DIR"] = inc_dirs.join(":")
+
+require "yast"
+
+Yast.import "SlideShow"
+Yast.import "UI"
+
+include Yast::Logger
+
+describe "Yast::SlideShow" do
+ before(:each) do
+ log.info "--------- Running test ---------"
+ end
+
+ TOTAL_PROGRESS_ID = Yast::SlideShowClass::UI_ID::TOTAL_PROGRESS
+
+ describe "#UpdateGlobalProgress" do
+ before(:each) do
+ allow(Yast::SlideShow).to receive(:ShowingSlide).and_return(false)
+
+ # reseting total progress before each test
+ Yast::SlideShow.UpdateGlobalProgress(0, "")
+ end
+
+ describe "when total progress widget is missing" do
+ it "does not update the total progress" do
+ expect(Yast::UI).to receive(:WidgetExists).with(TOTAL_PROGRESS_ID).and_return(false)
+ expect(Yast::UI).not_to receive(:ChangeWidget).with(TOTAL_PROGRESS_ID, anything(), anything())
+
+ Yast::SlideShow.UpdateGlobalProgress(1, "new label -1")
+ end
+ end
+
+ describe "when total progress widget exists" do
+ before(:each) do
+ allow(Yast::UI).to receive(:WidgetExists).and_return(false)
+ expect(Yast::UI).to receive(:WidgetExists).with(TOTAL_PROGRESS_ID).and_return(true)
+ end
+
+ it "updates the progress value and label" do
+ expect(Yast::UI).to receive(:ChangeWidget).with(TOTAL_PROGRESS_ID, :Value, 100)
+ expect(Yast::UI).to receive(:ChangeWidget).with(TOTAL_PROGRESS_ID, :Label, "finished")
+
+ Yast::SlideShow.UpdateGlobalProgress(100, "finished")
+ end
+
+ it "updates slides if using slides" do
+ allow(Yast::SlideShow).to receive(:ShowingSlide).and_return(true)
+ expect(Yast::SlideShow).to receive(:ChangeSlideIfNecessary)
+
+ Yast::SlideShow.UpdateGlobalProgress(9, "new label 0")
+ end
+
+ it "does not update progress label when setting it to nil" do
+ expect(Yast::UI).to receive(:ChangeWidget).with(TOTAL_PROGRESS_ID, :Value, 25)
+ expect(Yast::UI).not_to receive(:ChangeWidget).with(TOTAL_PROGRESS_ID, :Label, anything())
+
+ Yast::SlideShow.UpdateGlobalProgress(25, nil)
+ end
+
+ it "does not update progress value when setting it to nil" do
+ expect(Yast::UI).not_to receive(:ChangeWidget).with(TOTAL_PROGRESS_ID, :Value, anything())
+ expect(Yast::UI).to receive(:ChangeWidget).with(TOTAL_PROGRESS_ID, :Label, "new label 1")
+
+ Yast::SlideShow.UpdateGlobalProgress(nil, "new label 1")
+ end
+
+ # optimizes doing useless UI changes
+ it "does not update progress value or label if setting them to their current value" do
+ expect(Yast::UI).to receive(:ChangeWidget).with(TOTAL_PROGRESS_ID, :Value, 31).once
+ expect(Yast::UI).to receive(:ChangeWidget).with(TOTAL_PROGRESS_ID, :Label, "new label 5").once
+
+ # updates UI only once
+ 3.times { Yast::SlideShow.UpdateGlobalProgress(31, "new label 5") }
+ end
+ end
+ end
+
+ PACKAGES_PROGRESS_ID = Yast::SlideShowClass::UI_ID::CURRENT_PACKAGE
+
+ describe "#SubProgress" do
+ before(:each) do
+ allow(Yast::UI).to receive(:WidgetExists).and_return(false)
+
+ # reseting sub-progress before each test
+ Yast::SlideShow.SubProgress(0, "")
+ end
+
+ describe "when total progress widget does not exists" do
+ it "does not update the total progress" do
+ expect(Yast::UI).to receive(:WidgetExists).with(PACKAGES_PROGRESS_ID).and_return(false)
+ expect(Yast::UI).not_to receive(:ChangeWidget).with(PACKAGES_PROGRESS_ID, anything(), anything())
+
+ Yast::SlideShow.SubProgress(9, "some label")
+ end
+ end
+
+ describe "when total progress widget exists" do
+ before(:each) do
+ expect(Yast::UI).to receive(:WidgetExists).with(PACKAGES_PROGRESS_ID).and_return(true)
+ end
+
+ it "updates packages progress value and label" do
+ expect(Yast::UI).to receive(:ChangeWidget).with(PACKAGES_PROGRESS_ID, :Value, 100)
+ expect(Yast::UI).to receive(:ChangeWidget).with(PACKAGES_PROGRESS_ID, :Label, "finished")
+
+ Yast::SlideShow.SubProgress(100, "finished")
+ end
+
+ it "does not update progress label when setting it to nil" do
+ expect(Yast::UI).to receive(:ChangeWidget).with(PACKAGES_PROGRESS_ID, :Value, 13)
+ expect(Yast::UI).not_to receive(:ChangeWidget).with(PACKAGES_PROGRESS_ID, :Label, anything())
+
+ Yast::SlideShow.SubProgress(13, nil)
+ end
+
+ it "does not update progress value when setting it to nil" do
+ expect(Yast::UI).not_to receive(:ChangeWidget).with(PACKAGES_PROGRESS_ID, :Value, anything())
+ expect(Yast::UI).to receive(:ChangeWidget).with(PACKAGES_PROGRESS_ID, :Label, "package test 1")
+
+ Yast::SlideShow.SubProgress(nil, "package test 1")
+ end
+
+ # optimizes doing useless UI changes
+ it "does not update progress value or label if setting them to their current value" do
+ expect(Yast::UI).to receive(:ChangeWidget).with(PACKAGES_PROGRESS_ID, :Value, 67).once
+ expect(Yast::UI).to receive(:ChangeWidget).with(PACKAGES_PROGRESS_ID, :Label, "package test 2").once
+
+ # updates UI only once
+ 3.times { Yast::SlideShow.SubProgress(67, "package test 2") }
+ end
+ end
+ end
+
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.63/library/runlevel/src/modules/Service.rb new/yast2-3.1.74/library/runlevel/src/modules/Service.rb
--- old/yast2-3.1.63/library/runlevel/src/modules/Service.rb 2014-05-13 12:52:44.000000000 +0200
+++ new/yast2-3.1.74/library/runlevel/src/modules/Service.rb 2014-05-30 13:12:46.000000000 +0200
@@ -50,6 +50,35 @@
@error = ""
end
+ # Send whatever systemd command you need to call for a specific service
+ # If the command fails, log entry with output from systemctl is created in y2log
+ # @param [String,String] Command name and service name
+ # @return [Boolean] Result of the action, true means success
+ def call command_name, service_name
+ service = SystemdService.find(service_name)
+ return failure(:not_found, service_name) unless service
+
+ systemd_command =
+ case command_name
+ when 'show' then :show
+ when 'status' then :status
+ when 'start' then :start
+ when 'stop' then :stop
+ when 'enable' then :enable
+ when 'disable' then :disable
+ when 'restart' then :restart
+ when 'reload' then :reload
+ when 'try-restart' then :try_restart
+ when 'reload-or-restart' then :reload_or_restart
+ when 'reload-or-try-restart' then :reload_or_try_restart
+ else
+ raise "Command '#{command_name}' not supported"
+ end
+ result = service.send(systemd_command)
+ failure(command_name, service_name, service.error) unless result
+ result
+ end
+
# Check if service is active/running
#
# @param [String] name service name
@@ -75,6 +104,7 @@
alias_method :enabled?, :Enabled
# Enable service
+ # Logs error with output from systemctl if the command fails
# @param [String] service service to be enabled
# @return true if operation is successful
def Enable service_name
@@ -88,6 +118,7 @@
alias_method :enable, :Enable
# Disable service
+ # Logs error with output from systemctl if the command fails
# @param [String] service service to be disabled
# @return true if operation is successful
def Disable service_name
@@ -101,6 +132,7 @@
alias_method :disable, :Disable
# Start service
+ # Logs error with output from systemctl if the command fails
# @param [String] service service to be started
# @return true if operation is successful
def Start service_name
@@ -114,6 +146,7 @@
alias_method :start, :Start
# Restart service
+ # Logs error with output from systemctl if the command fails
# @param [String] service service to be restarted
# @return true if operation is successful
def Restart service_name
@@ -127,6 +160,7 @@
alias_method :restart, :Restart
# Reload service
+ # Logs error with output from systemctl if the command fails
# @param [String] service service to be reloaded
# @return true if operation is successful
def Reload service_name
@@ -140,6 +174,7 @@
alias_method :reload, :Reload
# Stop service
+ # Logs error with output from systemctl if the command fails
# @param [String] service service to be stopped
# @return true if operation is successful
def Stop service_name
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.63/library/runlevel/test/service_test.rb new/yast2-3.1.74/library/runlevel/test/service_test.rb
--- old/yast2-3.1.63/library/runlevel/test/service_test.rb 2014-05-13 12:52:44.000000000 +0200
+++ new/yast2-3.1.74/library/runlevel/test/service_test.rb 2014-05-30 13:12:46.000000000 +0200
@@ -20,6 +20,28 @@
stub_services
end
+ describe ".call" do
+ it "executes the command for the specified service" do
+ expect(Service.call('reload', 'sshd')).to be_true
+ end
+
+ it "returns false if the service has not been found" do
+ stub_services(:service=>'unknown')
+ expect(Service.call('restart', 'unknown')).to be_false
+ end
+
+ it "raises error if the command is not recognized" do
+ expect { Service.call('make-coffee', 'sshd') }.to raise_error
+ end
+
+ it "returns the result of the original result of the command call" do
+ expect(Service.call('status', 'sshd')).to be_kind_of(String)
+
+ stub_service_with(:"try_restart", false)
+ expect(Service.call('try-restart', "sshd")).to be_false
+ end
+ end
+
describe ".Active" do
it "returns true if a service is active" do
expect(Service.Active('sshd')).to be_true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.63/library/system/src/clients/view_anymsg.rb new/yast2-3.1.74/library/system/src/clients/view_anymsg.rb
--- old/yast2-3.1.63/library/system/src/clients/view_anymsg.rb 2014-05-13 12:52:44.000000000 +0200
+++ new/yast2-3.1.74/library/system/src/clients/view_anymsg.rb 2014-05-30 13:12:46.000000000 +0200
@@ -73,8 +73,10 @@
@filenames = Convert.to_string(
SCR.Read(path(".target.string"), Ops.add(@vardir, "/filenames"))
)
- if @filenames == nil || Ops.less_or_equal(Builtins.size(@filenames), 0)
- @filenames = "/var/log/boot.msg\n/var/log/messages\n"
+ if !@filenames || @filenames.empty?
+ @filenames = ""
+ @filenames << "/var/log/boot.log\n"
+ @filenames << "/var/log/messages\n"
end
# convert \n separated string to ycp list.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.63/library/system/src/modules/Kernel.rb new/yast2-3.1.74/library/system/src/modules/Kernel.rb
--- old/yast2-3.1.63/library/system/src/modules/Kernel.rb 2014-05-13 12:52:44.000000000 +0200
+++ new/yast2-3.1.74/library/system/src/modules/Kernel.rb 2014-05-30 13:12:46.000000000 +0200
@@ -57,6 +57,7 @@
Yast.import "PackagesProposal"
Yast.import "Popup"
Yast.import "Stage"
+ Yast.import "FileUtils"
textdomain "base"
@@ -608,6 +609,16 @@
# @return [Boolean] true on success
def SaveModulesToLoad
modules_to_load
+
+ unless FileUtils.Exists(MODULES_DIR)
+ log.warn "Directory #{MODULES_DIR} does not exist, creating"
+
+ unless SCR::Execute(path(".target.mkdir"), MODULES_DIR)
+ log.error "Cannot create directory #{MODULES_DIR}"
+ return false
+ end
+ end
+
success = true
@modules_to_load.each do |file, modules|
@@ -693,11 +704,22 @@
def read_modules_to_load
@modules_to_load = {MODULES_CONF_FILE => []}
- SCR::Read(path(".target.dir"), MODULES_DIR).each do |file_name|
+ if FileUtils.Exists(MODULES_DIR)
+ config_files = SCR::Read(path(".target.dir"), MODULES_DIR)
+ else
+ log.error "Cannot read modules to load on boot, directory #{MODULES_DIR} does not exist"
+ end
+
+ if config_files.nil?
+ log.error "Cannot read config files from #{MODULES_DIR}"
+ config_files = []
+ end
+
+ config_files.each do |file_name|
next unless file_name =~ /^.+\.conf$/
if !register_modules_agent(file_name)
- Builtins.y2error("Cannot register new SCR agent for #{file_path} file")
+ log.error "Cannot register new SCR agent for #{file_path} file"
next
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.63/library/system/test/kernel_test.rb new/yast2-3.1.74/library/system/test/kernel_test.rb
--- old/yast2-3.1.63/library/system/test/kernel_test.rb 2014-05-13 12:52:44.000000000 +0200
+++ new/yast2-3.1.74/library/system/test/kernel_test.rb 2014-05-30 13:12:46.000000000 +0200
@@ -1,18 +1,23 @@
#! /usr/bin/rspec
-ENV["Y2DIR"] = File.expand_path("../../src", __FILE__)
+top_srcdir = File.expand_path("../../../..", __FILE__)
+inc_dirs = Dir.glob("#{top_srcdir}/library/*/src")
+ENV["Y2DIR"] = inc_dirs.join(":")
require "yast"
require "tmpdir"
-include Yast
+include Yast::Logger
Yast.import "Kernel"
+Yast.import "FileUtils"
+Yast.import "SCR"
DEFAULT_DATA_DIR = File.join(File.expand_path(File.dirname(__FILE__)), "data/modules.d")
describe "Kernel" do
before (:each) do
+ log.info "--- test ---"
stub_const("Yast::KernelClass::MODULES_DIR", DEFAULT_DATA_DIR)
@default_modules = {
Yast::KernelClass::MODULES_CONF_FILE => [],
@@ -21,11 +26,21 @@
"user-added-2.conf"=>["user-module-4"],
}
Yast::Kernel.reset_modules_to_load
+ allow(Yast::FileUtils).to receive(:Exists).and_return(true)
end
describe "#modules_to_load" do
- it "returns hash of modules to load" do
- expect(Yast::Kernel.modules_to_load).to eq(@default_modules)
+ describe "when modules.d directory exists" do
+ it "returns hash of modules to load" do
+ expect(Yast::Kernel.modules_to_load).to eq(@default_modules)
+ end
+ end
+
+ describe "when modules.d directory is missing" do
+ it "returns empty list of modules for modules.d directory" do
+ expect(Yast::FileUtils).to receive(:Exists).with(Yast::KernelClass::MODULES_DIR).and_return(false)
+ expect(Yast::Kernel.modules_to_load).to eq({Yast::KernelClass::MODULES_CONF_FILE => []})
+ end
end
end
@@ -74,41 +89,54 @@
end
describe "#SaveModulesToLoad" do
- it "stores all modules to be loaded to configuration files" do
- Dir.mktmpdir do |tmpdir|
- FileUtils.cp_r(DEFAULT_DATA_DIR + "/.", tmpdir)
-
- stub_const("Yast::KernelClass::MODULES_DIR", tmpdir)
- Yast::Kernel.reset_modules_to_load
-
- # Tests on the default data
- ["module-a", "module-b", "user-module-1", "user-module-2", "user-module-3", "user-module-4"].each do |kernel_module|
- expect(Yast::Kernel.module_to_be_loaded?(kernel_module)).to be_true
- end
+ describe "when modules.d directory does not exist" do
+ it "tries to create the missing directory and returns false if it fails" do
+ expect(Yast::FileUtils).to receive(:Exists).twice().and_return(false)
+ expect(Yast::SCR).to receive(:Execute).with(
+ Yast::Path.new(".target.mkdir"),
+ anything()
+ ).and_return(false)
+ expect(Yast::Kernel.SaveModulesToLoad).to eq(false)
+ end
+ end
- new_module = "new-kernel-module"
- remove_module = "user-module-2"
+ describe "when modules.d directory exists" do
+ it "stores all modules to be loaded to configuration files and returns true" do
+ Dir.mktmpdir do |tmpdir|
+ FileUtils.cp_r(DEFAULT_DATA_DIR + "/.", tmpdir)
+
+ stub_const("Yast::KernelClass::MODULES_DIR", tmpdir)
+ Yast::Kernel.reset_modules_to_load
+
+ # Tests on the default data
+ ["module-a", "module-b", "user-module-1", "user-module-2", "user-module-3", "user-module-4"].each do |kernel_module|
+ expect(Yast::Kernel.module_to_be_loaded?(kernel_module)).to be_true
+ end
+
+ new_module = "new-kernel-module"
+ remove_module = "user-module-2"
+
+ # Modifying data
+ Yast::Kernel.AddModuleToLoad new_module
+ Yast::Kernel.RemoveModuleToLoad remove_module
+
+ expect(Yast::Kernel.SaveModulesToLoad).to be_true
+
+ # Tests on the stored modified data
+ Yast::Kernel.reset_modules_to_load
+ ["module-a", "module-b", "user-module-1", "user-module-3", "user-module-4", new_module].each do |kernel_module|
+ expect(Yast::Kernel.module_to_be_loaded?(kernel_module)).to be_true
+ end
+
+ expect(Yast::Kernel.module_to_be_loaded?(remove_module)).to be_false
+
+ # Tests directly on the system
+ number_of_nkm = `grep --count --no-filename #{new_module} #{tmpdir}/*`
+ expect(number_of_nkm.split.map(&:to_i).inject(:+)).to eq(1)
- # Modifying data
- Yast::Kernel.AddModuleToLoad new_module
- Yast::Kernel.RemoveModuleToLoad remove_module
-
- expect(Yast::Kernel.SaveModulesToLoad).to be_true
-
- # Tests on the stored modified data
- Yast::Kernel.reset_modules_to_load
- ["module-a", "module-b", "user-module-1", "user-module-3", "user-module-4", new_module].each do |kernel_module|
- expect(Yast::Kernel.module_to_be_loaded?(kernel_module)).to be_true
+ number_of_rkm = `grep --count --no-filename #{remove_module} #{tmpdir}/*`
+ expect(number_of_rkm.split.map(&:to_i).inject(:+)).to eq(0)
end
-
- expect(Yast::Kernel.module_to_be_loaded?(remove_module)).to be_false
-
- # Tests directly on the system
- number_of_nkm = `grep --count --no-filename #{new_module} #{tmpdir}/*`
- expect(number_of_nkm.split.map(&:to_i).inject(:+)).to eq(1)
-
- number_of_rkm = `grep --count --no-filename #{remove_module} #{tmpdir}/*`
- expect(number_of_rkm.split.map(&:to_i).inject(:+)).to eq(0)
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.63/library/systemd/src/lib/yast2/systemd_unit.rb new/yast2-3.1.74/library/systemd/src/lib/yast2/systemd_unit.rb
--- old/yast2-3.1.63/library/systemd/src/lib/yast2/systemd_unit.rb 2014-05-13 12:52:44.000000000 +0200
+++ new/yast2-3.1.74/library/systemd/src/lib/yast2/systemd_unit.rb 2014-05-30 13:12:46.000000000 +0200
@@ -4,7 +4,7 @@
require 'forwardable'
module Yast
- import 'Mode'
+ import 'Stage'
###
# Use this class always as a parent class for implementing various systemd units.
@@ -76,7 +76,8 @@
end
def show
- Mode.installation ? InstallationProperties.new(self) : Properties.new(self)
+ # Using different handler during first stage (installation, update, ...)
+ Stage.initial ? InstallationProperties.new(self) : Properties.new(self)
end
def status
@@ -218,7 +219,7 @@
# the error message mentioned above in this comment.
#
# Once the inst-sys has running dbus/systemd, this class definition can be removed
- # together with the condition for Mode.installation in the SystemdUnit#show.
+ # together with the condition for Stage.initial in the SystemdUnit#show.
class InstallationProperties < OpenStruct
include Yast::Logger
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.63/library/systemd/src/modules/systemd_service.rb new/yast2-3.1.74/library/systemd/src/modules/systemd_service.rb
--- old/yast2-3.1.63/library/systemd/src/modules/systemd_service.rb 2014-05-13 12:52:44.000000000 +0200
+++ new/yast2-3.1.74/library/systemd/src/modules/systemd_service.rb 2014-05-30 13:12:46.000000000 +0200
@@ -116,6 +116,9 @@
end
def restart
+ # Delegate to SystemdUnit#restart if not within installation
+ return super unless installation_system?
+
stop
sleep(1)
start
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.63/library/systemd/test/systemd_unit_test.rb new/yast2-3.1.74/library/systemd/test/systemd_unit_test.rb
--- old/yast2-3.1.63/library/systemd/test/systemd_unit_test.rb 2014-05-13 12:52:44.000000000 +0200
+++ new/yast2-3.1.74/library/systemd/test/systemd_unit_test.rb 2014-05-30 13:12:46.000000000 +0200
@@ -21,7 +21,7 @@
context "Installation system without full support of systemd" do
before do
- Yast::Mode.stub(:installation).and_return(true)
+ Yast::Stage.stub(:initial).and_return(true)
end
describe "#properties" do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.63/package/yast2.changes new/yast2-3.1.74/package/yast2.changes
--- old/yast2-3.1.63/package/yast2.changes 2014-05-13 12:52:44.000000000 +0200
+++ new/yast2-3.1.74/package/yast2.changes 2014-05-30 13:12:46.000000000 +0200
@@ -1,4 +1,79 @@
-------------------------------------------------------------------
+Fri May 30 11:06:47 UTC 2014 - vmoravec(a)suse.com
+
+- Add Service.call method to make available all systemctl commands
+- 3.1.74
+
+-------------------------------------------------------------------
+Fri May 30 08:55:45 UTC 2014 - lslezak(a)suse.cz
+
+- DonePackage callback: remove invalid UTF-8 characters to avoid
+ crash (bnc#876459)
+- 3.1.73
+
+-------------------------------------------------------------------
+Fri May 30 10:41:14 CEST 2014 - locilka(a)suse.com
+
+- Fixed network backend handling during upgrade - unified with
+ installation (bnc#879594)
+- 3.1.72
+
+-------------------------------------------------------------------
+Wed May 28 10:55:02 UTC 2014 - locilka(a)suse.com
+
+- Removed warning message when starting Yast in Qt instead of GTK
+ and vice versa (bnc#861807)
+- 3.1.71
+
+-------------------------------------------------------------------
+Wed May 28 10:39:00 UTC 2014 - jreidinger(a)suse.com
+
+- split too wide urls for accepting GnuGP key (bnc#870822)
+- 3.1.70
+
+-------------------------------------------------------------------
+Wed May 28 10:00:17 UTC 2014 - lslezak(a)suse.cz
+
+- removed system verification check when yast module installs
+ required packages (bnc#866256)
+- 3.1.69
+
+-------------------------------------------------------------------
+Wed May 28 07:56:29 UTC 2014 - jreidinger(a)suse.com
+
+- save_y2logs: store also pbl.log from target system, if bootloader
+ installation failed (bnc#879622)
+- 3.1.68
+
+-------------------------------------------------------------------
+Fri May 23 12:35:42 CEST 2014 - locilka(a)suse.com
+
+- Added check for existence of /etc/modules.d/ directory in Kernel
+ library, the directory is created when missing (bnc#879428)
+- 3.1.67
+
+-------------------------------------------------------------------
+Fri May 23 09:06:28 UTC 2014 - mfilka(a)suse.com
+
+- bnc#879399
+ - offer /var/log/boot.log in SysLog module for view
+- 3.1.66
+
+-------------------------------------------------------------------
+Mon May 19 15:42:28 CEST 2014 - locilka(a)suse.com
+
+- Always using special InstallationProperties for systemd_unit
+ while called in first stage (bnc#878560)
+- 3.1.65
+
+-------------------------------------------------------------------
+Mon May 19 15:07:50 CEST 2014 - locilka(a)suse.com
+
+- Changed dialog label for updating/installing in SlideShow
+ depending on the selected method (bnc#874995)
+- 3.1.64
+
+-------------------------------------------------------------------
Tue May 13 12:03:12 CEST 2014 - aschnell(a)suse.de
- added error handing for viewing log files (bnc#876895)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.63/package/yast2.spec new/yast2-3.1.74/package/yast2.spec
--- old/yast2-3.1.63/package/yast2.spec 2014-05-13 12:52:44.000000000 +0200
+++ new/yast2-3.1.74/package/yast2.spec 2014-05-30 13:12:46.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2
-Version: 3.1.63
+Version: 3.1.74
Release: 0
URL: https://github.com/yast/yast-yast2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.63/scripts/save_y2logs new/yast2-3.1.74/scripts/save_y2logs
--- old/yast2-3.1.63/scripts/save_y2logs 2014-05-13 12:52:44.000000000 +0200
+++ new/yast2-3.1.74/scripts/save_y2logs 2014-05-30 13:12:46.000000000 +0200
@@ -90,6 +90,10 @@
if [ -f /var/log/pbl.log ]; then
LIST="$LIST /var/log/pbl.log"
fi
+# if storing logs at the end of installation after bootloader fail, try to store pbl log from target system
+if [ -f /mnt/var/log/pbl.log ]; then
+ LIST="$LIST /mnt/var/log/pbl.log"
+fi
if [ -f /.packages.root ]; then
LIST="$LIST /.packages.root"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.63/scripts/yast2 new/yast2-3.1.74/scripts/yast2
--- old/yast2-3.1.63/scripts/yast2 2014-05-13 12:52:44.000000000 +0200
+++ new/yast2-3.1.74/scripts/yast2 2014-05-30 13:12:46.000000000 +0200
@@ -135,6 +135,7 @@
if [ "$WANTED_GUI" = "auto" ]; then
probe_desktop_gui
WANTED_GUI=$DESKTOP_GUI
+ GUI_SELECTION=auto
fi
if [ "$WANTED_GUI" = "gtk" ]; then
@@ -144,7 +145,9 @@
if check_qt; then
SELECTED_GUI=qt
WANTED_GUI=qt
- echo >&2 "GTK GUI wanted but not found, falling back to Qt."
+ if [ "$GUI_SELECTION" != "auto" ]; then
+ echo >&2 "GTK GUI wanted but not found, falling back to Qt."
+ fi
else
echo >&2 "GTK GUI wanted but not found, falling back to ncurses."
fi
@@ -156,7 +159,9 @@
if check_gtk; then
SELECTED_GUI=gtk
WANTED_GUI=gtk
- echo >&2 "Qt GUI wanted but not found, falling back to GTK."
+ if [ "$GUI_SELECTION" != "auto" ]; then
+ echo >&2 "Qt GUI wanted but not found, falling back to GTK."
+ fi
else
echo >&2 "Qt GUI wanted but not found, falling back to ncurses."
fi
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0