openSUSE Commits
Threads by month
- ----- 2024 -----
- 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
October 2015
- 1 participants
- 1896 discussions
Hello community,
here is the log from the commit of package python-psutil for openSUSE:Factory checked in at 2015-10-01 09:29:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-psutil (Old)
and /work/SRC/openSUSE:Factory/.python-psutil.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-psutil"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-psutil/python-psutil.changes 2015-09-03 18:13:06.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-psutil.new/python-psutil.changes 2015-10-01 09:29:20.000000000 +0200
@@ -1,0 +2,6 @@
+Wed Sep 16 19:33:14 UTC 2015 - michael(a)stroeder.com
+
+- update to version 3.2.1
+ * #677: [Linux] can't install psutil due to bug in setup.py.
+
+-------------------------------------------------------------------
Old:
----
psutil-3.2.0.tar.gz
New:
----
psutil-3.2.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-psutil.spec ++++++
--- /var/tmp/diff_new_pack.niXCiC/_old 2015-10-01 09:29:21.000000000 +0200
+++ /var/tmp/diff_new_pack.niXCiC/_new 2015-10-01 09:29:21.000000000 +0200
@@ -17,7 +17,7 @@
Name: python-psutil
-Version: 3.2.0
+Version: 3.2.1
Release: 0
Summary: A process utilities module for Python
License: BSD-3-Clause
++++++ psutil-3.2.0.tar.gz -> psutil-3.2.1.tar.gz ++++++
++++ 2685 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package shake for openSUSE:Factory checked in at 2015-10-01 09:29:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/shake (Old)
and /work/SRC/openSUSE:Factory/.shake.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "shake"
Changes:
--------
New Changes file:
--- /dev/null 2015-09-24 09:51:01.260026505 +0200
+++ /work/SRC/openSUSE:Factory/.shake.new/shake.changes 2015-10-01 09:29:18.000000000 +0200
@@ -0,0 +1,5 @@
+-------------------------------------------------------------------
+Mon Sep 21 17:31:47 UTC 2015 - mimi.vx(a)gmail.com
+
+- initial commit
+
New:
----
shake-0.15.5.tar.gz
shake.changes
shake.spec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ shake.spec ++++++
#
# spec file for package shake
#
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%global pkg_name shake
%bcond_with tests
Name: shake
Version: 0.15.5
Release: 0
Summary: Build system library, like Make, but more accurate dependencies
Group: Development/Languages/Other
License: BSD-3-Clause
Url: https://hackage.haskell.org/package/%{name}
Source0: https://hackage.haskell.org/package/%{name}-%{version}/%{name}-%{version}.t…
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-rpm-macros
# Begin cabal-rpm deps:
BuildRequires: ghc-binary-devel
BuildRequires: ghc-bytestring-devel
BuildRequires: ghc-deepseq-devel
BuildRequires: ghc-directory-devel
BuildRequires: ghc-extra-devel
BuildRequires: ghc-filepath-devel
BuildRequires: ghc-hashable-devel
BuildRequires: ghc-js-flot-devel
BuildRequires: ghc-js-jquery-devel
BuildRequires: ghc-old-time-devel
BuildRequires: ghc-process-devel
BuildRequires: ghc-random-devel
BuildRequires: ghc-time-devel
BuildRequires: ghc-transformers-devel
BuildRequires: ghc-unix-devel
BuildRequires: ghc-unordered-containers-devel
BuildRequires: ghc-utf8-string-devel
%if %{with tests}
BuildRequires: ghc-QuickCheck-devel
%endif
# End cabal-rpm deps
%description
Shake is a Haskell library for writing build systems - designed as a
replacement for 'make'. See "Development.Shake" for an introduction, including
an example. Further examples are included in the Cabal tarball, under the
'Examples' directory. The homepage contains links to a user manual, an academic
paper and further information: <http://shakebuild.com>
To use Shake the user writes a Haskell program that imports
"Development.Shake", defines some build rules, and calls the
'Development.Shake.shakeArgs' function. Thanks to do notation and infix
operators, a simple Shake build system is not too dissimilar from a simple
Makefile. However, as build systems get more complex, Shake is able to take
advantage of the excellent abstraction facilities offered by Haskell and easily
support much larger projects. The Shake library provides all the standard
features available in other build systems, including automatic parallelism and
minimal rebuilds. Shake also provides more accurate dependency tracking,
including seamless support for generated files, and dependencies on system
information (e.g. compiler version).
%package -n ghc-%{name}
Summary: Haskell %{name} library
Group: System/Libraries
%description -n ghc-%{name}
This package provides the Haskell %{name} shared library.
%package -n ghc-%{name}-devel
Summary: Haskell %{name} library development files
Group: Development/Libraries/Other
Requires: ghc-compiler = %{ghc_version}
Requires(post): ghc-compiler = %{ghc_version}
Requires(postun): ghc-compiler = %{ghc_version}
Requires: ghc-%{name} = %{version}-%{release}
%description -n ghc-%{name}-devel
This package provides the Haskell %{name} library development files.
%prep
%setup -q
%build
%ghc_lib_build
%install
%ghc_lib_install
rm -Rf docs/manual
rm -Rf %{buildroot}/%{_datadir}/%{name}-%{version}/docs
%check
%if %{with tests}
%cabal test
%endif
%post -n ghc-%{name}-devel
%ghc_pkg_recache
%postun -n ghc-%{name}-devel
%ghc_pkg_recache
%files
%defattr(-,root,root,-)
%doc LICENSE
%doc README.md docs
%{_bindir}/%{name}
%{_datadir}/%{name}-%{version}
%files -n ghc-%{name} -f ghc-%{name}.files
%defattr(-,root,root,-)
%doc LICENSE
%files -n ghc-%{name}-devel -f ghc-%{name}-devel.files
%defattr(-,root,root,-)
%doc README.md
%changelog
1
0
Hello community,
here is the log from the commit of package python-tox for openSUSE:Factory checked in at 2015-10-01 09:29:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-tox (Old)
and /work/SRC/openSUSE:Factory/.python-tox.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-tox"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-tox/python-tox.changes 2015-05-06 07:48:53.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-tox.new/python-tox.changes 2015-10-01 09:29:04.000000000 +0200
@@ -1,0 +2,71 @@
+Wed Sep 16 13:18:44 UTC 2015 - rhafer(a)suse.com
+
+- (Build)Require python-pluggy
+- refreshed tox-disable-env-tests.patch
+- Update to 2.1.1:
+ * fix platform skipping for detox
+ * report skipped platforms as skips in the summary
+- additional changes from version 2.1.0
+ * fix issue258, fix issue248, fix issue253: for non-test commands
+ (installation, venv creation) we pass in the full invocation environment.
+ * remove experimental --set-home option which was hardly used and
+ hackily implemented (if people want home-directory isolation we should
+ figure out a better way to do it, possibly through a plugin)
+ * fix issue259: passenv is now a line-list which allows to intersperse
+ comments. Thanks stefano-m.
+ * allow envlist to be a multi-line list, to intersperse comments
+ and have long envlist settings split more naturally. Thanks Andre Caron.
+ * introduce a TOX_TESTENV_PASSENV setting which is honored
+ when constructing the set of environment variables for test environments.
+ Thanks Marc Abramowitz for pushing in this direction.
+- additional changes from version 2.0.2
+ * fix issue247: tox now passes the LANG variable from the tox invocation
+ environment to the test environment by default.
+ * add SYSTEMDRIVE into default passenv on windows to allow pip6 to work.
+ Thanks Michael Krause.
+- additional changes from version 2.0.1
+ * fix wheel packaging to properly require argparse on py26.
+- additional changes from version 2.0.0
+ * (new) introduce environment variable isolation:
+ tox now only passes the PATH and PIP_INDEX_URL variable from the tox
+ invocation environment to the test environment and on Windows
+ also ``SYSTEMROOT``, ``PATHEXT``, ``TEMP`` and ``TMP`` whereas
+ on unix additionally ``TMPDIR`` is passed. If you need to pass
+ through further environment variables you can use the new ``passenv`` setting,
+ a space-separated list of environment variable names. Each name
+ can make use of fnmatch-style glob patterns. All environment
+ variables which exist in the tox-invocation environment will be copied
+ to the test environment.
+ * a new ``--help-ini`` option shows all possible testenv settings and
+ their defaults.
+ * (new) introduce a way to specify on which platform a testenvironment is to
+ execute: the new per-venv "platform" setting allows to specify
+ a regular expression which is matched against sys.platform.
+ If platform is set and doesn't match the platform spec in the test
+ environment the test environment is ignored, no setup or tests are attempted.
+ * (new) add per-venv "ignore_errors" setting, which defaults to False.
+ If ``True``, a non-zero exit code from one command will be ignored and
+ further commands will be executed (which was the default behavior in tox <
+ 2.0). If ``False`` (the default), then a non-zero exit code from one command
+ will abort execution of commands for that environment.
+ * show and store in json the version dependency information for each venv
+ * remove the long-deprecated "distribute" option as it has no effect these days.
+ * fix issue233: avoid hanging with tox-setuptools integration example. Thanks simonb.
+ * fix issue120: allow substitution for the commands section. Thanks
+ Volodymyr Vitvitski.
+ * fix issue235: fix AttributeError with --installpkg. Thanks
+ Volodymyr Vitvitski.
+ * tox has now somewhat pep8 clean code, thanks to Volodymyr Vitvitski.
+ * fix issue240: allow to specify empty argument list without it being
+ rewritten to ".". Thanks Daniel Hahler.
+ * introduce experimental (not much documented yet) plugin system
+ based on pytest's externalized "pluggy" system.
+ See tox/hookspecs.py for the current hooks.
+ * introduce parser.add_testenv_attribute() to register an ini-variable
+ for testenv sections. Can be used from plugins through the
+ tox_add_option hook.
+ * rename internal files -- tox offers no external API except for the
+ experimental plugin hooks, use tox internals at your own risk.
+ * DEPRECATE distshare in documentation
+
+-------------------------------------------------------------------
Old:
----
tox-1.9.2.tar.gz
New:
----
tox-2.1.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-tox.spec ++++++
--- /var/tmp/diff_new_pack.vu6o9J/_old 2015-10-01 09:29:05.000000000 +0200
+++ /var/tmp/diff_new_pack.vu6o9J/_new 2015-10-01 09:29:05.000000000 +0200
@@ -17,7 +17,7 @@
Name: python-tox
-Version: 1.9.2
+Version: 2.1.1
Release: 0
Summary: Virtualenv-based automation of test activities
License: MIT
@@ -31,10 +31,12 @@
BuildRequires: python-Sphinx
# Test requirements:
BuildRequires: python-pip
+BuildRequires: python-pluggy >= 0.3.0
BuildRequires: python-py >= 1.4.17
BuildRequires: python-pytest >= 2.3.5
BuildRequires: python-virtualenv >= 1.11.2
BuildRequires: unzip
+Requires: python-pluggy >= 0.3.0
Requires: python-py >= 1.4.17
Requires: python-virtualenv >= 1.11.2
Requires(post): update-alternatives
++++++ tox-1.9.2.tar.gz -> tox-2.1.1.tar.gz ++++++
++++ 8086 lines of diff (skipped)
++++++ tox-disable-env-tests.patch ++++++
--- /var/tmp/diff_new_pack.vu6o9J/_old 2015-10-01 09:29:05.000000000 +0200
+++ /var/tmp/diff_new_pack.vu6o9J/_new 2015-10-01 09:29:05.000000000 +0200
@@ -1,9 +1,11 @@
---- a/tests/test_config.py
-+++ b/tests/test_config.py
-@@ -1346,83 +1346,6 @@ class TestParseEnv:
- config = newconfig([], inisource)
+Index: tox-2.1.1/tests/test_config.py
+===================================================================
+--- tox-2.1.1.orig/tests/test_config.py
++++ tox-2.1.1/tests/test_config.py
+@@ -1575,84 +1575,6 @@ class TestParseEnv:
assert config.envconfigs['hello'].recreate
+
-class TestCmdInvocation:
- def test_help(self, cmd):
- result = cmd.run("tox", "-h")
@@ -71,22 +73,25 @@
- result = cmd.run("tox", "--showconfig")
- assert result.ret == 0
- result.stdout.fnmatch_lines([
-- r'*deps=*dep1==2.3, dep2*',
+- r'*deps*dep1==2.3, dep2*',
- ])
- # override dep1 specific version, and force version for dep2
- result = cmd.run("tox", "--showconfig", "--force-dep=dep1",
- "--force-dep=dep2==5.0")
- assert result.ret == 0
- result.stdout.fnmatch_lines([
-- r'*deps=*dep1, dep2==5.0*',
+- r'*deps*dep1, dep2==5.0*',
- ])
-
- class TestArgumentParser:
-
- def test_dash_e_single_1(self):
---- a/tests/test_z_cmdline.py
-+++ b/tests/test_z_cmdline.py
-@@ -1,685 +0,0 @@
+-
+ @pytest.mark.parametrize("cmdline,envlist", [
+ ("-e py26", ['py26']),
+ ("-e py26,py33", ['py26', 'py33']),
+Index: tox-2.1.1/tests/test_z_cmdline.py
+===================================================================
+--- tox-2.1.1.orig/tests/test_z_cmdline.py
++++ tox-2.1.1/tests/test_z_cmdline.py
+@@ -1,727 +0,0 @@
-import tox
-import py
-import pytest
@@ -98,38 +103,43 @@
-
-pytest_plugins = "pytester"
-
--from tox._cmdline import Session
--from tox._config import parseconfig
+-from tox.session import Session
+-from tox.config import parseconfig
+-
-
-def test_report_protocol(newconfig):
- config = newconfig([], """
- [testenv:mypython]
- deps=xy
- """)
+-
- class Popen:
- def __init__(self, *args, **kwargs):
- pass
+-
- def communicate(self):
- return "", ""
+-
- def wait(self):
- pass
-
- session = Session(config, popen=Popen,
-- Report=ReportExpectMock)
+- Report=ReportExpectMock)
- report = session.report
- report.expect("using")
- venv = session.getvenv("mypython")
- venv.update()
- report.expect("logpopen")
-
+-
-def test__resolve_pkg(tmpdir, mocksession):
- distshare = tmpdir.join("distshare")
- spec = distshare.join("pkg123-*")
- py.test.raises(tox.exception.MissingDirectory,
-- 'mocksession._resolve_pkg(spec)')
+- 'mocksession._resolve_pkg(spec)')
- distshare.ensure(dir=1)
- py.test.raises(tox.exception.MissingDependency,
-- 'mocksession._resolve_pkg(spec)')
+- 'mocksession._resolve_pkg(spec)')
- distshare.ensure("pkg123-1.3.5.zip")
- p = distshare.ensure("pkg123-1.4.5.zip")
-
@@ -147,6 +157,7 @@
- result = mocksession._resolve_pkg(spec)
- assert result == p
-
+-
-def test__resolve_pkg_doubledash(tmpdir, mocksession):
- distshare = tmpdir.join("distshare")
- p = distshare.ensure("pkg-mine-1.3.0.zip")
@@ -157,7 +168,6 @@
- assert res == p
-
-
--
-class TestSession:
- def test_make_sdist(self, initproj):
- initproj("example123-0.5", filedefs={
@@ -167,15 +177,15 @@
- })
- config = parseconfig([])
- session = Session(config)
-- sdist = session.sdist()
+- sdist = session.get_installpkg_path()
- assert sdist.check()
- assert sdist.ext == ".zip"
- assert sdist == config.distdir.join(sdist.basename)
-- sdist2 = session.sdist()
+- sdist2 = session.get_installpkg_path()
- assert sdist2 == sdist
- sdist.write("hello")
- assert sdist.stat().size < 10
-- sdist_new = Session(config).sdist()
+- sdist_new = Session(config).get_installpkg_path()
- assert sdist_new == sdist
- assert sdist_new.stat().size > 10
-
@@ -190,7 +200,7 @@
- })
- config = parseconfig([])
- session = Session(config)
-- sdist = session.sdist()
+- sdist = session.get_installpkg_path()
- assert sdist.check()
- assert sdist.ext == ".zip"
- assert sdist == config.distdir.join(sdist.basename)
@@ -205,7 +215,7 @@
- action.popen(["echo", ])
- match = mocksession.report.getnext("logpopen")
- assert match[1].outpath.relto(mocksession.config.logdir)
-- assert match[1].shell == False
+- assert match[1].shell is False
-
- def test_summary_status(self, initproj, capfd):
- initproj("logexample123-0.5", filedefs={
@@ -266,6 +276,7 @@
- "*created sdist package at*",
- ])
-
+-
-def test_minversion(cmd, initproj):
- initproj("interp123-0.5", filedefs={
- 'tests': {'test_hello.py': "def test_hello(): pass"},
@@ -280,6 +291,7 @@
- ])
- assert result.ret
-
+-
-def test_run_custom_install_command_error(cmd, initproj):
- initproj("interp123-0.5", filedefs={
- 'tox.ini': '''
@@ -293,6 +305,7 @@
- ])
- assert result.ret
-
+-
-def test_unknown_interpreter_and_env(cmd, initproj):
- initproj("interp123-0.5", filedefs={
- 'tests': {'test_hello.py': "def test_hello(): pass"},
@@ -315,6 +328,7 @@
- "*ERROR*unknown*",
- ])
-
+-
-def test_unknown_interpreter(cmd, initproj):
- initproj("interp123-0.5", filedefs={
- 'tests': {'test_hello.py': "def test_hello(): pass"},
@@ -331,6 +345,23 @@
- "*ERROR*InterpreterNotFound*xyz_unknown_interpreter*",
- ])
-
+-
+-def test_skip_platform_mismatch(cmd, initproj):
+- initproj("interp123-0.5", filedefs={
+- 'tests': {'test_hello.py': "def test_hello(): pass"},
+- 'tox.ini': '''
+- [testenv]
+- changedir=tests
+- platform=x123
+- '''
+- })
+- result = cmd.run("tox")
+- assert not result.ret
+- result.stdout.fnmatch_lines("""
+- SKIPPED*platform mismatch*
+- """)
+-
+-
-def test_skip_unknown_interpreter(cmd, initproj):
- initproj("interp123-0.5", filedefs={
- 'tests': {'test_hello.py': "def test_hello(): pass"},
@@ -347,6 +378,7 @@
- "*SKIPPED*InterpreterNotFound*xyz_unknown_interpreter*",
- ])
-
+-
-def test_unknown_dep(cmd, initproj):
- initproj("dep123-0.7", filedefs={
- 'tests': {'test_hello.py': "def test_hello(): pass"},
@@ -362,6 +394,7 @@
- "*ERROR*could not install*qweqwe123*",
- ])
-
+-
-def test_unknown_environment(cmd, initproj):
- initproj("env123-0.7", filedefs={
- 'tox.ini': ''
@@ -372,13 +405,13 @@
- "*ERROR*unknown*environment*qpwoei*",
- ])
-
+-
-def test_skip_sdist(cmd, initproj):
- initproj("pkg123-0.7", filedefs={
- 'tests': {'test_hello.py': "def test_hello(): pass"},
- 'setup.py': """
- syntax error
-- """
-- ,
+- """,
- 'tox.ini': '''
- [tox]
- skipsdist=True
@@ -389,12 +422,12 @@
- result = cmd.run("tox", )
- assert result.ret == 0
-
+-
-def test_minimal_setup_py_empty(cmd, initproj):
- initproj("pkg123-0.7", filedefs={
- 'tests': {'test_hello.py': "def test_hello(): pass"},
- 'setup.py': """
-- """
-- ,
+- """,
- 'tox.ini': ''
-
- })
@@ -404,13 +437,13 @@
- "*ERROR*empty*",
- ])
-
+-
-def test_minimal_setup_py_comment_only(cmd, initproj):
- initproj("pkg123-0.7", filedefs={
- 'tests': {'test_hello.py': "def test_hello(): pass"},
- 'setup.py': """\n# some comment
-
-- """
-- ,
+- """,
- 'tox.ini': ''
-
- })
@@ -420,14 +453,14 @@
- "*ERROR*empty*",
- ])
-
+-
-def test_minimal_setup_py_non_functional(cmd, initproj):
- initproj("pkg123-0.7", filedefs={
- 'tests': {'test_hello.py': "def test_hello(): pass"},
- 'setup.py': """
- import sys
-
-- """
-- ,
+- """,
- 'tox.ini': ''
-
- })
@@ -437,13 +470,13 @@
- "*ERROR*check setup.py*",
- ])
-
+-
-def test_sdist_fails(cmd, initproj):
- initproj("pkg123-0.7", filedefs={
- 'tests': {'test_hello.py': "def test_hello(): pass"},
- 'setup.py': """
- syntax error
-- """
-- ,
+- """,
- 'tox.ini': '',
- })
- result = cmd.run("tox", )
@@ -452,6 +485,7 @@
- "*FAIL*could not package project*",
- ])
-
+-
-def test_package_install_fails(cmd, initproj):
- initproj("pkg123-0.7", filedefs={
- 'tests': {'test_hello.py': "def test_hello(): pass"},
@@ -466,8 +500,7 @@
- packages=['pkg123',],
- install_requires=['qweqwe123'],
- )
-- """
-- ,
+- """,
- 'tox.ini': '',
- })
- result = cmd.run("tox", )
@@ -477,14 +510,14 @@
- ])
-
-
--
-class TestToxRun:
- @pytest.fixture
- def example123(self, initproj):
- initproj("example123-0.5", filedefs={
-- 'tests': {'test_hello.py': """
-- def test_hello(pytestconfig):
-- pass
+- 'tests': {
+- 'test_hello.py': """
+- def test_hello(pytestconfig):
+- pass
- """,
- },
- 'tox.ini': '''
@@ -546,6 +579,7 @@
- assert not result.ret
- assert "sdist-make" not in result.stdout.str()
-
+-
-def test_usedevelop(initproj, cmd):
- initproj("example123", filedefs={'tox.ini': """
- [testenv]
@@ -555,6 +589,7 @@
- assert not result.ret
- assert "sdist-make" not in result.stdout.str()
-
+-
-def test_usedevelop_mixed(initproj, cmd):
- initproj("example123", filedefs={'tox.ini': """
- [testenv:devenv]
@@ -573,11 +608,13 @@
- assert not result.ret
- assert "sdist-make" in result.stdout.str()
-
+-
-def test_test_usedevelop(cmd, initproj):
- initproj("example123-0.5", filedefs={
-- 'tests': {'test_hello.py': """
-- def test_hello(pytestconfig):
-- pass
+- 'tests': {
+- 'test_hello.py': """
+- def test_hello(pytestconfig):
+- pass
- """,
- },
- 'tox.ini': '''
@@ -639,6 +676,7 @@
- result = cmd.run("tox")
- assert not result.ret
-
+-
-def test_notest(initproj, cmd):
- initproj("example123", filedefs={'tox.ini': """
- # content of: tox.ini
@@ -657,6 +695,7 @@
- "*py26*reusing*",
- ])
-
+-
-def test_PYC(initproj, cmd, monkeypatch):
- initproj("example123", filedefs={'tox.ini': ''})
- monkeypatch.setenv("PYTHONDOWNWRITEBYTECODE", 1)
@@ -666,6 +705,7 @@
- "*create*",
- ])
-
+-
-def test_env_VIRTUALENV_PYTHON(initproj, cmd, monkeypatch):
- initproj("example123", filedefs={'tox.ini': ''})
- monkeypatch.setenv("VIRTUALENV_PYTHON", '/FOO')
@@ -675,6 +715,7 @@
- "*create*",
- ])
-
+-
-def test_sdistonly(initproj, cmd):
- initproj("example123", filedefs={'tox.ini': """
- """})
@@ -685,6 +726,7 @@
- ])
- assert "-mvirtualenv" not in result.stdout.str()
-
+-
-def test_separate_sdist_no_sdistfile(cmd, initproj):
- distshare = cmd.tmpdir.join("distshare")
- initproj(("pkg123-foo", "0.7"), filedefs={
@@ -700,6 +742,7 @@
- sdistfile = l[0]
- assert 'pkg123-foo-0.7.zip' in str(sdistfile)
-
+-
-def test_separate_sdist(cmd, initproj):
- distshare = cmd.tmpdir.join("distshare")
- initproj("pkg123-0.7", filedefs={
@@ -731,16 +774,18 @@
- p = distshare.ensure("pkg123-1.4.5.zip")
- distshare.ensure("pkg123-1.4.5a1.zip")
- session = Session(config)
-- sdist_path = session.sdist()
+- sdist_path = session.get_installpkg_path()
- assert sdist_path == p
-
+-
-def test_installpkg(tmpdir, newconfig):
- p = tmpdir.ensure("pkg123-1.0.zip")
- config = newconfig(["--installpkg=%s" % p], "")
- session = Session(config)
-- sdist_path = session.sdist()
+- sdist_path = session.get_installpkg_path()
- assert sdist_path == p
-
+-
-(a)pytest.mark.xfail("sys.platform == 'win32' and sys.version_info < (2,6)",
- reason="test needs better impl")
-def test_envsitepackagesdir(cmd, initproj):
@@ -756,6 +801,7 @@
- X:*tox*site-packages*
- """)
-
+-
-def verify_json_report_format(data, testenvs=True):
- assert data["reportversion"] == "1"
- assert data["toxversion"] == tox.__version__
@@ -767,8 +813,9 @@
- for command in envdata[commandtype]:
- assert command["output"]
- assert command["retcode"]
-- pyinfo = envdata["python"]
-- assert isinstance(pyinfo["version_info"], list)
-- assert pyinfo["version"]
-- assert pyinfo["executable"]
--
+- if envname != "GLOB":
+- assert isinstance(envdata["installed_packages"], list)
+- pyinfo = envdata["python"]
+- assert isinstance(pyinfo["version_info"], list)
+- assert pyinfo["version"]
+- assert pyinfo["executable"]
1
0
Hello community,
here is the log from the commit of package python-cliff for openSUSE:Factory checked in at 2015-10-01 09:28:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-cliff (Old)
and /work/SRC/openSUSE:Factory/.python-cliff.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-cliff"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-cliff/python-cliff.changes 2015-09-02 00:35:51.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-cliff.new/python-cliff.changes 2015-10-01 09:29:01.000000000 +0200
@@ -1,0 +2,11 @@
+Wed Sep 16 11:34:00 UTC 2015 - tbechtold(a)suse.com
+
+- update to 1.15.0:
+ * Replace '\r' with ' ' for prettytable
+ * Implement a json formatter in cliff
+ * Implement a yaml formatter in cliff
+ * Updated from global requirements
+ * Improve help messages
+- Adjust Requires according to requirements.txt
+
+-------------------------------------------------------------------
Old:
----
cliff-1.14.0.tar.gz
New:
----
cliff-1.15.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-cliff.spec ++++++
--- /var/tmp/diff_new_pack.RZYzhN/_old 2015-10-01 09:29:01.000000000 +0200
+++ /var/tmp/diff_new_pack.RZYzhN/_new 2015-10-01 09:29:01.000000000 +0200
@@ -17,7 +17,7 @@
Name: python-cliff
-Version: 1.14.0
+Version: 1.15.0
Release: 0
Url: https://github.com/dreamhost/cliff
Summary: Command Line Interface Formulation Framework
@@ -46,6 +46,7 @@
%if 0%{?suse_version} <= 1110
Requires: python-argparse
%endif
+Requires: python-PyYAML >= 3.1.0
Requires: python-cmd2 >= 0.6.7
Requires: python-pyparsing >= 2.0.1
Requires: python-six >= 1.9.0
++++++ cliff-1.14.0.tar.gz -> cliff-1.15.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/AUTHORS new/cliff-1.15.0/AUTHORS
--- old/cliff-1.14.0/AUTHORS 2015-08-10 22:16:17.000000000 +0200
+++ new/cliff-1.15.0/AUTHORS 2015-09-15 23:27:57.000000000 +0200
@@ -1,4 +1,5 @@
Andrea Frittoli <andrea.frittoli(a)hp.com>
+Andreas Jaeger <aj(a)suse.de>
Andrew Spiers <andrew(a)andrewspiers.net>
Cedric Brandily <zzelle(a)gmail.com>
ChangBo Guo(gcb) <eric.guo(a)easystack.cn>
@@ -27,6 +28,7 @@
Ryan Petrello <lists(a)ryanpetrello.com>
Sascha Peilicke <saschpe(a)gmx.de>
Sean Perry <sean.perry(a)hp.com>
+Steve Baker <sbaker(a)redhat.com>
Terry Howe <terrylhowe(a)gmail.com>
TerryHowe <terrylhowe(a)gmail.com>
Thomas Bechtold <tbechtold(a)suse.com>
@@ -35,5 +37,6 @@
gcmalloc <gcmalloc(a)gmail.com>
heavenshell <heavenshell.jp(a)gmail.com>
kafka <guowang(a)unitedstack.com>
+liyingjun <yingjun.li(a)kylin-cloud.com>
markmcclain <mark(a)four-m.org>
qneill <quentin.neill(a)gmail.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/ChangeLog new/cliff-1.15.0/ChangeLog
--- old/cliff-1.14.0/ChangeLog 2015-08-10 22:16:17.000000000 +0200
+++ new/cliff-1.15.0/ChangeLog 2015-09-15 23:27:57.000000000 +0200
@@ -1,6 +1,15 @@
CHANGES
=======
+1.15.0
+------
+
+* Replace '\r' with ' ' for prettytable
+* Implement a json formatter in cliff
+* Implement a yaml formatter in cliff
+* Updated from global requirements
+* Improve help messages
+
1.14.0
------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/PKG-INFO new/cliff-1.15.0/PKG-INFO
--- old/cliff-1.14.0/PKG-INFO 2015-08-10 22:16:17.000000000 +0200
+++ new/cliff-1.15.0/PKG-INFO 2015-09-15 23:27:57.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: cliff
-Version: 1.14.0
+Version: 1.15.0
Summary: Command Line Interface Formulation Framework
Home-page: https://launchpad.net/python-cliff
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/cliff/app.py new/cliff-1.15.0/cliff/app.py
--- old/cliff-1.14.0/cliff/app.py 2015-08-10 22:16:00.000000000 +0200
+++ new/cliff-1.15.0/cliff/app.py 2015-09-15 23:27:35.000000000 +0200
@@ -148,14 +148,14 @@
action='store_const',
dest='verbose_level',
const=0,
- help='suppress output except warnings and errors',
+ help='Suppress output except warnings and errors.',
)
if self.deferred_help:
parser.add_argument(
'-h', '--help',
dest='deferred_help',
action='store_true',
- help="show this help message and exit",
+ help="Show help message and exit.",
)
else:
parser.add_argument(
@@ -163,13 +163,13 @@
action=HelpAction,
nargs=0,
default=self, # tricky
- help="show this help message and exit",
+ help="Show this help message and exit.",
)
parser.add_argument(
'--debug',
default=False,
action='store_true',
- help='show tracebacks on errors',
+ help='Show tracebacks on errors.',
)
return parser
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/cliff/formatters/json_format.py new/cliff-1.15.0/cliff/formatters/json_format.py
--- old/cliff-1.14.0/cliff/formatters/json_format.py 1970-01-01 01:00:00.000000000 +0100
+++ new/cliff-1.15.0/cliff/formatters/json_format.py 2015-09-15 23:27:35.000000000 +0200
@@ -0,0 +1,30 @@
+"""Output formatters for JSON.
+"""
+
+import json
+
+from .base import ListFormatter, SingleFormatter
+
+
+class JSONFormatter(ListFormatter, SingleFormatter):
+
+ def add_argument_group(self, parser):
+ group = parser.add_argument_group(title='json formatter')
+ group.add_argument(
+ '--noindent',
+ action='store_true',
+ dest='noindent',
+ help='whether to disable indenting the JSON'
+ )
+
+ def emit_list(self, column_names, data, stdout, parsed_args):
+ items = []
+ for item in data:
+ items.append(dict(zip(column_names, item)))
+ indent = None if parsed_args.noindent else 2
+ json.dump(items, stdout, indent=indent)
+
+ def emit_one(self, column_names, data, stdout, parsed_args):
+ one = dict(zip(column_names, data))
+ indent = None if parsed_args.noindent else 2
+ json.dump(one, stdout, indent=indent)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/cliff/formatters/table.py new/cliff-1.15.0/cliff/formatters/table.py
--- old/cliff-1.14.0/cliff/formatters/table.py 2015-08-10 22:16:00.000000000 +0200
+++ new/cliff-1.15.0/cliff/formatters/table.py 2015-09-15 23:27:35.000000000 +0200
@@ -2,6 +2,7 @@
"""
import prettytable
+import six
from .base import ListFormatter, SingleFormatter
@@ -51,6 +52,9 @@
# Now iterate over the data and add the rows.
x.add_row(first_row)
for row in data_iter:
+ row = [r.replace('\r\n', '\n').replace('\r', ' ')
+ if isinstance(r, six.string_types) else r
+ for r in row]
x.add_row(row)
formatted = x.get_string(fields=column_names)
stdout.write(formatted)
@@ -68,6 +72,8 @@
x.align['Field'] = 'l'
x.align['Value'] = 'l'
for name, value in zip(column_names, data):
+ value = (value.replace('\r\n', '\n').replace('\r', ' ') if
+ isinstance(value, six.string_types) else value)
x.add_row((name, value))
formatted = x.get_string(fields=('Field', 'Value'))
stdout.write(formatted)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/cliff/formatters/yaml_format.py new/cliff-1.15.0/cliff/formatters/yaml_format.py
--- old/cliff-1.14.0/cliff/formatters/yaml_format.py 1970-01-01 01:00:00.000000000 +0100
+++ new/cliff-1.15.0/cliff/formatters/yaml_format.py 2015-09-15 23:27:35.000000000 +0200
@@ -0,0 +1,23 @@
+"""Output formatters using PyYAML.
+"""
+
+import yaml
+
+from .base import ListFormatter, SingleFormatter
+
+
+class YAMLFormatter(ListFormatter, SingleFormatter):
+
+ def add_argument_group(self, parser):
+ pass
+
+ def emit_list(self, column_names, data, stdout, parsed_args):
+ items = []
+ for item in data:
+ items.append(dict(zip(column_names, item)))
+ yaml.safe_dump(items, stream=stdout, default_flow_style=False)
+
+ def emit_one(self, column_names, data, stdout, parsed_args):
+ for key, value in zip(column_names, data):
+ dict_data = {key: value}
+ yaml.safe_dump(dict_data, stream=stdout, default_flow_style=False)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/cliff/tests/test_app.py new/cliff-1.15.0/cliff/tests/test_app.py
--- old/cliff-1.14.0/cliff/tests/test_app.py 2015-08-10 22:16:00.000000000 +0200
+++ new/cliff-1.15.0/cliff/tests/test_app.py 2015-09-15 23:27:35.000000000 +0200
@@ -202,7 +202,7 @@
parser.add_argument(
'-h', '--help',
default=self, # tricky
- help="show this help message and exit",
+ help="Show help message and exit.",
)
# TODO: tests should really use unittest2.
@@ -232,7 +232,7 @@
parser.add_argument(
'-h', '--help',
default=self, # tricky
- help="show this help message and exit",
+ help="Show this help message and exit.",
)
MyApp()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/cliff/tests/test_formatters_json.py new/cliff-1.15.0/cliff/tests/test_formatters_json.py
--- old/cliff-1.14.0/cliff/tests/test_formatters_json.py 1970-01-01 01:00:00.000000000 +0100
+++ new/cliff-1.15.0/cliff/tests/test_formatters_json.py 2015-09-15 23:27:35.000000000 +0200
@@ -0,0 +1,71 @@
+#!/usr/bin/env python
+from six import StringIO
+import json
+
+from cliff.formatters import json_format
+
+import mock
+
+
+def test_json_format_one():
+ sf = json_format.JSONFormatter()
+ c = ('a', 'b', 'c', 'd')
+ d = ('A', 'B', 'C', '"escape me"')
+ expected = {
+ 'a': 'A',
+ 'b': 'B',
+ 'c': 'C',
+ 'd': '"escape me"'
+ }
+ args = mock.Mock()
+ sf.add_argument_group(args)
+
+ args.noindent = True
+ output = StringIO()
+ sf.emit_one(c, d, output, args)
+ value = output.getvalue()
+ print(len(value.splitlines()))
+ assert 1 == len(value.splitlines())
+ actual = json.loads(value)
+ assert expected == actual
+
+ args.noindent = False
+ output = StringIO()
+ sf.emit_one(c, d, output, args)
+ value = output.getvalue()
+ assert 6 == len(value.splitlines())
+ actual = json.loads(value)
+ assert expected == actual
+
+
+def test_json_format_list():
+ sf = json_format.JSONFormatter()
+ c = ('a', 'b', 'c')
+ d = (
+ ('A1', 'B1', 'C1'),
+ ('A2', 'B2', 'C2'),
+ ('A3', 'B3', 'C3')
+ )
+ expected = [
+ {'a': 'A1', 'b': 'B1', 'c': 'C1'},
+ {'a': 'A2', 'b': 'B2', 'c': 'C2'},
+ {'a': 'A3', 'b': 'B3', 'c': 'C3'}
+ ]
+ args = mock.Mock()
+ sf.add_argument_group(args)
+
+ args.noindent = True
+ output = StringIO()
+ sf.emit_list(c, d, output, args)
+ value = output.getvalue()
+ assert 1 == len(value.splitlines())
+ actual = json.loads(value)
+ assert expected == actual
+
+ args.noindent = False
+ output = StringIO()
+ sf.emit_list(c, d, output, args)
+ value = output.getvalue()
+ assert 17 == len(value.splitlines())
+ actual = json.loads(value)
+ assert expected == actual
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/cliff/tests/test_formatters_table.py new/cliff-1.15.0/cliff/tests/test_formatters_table.py
--- old/cliff-1.14.0/cliff/tests/test_formatters_table.py 1970-01-01 01:00:00.000000000 +0100
+++ new/cliff-1.15.0/cliff/tests/test_formatters_table.py 2015-09-15 23:27:35.000000000 +0200
@@ -0,0 +1,53 @@
+#!/usr/bin/env python
+from six import StringIO
+
+from cliff.formatters import table
+
+
+class args(object):
+ def __init__(self, max_width=0):
+ self.max_width = max_width
+
+
+def test_table_formatter():
+ sf = table.TableFormatter()
+ c = ('a', 'b', 'c', 'd')
+ d = ('A', 'B', 'C', 'test\rcarriage\r\nreturn')
+ expected = '''\
++-------+---------------+
+| Field | Value |
++-------+---------------+
+| a | A |
+| b | B |
+| c | C |
+| d | test carriage |
+| | return |
++-------+---------------+
+'''
+ output = StringIO()
+ parsed_args = args()
+ sf.emit_one(c, d, output, parsed_args)
+ actual = output.getvalue()
+ assert expected == actual
+
+
+def test_table_list_formatter():
+ sf = table.TableFormatter()
+ c = ('a', 'b', 'c')
+ d1 = ('A', 'B', 'C')
+ d2 = ('D', 'E', 'test\rcarriage\r\nreturn')
+ data = [d1, d2]
+ expected = '''\
++---+---+---------------+
+| a | b | c |
++---+---+---------------+
+| A | B | C |
+| D | E | test carriage |
+| | | return |
++---+---+---------------+
+'''
+ output = StringIO()
+ parsed_args = args()
+ sf.emit_list(c, data, output, parsed_args)
+ actual = output.getvalue()
+ assert expected == actual
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/cliff/tests/test_formatters_yaml.py new/cliff-1.15.0/cliff/tests/test_formatters_yaml.py
--- old/cliff-1.14.0/cliff/tests/test_formatters_yaml.py 1970-01-01 01:00:00.000000000 +0100
+++ new/cliff-1.15.0/cliff/tests/test_formatters_yaml.py 2015-09-15 23:27:35.000000000 +0200
@@ -0,0 +1,45 @@
+#!/usr/bin/env python
+from six import StringIO
+import yaml
+
+from cliff.formatters import yaml_format
+
+import mock
+
+
+def test_yaml_format_one():
+ sf = yaml_format.YAMLFormatter()
+ c = ('a', 'b', 'c', 'd')
+ d = ('A', 'B', 'C', '"escape me"')
+ expected = {
+ 'a': 'A',
+ 'b': 'B',
+ 'c': 'C',
+ 'd': '"escape me"'
+ }
+ output = StringIO()
+ args = mock.Mock()
+ sf.emit_one(c, d, output, args)
+ actual = yaml.safe_load(output.getvalue())
+ assert expected == actual
+
+
+def test_yaml_format_list():
+ sf = yaml_format.YAMLFormatter()
+ c = ('a', 'b', 'c')
+ d = (
+ ('A1', 'B1', 'C1'),
+ ('A2', 'B2', 'C2'),
+ ('A3', 'B3', 'C3')
+ )
+ expected = [
+ {'a': 'A1', 'b': 'B1', 'c': 'C1'},
+ {'a': 'A2', 'b': 'B2', 'c': 'C2'},
+ {'a': 'A3', 'b': 'B3', 'c': 'C3'}
+ ]
+ output = StringIO()
+ args = mock.Mock()
+ sf.add_argument_group(args)
+ sf.emit_list(c, d, output, args)
+ actual = yaml.safe_load(output.getvalue())
+ assert expected == actual
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/cliff.egg-info/PKG-INFO new/cliff-1.15.0/cliff.egg-info/PKG-INFO
--- old/cliff-1.14.0/cliff.egg-info/PKG-INFO 2015-08-10 22:16:17.000000000 +0200
+++ new/cliff-1.15.0/cliff.egg-info/PKG-INFO 2015-09-15 23:27:57.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: cliff
-Version: 1.14.0
+Version: 1.15.0
Summary: Command Line Interface Formulation Framework
Home-page: https://launchpad.net/python-cliff
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/cliff.egg-info/SOURCES.txt new/cliff-1.15.0/cliff.egg-info/SOURCES.txt
--- old/cliff-1.14.0/cliff.egg-info/SOURCES.txt 2015-08-10 22:16:17.000000000 +0200
+++ new/cliff-1.15.0/cliff.egg-info/SOURCES.txt 2015-09-15 23:27:57.000000000 +0200
@@ -35,17 +35,22 @@
cliff/formatters/__init__.py
cliff/formatters/base.py
cliff/formatters/commaseparated.py
+cliff/formatters/json_format.py
cliff/formatters/shell.py
cliff/formatters/table.py
cliff/formatters/value.py
+cliff/formatters/yaml_format.py
cliff/tests/__init__.py
cliff/tests/test_app.py
cliff/tests/test_command.py
cliff/tests/test_commandmanager.py
cliff/tests/test_complete.py
cliff/tests/test_formatters_csv.py
+cliff/tests/test_formatters_json.py
cliff/tests/test_formatters_shell.py
+cliff/tests/test_formatters_table.py
cliff/tests/test_formatters_value.py
+cliff/tests/test_formatters_yaml.py
cliff/tests/test_help.py
cliff/tests/test_interactive.py
cliff/tests/test_lister.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/cliff.egg-info/entry_points.txt new/cliff-1.15.0/cliff.egg-info/entry_points.txt
--- old/cliff-1.14.0/cliff.egg-info/entry_points.txt 2015-08-10 22:16:17.000000000 +0200
+++ new/cliff-1.15.0/cliff.egg-info/entry_points.txt 2015-09-15 23:27:57.000000000 +0200
@@ -4,11 +4,15 @@
[cliff.formatter.list]
csv = cliff.formatters.commaseparated:CSVLister
+json = cliff.formatters.json_format:JSONFormatter
table = cliff.formatters.table:TableFormatter
value = cliff.formatters.value:ValueFormatter
+yaml = cliff.formatters.yaml_format:YAMLFormatter
[cliff.formatter.show]
+json = cliff.formatters.json_format:JSONFormatter
shell = cliff.formatters.shell:ShellFormatter
table = cliff.formatters.table:TableFormatter
value = cliff.formatters.value:ValueFormatter
+yaml = cliff.formatters.yaml_format:YAMLFormatter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/cliff.egg-info/pbr.json new/cliff-1.15.0/cliff.egg-info/pbr.json
--- old/cliff-1.14.0/cliff.egg-info/pbr.json 2015-08-10 22:16:17.000000000 +0200
+++ new/cliff-1.15.0/cliff.egg-info/pbr.json 2015-09-15 23:27:57.000000000 +0200
@@ -1 +1 @@
-{"git_version": "3473869", "is_release": true}
\ No newline at end of file
+{"is_release": true, "git_version": "a2e52e2"}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/cliff.egg-info/requires.txt new/cliff-1.15.0/cliff.egg-info/requires.txt
--- old/cliff-1.14.0/cliff.egg-info/requires.txt 2015-08-10 22:16:17.000000000 +0200
+++ new/cliff-1.15.0/cliff.egg-info/requires.txt 2015-09-15 23:27:57.000000000 +0200
@@ -1,8 +1,9 @@
-pbr<2.0,>=1.3
+pbr<2.0,>=1.4
argparse
cmd2>=0.6.7
PrettyTable<0.8,>=0.7
pyparsing>=2.0.1
six>=1.9.0
-stevedore>=1.5.0 # Apache-2.0
+stevedore>=1.5.0
unicodecsv>=0.8.0
+PyYAML>=3.1.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/doc/source/interactive_mode.rst new/cliff-1.15.0/doc/source/interactive_mode.rst
--- old/cliff-1.14.0/doc/source/interactive_mode.rst 2015-08-10 22:16:00.000000000 +0200
+++ new/cliff-1.15.0/doc/source/interactive_mode.rst 2015-09-15 23:27:35.000000000 +0200
@@ -48,7 +48,7 @@
A simple command that prints a message.
optional arguments:
- -h, --help show this help message and exit
+ -h, --help Show help message and exit.
The commands can be run, including options and arguments, as on the
regular command line:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/doc/source/list_commands.rst new/cliff-1.15.0/doc/source/list_commands.rst
--- old/cliff-1.14.0/doc/source/list_commands.rst 2015-08-10 22:16:00.000000000 +0200
+++ new/cliff-1.15.0/doc/source/list_commands.rst 2015-09-15 23:27:35.000000000 +0200
@@ -90,11 +90,59 @@
Makefile is 5569 bytes
source is 408 bytes
+yaml
+----
+
+The ``yaml`` formatter uses PyYAML_ to produce a YAML sequence of
+mappings.
+
+.. _PyYAML: http://pyyaml.org/
+
+::
+
+ (.venv)$ cliffdemo files -f yaml
+ - Name: dist
+ Size: 4096
+ - Name: cliffdemo.egg-info
+ Size: 4096
+ - Name: README.rst
+ Size: 960
+ - Name: setup.py
+ Size: 1807
+ - Name: build
+ Size: 4096
+ - Name: cliffdemo
+ Size: 4096
+
+json
+----
+
+The ``json`` formatter produces an array of objects in indented JSON
+format.
+
+::
+
+ (.venv)$ cliffdemo files -f json
+ [
+ {
+ "Name": "source",
+ "Size": 4096
+ },
+ {
+ "Name": "Makefile",
+ "Size": 5569
+ },
+ {
+ "Name": "build",
+ "Size": 4096
+ }
+ ]
+
Other Formatters
----------------
-Formatters using tablib_ to produce JSON, YAML, and HTML are available
-as part of `cliff-tablib`_.
+A formatter using tablib_ to produce HTML is available as part of
+`cliff-tablib`_.
.. _cliff-tablib: https://github.com/dreamhost/cliff-tablib
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/doc/source/show_commands.rst new/cliff-1.15.0/doc/source/show_commands.rst
--- old/cliff-1.14.0/doc/source/show_commands.rst 2015-08-10 22:16:00.000000000 +0200
+++ new/cliff-1.15.0/doc/source/show_commands.rst 2015-09-15 23:27:35.000000000 +0200
@@ -83,11 +83,45 @@
(.venv)$ echo $SIZE
5916
+yaml
+----
+
+The ``yaml`` formatter uses PyYAML_ to produce a YAML mapping where
+the field name is the key.
+
+.. _PyYAML: http://pyyaml.org/
+
+::
+
+ (.venv)$ cliffdemo file -f yaml setup.py
+ Name: setup.py
+ Size: 1807
+ UID: 1000
+ GID: 1000
+ Modified Time: 1393531476.9587486
+
+json
+----
+
+The ``json`` formatter produces a JSON object where the field name
+is the key.
+
+::
+
+ (.venv)$ cliffdemo file -f json setup.py
+ {
+ "Modified Time": 1438726433.8055942,
+ "GID": 1000,
+ "UID": 1000,
+ "Name": "setup.py",
+ "Size": 1028
+ }
+
Other Formatters
----------------
-Formatters using tablib_ to produce JSON, YAML, and HTML are available
-as part of `cliff-tablib`_.
+A formatter using tablib_ to produce HTML is available as part of
+`cliff-tablib`_.
.. _cliff-tablib: https://github.com/dreamhost/cliff-tablib
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/requirements.txt new/cliff-1.15.0/requirements.txt
--- old/cliff-1.14.0/requirements.txt 2015-08-10 22:16:00.000000000 +0200
+++ new/cliff-1.15.0/requirements.txt 2015-09-15 23:27:35.000000000 +0200
@@ -1,7 +1,7 @@
# The order of packages is significant, because pip processes them in the order
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
-pbr<2.0,>=1.3
+pbr<2.0,>=1.4
argparse
cmd2>=0.6.7
PrettyTable<0.8,>=0.7
@@ -9,3 +9,4 @@
six>=1.9.0
stevedore>=1.5.0 # Apache-2.0
unicodecsv>=0.8.0
+PyYAML>=3.1.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cliff-1.14.0/setup.cfg new/cliff-1.15.0/setup.cfg
--- old/cliff-1.14.0/setup.cfg 2015-08-10 22:16:17.000000000 +0200
+++ new/cliff-1.15.0/setup.cfg 2015-09-15 23:27:57.000000000 +0200
@@ -30,10 +30,14 @@
table = cliff.formatters.table:TableFormatter
csv = cliff.formatters.commaseparated:CSVLister
value = cliff.formatters.value:ValueFormatter
+ yaml = cliff.formatters.yaml_format:YAMLFormatter
+ json = cliff.formatters.json_format:JSONFormatter
cliff.formatter.show =
table = cliff.formatters.table:TableFormatter
shell = cliff.formatters.shell:ShellFormatter
value = cliff.formatters.value:ValueFormatter
+ yaml = cliff.formatters.yaml_format:YAMLFormatter
+ json = cliff.formatters.json_format:JSONFormatter
cliff.formatter.completion =
bash = cliff.complete:CompleteBash
none = cliff.complete:CompleteNoCode
@@ -44,7 +48,7 @@
source-dir = doc/source
[egg_info]
-tag_build =
tag_date = 0
tag_svn_revision = 0
+tag_build =
1
0
Hello community,
here is the log from the commit of package python-docopt for openSUSE:Factory checked in at 2015-10-01 09:28:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-docopt (Old)
and /work/SRC/openSUSE:Factory/.python-docopt.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-docopt"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-docopt/python-docopt.changes 2014-07-15 08:01:15.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-docopt.new/python-docopt.changes 2015-10-01 09:28:59.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Sep 14 14:48:35 UTC 2015 - ms(a)suse.com
+
+- Package required in SLE12 due to fate#319400
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-docopt.spec ++++++
--- /var/tmp/diff_new_pack.ddtpZQ/_old 2015-10-01 09:28:59.000000000 +0200
+++ /var/tmp/diff_new_pack.ddtpZQ/_new 2015-10-01 09:28:59.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-docopt
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
1
0
Hello community,
here is the log from the commit of package python-tzlocal for openSUSE:Factory checked in at 2015-10-01 09:28:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-tzlocal (Old)
and /work/SRC/openSUSE:Factory/.python-tzlocal.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-tzlocal"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-tzlocal/python-tzlocal.changes 2015-08-03 17:21:58.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-tzlocal.new/python-tzlocal.changes 2015-10-01 09:28:57.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Sep 14 14:42:20 UTC 2015 - ms(a)suse.com
+
+- Package required in SLE12 due to fate#319400
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Hello community,
here is the log from the commit of package python-kombu for openSUSE:Factory checked in at 2015-10-01 09:28:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-kombu (Old)
and /work/SRC/openSUSE:Factory/.python-kombu.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-kombu"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-kombu/python-kombu.changes 2015-05-10 10:46:42.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-kombu.new/python-kombu.changes 2015-10-01 09:28:56.000000000 +0200
@@ -1,0 +2,10 @@
+Mon Sep 14 08:58:49 UTC 2015 - tbechtold(a)suse.com
+
+- Add fix-tests.patch to fix testcases with newer python-mock.
+
+-------------------------------------------------------------------
+Fri Jul 24 20:07:39 UTC 2015 - seife+obs(a)b1-systems.com
+
+- fix non-SUSE build by conditionalizing Suggests: tag
+
+-------------------------------------------------------------------
New:
----
fix-tests.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-kombu.spec ++++++
--- /var/tmp/diff_new_pack.QWrvYa/_old 2015-10-01 09:28:56.000000000 +0200
+++ /var/tmp/diff_new_pack.QWrvYa/_new 2015-10-01 09:28:56.000000000 +0200
@@ -24,6 +24,7 @@
Group: Development/Languages/Python
Url: https://github.com/celery/kombu
Source: http://pypi.python.org/packages/source/k/kombu/kombu-%{version}.tar.gz
+Patch0: fix-tests.patch
BuildRequires: python-devel
BuildRequires: python-setuptools
# Test requirements:
@@ -43,9 +44,11 @@
%endif
Requires: python-amqp >= 1.4.6
Requires: python-anyjson >= 0.3.3
+%if 0%{?suse_version}
Suggests: couchdb
Suggests: mongodb
Suggests: rabbitmq-server
+%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
@@ -69,6 +72,7 @@
%setup -q -n kombu-%{version}
# For rpmlint warning: remove shebang from python library:
sed -i '/^#!/d' ./kombu/tests/test_serialization.py
+%patch0 -p1
%build
python setup.py build
++++++ fix-tests.patch ++++++
Index: kombu-3.0.26/kombu/tests/transport/test_qpid.py
===================================================================
--- kombu-3.0.26.orig/kombu/tests/transport/test_qpid.py
+++ kombu-3.0.26/kombu/tests/transport/test_qpid.py
@@ -1155,7 +1155,7 @@ class TestChannel(ExtraAssertionsMixin,
self.mock_broker.addQueue.side_effect = unique_exception
with self.assertRaises(unique_exception.__class__):
self.my_channel.queue_declare(mock_queue)
- self.mock_broker.addQueue.assert_called_once()
+ assert self.mock_broker.addQueue.called
def test_exchange_declare_raises_exception_and_silenced(self):
"""Create exchange where an exception is raised and then silenced"""
@@ -1308,10 +1308,10 @@ class TestChannel(ExtraAssertionsMixin,
self.my_channel.basic_publish(
mock_message, mock_exchange, mock_routing_key,
)
- mock_encode_body.assert_called_once(
+ mock_encode_body.assert_called_once_with(
mock_original_body, mock_body_encoding,
)
- mock_buffer.assert_called_once(mock_encode_body)
+ mock_buffer.assert_called_once_with(mock_encoded_body)
self.assertIs(mock_message['body'], mock_encoded_buffered_body)
self.assertIs(
mock_message['properties']['body_encoding'], mock_body_encoding,
@@ -1567,8 +1567,9 @@ class TestTransportInit(Case):
self.mock_verify_runtime_environment.assert_called_once_with()
def test_transport___init___calls_parent_class___init__(self):
- Transport(Mock())
- self.mock_base_Transport__init__.assert_caled_once_with()
+ m = Mock()
+ Transport(m)
+ self.mock_base_Transport__init__.assert_called_once_with(m)
def test_transport___init___calls_os_pipe(self):
Transport(Mock())
1
0
Hello community,
here is the log from the commit of package python-testrepository for openSUSE:Factory checked in at 2015-10-01 09:28:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-testrepository (Old)
and /work/SRC/openSUSE:Factory/.python-testrepository.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-testrepository"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-testrepository/python-testrepository.changes 2014-09-17 17:27:26.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-testrepository.new/python-testrepository.changes 2015-10-01 09:28:54.000000000 +0200
@@ -1,0 +2,5 @@
+Thu Sep 10 12:07:18 UTC 2015 - tbechtold(a)suse.com
+
+- Fix python-python-subunit Requires version
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-testrepository.spec ++++++
--- /var/tmp/diff_new_pack.HH6Gdj/_old 2015-10-01 09:28:54.000000000 +0200
+++ /var/tmp/diff_new_pack.HH6Gdj/_new 2015-10-01 09:28:54.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-testrepository
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -28,7 +28,7 @@
BuildRequires: python-extras
BuildRequires: python-fixtures
BuildRequires: python-python-mimeparse
-BuildRequires: python-python-subunit >= 0.0.10
+BuildRequires: python-python-subunit >= 0.0.18
BuildRequires: python-setuptools
BuildRequires: python-testscenarios
BuildRequires: python-testtools >= 0.9.30
1
0
01 Oct '15
Hello community,
here is the log from the commit of package installation-images-openSUSE for openSUSE:Factory checked in at 2015-10-01 09:28:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/installation-images-openSUSE (Old)
and /work/SRC/openSUSE:Factory/.installation-images-openSUSE.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "installation-images-openSUSE"
Changes:
--------
--- /work/SRC/openSUSE:Factory/installation-images-openSUSE/installation-images-openSUSE.changes 2015-09-24 06:13:47.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.installation-images-openSUSE.new/installation-images-openSUSE.changes 2015-10-01 09:28:49.000000000 +0200
@@ -1,0 +2,12 @@
+Tue Sep 29 09:21:40 UTC 2015 - snwint(a)suse.com
+
+- Add link to linux-devtools documentation
+- 14.197
+
+-------------------------------------------------------------------
+Fri Sep 25 12:29:48 CEST 2015 - snwint(a)suse.com
+
+- adjust module config to latest kernel
+- 14.196
+
+-------------------------------------------------------------------
Old:
----
installation-images-14.195.tar.xz
New:
----
installation-images-14.197.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ installation-images-openSUSE.spec ++++++
--- /var/tmp/diff_new_pack.uc5v88/_old 2015-10-01 09:28:50.000000000 +0200
+++ /var/tmp/diff_new_pack.uc5v88/_new 2015-10-01 09:28:50.000000000 +0200
@@ -377,7 +377,7 @@
Summary: Installation Image Files for %theme
License: GPL-2.0+
Group: Metapackages
-Version: 14.195
+Version: 14.197
Release: 0
Provides: installation-images = %version-%release
Source: installation-images-%{version}.tar.xz
++++++ installation-images-14.195.tar.xz -> installation-images-14.197.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/installation-images-14.195/README.md new/installation-images-14.197/README.md
--- old/installation-images-14.195/README.md 2015-09-17 15:04:22.000000000 +0200
+++ new/installation-images-14.197/README.md 2015-09-29 11:15:05.000000000 +0200
@@ -1,5 +1,6 @@
-(open)SUSE installation images
-==============================
+# (open)SUSE installation images
+
+## Documentation
Scripts and tools to generate the disk images used during installation
(inst-sys) and the rescue disk images for openSUSE and SUSE.
@@ -7,3 +8,13 @@
Further information can be found in the [included documentation](doc/README.md),
easily browsable online at
[ReadTheDocs.org](http://installation-images.readthedocs.org/).
+
+## openSUSE Development
+
+The package is automatically submitted from the `master` branch to
+[system:install:head](https://build.opensuse.org/package/show/system:install:head/installation-images)
+OBS project. From that place it is forwarded to
+[openSUSE Factory](https://build.opensuse.org/project/show/openSUSE:Factory).
+
+You can find more information about this workflow in the [linuxrc-devtools
+documentation](https://github.com/openSUSE/linuxrc-devtools#opensuse-development).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/installation-images-14.195/VERSION new/installation-images-14.197/VERSION
--- old/installation-images-14.195/VERSION 2015-09-17 15:04:22.000000000 +0200
+++ new/installation-images-14.197/VERSION 2015-09-29 11:15:05.000000000 +0200
@@ -1 +1 @@
-14.195
+14.197
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/installation-images-14.195/changelog new/installation-images-14.197/changelog
--- old/installation-images-14.195/changelog 2015-09-17 15:04:22.000000000 +0200
+++ new/installation-images-14.197/changelog 2015-09-29 11:15:05.000000000 +0200
@@ -1,3 +1,9 @@
+2015-09-28: 14.197
+ - Add link to linux-devtools documentation
+
+2015-09-25: 14.196
+ - adjust module config to latest kernel
+
2015-09-17: 14.195
- stop another console warning message (bsc #896804)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/installation-images-14.195/etc/module.config new/installation-images-14.197/etc/module.config
--- old/installation-images-14.195/etc/module.config 2015-09-17 15:04:22.000000000 +0200
+++ new/installation-images-14.197/etc/module.config 2015-09-29 11:15:05.000000000 +0200
@@ -156,6 +156,7 @@
caif_virtio
vringh
+geneve
kernel/drivers/infiniband/.*
@@ -340,6 +341,7 @@
wusbcore,,-
cdc-wdm
xen-usb
+ulpi
kernel/drivers/hid/.*
kernel/drivers/net/usb/.*
1
0
Hello community,
here is the log from the commit of package kernel-source for openSUSE:Factory checked in at 2015-10-01 09:28:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kernel-source (Old)
and /work/SRC/openSUSE:Factory/.kernel-source.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kernel-source"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kernel-source/kernel-debug.changes 2015-09-02 00:35:00.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-debug.changes 2015-10-01 09:28:36.000000000 +0200
@@ -1,0 +2,189 @@
+Fri Sep 25 10:21:54 CEST 2015 - tiwai(a)suse.de
+
+- ALSA: hda - Disable power_save_node for Thinkpads (bsc#943982).
+- commit 6996a42
+
+-------------------------------------------------------------------
+Tue Sep 22 21:52:03 CEST 2015 - jslaby(a)suse.cz
+
+- Refresh patches.xen/xen3-stack-unwind.
+ XEN needs a fix for stack unwinder too.
+- commit 9c7cacf
+
+-------------------------------------------------------------------
+Tue Sep 22 16:49:30 CEST 2015 - jslaby(a)suse.cz
+
+- Update config files.
+- Refresh patches.suse/stack-unwind.
+- Refresh patches.xen/xen3-patch-2.6.27.
+ Reenable dwarf stack unwinder for C. Assembler is not dwarf-friendly
+ annotated (removed in upstream and neither
+ patches.arch/x86_64-unwind-annotations is enabled (yet)), so dwarf
+ unwinder does not work there (yet).
+ This should be fixed by Josh Poimbeouf's stacktool later. But until
+ then, dwarf-unwind at least C and use frame pointers for asm.
+ I.e. no more question marks for most cases:
+ [<ffffffff81008415>] try_stack_unwind+0x175/0x190
+ [<ffffffff81007293>] dump_trace+0x93/0x3a0
+ [<ffffffff8100847b>] show_trace_log_lvl+0x4b/0x60
+ [<ffffffff810076ac>] show_stack_log_lvl+0x10c/0x180
+ [<ffffffff81008515>] show_stack+0x25/0x50
+ [<ffffffff81364619>] dump_stack+0x4b/0x72
+ [<ffffffffa01a302e>] init1+0xe/0x20 [aaa]
+ [<ffffffff810002f3>] do_one_initcall+0xb3/0x200
+ [<ffffffff8116e4da>] do_init_module+0x5f/0x1f6
+ [<ffffffff810ee87e>] load_module+0x15fe/0x1b60
+ [<ffffffff810eefe8>] SYSC_finit_module+0x98/0xc0
+ [<ffffffff810ef02e>] SyS_finit_module+0xe/0x10
+ [<ffffffff816b07b6>] entry_SYSCALL_64_fastpath+0x16/0x75
+ DWARF2 unwinder stuck at entry_SYSCALL_64_fastpath+0x16/0x75
+ Leftover inexact backtrace:
+ <nothing>
+ Instead of the funny:
+ [<ffffffff81364619>] ? dump_stack+0x4b/0x72
+ [<ffffffffa022a02e>] ? init1+0xe/0x20 [aaa]
+ [<ffffffff810002f3>] ? do_one_initcall+0xb3/0x200
+ [<ffffffff8116e4a2>] ? do_init_module+0x27/0x1f6
+ [<ffffffff8116e4da>] ? do_init_module+0x5f/0x1f6
+ [<ffffffff810ee87e>] ? load_module+0x15fe/0x1b60
+ [<ffffffff810eaa40>] ? __symbol_put+0x50/0x50
+ [<ffffffff811e9501>] ? kernel_read+0x41/0x60
+ [<ffffffff810eefe8>] ? SYSC_finit_module+0x98/0xc0
+ [<ffffffff810ef02e>] ? SyS_finit_module+0xe/0x10
+ [<ffffffff816b07b6>] ? entry_SYSCALL_64_fastpath+0x16/0x75
+ where __symbol_put and do_init_module+0x27 should not be there at all.
+- commit 68d392a
+
+-------------------------------------------------------------------
+Tue Sep 22 09:24:12 CEST 2015 - jslaby(a)suse.cz
+
+- Linux 4.2.1.
+- commit 0d0e86c
+
+-------------------------------------------------------------------
+Mon Sep 14 17:37:27 CEST 2015 - jslaby(a)suse.cz
+
+- Refresh
+ patches.fixes/mmc-sdhci-fix-dma-memory-leak-in-sdhci_pre_req.patch.
+ Fix upstream status.
+- commit 9af8b5d
+
+-------------------------------------------------------------------
+Sun Sep 13 21:45:37 CEST 2015 - dmueller(a)suse.com
+
+- Update config files: ARM64: Raise CPUs to 128
+ There are machines with more than 64 CPUs, allow them
+ to be used. Update vanilla config from default.
+- commit de7016d
+
+-------------------------------------------------------------------
+Fri Sep 11 16:16:31 CEST 2015 - jslaby(a)suse.cz
+
+- Update config files.
+ Fix FW fixes fallout (bnc#944661).
+- commit 6a28e38
+
+-------------------------------------------------------------------
+Thu Sep 10 16:15:22 CEST 2015 - mmarek(a)suse.com
+
+- rpm/kernel-spec-macros: Include the version string in the Obsoletes line
+- commit 083cdb4
+
+-------------------------------------------------------------------
+Thu Sep 10 15:19:39 CEST 2015 - mmarek(a)suse.com
+
+- rpm/kernel-binary.spec.in: Obsolete previous builds of the same package (boo#867595)
+- commit ffb73eb
+
+-------------------------------------------------------------------
+Wed Sep 9 14:54:24 CEST 2015 - jdelvare(a)suse.de
+
+- config/x86_64/ec2: Align CONFIG_STRICT_DEVMEM
+ CONFIG_STRICT_DEVMEM is enabled in every other kernel flavor, so
+ enable it for x86_64/ec2 as well.
+- commit c156734
+
+-------------------------------------------------------------------
+Mon Sep 7 14:30:51 CEST 2015 - tiwai(a)suse.de
+
+- leds:lp55xx: Correct Kconfig dependency for f/w user helper
+ (boo#944661).
+- commit 589a02c
+
+-------------------------------------------------------------------
+Mon Sep 7 13:55:19 CEST 2015 - tiwai(a)suse.de
+
+- Disable CONFIG_FW_LOADER_USER_HELPER_FALLBACK that was reenabled unexpectedly (boo#944661)
+- commit 14a23c3
+
+-------------------------------------------------------------------
+Mon Sep 7 12:23:57 CEST 2015 - tiwai(a)suse.de
+
+- Update config files: enable leftover CONFIG_FB_TFT_HX8357D=m for arm
+- commit cae15fc
+
+-------------------------------------------------------------------
+Mon Sep 7 12:13:14 CEST 2015 - tiwai(a)suse.de
+
+- drm/vmwgfx: Allow dropped masters render-node like access on
+ legacy nodes v2 (boo#934266).
+- vmwgfx: Rework device initialization (boo#934266).
+- commit 28dbc80
+
+-------------------------------------------------------------------
+Mon Sep 7 10:55:54 CEST 2015 - jslaby(a)suse.cz
+
+- workqueue: Make flush_workqueue() available again to non
+ GPL modules.
+- commit 82076fa
+
+-------------------------------------------------------------------
+Mon Sep 7 00:44:39 CEST 2015 - jkosina(a)suse.cz
+
+- Update config files: update arm config files so that they are up-to-date
+ and don't break build.
+- commit c1a445e
+
+-------------------------------------------------------------------
+Mon Sep 7 00:39:59 CEST 2015 - jkosina(a)suse.cz
+
+- bcache: Fix writeback_thread never writing back incomplete
+ stripes.
+- commit 395add4
+
+-------------------------------------------------------------------
+Mon Aug 31 13:17:08 CEST 2015 - jbeulich(a)suse.com
+
+- Update Xen patches to 4.2-final.
+- commit 7b8109d
+
+-------------------------------------------------------------------
+Mon Aug 31 11:11:55 CEST 2015 - jslaby(a)suse.cz
+
+- Refresh
+ patches.apparmor/apparmor-compatibility-patch-for-v5-network-control.
+ Fix this:
+ patches.apparmor/apparmor-compatibility-patch-for-v5-network-control:25:
+ error: Timestamp after filename
+ by scripts/refresh_patch.sh.
+- commit 2089c9a
+
+-------------------------------------------------------------------
+Mon Aug 31 10:02:14 CEST 2015 - jslaby(a)suse.cz
+
+- Refresh
+ patches.fixes/btrfs-fix-stale-dir-entries-after-unlink-inode-eviction-and-fsync.
+ Fix this:
+ missing header for unified diff at line 107 of patch
+ (Patch is indented 4 spaces.)
+ can't find file to patch at input line 107
+ by commenting also the @@ sign.
+- commit 8e48b46
+
+-------------------------------------------------------------------
+Mon Aug 31 05:08:05 CEST 2015 - jeffm(a)suse.com
+
+- Update to 4.2-final.
+- commit c617119
+
+-------------------------------------------------------------------
@@ -23,0 +213,7 @@
+Wed Aug 26 17:23:55 CEST 2015 - mmarek(a)suse.com
+
+- rpm/constraints.in: Require 14GB worth of disk space on POWER
+ The builds started to fail randomly due to ENOSPC errors.
+- commit b57d276
+
+-------------------------------------------------------------------
++++ 408 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/kernel-source/kernel-debug.changes
++++ and /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-debug.changes
kernel-default.changes: same change
kernel-desktop.changes: same change
kernel-docs.changes: same change
kernel-ec2.changes: same change
kernel-lpae.changes: same change
kernel-obs-build.changes: same change
kernel-obs-qa-xen.changes: same change
kernel-obs-qa.changes: same change
kernel-pae.changes: same change
kernel-pv.changes: same change
kernel-source.changes: same change
kernel-syms.changes: same change
kernel-vanilla.changes: same change
kernel-xen.changes: same change
Old:
----
linux-4.1.tar.xz
New:
----
linux-4.2.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kernel-debug.spec ++++++
--- /var/tmp/diff_new_pack.pwNTkG/_old 2015-10-01 09:28:44.000000000 +0200
+++ /var/tmp/diff_new_pack.pwNTkG/_new 2015-10-01 09:28:44.000000000 +0200
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 4.1
-%define patchversion 4.1.6
+%define srcversion 4.2
+%define patchversion 4.2.1
%define variant %{nil}
%define vanilla_only 0
@@ -59,9 +59,9 @@
Summary: A Debug Version of the Kernel
License: GPL-2.0
Group: System/Kernel
-Version: 4.1.6
+Version: 4.2.1
%if 0%{?is_kotd}
-Release: <RELEASE>.gd867e86
+Release: <RELEASE>.g6996a42
%else
Release: 0
%endif
@@ -154,6 +154,7 @@
Provides: kernel-kdump-base = 2.6.28
Obsoletes: kernel-kdump-base <= 2.6.28
%endif
+%obsolete_rebuilds %name
Source0: http://www.kernel.org/pub/linux/kernel/v4.x/linux-%srcversion.tar.xz
Source2: source-post.sh
Source3: kernel-source.rpmlintrc
@@ -964,6 +965,7 @@
Provides: kernel-kdump-base = 2.6.28
Obsoletes: kernel-kdump-base <= 2.6.28
%endif
+%obsolete_rebuilds %name-base
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
%endif
@@ -1006,6 +1008,7 @@
Provides: kernel-kdump-extra = 2.6.28
Obsoletes: kernel-kdump-extra <= 2.6.28
%endif
+%obsolete_rebuilds %name-extra
Supplements: packageand(product(SUSE_SLED):%{name}_%_target_cpu)
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
@@ -1061,6 +1064,7 @@
Provides: kernel-kdump-devel = 2.6.28
Obsoletes: kernel-kdump-devel <= 2.6.28
%endif
+%obsolete_rebuilds %name-devel
PreReq: coreutils
%description devel
++++++ kernel-default.spec ++++++
--- /var/tmp/diff_new_pack.pwNTkG/_old 2015-10-01 09:28:44.000000000 +0200
+++ /var/tmp/diff_new_pack.pwNTkG/_new 2015-10-01 09:28:44.000000000 +0200
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 4.1
-%define patchversion 4.1.6
+%define srcversion 4.2
+%define patchversion 4.2.1
%define variant %{nil}
%define vanilla_only 0
@@ -59,9 +59,9 @@
Summary: The Standard Kernel
License: GPL-2.0
Group: System/Kernel
-Version: 4.1.6
+Version: 4.2.1
%if 0%{?is_kotd}
-Release: <RELEASE>.gd867e86
+Release: <RELEASE>.g6996a42
%else
Release: 0
%endif
@@ -186,6 +186,7 @@
Provides: kernel-bigsmp-base = 3.1
Obsoletes: kernel-bigsmp-base <= 3.1
%endif
+%obsolete_rebuilds %name
Source0: http://www.kernel.org/pub/linux/kernel/v4.x/linux-%srcversion.tar.xz
Source2: source-post.sh
Source3: kernel-source.rpmlintrc
@@ -251,7 +252,7 @@
Source120: kabi.tar.bz2
Source121: sysctl.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-ExclusiveArch: aarch64 armv6hl armv7hl %ix86 ppc ppc64 ppc64le s390x x86_64
+ExclusiveArch: aarch64 armv7hl %ix86 ppc ppc64 ppc64le s390x x86_64
%define kmp_target_cpu %_target_cpu
%ifarch %ix86
# Only i386/default supports i586, mark other flavors' packages as i686
@@ -1009,6 +1010,7 @@
Provides: kernel-bigsmp-base = 3.1
Obsoletes: kernel-bigsmp-base <= 3.1
%endif
+%obsolete_rebuilds %name-base
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
%endif
@@ -1064,6 +1066,7 @@
Provides: kernel-bigsmp-extra = 3.1
Obsoletes: kernel-bigsmp-extra <= 3.1
%endif
+%obsolete_rebuilds %name-extra
Supplements: packageand(product(SUSE_SLED):%{name}_%_target_cpu)
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
@@ -1132,6 +1135,7 @@
Provides: kernel-bigsmp-devel = 3.1
Obsoletes: kernel-bigsmp-devel <= 3.1
%endif
+%obsolete_rebuilds %name-devel
PreReq: coreutils
%description devel
++++++ kernel-desktop.spec ++++++
--- /var/tmp/diff_new_pack.pwNTkG/_old 2015-10-01 09:28:44.000000000 +0200
+++ /var/tmp/diff_new_pack.pwNTkG/_new 2015-10-01 09:28:44.000000000 +0200
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 4.1
-%define patchversion 4.1.6
+%define srcversion 4.2
+%define patchversion 4.2.1
%define variant %{nil}
%define vanilla_only 0
@@ -59,9 +59,9 @@
Summary: Kernel optimized for the desktop
License: GPL-2.0
Group: System/Kernel
-Version: 4.1.6
+Version: 4.2.1
%if 0%{?is_kotd}
-Release: <RELEASE>.gd867e86
+Release: <RELEASE>.g6996a42
%else
Release: 0
%endif
@@ -148,6 +148,7 @@
Provides: kernel = %version-%source_rel
+%obsolete_rebuilds %name
Source0: http://www.kernel.org/pub/linux/kernel/v4.x/linux-%srcversion.tar.xz
Source2: source-post.sh
Source3: kernel-source.rpmlintrc
@@ -967,6 +968,7 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
+%obsolete_rebuilds %name-base
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
%endif
@@ -1018,6 +1020,7 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
+%obsolete_rebuilds %name-extra
Supplements: packageand(product(SUSE_SLED):%{name}_%_target_cpu)
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
@@ -1082,6 +1085,7 @@
Requires: kernel-devel%variant = %version-%source_rel
Supplements: packageand(%name:kernel-devel%variant)
+%obsolete_rebuilds %name-devel
PreReq: coreutils
%description devel
++++++ kernel-docs.spec ++++++
--- /var/tmp/diff_new_pack.pwNTkG/_old 2015-10-01 09:28:44.000000000 +0200
+++ /var/tmp/diff_new_pack.pwNTkG/_new 2015-10-01 09:28:44.000000000 +0200
@@ -16,7 +16,7 @@
#
-%define patchversion 4.1.6
+%define patchversion 4.2.1
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -27,9 +27,9 @@
Summary: Kernel Documentation (man pages)
License: GPL-2.0
Group: Documentation/Man
-Version: 4.1.6
+Version: 4.2.1
%if 0%{?is_kotd}
-Release: <RELEASE>.gd867e86
+Release: <RELEASE>.g6996a42
%else
Release: 0
%endif
++++++ kernel-ec2.spec ++++++
--- /var/tmp/diff_new_pack.pwNTkG/_old 2015-10-01 09:28:44.000000000 +0200
+++ /var/tmp/diff_new_pack.pwNTkG/_new 2015-10-01 09:28:44.000000000 +0200
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 4.1
-%define patchversion 4.1.6
+%define srcversion 4.2
+%define patchversion 4.2.1
%define variant %{nil}
%define vanilla_only 0
@@ -59,9 +59,9 @@
Summary: The Amazon EC2 Xen Kernel
License: GPL-2.0
Group: System/Kernel
-Version: 4.1.6
+Version: 4.2.1
%if 0%{?is_kotd}
-Release: <RELEASE>.gd867e86
+Release: <RELEASE>.g6996a42
%else
Release: 0
%endif
@@ -148,6 +148,7 @@
Provides: kernel = %version-%source_rel
+%obsolete_rebuilds %name
Source0: http://www.kernel.org/pub/linux/kernel/v4.x/linux-%srcversion.tar.xz
Source2: source-post.sh
Source3: kernel-source.rpmlintrc
@@ -957,6 +958,7 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
+%obsolete_rebuilds %name-base
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
%endif
@@ -998,6 +1000,7 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
+%obsolete_rebuilds %name-extra
Supplements: packageand(product(SUSE_SLED):%{name}_%_target_cpu)
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
@@ -1052,6 +1055,7 @@
Requires: kernel-devel%variant = %version-%source_rel
Supplements: packageand(%name:kernel-devel%variant)
+%obsolete_rebuilds %name-devel
PreReq: coreutils
%description devel
kernel-lpae.spec: same change
++++++ kernel-obs-build.spec ++++++
--- /var/tmp/diff_new_pack.pwNTkG/_old 2015-10-01 09:28:44.000000000 +0200
+++ /var/tmp/diff_new_pack.pwNTkG/_new 2015-10-01 09:28:44.000000000 +0200
@@ -19,7 +19,7 @@
#!BuildIgnore: post-build-checks
-%define patchversion 4.1.6
+%define patchversion 4.2.1
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -33,7 +33,7 @@
%ifarch %ix86 x86_64
BuildRequires: kernel-xen
%endif
-ExclusiveArch: aarch64 armv6hl armv7hl %ix86 ppc64 ppc64le s390x x86_64
+ExclusiveArch: aarch64 armv7hl %ix86 ppc64 ppc64le s390x x86_64
%if 0%{?suse_version} < 1315
# For SLE 11
BuildRequires: mkinitrd
@@ -45,9 +45,9 @@
Summary: package kernel and initrd for OBS VM builds
License: GPL-2.0
Group: SLES
-Version: 4.1.6
+Version: 4.2.1
%if 0%{?is_kotd}
-Release: <RELEASE>.gd867e86
+Release: <RELEASE>.g6996a42
%else
Release: 0
%endif
++++++ kernel-obs-qa-xen.spec ++++++
--- /var/tmp/diff_new_pack.pwNTkG/_old 2015-10-01 09:28:44.000000000 +0200
+++ /var/tmp/diff_new_pack.pwNTkG/_new 2015-10-01 09:28:44.000000000 +0200
@@ -17,7 +17,7 @@
# needsrootforbuild
-%define patchversion 4.1.6
+%define patchversion 4.2.1
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -36,9 +36,9 @@
Summary: Basic QA tests for the kernel
License: GPL-2.0
Group: SLES
-Version: 4.1.6
+Version: 4.2.1
%if 0%{?is_kotd}
-Release: <RELEASE>.gd867e86
+Release: <RELEASE>.g6996a42
%else
Release: 0
%endif
++++++ kernel-obs-qa.spec ++++++
--- /var/tmp/diff_new_pack.pwNTkG/_old 2015-10-01 09:28:44.000000000 +0200
+++ /var/tmp/diff_new_pack.pwNTkG/_new 2015-10-01 09:28:44.000000000 +0200
@@ -17,7 +17,7 @@
# needsrootforbuild
-%define patchversion 4.1.6
+%define patchversion 4.2.1
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -28,7 +28,7 @@
# here as well to avoid that qa and build package build parallel
BuildRequires: kernel-obs-build
BuildRequires: modutils
-ExclusiveArch: aarch64 armv6hl armv7hl %ix86 ppc64 ppc64le s390x x86_64
+ExclusiveArch: aarch64 armv7hl %ix86 ppc64 ppc64le s390x x86_64
%if 0%{?suse_version} < 1200
# for SLE 11
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -36,9 +36,9 @@
Summary: Basic QA tests for the kernel
License: GPL-2.0
Group: SLES
-Version: 4.1.6
+Version: 4.2.1
%if 0%{?is_kotd}
-Release: <RELEASE>.gd867e86
+Release: <RELEASE>.g6996a42
%else
Release: 0
%endif
++++++ kernel-pae.spec ++++++
--- /var/tmp/diff_new_pack.pwNTkG/_old 2015-10-01 09:28:44.000000000 +0200
+++ /var/tmp/diff_new_pack.pwNTkG/_new 2015-10-01 09:28:44.000000000 +0200
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 4.1
-%define patchversion 4.1.6
+%define srcversion 4.2
+%define patchversion 4.2.1
%define variant %{nil}
%define vanilla_only 0
@@ -59,9 +59,9 @@
Summary: Kernel with PAE Support
License: GPL-2.0
Group: System/Kernel
-Version: 4.1.6
+Version: 4.2.1
%if 0%{?is_kotd}
-Release: <RELEASE>.gd867e86
+Release: <RELEASE>.g6996a42
%else
Release: 0
%endif
@@ -156,6 +156,7 @@
Provides: kernel-vmi-base = 2.6.38
Obsoletes: kernel-vmi-base <= 2.6.38
%endif
+%obsolete_rebuilds %name
Source0: http://www.kernel.org/pub/linux/kernel/v4.x/linux-%srcversion.tar.xz
Source2: source-post.sh
Source3: kernel-source.rpmlintrc
@@ -972,6 +973,7 @@
Provides: kernel-vmi-base = 2.6.38
Obsoletes: kernel-vmi-base <= 2.6.38
%endif
+%obsolete_rebuilds %name-base
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
%endif
@@ -1020,6 +1022,7 @@
Provides: kernel-vmi-extra = 2.6.38
Obsoletes: kernel-vmi-extra <= 2.6.38
%endif
+%obsolete_rebuilds %name-extra
Supplements: packageand(product(SUSE_SLED):%{name}_%_target_cpu)
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
@@ -1081,6 +1084,7 @@
Provides: kernel-vmi-devel = 2.6.38
Obsoletes: kernel-vmi-devel <= 2.6.38
%endif
+%obsolete_rebuilds %name-devel
PreReq: coreutils
%description devel
++++++ kernel-pv.spec ++++++
--- /var/tmp/diff_new_pack.pwNTkG/_old 2015-10-01 09:28:44.000000000 +0200
+++ /var/tmp/diff_new_pack.pwNTkG/_new 2015-10-01 09:28:44.000000000 +0200
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 4.1
-%define patchversion 4.1.6
+%define srcversion 4.2
+%define patchversion 4.2.1
%define variant %{nil}
%define vanilla_only 0
@@ -59,9 +59,9 @@
Summary: The para-virtualized Kernel
License: GPL-2.0
Group: System/Kernel
-Version: 4.1.6
+Version: 4.2.1
%if 0%{?is_kotd}
-Release: <RELEASE>.gd867e86
+Release: <RELEASE>.g6996a42
%else
Release: 0
%endif
@@ -148,6 +148,7 @@
Provides: kernel = %version-%source_rel
+%obsolete_rebuilds %name
Source0: http://www.kernel.org/pub/linux/kernel/v4.x/linux-%srcversion.tar.xz
Source2: source-post.sh
Source3: kernel-source.rpmlintrc
@@ -956,6 +957,7 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
+%obsolete_rebuilds %name-base
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
%endif
@@ -996,6 +998,7 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
+%obsolete_rebuilds %name-extra
Supplements: packageand(product(SUSE_SLED):%{name}_%_target_cpu)
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
@@ -1049,6 +1052,7 @@
Requires: kernel-devel%variant = %version-%source_rel
Supplements: packageand(%name:kernel-devel%variant)
+%obsolete_rebuilds %name-devel
PreReq: coreutils
%description devel
++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.pwNTkG/_old 2015-10-01 09:28:44.000000000 +0200
+++ /var/tmp/diff_new_pack.pwNTkG/_new 2015-10-01 09:28:44.000000000 +0200
@@ -17,8 +17,8 @@
# icecream 0
-%define srcversion 4.1
-%define patchversion 4.1.6
+%define srcversion 4.2
+%define patchversion 4.2.1
%define variant %{nil}
%define vanilla_only 0
@@ -30,9 +30,9 @@
Summary: The Linux Kernel Sources
License: GPL-2.0
Group: Development/Sources
-Version: 4.1.6
+Version: 4.2.1
%if 0%{?is_kotd}
-Release: <RELEASE>.gd867e86
+Release: <RELEASE>.g6996a42
%else
Release: 0
%endif
++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.pwNTkG/_old 2015-10-01 09:28:44.000000000 +0200
+++ /var/tmp/diff_new_pack.pwNTkG/_new 2015-10-01 09:28:44.000000000 +0200
@@ -24,10 +24,10 @@
Summary: Kernel Symbol Versions (modversions)
License: GPL-2.0
Group: Development/Sources
-Version: 4.1.6
+Version: 4.2.1
%if %using_buildservice
%if 0%{?is_kotd}
-Release: <RELEASE>.gd867e86
+Release: <RELEASE>.g6996a42
%else
Release: 0
%endif
@@ -38,7 +38,7 @@
Url: http://www.kernel.org/
AutoReqProv: off
BuildRequires: coreutils
-%ifarch aarch64 armv6hl armv7hl %ix86 ppc ppc64 ppc64le s390x x86_64
+%ifarch aarch64 armv7hl %ix86 ppc ppc64 ppc64le s390x x86_64
Requires: kernel-default-devel = %version-%source_rel
%endif
%ifarch %ix86 x86_64
@@ -62,7 +62,7 @@
Source: README.KSYMS
Requires: kernel-devel%variant = %version-%source_rel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-ExclusiveArch: %ix86 aarch64 armv6hl armv7hl ppc ppc64 ppc64le s390x x86_64
+ExclusiveArch: %ix86 aarch64 armv7hl ppc ppc64 ppc64le s390x x86_64
Prefix: /usr/src
%description
++++++ kernel-vanilla.spec ++++++
--- /var/tmp/diff_new_pack.pwNTkG/_old 2015-10-01 09:28:44.000000000 +0200
+++ /var/tmp/diff_new_pack.pwNTkG/_new 2015-10-01 09:28:44.000000000 +0200
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 4.1
-%define patchversion 4.1.6
+%define srcversion 4.2
+%define patchversion 4.2.1
%define variant %{nil}
%define vanilla_only 0
@@ -59,9 +59,9 @@
Summary: The Standard Kernel - without any SUSE patches
License: GPL-2.0
Group: System/Kernel
-Version: 4.1.6
+Version: 4.2.1
%if 0%{?is_kotd}
-Release: <RELEASE>.gd867e86
+Release: <RELEASE>.g6996a42
%else
Release: 0
%endif
@@ -148,6 +148,7 @@
Provides: kernel = %version-%source_rel
+%obsolete_rebuilds %name
Source0: http://www.kernel.org/pub/linux/kernel/v4.x/linux-%srcversion.tar.xz
Source2: source-post.sh
Source3: kernel-source.rpmlintrc
@@ -213,7 +214,7 @@
Source120: kabi.tar.bz2
Source121: sysctl.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-ExclusiveArch: aarch64 armv6hl armv7hl %ix86 ppc ppc64 ppc64le s390x x86_64
+ExclusiveArch: aarch64 armv7hl %ix86 ppc ppc64 ppc64le s390x x86_64
%define kmp_target_cpu %_target_cpu
%ifarch %ix86
# Only i386/default supports i586, mark other flavors' packages as i686
@@ -954,6 +955,7 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
+%obsolete_rebuilds %name-base
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
%endif
@@ -992,6 +994,7 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
+%obsolete_rebuilds %name-extra
Supplements: packageand(product(SUSE_SLED):%{name}_%_target_cpu)
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
@@ -1043,6 +1046,7 @@
Requires: kernel-devel%variant = %version-%source_rel
Supplements: packageand(%name:kernel-devel%variant)
+%obsolete_rebuilds %name-devel
PreReq: coreutils
%description devel
++++++ kernel-xen.spec ++++++
--- /var/tmp/diff_new_pack.pwNTkG/_old 2015-10-01 09:28:44.000000000 +0200
+++ /var/tmp/diff_new_pack.pwNTkG/_new 2015-10-01 09:28:44.000000000 +0200
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 4.1
-%define patchversion 4.1.6
+%define srcversion 4.2
+%define patchversion 4.2.1
%define variant %{nil}
%define vanilla_only 0
@@ -59,9 +59,9 @@
Summary: The Xen Kernel
License: GPL-2.0
Group: System/Kernel
-Version: 4.1.6
+Version: 4.2.1
%if 0%{?is_kotd}
-Release: <RELEASE>.gd867e86
+Release: <RELEASE>.g6996a42
%else
Release: 0
%endif
@@ -151,6 +151,7 @@
Obsoletes: kernel-xenpae <= 2.6.17
%endif
+%obsolete_rebuilds %name
Source0: http://www.kernel.org/pub/linux/kernel/v4.x/linux-%srcversion.tar.xz
Source2: source-post.sh
Source3: kernel-source.rpmlintrc
@@ -960,6 +961,7 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
+%obsolete_rebuilds %name-base
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
%endif
@@ -1001,6 +1003,7 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
+%obsolete_rebuilds %name-extra
Supplements: packageand(product(SUSE_SLED):%{name}_%_target_cpu)
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
@@ -1055,6 +1058,7 @@
Requires: kernel-devel%variant = %version-%source_rel
Supplements: packageand(%name:kernel-devel%variant)
+%obsolete_rebuilds %name-devel
PreReq: coreutils
%description devel
++++++ _constraints ++++++
--- /var/tmp/diff_new_pack.pwNTkG/_old 2015-10-01 09:28:45.000000000 +0200
+++ /var/tmp/diff_new_pack.pwNTkG/_new 2015-10-01 09:28:45.000000000 +0200
@@ -45,7 +45,7 @@
<hardware>
<processors>4</processors>
<disk>
- <size unit="G">10</size>
+ <size unit="G">14</size>
</disk>
</hardware>
</overwrite>
++++++ config.conf ++++++
--- /var/tmp/diff_new_pack.pwNTkG/_old 2015-10-01 09:28:45.000000000 +0200
+++ /var/tmp/diff_new_pack.pwNTkG/_new 2015-10-01 09:28:45.000000000 +0200
@@ -36,8 +36,8 @@
+ppc64le ppc64le/vanilla
# ARM architectures
-+armv6hl armv6hl/default
-+armv6hl armv6hl/vanilla
++armv6hl -!needs_updating armv6hl/default
++armv6hl -!needs_updating armv6hl/vanilla
+armv7hl armv7hl/default
+armv7hl armv7hl/vanilla
+armv7hl armv7hl/lpae
++++++ config.sh ++++++
--- /var/tmp/diff_new_pack.pwNTkG/_old 2015-10-01 09:28:45.000000000 +0200
+++ /var/tmp/diff_new_pack.pwNTkG/_new 2015-10-01 09:28:45.000000000 +0200
@@ -1,5 +1,5 @@
# The version of the main tarball to use
-SRCVERSION=4.1
+SRCVERSION=4.2
# variant of the kernel-source package, either empty or "-rt"
VARIANT=
# buildservice projects to build the kernel against
++++++ config.tar.bz2 ++++++
++++ 25886 lines of diff (skipped)
++++++ constraints.in ++++++
--- /var/tmp/diff_new_pack.pwNTkG/_old 2015-10-01 09:28:46.000000000 +0200
+++ /var/tmp/diff_new_pack.pwNTkG/_new 2015-10-01 09:28:46.000000000 +0200
@@ -29,7 +29,7 @@
<hardware>
<processors>4</processors>
<disk>
- <size unit="G">10</size>
+ <size unit="G">14</size>
</disk>
</hardware>
</overwrite>
++++++ kernel-binary.spec.in ++++++
--- /var/tmp/diff_new_pack.pwNTkG/_old 2015-10-01 09:28:46.000000000 +0200
+++ /var/tmp/diff_new_pack.pwNTkG/_new 2015-10-01 09:28:46.000000000 +0200
@@ -148,6 +148,7 @@
Provides: kernel = %version-%source_rel
@PROVIDES_OBSOLETES@
@PROVIDES_OBSOLETES_BASE@
+%obsolete_rebuilds %name
@SOURCES@
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: @ARCHS@
@@ -828,6 +829,7 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
@PROVIDES_OBSOLETES_BASE@
+%obsolete_rebuilds %name-base
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
%endif
@@ -866,6 +868,7 @@
Requires(post): perl-Bootloader
Requires(post): mkinitrd
@PROVIDES_OBSOLETES_EXTRA@
+%obsolete_rebuilds %name-extra
Supplements: packageand(product(SUSE_SLED):%{name}_%_target_cpu)
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
@@ -917,6 +920,7 @@
Requires: kernel-devel%variant = %version-%source_rel
Supplements: packageand(%name:kernel-devel%variant)
@PROVIDES_OBSOLETES_DEVEL@
+%obsolete_rebuilds %name-devel
PreReq: coreutils
%description devel
++++++ kernel-spec-macros ++++++
--- /var/tmp/diff_new_pack.pwNTkG/_old 2015-10-01 09:28:46.000000000 +0200
+++ /var/tmp/diff_new_pack.pwNTkG/_new 2015-10-01 09:28:46.000000000 +0200
@@ -11,8 +11,14 @@
# suffix, we keep that suffix and strip the rightmost digit component.
# This is used in KOTD builds: 2.1.g1234567 -> 2.g1234567
%define source_rel %release
+%define obsolete_rebuilds() %nil
%if %using_buildservice
%define source_rel %(echo %release | sed -r 's/\\.[0-9]+($|\\.[^.]*[^.0-9][^.]*$)/\\1/')
+# If the rebuild counter is > 1, obsolete all previous rebuilds (boo#867595)
+%define obsolete_rebuilds() %( %{verbose:set -x} \
+ set -- $(echo %release | sed -rn 's/(.*\\.)([0-9]+)($|\\.[^.]*[^.0-9][^.]*$)/\\1 \\2 \\3/p') \
+ seq 1 $(($2-1)) | sed "s/.*/Obsoletes: %1 = %version-$1&$3/" \
+)
%endif
# how the kernel release string (uname -r) should look like
++++++ linux-4.1.tar.xz -> linux-4.2.tar.xz ++++++
/work/SRC/openSUSE:Factory/kernel-source/linux-4.1.tar.xz /work/SRC/openSUSE:Factory/.kernel-source.new/linux-4.2.tar.xz differ: char 26, line 1
++++++ patches.apparmor.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.apparmor/apparmor-compatibility-patch-for-v5-network-control new/patches.apparmor/apparmor-compatibility-patch-for-v5-network-control
--- old/patches.apparmor/apparmor-compatibility-patch-for-v5-network-control 2013-09-24 15:55:10.000000000 +0200
+++ new/patches.apparmor/apparmor-compatibility-patch-for-v5-network-control 2015-08-31 11:11:55.000000000 +0200
@@ -21,8 +21,8 @@
create mode 100644 security/apparmor/include/net.h
create mode 100644 security/apparmor/net.c
---- a/security/apparmor/Makefile 2013-09-17 11:00:31.021703815 -0400
-+++ b/security/apparmor/Makefile 2013-09-17 11:00:42.645510072 -0400
+--- a/security/apparmor/Makefile
++++ b/security/apparmor/Makefile
@@ -4,10 +4,10 @@ obj-$(CONFIG_SECURITY_APPARMOR) += appar
apparmor-y := apparmorfs.o audit.o capability.o context.o ipc.o lib.o match.o \
@@ -60,9 +60,9 @@
$(call cmd,make-rlim)
+$(obj)/af_names.h : $(srctree)/include/linux/socket.h
+ $(call cmd,make-af)
---- a/security/apparmor/apparmorfs.c 2013-09-17 11:00:31.021703815 -0400
-+++ b/security/apparmor/apparmorfs.c 2013-09-17 11:00:42.645510072 -0400
-@@ -811,6 +811,7 @@ static struct aa_fs_entry aa_fs_entry_fe
+--- a/security/apparmor/apparmorfs.c
++++ b/security/apparmor/apparmorfs.c
+@@ -809,6 +809,7 @@ static struct aa_fs_entry aa_fs_entry_fe
AA_FS_FILE_U64("capability", VFS_CAP_FLAGS_MASK),
AA_FS_DIR("rlimit", aa_fs_entry_rlimit),
AA_FS_DIR("caps", aa_fs_entry_caps),
@@ -70,7 +70,7 @@
{ }
};
-@@ -820,6 +821,8 @@ static struct aa_fs_entry aa_fs_entry_ap
+@@ -818,6 +819,8 @@ static struct aa_fs_entry aa_fs_entry_ap
AA_FS_FILE_FOPS(".remove", 0640, &aa_fs_profile_remove),
AA_FS_FILE_FOPS("profiles", 0640, &aa_fs_profiles_fops),
AA_FS_DIR("features", aa_fs_entry_features),
@@ -79,9 +79,9 @@
{ }
};
---- a/security/apparmor/include/audit.h 2013-09-17 11:00:31.025703750 -0400
-+++ b/security/apparmor/include/audit.h 2013-09-17 11:00:42.645510072 -0400
-@@ -126,6 +126,10 @@ struct apparmor_audit_data {
+--- a/security/apparmor/include/audit.h
++++ b/security/apparmor/include/audit.h
+@@ -125,6 +125,10 @@ struct apparmor_audit_data {
u32 denied;
kuid_t ouid;
} fs;
@@ -92,8 +92,8 @@
};
};
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ b/security/apparmor/include/net.h 2013-09-17 11:00:42.645510072 -0400
+--- /dev/null
++++ b/security/apparmor/include/net.h
@@ -0,0 +1,40 @@
+/*
+ * AppArmor security module
@@ -135,8 +135,8 @@
+}
+
+#endif /* __AA_NET_H */
---- a/security/apparmor/include/policy.h 2013-09-17 11:00:31.025703750 -0400
-+++ b/security/apparmor/include/policy.h 2013-09-17 11:00:42.645510072 -0400
+--- a/security/apparmor/include/policy.h
++++ b/security/apparmor/include/policy.h
@@ -27,6 +27,7 @@
#include "capability.h"
#include "domain.h"
@@ -161,8 +161,8 @@
struct aa_rlimit rlimits;
unsigned char *hash;
---- a/security/apparmor/lsm.c 2013-09-17 11:00:31.025703750 -0400
-+++ b/security/apparmor/lsm.c 2013-09-17 11:00:42.645510072 -0400
+--- a/security/apparmor/lsm.c
++++ b/security/apparmor/lsm.c
@@ -32,6 +32,7 @@
#include "include/context.h"
#include "include/file.h"
@@ -171,7 +171,7 @@
#include "include/path.h"
#include "include/policy.h"
#include "include/procattr.h"
-@@ -615,6 +616,104 @@ static int apparmor_task_setrlimit(struc
+@@ -605,6 +606,104 @@ static int apparmor_task_setrlimit(struc
return error;
}
@@ -273,31 +273,31 @@
+ return aa_revalidate_sk(OP_SOCK_SHUTDOWN, sk);
+}
+
- static struct security_operations apparmor_ops = {
- .name = "apparmor",
-
-@@ -647,6 +746,19 @@ static struct security_operations apparm
- .getprocattr = apparmor_getprocattr,
- .setprocattr = apparmor_setprocattr,
-
-+ .socket_create = apparmor_socket_create,
-+ .socket_bind = apparmor_socket_bind,
-+ .socket_connect = apparmor_socket_connect,
-+ .socket_listen = apparmor_socket_listen,
-+ .socket_accept = apparmor_socket_accept,
-+ .socket_sendmsg = apparmor_socket_sendmsg,
-+ .socket_recvmsg = apparmor_socket_recvmsg,
-+ .socket_getsockname = apparmor_socket_getsockname,
-+ .socket_getpeername = apparmor_socket_getpeername,
-+ .socket_getsockopt = apparmor_socket_getsockopt,
-+ .socket_setsockopt = apparmor_socket_setsockopt,
-+ .socket_shutdown = apparmor_socket_shutdown,
-+
- .cred_alloc_blank = apparmor_cred_alloc_blank,
- .cred_free = apparmor_cred_free,
- .cred_prepare = apparmor_cred_prepare,
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ b/security/apparmor/net.c 2013-09-17 11:00:42.649510003 -0400
+ static struct security_hook_list apparmor_hooks[] = {
+ LSM_HOOK_INIT(ptrace_access_check, apparmor_ptrace_access_check),
+ LSM_HOOK_INIT(ptrace_traceme, apparmor_ptrace_traceme),
+@@ -634,6 +733,19 @@ static struct security_hook_list apparmo
+ LSM_HOOK_INIT(getprocattr, apparmor_getprocattr),
+ LSM_HOOK_INIT(setprocattr, apparmor_setprocattr),
+
++ LSM_HOOK_INIT(socket_create, apparmor_socket_create),
++ LSM_HOOK_INIT(socket_bind, apparmor_socket_bind),
++ LSM_HOOK_INIT(socket_connect, apparmor_socket_connect),
++ LSM_HOOK_INIT(socket_listen, apparmor_socket_listen),
++ LSM_HOOK_INIT(socket_accept, apparmor_socket_accept),
++ LSM_HOOK_INIT(socket_sendmsg, apparmor_socket_sendmsg),
++ LSM_HOOK_INIT(socket_recvmsg, apparmor_socket_recvmsg),
++ LSM_HOOK_INIT(socket_getsockname, apparmor_socket_getsockname),
++ LSM_HOOK_INIT(socket_getpeername, apparmor_socket_getpeername),
++ LSM_HOOK_INIT(socket_getsockopt, apparmor_socket_getsockopt),
++ LSM_HOOK_INIT(socket_setsockopt, apparmor_socket_setsockopt),
++ LSM_HOOK_INIT(socket_shutdown, apparmor_socket_shutdown),
++
+ LSM_HOOK_INIT(cred_alloc_blank, apparmor_cred_alloc_blank),
+ LSM_HOOK_INIT(cred_free, apparmor_cred_free),
+ LSM_HOOK_INIT(cred_prepare, apparmor_cred_prepare),
+--- /dev/null
++++ b/security/apparmor/net.c
@@ -0,0 +1,184 @@
+/*
+ * AppArmor security module
@@ -483,9 +483,9 @@
+
+ return error;
+}
---- a/security/apparmor/policy.c 2013-09-17 11:00:31.029703685 -0400
-+++ b/security/apparmor/policy.c 2013-09-17 11:00:42.649510003 -0400
-@@ -602,6 +602,7 @@ void aa_free_profile(struct aa_profile *
+--- a/security/apparmor/policy.c
++++ b/security/apparmor/policy.c
+@@ -603,6 +603,7 @@ void aa_free_profile(struct aa_profile *
aa_free_file_rules(&profile->file);
aa_free_cap_rules(&profile->caps);
@@ -493,8 +493,8 @@
aa_free_rlimit_rules(&profile->rlimits);
kzfree(profile->dirname);
---- a/security/apparmor/policy_unpack.c 2013-09-17 11:00:31.029703685 -0400
-+++ b/security/apparmor/policy_unpack.c 2013-09-17 11:00:42.649510003 -0400
+--- a/security/apparmor/policy_unpack.c
++++ b/security/apparmor/policy_unpack.c
@@ -193,6 +193,19 @@ fail:
return 0;
}
++++++ patches.arch.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/arm64-0004-net-xgbe-Add-A0-silicon-support.patch new/patches.arch/arm64-0004-net-xgbe-Add-A0-silicon-support.patch
--- old/patches.arch/arm64-0004-net-xgbe-Add-A0-silicon-support.patch 2015-08-03 20:25:04.000000000 +0200
+++ new/patches.arch/arm64-0004-net-xgbe-Add-A0-silicon-support.patch 2015-07-06 22:44:45.000000000 +0200
@@ -10370,9 +10370,9 @@
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
@@ -34,4 +34,5 @@ obj-$(CONFIG_MDIO_BUS_MUX_MMIOREG) += md
+ obj-$(CONFIG_MDIO_BUS_MUX_MMIOREG) += mdio-mux-mmioreg.o
obj-$(CONFIG_MDIO_SUN4I) += mdio-sun4i.o
obj-$(CONFIG_MDIO_MOXART) += mdio-moxart.o
- obj-$(CONFIG_AMD_XGBE_PHY) += amd-xgbe-phy.o
+obj-$(CONFIG_AMD_XGBE_PHY) += amd-xgbe-phy-a0.o
obj-$(CONFIG_MDIO_BCM_UNIMAC) += mdio-bcm-unimac.o
--- /dev/null
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/arm64-0005-arm64-dts-Add-X-Gene-reboot-driver-dts-node.patch new/patches.arch/arm64-0005-arm64-dts-Add-X-Gene-reboot-driver-dts-node.patch
--- old/patches.arch/arm64-0005-arm64-dts-Add-X-Gene-reboot-driver-dts-node.patch 2015-08-03 20:25:04.000000000 +0200
+++ new/patches.arch/arm64-0005-arm64-dts-Add-X-Gene-reboot-driver-dts-node.patch 2015-07-06 22:44:45.000000000 +0200
@@ -31,7 +31,7 @@
#address-cells = <2>;
#size-cells = <2>;
@@ -469,6 +474,13 @@
- clocks = <&pcie4clk 0>;
+ msi-parent = <&msi>;
};
+ reboot: reboot@17000014 {
++++++ patches.drivers.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/0001-qmi_wwan-Add-support-for-Dell-Wireless-5809e-4G-Mode.patch new/patches.drivers/0001-qmi_wwan-Add-support-for-Dell-Wireless-5809e-4G-Mode.patch
--- old/patches.drivers/0001-qmi_wwan-Add-support-for-Dell-Wireless-5809e-4G-Mode.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.drivers/0001-qmi_wwan-Add-support-for-Dell-Wireless-5809e-4G-Mode.patch 2015-09-25 10:21:54.000000000 +0200
@@ -0,0 +1,35 @@
+From 22ebbe4c34da96f1e283baae5956e39d629c18a3 Mon Sep 17 00:00:00 2001
+From: Pieter Hollants <pieter(a)hollants.com>
+Date: Mon, 20 Jul 2015 10:14:13 +0200
+Subject: [PATCH] qmi_wwan: Add support for Dell Wireless 5809e 4G Modem
+References: bnc#937974
+Git-Commit: 2070c48cf2b78af89ba529c00992eaaa18df8ef7
+Patch-Mainline: Queued in subsystem maintainer repository
+Git-repo: http://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git
+
+Added the USB IDs 0x413c:0x81b1 for the "Dell Wireless 5809e Gobi(TM) 4G
+LTE Mobile Broadband Card", a Dell-branded Sierra Wireless EM7305 LTE
+card in M.2 form factor, used eg. in Dell's Latitude E7540 Notebook
+series.
+
+Signed-off-by: Pieter Hollants <pieter(a)hollants.com>
+Signed-off-by: Oliver Neukum <oneukum(a)suse.com>
+---
+ drivers/net/usb/qmi_wwan.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
+index f603f36..f06c687 100644
+--- a/drivers/net/usb/qmi_wwan.c
++++ b/drivers/net/usb/qmi_wwan.c
+@@ -784,6 +784,7 @@ static const struct usb_device_id products[] = {
+ {QMI_FIXED_INTF(0x413c, 0x81a4, 8)}, /* Dell Wireless 5570e HSPA+ (42Mbps) Mobile Broadband Card */
+ {QMI_FIXED_INTF(0x413c, 0x81a8, 8)}, /* Dell Wireless 5808 Gobi(TM) 4G LTE Mobile Broadband Card */
+ {QMI_FIXED_INTF(0x413c, 0x81a9, 8)}, /* Dell Wireless 5808e Gobi(TM) 4G LTE Mobile Broadband Card */
++ {QMI_FIXED_INTF(0x413c, 0x81b1, 8)}, /* Dell Wireless 5809e Gobi(TM) 4G LTE Mobile Broadband Card */
+ {QMI_FIXED_INTF(0x03f0, 0x4e1d, 8)}, /* HP lt4111 LTE/EV-DO/HSPA+ Gobi 4G Module */
+ {QMI_FIXED_INTF(0x03f0, 0x581d, 4)}, /* HP lt4112 LTE/HSPA+ Gobi 4G Module (Huawei me906e) */
+
+--
+2.1.4
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/0001-vmwgfx-Rework-device-initialization.patch new/patches.drivers/0001-vmwgfx-Rework-device-initialization.patch
--- old/patches.drivers/0001-vmwgfx-Rework-device-initialization.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.drivers/0001-vmwgfx-Rework-device-initialization.patch 2015-09-25 10:21:54.000000000 +0200
@@ -0,0 +1,872 @@
+From 153b3d5b037eeb01d1e5610958a5bbd79885b2be Mon Sep 17 00:00:00 2001
+From: Thomas Hellstrom <thellstrom(a)vmware.com>
+Date: Thu, 25 Jun 2015 10:47:43 -0700
+Subject: [PATCH] vmwgfx: Rework device initialization
+Git-commit: 153b3d5b037eeb01d1e5610958a5bbd79885b2be
+Patch-mainline: v4.3-rc1
+References: boo#934266
+
+This commit reworks device initialization so that we always enable the
+FIFO at driver load, deferring SVGA enable until either first modeset
+or fbdev enable.
+This should always leave the fifo properly enabled for render- and
+control nodes.
+In addition,
+*) We disable the use of VRAM when SVGA is not enabled.
+*) We simplify PM support so that we only throw out resources on hibernate,
+not on suspend, since the device keeps its state on suspend.
+
+Signed-off-by: Thomas Hellstrom <thellstrom(a)vmware.com>
+Reviewed-by: Sinclair Yeh <syeh(a)vmware.com>
+Acked-by: Takashi Iwai <tiwai(a)suse.de>
+
+---
+ drivers/gpu/drm/vmwgfx/vmwgfx_context.c | 8
+ drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 337 +++++++++++++++++---------------
+ drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 19 +
+ drivers/gpu/drm/vmwgfx/vmwgfx_fb.c | 4
+ drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c | 12 -
+ drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c | 1
+ drivers/gpu/drm/vmwgfx/vmwgfx_mob.c | 6
+ drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c | 1
+ drivers/gpu/drm/vmwgfx/vmwgfx_shader.c | 4
+ drivers/gpu/drm/vmwgfx/vmwgfx_surface.c | 12 -
+ 10 files changed, 230 insertions(+), 174 deletions(-)
+
+--- a/drivers/gpu/drm/vmwgfx/vmwgfx_context.c
++++ b/drivers/gpu/drm/vmwgfx/vmwgfx_context.c
+@@ -140,7 +140,7 @@ static void vmw_hw_context_destroy(struc
+ cmd->body.cid = cpu_to_le32(res->id);
+
+ vmw_fifo_commit(dev_priv, sizeof(*cmd));
+- vmw_3d_resource_dec(dev_priv, false);
++ vmw_fifo_resource_dec(dev_priv);
+ }
+
+ static int vmw_gb_context_init(struct vmw_private *dev_priv,
+@@ -220,7 +220,7 @@ static int vmw_context_init(struct vmw_p
+ cmd->body.cid = cpu_to_le32(res->id);
+
+ vmw_fifo_commit(dev_priv, sizeof(*cmd));
+- (void) vmw_3d_resource_inc(dev_priv, false);
++ vmw_fifo_resource_inc(dev_priv);
+ vmw_resource_activate(res, vmw_hw_context_destroy);
+ return 0;
+
+@@ -281,7 +281,7 @@ static int vmw_gb_context_create(struct
+ cmd->header.size = sizeof(cmd->body);
+ cmd->body.cid = res->id;
+ vmw_fifo_commit(dev_priv, sizeof(*cmd));
+- (void) vmw_3d_resource_inc(dev_priv, false);
++ vmw_fifo_resource_inc(dev_priv);
+
+ return 0;
+
+@@ -414,7 +414,7 @@ static int vmw_gb_context_destroy(struct
+ if (dev_priv->query_cid == res->id)
+ dev_priv->query_cid_valid = false;
+ vmw_resource_release_id(res);
+- vmw_3d_resource_dec(dev_priv, false);
++ vmw_fifo_resource_dec(dev_priv);
+
+ return 0;
+ }
+--- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
++++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
+@@ -339,24 +339,47 @@ static int vmw_dummy_query_bo_create(str
+ return ret;
+ }
+
+-static int vmw_request_device(struct vmw_private *dev_priv)
++/**
++ * vmw_request_device_late - Perform late device setup
++ *
++ * @dev_priv: Pointer to device private.
++ *
++ * This function performs setup of otables and enables large command
++ * buffer submission. These tasks are split out to a separate function
++ * because it reverts vmw_release_device_early and is intended to be used
++ * by an error path in the hibernation code.
++ */
++static int vmw_request_device_late(struct vmw_private *dev_priv)
+ {
+ int ret;
+
+- ret = vmw_fifo_init(dev_priv, &dev_priv->fifo);
+- if (unlikely(ret != 0)) {
+- DRM_ERROR("Unable to initialize FIFO.\n");
+- return ret;
+- }
+- vmw_fence_fifo_up(dev_priv->fman);
+ if (dev_priv->has_mob) {
+ ret = vmw_otables_setup(dev_priv);
+ if (unlikely(ret != 0)) {
+ DRM_ERROR("Unable to initialize "
+ "guest Memory OBjects.\n");
+- goto out_no_mob;
++ return ret;
+ }
+ }
++
++ return 0;
++}
++
++static int vmw_request_device(struct vmw_private *dev_priv)
++{
++ int ret;
++
++ ret = vmw_fifo_init(dev_priv, &dev_priv->fifo);
++ if (unlikely(ret != 0)) {
++ DRM_ERROR("Unable to initialize FIFO.\n");
++ return ret;
++ }
++ vmw_fence_fifo_up(dev_priv->fman);
++
++ ret = vmw_request_device_late(dev_priv);
++ if (ret)
++ goto out_no_mob;
++
+ ret = vmw_dummy_query_bo_create(dev_priv);
+ if (unlikely(ret != 0))
+ goto out_no_query_bo;
+@@ -364,15 +387,25 @@ static int vmw_request_device(struct vmw
+ return 0;
+
+ out_no_query_bo:
+- if (dev_priv->has_mob)
++ if (dev_priv->has_mob) {
++ (void) ttm_bo_evict_mm(&dev_priv->bdev, VMW_PL_MOB);
+ vmw_otables_takedown(dev_priv);
++ }
+ out_no_mob:
+ vmw_fence_fifo_down(dev_priv->fman);
+ vmw_fifo_release(dev_priv, &dev_priv->fifo);
+ return ret;
+ }
+
+-static void vmw_release_device(struct vmw_private *dev_priv)
++/**
++ * vmw_release_device_early - Early part of fifo takedown.
++ *
++ * @dev_priv: Pointer to device private struct.
++ *
++ * This is the first part of command submission takedown, to be called before
++ * buffer management is taken down.
++ */
++static void vmw_release_device_early(struct vmw_private *dev_priv)
+ {
+ /*
+ * Previous destructions should've released
+@@ -382,64 +415,24 @@ static void vmw_release_device(struct vm
+ BUG_ON(dev_priv->pinned_bo != NULL);
+
+ ttm_bo_unref(&dev_priv->dummy_query_bo);
+- if (dev_priv->has_mob)
++ if (dev_priv->has_mob) {
++ ttm_bo_evict_mm(&dev_priv->bdev, VMW_PL_MOB);
+ vmw_otables_takedown(dev_priv);
+- vmw_fence_fifo_down(dev_priv->fman);
+- vmw_fifo_release(dev_priv, &dev_priv->fifo);
+-}
+-
+-
+-/**
+- * Increase the 3d resource refcount.
+- * If the count was prevously zero, initialize the fifo, switching to svga
+- * mode. Note that the master holds a ref as well, and may request an
+- * explicit switch to svga mode if fb is not running, using @unhide_svga.
+- */
+-int vmw_3d_resource_inc(struct vmw_private *dev_priv,
+- bool unhide_svga)
+-{
+- int ret = 0;
+-
+- mutex_lock(&dev_priv->release_mutex);
+- if (unlikely(dev_priv->num_3d_resources++ == 0)) {
+- ret = vmw_request_device(dev_priv);
+- if (unlikely(ret != 0))
+- --dev_priv->num_3d_resources;
+- } else if (unhide_svga) {
+- vmw_write(dev_priv, SVGA_REG_ENABLE,
+- vmw_read(dev_priv, SVGA_REG_ENABLE) &
+- ~SVGA_REG_ENABLE_HIDE);
+ }
+-
+- mutex_unlock(&dev_priv->release_mutex);
+- return ret;
+ }
+
+ /**
+- * Decrease the 3d resource refcount.
+- * If the count reaches zero, disable the fifo, switching to vga mode.
+- * Note that the master holds a refcount as well, and may request an
+- * explicit switch to vga mode when it releases its refcount to account
+- * for the situation of an X server vt switch to VGA with 3d resources
+- * active.
++ * vmw_release_device_late - Late part of fifo takedown.
++ *
++ * @dev_priv: Pointer to device private struct.
++ *
++ * This is the last part of the command submission takedown, to be called when
++ * command submission is no longer needed. It may wait on pending fences.
+ */
+-void vmw_3d_resource_dec(struct vmw_private *dev_priv,
+- bool hide_svga)
++static void vmw_release_device_late(struct vmw_private *dev_priv)
+ {
+- int32_t n3d;
+-
+- mutex_lock(&dev_priv->release_mutex);
+- if (unlikely(--dev_priv->num_3d_resources == 0))
+- vmw_release_device(dev_priv);
+- else if (hide_svga)
+- vmw_write(dev_priv, SVGA_REG_ENABLE,
+- vmw_read(dev_priv, SVGA_REG_ENABLE) |
+- SVGA_REG_ENABLE_HIDE);
+-
+- n3d = (int32_t) dev_priv->num_3d_resources;
+- mutex_unlock(&dev_priv->release_mutex);
+-
+- BUG_ON(n3d < 0);
++ vmw_fence_fifo_down(dev_priv->fman);
++ vmw_fifo_release(dev_priv, &dev_priv->fifo);
+ }
+
+ /**
+@@ -603,6 +596,7 @@ static int vmw_driver_load(struct drm_de
+ spin_lock_init(&dev_priv->hw_lock);
+ spin_lock_init(&dev_priv->waiter_lock);
+ spin_lock_init(&dev_priv->cap_lock);
++ spin_lock_init(&dev_priv->svga_lock);
+
+ for (i = vmw_res_context; i < vmw_res_max; ++i) {
+ idr_init(&dev_priv->res_idr[i]);
+@@ -714,17 +708,6 @@ static int vmw_driver_load(struct drm_de
+ dev_priv->active_master = &dev_priv->fbdev_master;
+
+
+- ret = ttm_bo_device_init(&dev_priv->bdev,
+- dev_priv->bo_global_ref.ref.object,
+- &vmw_bo_driver,
+- dev->anon_inode->i_mapping,
+- VMWGFX_FILE_PAGE_OFFSET,
+- false);
+- if (unlikely(ret != 0)) {
+- DRM_ERROR("Failed initializing TTM buffer object driver.\n");
+- goto out_err1;
+- }
+-
+ dev_priv->mmio_mtrr = arch_phys_wc_add(dev_priv->mmio_start,
+ dev_priv->mmio_size);
+
+@@ -787,13 +770,28 @@ static int vmw_driver_load(struct drm_de
+ goto out_no_fman;
+ }
+
++ ret = ttm_bo_device_init(&dev_priv->bdev,
++ dev_priv->bo_global_ref.ref.object,
++ &vmw_bo_driver,
++ dev->anon_inode->i_mapping,
++ VMWGFX_FILE_PAGE_OFFSET,
++ false);
++ if (unlikely(ret != 0)) {
++ DRM_ERROR("Failed initializing TTM buffer object driver.\n");
++ goto out_no_bdev;
++ }
+
++ /*
++ * Enable VRAM, but initially don't use it until SVGA is enabled and
++ * unhidden.
++ */
+ ret = ttm_bo_init_mm(&dev_priv->bdev, TTM_PL_VRAM,
+ (dev_priv->vram_size >> PAGE_SHIFT));
+ if (unlikely(ret != 0)) {
+ DRM_ERROR("Failed initializing memory manager for VRAM.\n");
+ goto out_no_vram;
+ }
++ dev_priv->bdev.man[TTM_PL_VRAM].use_type = false;
+
+ dev_priv->has_gmr = true;
+ if (((dev_priv->capabilities & (SVGA_CAP_GMR | SVGA_CAP_GMR2)) == 0) ||
+@@ -814,18 +812,18 @@ static int vmw_driver_load(struct drm_de
+ }
+ }
+
+- vmw_kms_save_vga(dev_priv);
+-
+- /* Start kms and overlay systems, needs fifo. */
+ ret = vmw_kms_init(dev_priv);
+ if (unlikely(ret != 0))
+ goto out_no_kms;
+ vmw_overlay_init(dev_priv);
+
++ ret = vmw_request_device(dev_priv);
++ if (ret)
++ goto out_no_fifo;
++
+ if (dev_priv->enable_fb) {
+- ret = vmw_3d_resource_inc(dev_priv, true);
+- if (unlikely(ret != 0))
+- goto out_no_fifo;
++ vmw_fifo_resource_inc(dev_priv);
++ vmw_svga_enable(dev_priv);
+ vmw_fb_init(dev_priv);
+ }
+
+@@ -838,13 +836,14 @@ out_no_fifo:
+ vmw_overlay_close(dev_priv);
+ vmw_kms_close(dev_priv);
+ out_no_kms:
+- vmw_kms_restore_vga(dev_priv);
+ if (dev_priv->has_mob)
+ (void) ttm_bo_clean_mm(&dev_priv->bdev, VMW_PL_MOB);
+ if (dev_priv->has_gmr)
+ (void) ttm_bo_clean_mm(&dev_priv->bdev, VMW_PL_GMR);
+ (void)ttm_bo_clean_mm(&dev_priv->bdev, TTM_PL_VRAM);
+ out_no_vram:
++ (void)ttm_bo_device_release(&dev_priv->bdev);
++out_no_bdev:
+ vmw_fence_manager_takedown(dev_priv->fman);
+ out_no_fman:
+ if (dev_priv->capabilities & SVGA_CAP_IRQMASK)
+@@ -860,8 +859,6 @@ out_err4:
+ iounmap(dev_priv->mmio_virt);
+ out_err3:
+ arch_phys_wc_del(dev_priv->mmio_mtrr);
+- (void)ttm_bo_device_release(&dev_priv->bdev);
+-out_err1:
+ vmw_ttm_global_release(dev_priv);
+ out_err0:
+ for (i = vmw_res_context; i < vmw_res_max; ++i)
+@@ -883,18 +880,22 @@ static int vmw_driver_unload(struct drm_
+ vfree(dev_priv->ctx.cmd_bounce);
+ if (dev_priv->enable_fb) {
+ vmw_fb_close(dev_priv);
+- vmw_kms_restore_vga(dev_priv);
+- vmw_3d_resource_dec(dev_priv, false);
++ vmw_fifo_resource_dec(dev_priv);
++ vmw_svga_disable(dev_priv);
+ }
++
+ vmw_kms_close(dev_priv);
+ vmw_overlay_close(dev_priv);
+
+- if (dev_priv->has_mob)
+- (void) ttm_bo_clean_mm(&dev_priv->bdev, VMW_PL_MOB);
+ if (dev_priv->has_gmr)
+ (void)ttm_bo_clean_mm(&dev_priv->bdev, VMW_PL_GMR);
+ (void)ttm_bo_clean_mm(&dev_priv->bdev, TTM_PL_VRAM);
+
++ vmw_release_device_early(dev_priv);
++ if (dev_priv->has_mob)
++ (void) ttm_bo_clean_mm(&dev_priv->bdev, VMW_PL_MOB);
++ (void) ttm_bo_device_release(&dev_priv->bdev);
++ vmw_release_device_late(dev_priv);
+ vmw_fence_manager_takedown(dev_priv->fman);
+ if (dev_priv->capabilities & SVGA_CAP_IRQMASK)
+ drm_irq_uninstall(dev_priv->dev);
+@@ -1148,27 +1149,13 @@ static int vmw_master_set(struct drm_dev
+ struct vmw_master *vmaster = vmw_master(file_priv->master);
+ int ret = 0;
+
+- if (!dev_priv->enable_fb) {
+- ret = vmw_3d_resource_inc(dev_priv, true);
+- if (unlikely(ret != 0))
+- return ret;
+- vmw_kms_save_vga(dev_priv);
+- vmw_write(dev_priv, SVGA_REG_TRACES, 0);
+- }
+-
+ if (active) {
+ BUG_ON(active != &dev_priv->fbdev_master);
+ ret = ttm_vt_lock(&active->lock, false, vmw_fp->tfile);
+ if (unlikely(ret != 0))
+- goto out_no_active_lock;
++ return ret;
+
+ ttm_lock_set_kill(&active->lock, true, SIGTERM);
+- ret = ttm_bo_evict_mm(&dev_priv->bdev, TTM_PL_VRAM);
+- if (unlikely(ret != 0)) {
+- DRM_ERROR("Unable to clean VRAM on "
+- "master drop.\n");
+- }
+-
+ dev_priv->active_master = NULL;
+ }
+
+@@ -1182,14 +1169,6 @@ static int vmw_master_set(struct drm_dev
+ dev_priv->active_master = vmaster;
+
+ return 0;
+-
+-out_no_active_lock:
+- if (!dev_priv->enable_fb) {
+- vmw_kms_restore_vga(dev_priv);
+- vmw_3d_resource_dec(dev_priv, true);
+- vmw_write(dev_priv, SVGA_REG_TRACES, 1);
+- }
+- return ret;
+ }
+
+ static void vmw_master_drop(struct drm_device *dev,
+@@ -1214,16 +1193,9 @@ static void vmw_master_drop(struct drm_d
+ }
+
+ ttm_lock_set_kill(&vmaster->lock, false, SIGTERM);
+- vmw_execbuf_release_pinned_bo(dev_priv);
+
+- if (!dev_priv->enable_fb) {
+- ret = ttm_bo_evict_mm(&dev_priv->bdev, TTM_PL_VRAM);
+- if (unlikely(ret != 0))
+- DRM_ERROR("Unable to clean VRAM on master drop.\n");
+- vmw_kms_restore_vga(dev_priv);
+- vmw_3d_resource_dec(dev_priv, true);
+- vmw_write(dev_priv, SVGA_REG_TRACES, 1);
+- }
++ if (!dev_priv->enable_fb)
++ vmw_svga_disable(dev_priv);
+
+ dev_priv->active_master = &dev_priv->fbdev_master;
+ ttm_lock_set_kill(&dev_priv->fbdev_master.lock, false, SIGTERM);
+@@ -1233,6 +1205,74 @@ static void vmw_master_drop(struct drm_d
+ vmw_fb_on(dev_priv);
+ }
+
++/**
++ * __vmw_svga_enable - Enable SVGA mode, FIFO and use of VRAM.
++ *
++ * @dev_priv: Pointer to device private struct.
++ * Needs the reservation sem to be held in non-exclusive mode.
++ */
++void __vmw_svga_enable(struct vmw_private *dev_priv)
++{
++ spin_lock(&dev_priv->svga_lock);
++ if (!dev_priv->bdev.man[TTM_PL_VRAM].use_type) {
++ vmw_write(dev_priv, SVGA_REG_ENABLE, SVGA_REG_ENABLE);
++ dev_priv->bdev.man[TTM_PL_VRAM].use_type = true;
++ }
++ spin_unlock(&dev_priv->svga_lock);
++}
++
++/**
++ * vmw_svga_enable - Enable SVGA mode, FIFO and use of VRAM.
++ *
++ * @dev_priv: Pointer to device private struct.
++ */
++void vmw_svga_enable(struct vmw_private *dev_priv)
++{
++ ttm_read_lock(&dev_priv->reservation_sem, false);
++ __vmw_svga_enable(dev_priv);
++ ttm_read_unlock(&dev_priv->reservation_sem);
++}
++
++/**
++ * __vmw_svga_disable - Disable SVGA mode and use of VRAM.
++ *
++ * @dev_priv: Pointer to device private struct.
++ * Needs the reservation sem to be held in exclusive mode.
++ * Will not empty VRAM. VRAM must be emptied by caller.
++ */
++void __vmw_svga_disable(struct vmw_private *dev_priv)
++{
++ spin_lock(&dev_priv->svga_lock);
++ if (dev_priv->bdev.man[TTM_PL_VRAM].use_type) {
++ dev_priv->bdev.man[TTM_PL_VRAM].use_type = false;
++ vmw_write(dev_priv, SVGA_REG_ENABLE,
++ SVGA_REG_ENABLE_ENABLE_HIDE);
++ }
++ spin_unlock(&dev_priv->svga_lock);
++}
++
++/**
++ * vmw_svga_disable - Disable SVGA_MODE, and use of VRAM. Keep the fifo
++ * running.
++ *
++ * @dev_priv: Pointer to device private struct.
++ * Will empty VRAM.
++ */
++void vmw_svga_disable(struct vmw_private *dev_priv)
++{
++ ttm_write_lock(&dev_priv->reservation_sem, false);
++ spin_lock(&dev_priv->svga_lock);
++ if (dev_priv->bdev.man[TTM_PL_VRAM].use_type) {
++ dev_priv->bdev.man[TTM_PL_VRAM].use_type = false;
++ vmw_write(dev_priv, SVGA_REG_ENABLE,
++ SVGA_REG_ENABLE_ENABLE_HIDE);
++ spin_unlock(&dev_priv->svga_lock);
++ if (ttm_bo_evict_mm(&dev_priv->bdev, TTM_PL_VRAM))
++ DRM_ERROR("Failed evicting VRAM buffers.\n");
++ } else
++ spin_unlock(&dev_priv->svga_lock);
++ ttm_write_unlock(&dev_priv->reservation_sem);
++}
+
+ static void vmw_remove(struct pci_dev *pdev)
+ {
+@@ -1250,21 +1290,21 @@ static int vmwgfx_pm_notifier(struct not
+
+ switch (val) {
+ case PM_HIBERNATION_PREPARE:
+- case PM_SUSPEND_PREPARE:
+ ttm_suspend_lock(&dev_priv->reservation_sem);
+
+- /**
++ /*
+ * This empties VRAM and unbinds all GMR bindings.
+ * Buffer contents is moved to swappable memory.
+ */
+ vmw_execbuf_release_pinned_bo(dev_priv);
+ vmw_resource_evict_all(dev_priv);
++ vmw_release_device_early(dev_priv);
+ ttm_bo_swapout_all(&dev_priv->bdev);
+-
++ vmw_fence_fifo_down(dev_priv->fman);
+ break;
+ case PM_POST_HIBERNATION:
+- case PM_POST_SUSPEND:
+ case PM_POST_RESTORE:
++ vmw_fence_fifo_up(dev_priv->fman);
+ ttm_suspend_unlock(&dev_priv->reservation_sem);
+
+ break;
+@@ -1276,20 +1316,13 @@ static int vmwgfx_pm_notifier(struct not
+ return 0;
+ }
+
+-/**
+- * These might not be needed with the virtual SVGA device.
+- */
+-
+ static int vmw_pci_suspend(struct pci_dev *pdev, pm_message_t state)
+ {
+ struct drm_device *dev = pci_get_drvdata(pdev);
+ struct vmw_private *dev_priv = vmw_priv(dev);
+
+- if (dev_priv->num_3d_resources != 0) {
+- DRM_INFO("Can't suspend or hibernate "
+- "while 3D resources are active.\n");
++ if (dev_priv->refuse_hibernation)
+ return -EBUSY;
+- }
+
+ pci_save_state(pdev);
+ pci_disable_device(pdev);
+@@ -1321,56 +1354,62 @@ static int vmw_pm_resume(struct device *
+ return vmw_pci_resume(pdev);
+ }
+
+-static int vmw_pm_prepare(struct device *kdev)
++static int vmw_pm_freeze(struct device *kdev)
+ {
+ struct pci_dev *pdev = to_pci_dev(kdev);
+ struct drm_device *dev = pci_get_drvdata(pdev);
+ struct vmw_private *dev_priv = vmw_priv(dev);
+
+- /**
+- * Release 3d reference held by fbdev and potentially
+- * stop fifo.
+- */
+ dev_priv->suspended = true;
+ if (dev_priv->enable_fb)
+- vmw_3d_resource_dec(dev_priv, true);
+-
+- if (dev_priv->num_3d_resources != 0) {
+-
+- DRM_INFO("Can't suspend or hibernate "
+- "while 3D resources are active.\n");
++ vmw_fifo_resource_dec(dev_priv);
+
++ if (atomic_read(&dev_priv->num_fifo_resources) != 0) {
++ DRM_ERROR("Can't hibernate while 3D resources are active.\n");
+ if (dev_priv->enable_fb)
+- vmw_3d_resource_inc(dev_priv, true);
++ vmw_fifo_resource_inc(dev_priv);
++ WARN_ON(vmw_request_device_late(dev_priv));
+ dev_priv->suspended = false;
+ return -EBUSY;
+ }
+
++ if (dev_priv->enable_fb)
++ __vmw_svga_disable(dev_priv);
++
++ vmw_release_device_late(dev_priv);
++
+ return 0;
+ }
+
+-static void vmw_pm_complete(struct device *kdev)
++static int vmw_pm_restore(struct device *kdev)
+ {
+ struct pci_dev *pdev = to_pci_dev(kdev);
+ struct drm_device *dev = pci_get_drvdata(pdev);
+ struct vmw_private *dev_priv = vmw_priv(dev);
++ int ret;
+
+ vmw_write(dev_priv, SVGA_REG_ID, SVGA_ID_2);
+ (void) vmw_read(dev_priv, SVGA_REG_ID);
+
+- /**
+- * Reclaim 3d reference held by fbdev and potentially
+- * start fifo.
+- */
+ if (dev_priv->enable_fb)
+- vmw_3d_resource_inc(dev_priv, false);
++ vmw_fifo_resource_inc(dev_priv);
++
++ ret = vmw_request_device(dev_priv);
++ if (ret)
++ return ret;
++
++ if (dev_priv->enable_fb)
++ __vmw_svga_enable(dev_priv);
+
+ dev_priv->suspended = false;
++
++ return 0;
+ }
+
+ static const struct dev_pm_ops vmw_pm_ops = {
+- .prepare = vmw_pm_prepare,
+- .complete = vmw_pm_complete,
++ .freeze = vmw_pm_freeze,
++ .thaw = vmw_pm_restore,
++ .restore = vmw_pm_restore,
+ .suspend = vmw_pm_suspend,
+ .resume = vmw_pm_resume,
+ };
+--- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
++++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
+@@ -484,6 +484,7 @@ struct vmw_private {
+
+ bool stealth;
+ bool enable_fb;
++ spinlock_t svga_lock;
+
+ /**
+ * Master management.
+@@ -493,9 +494,10 @@ struct vmw_private {
+ struct vmw_master fbdev_master;
+ struct notifier_block pm_nb;
+ bool suspended;
++ bool refuse_hibernation;
+
+ struct mutex release_mutex;
+- uint32_t num_3d_resources;
++ atomic_t num_fifo_resources;
+
+ /*
+ * Replace this with an rwsem as soon as we have down_xx_interruptible()
+@@ -587,8 +589,9 @@ static inline uint32_t vmw_read(struct v
+ return val;
+ }
+
+-int vmw_3d_resource_inc(struct vmw_private *dev_priv, bool unhide_svga);
+-void vmw_3d_resource_dec(struct vmw_private *dev_priv, bool hide_svga);
++extern void vmw_svga_enable(struct vmw_private *dev_priv);
++extern void vmw_svga_disable(struct vmw_private *dev_priv);
++
+
+ /**
+ * GMR utilities - vmwgfx_gmr.c
+@@ -1116,4 +1119,14 @@ static inline struct ttm_mem_global *vmw
+ {
+ return (struct ttm_mem_global *) dev_priv->mem_global_ref.object;
+ }
++
++static inline void vmw_fifo_resource_inc(struct vmw_private *dev_priv)
++{
++ atomic_inc(&dev_priv->num_fifo_resources);
++}
++
++static inline void vmw_fifo_resource_dec(struct vmw_private *dev_priv)
++{
++ atomic_dec(&dev_priv->num_fifo_resources);
++}
+ #endif
+--- a/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c
++++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c
+@@ -596,7 +596,10 @@ int vmw_fb_off(struct vmw_private *vmw_p
+
+ info = vmw_priv->fb_info;
+ par = info->par;
++ if (!par->bo_ptr)
++ return 0;
+
++ vmw_kms_save_vga(vmw_priv);
+ spin_lock_irqsave(&par->dirty.lock, flags);
+ par->dirty.active = false;
+ spin_unlock_irqrestore(&par->dirty.lock, flags);
+@@ -648,6 +651,7 @@ int vmw_fb_on(struct vmw_private *vmw_pr
+ spin_lock_irqsave(&par->dirty.lock, flags);
+ par->dirty.active = true;
+ spin_unlock_irqrestore(&par->dirty.lock, flags);
++ vmw_kms_restore_vga(vmw_priv);
+
+ err_no_buffer:
+ vmw_fb_set_par(info);
+--- a/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c
++++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c
+@@ -98,7 +98,6 @@ int vmw_fifo_init(struct vmw_private *de
+ __le32 __iomem *fifo_mem = dev_priv->mmio_virt;
+ uint32_t max;
+ uint32_t min;
+- uint32_t dummy;
+
+ fifo->static_buffer_size = VMWGFX_FIFO_STATIC_SIZE;
+ fifo->static_buffer = vmalloc(fifo->static_buffer_size);
+@@ -112,10 +111,6 @@ int vmw_fifo_init(struct vmw_private *de
+ mutex_init(&fifo->fifo_mutex);
+ init_rwsem(&fifo->rwsem);
+
+- /*
+- * Allow mapping the first page read-only to user-space.
+- */
+-
+ DRM_INFO("width %d\n", vmw_read(dev_priv, SVGA_REG_WIDTH));
+ DRM_INFO("height %d\n", vmw_read(dev_priv, SVGA_REG_HEIGHT));
+ DRM_INFO("bpp %d\n", vmw_read(dev_priv, SVGA_REG_BITS_PER_PIXEL));
+@@ -123,7 +118,9 @@ int vmw_fifo_init(struct vmw_private *de
+ dev_priv->enable_state = vmw_read(dev_priv, SVGA_REG_ENABLE);
+ dev_priv->config_done_state = vmw_read(dev_priv, SVGA_REG_CONFIG_DONE);
+ dev_priv->traces_state = vmw_read(dev_priv, SVGA_REG_TRACES);
+- vmw_write(dev_priv, SVGA_REG_ENABLE, 1);
++
++ vmw_write(dev_priv, SVGA_REG_ENABLE, SVGA_REG_ENABLE_ENABLE_HIDE);
++ vmw_write(dev_priv, SVGA_REG_TRACES, 0);
+
+ min = 4;
+ if (dev_priv->capabilities & SVGA_CAP_EXTENDED_FIFO)
+@@ -155,7 +152,8 @@ int vmw_fifo_init(struct vmw_private *de
+ atomic_set(&dev_priv->marker_seq, dev_priv->last_read_seqno);
+ iowrite32(dev_priv->last_read_seqno, fifo_mem + SVGA_FIFO_FENCE);
+ vmw_marker_queue_init(&fifo->marker_queue);
+- return vmw_fifo_send_fence(dev_priv, &dummy);
++
++ return 0;
+ }
+
+ void vmw_fifo_ping_host(struct vmw_private *dev_priv, uint32_t reason)
+--- a/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
++++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ldu.c
+@@ -280,6 +280,7 @@ static int vmw_ldu_crtc_set_config(struc
+ }
+
+ vmw_fb_off(dev_priv);
++ vmw_svga_enable(dev_priv);
+
+ crtc->primary->fb = fb;
+ encoder->crtc = crtc;
+--- a/drivers/gpu/drm/vmwgfx/vmwgfx_mob.c
++++ b/drivers/gpu/drm/vmwgfx/vmwgfx_mob.c
+@@ -574,7 +574,7 @@ void vmw_mob_unbind(struct vmw_private *
+ vmw_fence_single_bo(bo, NULL);
+ ttm_bo_unreserve(bo);
+ }
+- vmw_3d_resource_dec(dev_priv, false);
++ vmw_fifo_resource_dec(dev_priv);
+ }
+
+ /*
+@@ -627,7 +627,7 @@ int vmw_mob_bind(struct vmw_private *dev
+ mob->pt_level += VMW_MOBFMT_PTDEPTH_1 - SVGA3D_MOBFMT_PTDEPTH_1;
+ }
+
+- (void) vmw_3d_resource_inc(dev_priv, false);
++ vmw_fifo_resource_inc(dev_priv);
+
+ cmd = vmw_fifo_reserve(dev_priv, sizeof(*cmd));
+ if (unlikely(cmd == NULL)) {
+@@ -648,7 +648,7 @@ int vmw_mob_bind(struct vmw_private *dev
+ return 0;
+
+ out_no_cmd_space:
+- vmw_3d_resource_dec(dev_priv, false);
++ vmw_fifo_resource_dec(dev_priv);
+ if (pt_set_up)
+ ttm_bo_unref(&mob->pt_bo);
+
+--- a/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
++++ b/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c
+@@ -332,6 +332,7 @@ static int vmw_sou_crtc_set_config(struc
+ }
+
+ vmw_fb_off(dev_priv);
++ vmw_svga_enable(dev_priv);
+
+ if (mode->hdisplay != crtc->mode.hdisplay ||
+ mode->vdisplay != crtc->mode.vdisplay) {
+--- a/drivers/gpu/drm/vmwgfx/vmwgfx_shader.c
++++ b/drivers/gpu/drm/vmwgfx/vmwgfx_shader.c
+@@ -165,7 +165,7 @@ static int vmw_gb_shader_create(struct v
+ cmd->body.type = shader->type;
+ cmd->body.sizeInBytes = shader->size;
+ vmw_fifo_commit(dev_priv, sizeof(*cmd));
+- (void) vmw_3d_resource_inc(dev_priv, false);
++ vmw_fifo_resource_inc(dev_priv);
+
+ return 0;
+
+@@ -275,7 +275,7 @@ static int vmw_gb_shader_destroy(struct
+ vmw_fifo_commit(dev_priv, sizeof(*cmd));
+ mutex_unlock(&dev_priv->binding_mutex);
+ vmw_resource_release_id(res);
+- vmw_3d_resource_dec(dev_priv, false);
++ vmw_fifo_resource_dec(dev_priv);
+
+ return 0;
+ }
+--- a/drivers/gpu/drm/vmwgfx/vmwgfx_surface.c
++++ b/drivers/gpu/drm/vmwgfx/vmwgfx_surface.c
+@@ -340,7 +340,7 @@ static void vmw_hw_surface_destroy(struc
+ dev_priv->used_memory_size -= res->backup_size;
+ mutex_unlock(&dev_priv->cmdbuf_mutex);
+ }
+- vmw_3d_resource_dec(dev_priv, false);
++ vmw_fifo_resource_dec(dev_priv);
+ }
+
+ /**
+@@ -576,14 +576,14 @@ static int vmw_surface_init(struct vmw_p
+
+ BUG_ON(res_free == NULL);
+ if (!dev_priv->has_mob)
+- (void) vmw_3d_resource_inc(dev_priv, false);
++ vmw_fifo_resource_inc(dev_priv);
+ ret = vmw_resource_init(dev_priv, res, true, res_free,
+ (dev_priv->has_mob) ? &vmw_gb_surface_func :
+ &vmw_legacy_surface_func);
+
+ if (unlikely(ret != 0)) {
+ if (!dev_priv->has_mob)
+- vmw_3d_resource_dec(dev_priv, false);
++ vmw_fifo_resource_dec(dev_priv);
+ res_free(res);
+ return ret;
+ }
+@@ -1028,7 +1028,7 @@ static int vmw_gb_surface_create(struct
+ if (likely(res->id != -1))
+ return 0;
+
+- (void) vmw_3d_resource_inc(dev_priv, false);
++ vmw_fifo_resource_inc(dev_priv);
+ ret = vmw_resource_alloc_id(res);
+ if (unlikely(ret != 0)) {
+ DRM_ERROR("Failed to allocate a surface id.\n");
+@@ -1068,7 +1068,7 @@ static int vmw_gb_surface_create(struct
+ out_no_fifo:
+ vmw_resource_release_id(res);
+ out_no_id:
+- vmw_3d_resource_dec(dev_priv, false);
++ vmw_fifo_resource_dec(dev_priv);
+ return ret;
+ }
+
+@@ -1213,7 +1213,7 @@ static int vmw_gb_surface_destroy(struct
+ vmw_fifo_commit(dev_priv, sizeof(*cmd));
+ mutex_unlock(&dev_priv->binding_mutex);
+ vmw_resource_release_id(res);
+- vmw_3d_resource_dec(dev_priv, false);
++ vmw_fifo_resource_dec(dev_priv);
+
+ return 0;
+ }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/0002-drm-vmwgfx-Allow-dropped-masters-render-node-like-ac.patch new/patches.drivers/0002-drm-vmwgfx-Allow-dropped-masters-render-node-like-ac.patch
--- old/patches.drivers/0002-drm-vmwgfx-Allow-dropped-masters-render-node-like-ac.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.drivers/0002-drm-vmwgfx-Allow-dropped-masters-render-node-like-ac.patch 2015-09-25 10:21:54.000000000 +0200
@@ -0,0 +1,57 @@
+From aa3469ce7afd86a670d22375a64f1b5a06707725 Mon Sep 17 00:00:00 2001
+From: Thomas Hellstrom <thellstrom(a)vmware.com>
+Date: Thu, 27 Aug 2015 10:06:24 -0700
+Subject: [PATCH] drm/vmwgfx: Allow dropped masters render-node like access on legacy nodes v2
+Git-commit: aa3469ce7afd86a670d22375a64f1b5a06707725
+Patch-mainline: v4.3-rc1
+References: boo#934266
+
+Applications like gnome-shell may try to render after dropping master
+privileges. Since the driver should now be safe against this scenario,
+allow those applications to use their legacy node like a render node.
+
+V2: Add missing return statement.
+
+Signed-off-by: Thomas Hellstrom <thellstrom(a)vmware.com>
+Reviewed-by: Sinclair Yeh <syeh(a)vmware.com>
+Acked-by: Takashi Iwai <tiwai(a)suse.de>
+
+---
+ drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 7 ++++++-
+ drivers/gpu/drm/vmwgfx/vmwgfx_surface.c | 6 ++++++
+ 2 files changed, 12 insertions(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
++++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
+@@ -993,10 +993,15 @@ static struct vmw_master *vmw_master_che
+ }
+
+ /*
+- * Check if we were previously master, but now dropped.
++ * Check if we were previously master, but now dropped. In that
++ * case, allow at least render node functionality.
+ */
+ if (vmw_fp->locked_master) {
+ mutex_unlock(&dev->master_mutex);
++
++ if (flags & DRM_RENDER_ALLOW)
++ return NULL;
++
+ DRM_ERROR("Dropped master trying to access ioctl that "
+ "requires authentication.\n");
+ return ERR_PTR(-EACCES);
+--- a/drivers/gpu/drm/vmwgfx/vmwgfx_surface.c
++++ b/drivers/gpu/drm/vmwgfx/vmwgfx_surface.c
+@@ -906,6 +906,12 @@ vmw_surface_handle_reference(struct vmw_
+ "surface reference.\n");
+ return -EACCES;
+ }
++ if (ACCESS_ONCE(vmw_fpriv(file_priv)->locked_master)) {
++ DRM_ERROR("Locked master refused legacy "
++ "surface reference.\n");
++ return -EACCES;
++ }
++
+ handle = u_handle;
+ }
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/ALSA-hda-Disable-power_save_node-for-Thinkpads new/patches.drivers/ALSA-hda-Disable-power_save_node-for-Thinkpads
--- old/patches.drivers/ALSA-hda-Disable-power_save_node-for-Thinkpads 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.drivers/ALSA-hda-Disable-power_save_node-for-Thinkpads 2015-09-25 10:21:54.000000000 +0200
@@ -0,0 +1,82 @@
+From 7f57d803ee03730d570dc59a9e3e4842b58dd5cc Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai(a)suse.de>
+Date: Thu, 24 Sep 2015 17:36:51 +0200
+Subject: [PATCH] ALSA: hda - Disable power_save_node for Thinkpads
+Git-commit: 7f57d803ee03730d570dc59a9e3e4842b58dd5cc
+Patch-mainline: 4.3-rc3
+References: bsc#943982
+
+Lenovo Thinkpads with recent Realtek codecs seem suffering from click
+noises at power transition since the introduction of widget power
+saving in 4.1 kernel. Although this might be solved by some delays in
+appropriate points, as a quick workaround, just disable the
+power_save_node feature for now. The gain it gives is relatively
+small, and this makes the situation back to pre 4.1 time.
+
+This patch ended up with a bit more code changes than usual because
+the existing fixup for Thinkpads is highly chained. Instead of adding
+yet another chain, combine a few of them into a single fixup entry, as
+a gratis cleanup.
+
+Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=943982
+Cc: <stable(a)vger.kernel.org> # v4.1+
+Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
+
+---
+ sound/pci/hda/patch_realtek.c | 31 +++++++++++++++++++------------
+ 1 file changed, 19 insertions(+), 12 deletions(-)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -4188,6 +4188,24 @@ static void alc_fixup_disable_aamix(stru
+ }
+ }
+
++/* fixup for Thinkpad docks: add dock pins, avoid HP parser fixup */
++static void alc_fixup_tpt440_dock(struct hda_codec *codec,
++ const struct hda_fixup *fix, int action)
++{
++ static const struct hda_pintbl pincfgs[] = {
++ { 0x16, 0x21211010 }, /* dock headphone */
++ { 0x19, 0x21a11010 }, /* dock mic */
++ { }
++ };
++ struct alc_spec *spec = codec->spec;
++
++ if (action == HDA_FIXUP_ACT_PRE_PROBE) {
++ spec->parse_flags = HDA_PINCFG_NO_HP_FIXUP;
++ codec->power_save_node = 0; /* avoid click noises */
++ snd_hda_apply_pincfgs(codec, pincfgs);
++ }
++}
++
+ static void alc_shutup_dell_xps13(struct hda_codec *codec)
+ {
+ struct alc_spec *spec = codec->spec;
+@@ -4562,7 +4580,6 @@ enum {
+ ALC255_FIXUP_HEADSET_MODE_NO_HP_MIC,
+ ALC293_FIXUP_DELL1_MIC_NO_PRESENCE,
+ ALC292_FIXUP_TPT440_DOCK,
+- ALC292_FIXUP_TPT440_DOCK2,
+ ALC283_FIXUP_BXBT2807_MIC,
+ ALC255_FIXUP_DELL_WMI_MIC_MUTE_LED,
+ ALC282_FIXUP_ASPIRE_V5_PINS,
+@@ -5029,17 +5046,7 @@ static const struct hda_fixup alc269_fix
+ },
+ [ALC292_FIXUP_TPT440_DOCK] = {
+ .type = HDA_FIXUP_FUNC,
+- .v.func = alc269_fixup_pincfg_no_hp_to_lineout,
+- .chained = true,
+- .chain_id = ALC292_FIXUP_TPT440_DOCK2
+- },
+- [ALC292_FIXUP_TPT440_DOCK2] = {
+- .type = HDA_FIXUP_PINS,
+- .v.pins = (const struct hda_pintbl[]) {
+- { 0x16, 0x21211010 }, /* dock headphone */
+- { 0x19, 0x21a11010 }, /* dock mic */
+- { }
+- },
++ .v.func = alc_fixup_tpt440_dock,
+ .chained = true,
+ .chain_id = ALC269_FIXUP_LIMIT_INT_MIC_BOOST
+ },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/bcache-fix-writeback-thread-incomplete-stripes-starvation.patch new/patches.drivers/bcache-fix-writeback-thread-incomplete-stripes-starvation.patch
--- old/patches.drivers/bcache-fix-writeback-thread-incomplete-stripes-starvation.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.drivers/bcache-fix-writeback-thread-incomplete-stripes-starvation.patch 2015-09-25 10:21:54.000000000 +0200
@@ -0,0 +1,51 @@
+From: Vojtech Pavlik <vojtech(a)suse.com>
+To: Kent Overstreet <kent.overstreet(a)gmail.com>
+Cc: linux-kernel(a)vger.kernel.org, linux-bcache(a)vger.kernel.org, Kent Overstreet <kmo(a)daterainc.com>, Emmanuel Florac <eflorac(a)intellique.com>, Jiri Kosina <jkosina(a)suse.com>, Jens Axboe <axboe(a)kernel.dk>
+Subject: [PATCH] bcache: Fix writeback_thread never writing back incomplete stripes.
+Patch-mainline: not yet, submitted
+
+Fix writeback_thread never finishing writing back all dirty data in bcache when
+partial_stripes_expensive is set, and spinning, consuming 100% of CPU instead.
+
+Signed-off-by: Vojtech Pavlik <vojtech(a)suse.com>
+---
+
+This is a fix for the current upstream bcache, not the devel branch.
+
+If partial_stripes_expensive is set for a cache set, then writeback_thread
+always attempts to write full stripes out back to the backing device first.
+However, since it does that based on a bitmap and not a simple linear
+search, like the rest of the code of refill_dirty(), it changes the
+last_scanned pointer so that never points to 'end'. refill_dirty() then
+never tries to scan from 'start', resulting in the writeback_thread
+looping, consuming 100% of CPU, but never making progress in writing out
+the incomplete dirty stripes in the cache.
+
+Scanning the tree after not finding enough full stripes fixes the issue.
+
+Incomplete dirty stripes are written to the backing device, the device
+eventually reaches a clean state if there is nothing dirtying data and
+writeback_thread sleeps. This also fixes the problem of the cache device
+not being possible to detach in the partial_stripes_expensive scenario.
+
+It may be more efficient to separate the last_scanned field for normal and
+stripe scans instead.
+
+ drivers/md/bcache/writeback.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/drivers/md/bcache/writeback.c b/drivers/md/bcache/writeback.c
+index f1986bc..6f8b81d 100644
+--- a/drivers/md/bcache/writeback.c
++++ b/drivers/md/bcache/writeback.c
+@@ -382,6 +382,7 @@ static bool refill_dirty(struct cached_dev *dc)
+ refill_full_stripes(dc);
+ if (array_freelist_empty(&buf->freelist))
+ return false;
++ bch_refill_keybuf(dc->disk.c, buf, &end, dirty_pred);
+ }
+
+ if (bkey_cmp(&buf->last_scanned, &end) >= 0) {
+--
+2.1.4
+
++++++ patches.fixes.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/0001-NFSv4-When-returning-a-delegation-don-t-reclaim-an-i.patch new/patches.fixes/0001-NFSv4-When-returning-a-delegation-don-t-reclaim-an-i.patch
--- old/patches.fixes/0001-NFSv4-When-returning-a-delegation-don-t-reclaim-an-i.patch 2015-08-28 12:59:34.000000000 +0200
+++ new/patches.fixes/0001-NFSv4-When-returning-a-delegation-don-t-reclaim-an-i.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,46 +0,0 @@
-From: NeilBrown <neilb(a)suse.de>
-Date: Wed, 24 Jun 2015 12:56:20 +1000
-Subject: [PATCH] NFSv4: When returning a delegation, don't reclaim an
- incompatible open mode.
-Patch-mainline: not yet
-References: bnc#934202
-
-It is possible to have an active open with one mode, and a delegation
-for the same file with a different mode.
-In particular, a WR_ONLY open and an RD_ONLY delegation.
-
-When returning the delegation, we currently try to claim opens for
-every open type (n_rdwr, n_rdonly, n_wronly). As there is no harm
-in claiming an open for a mode that we already have, this is often
-simplest.
-
-However if the delegation only provides a subset of the modes that we
-currently have open, this will produce an error from the server. e.g.
-
-NFS: nfs4_handle_delegation_recall_error: unhandled error -13
-
-So when claiming open modes prior to returning a delegation, skip the
-open request if the mode is not covered by the delegation - the open_stateid
-must already cover that mode, so there is nothing to do.
-
-Signed-off-by: NeilBrown <neilb(a)suse.de>
----
- fs/nfs/nfs4proc.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
---- a/fs/nfs/nfs4proc.c
-+++ b/fs/nfs/nfs4proc.c
-@@ -1553,6 +1553,13 @@ static int nfs4_open_recover_helper(stru
- struct nfs4_state *newstate;
- int ret;
-
-+ if ((opendata->o_arg.claim == NFS4_OPEN_CLAIM_DELEGATE_CUR ||
-+ opendata->o_arg.claim == NFS4_OPEN_CLAIM_DELEG_CUR_FH) &&
-+ (opendata->o_arg.u.delegation_type & fmode) != fmode)
-+ /* This mode can't have been delegated, so we must have
-+ * a valid open_stateid to cover it - not need to reclaim.
-+ */
-+ return 0;
- opendata->o_arg.open_flags = 0;
- opendata->o_arg.fmode = fmode;
- opendata->o_arg.share_access = nfs4_map_atomic_open_share(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/0001-NFSv4-do-not-accept-an-incompatible-delegation.patch new/patches.fixes/0001-NFSv4-do-not-accept-an-incompatible-delegation.patch
--- old/patches.fixes/0001-NFSv4-do-not-accept-an-incompatible-delegation.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/0001-NFSv4-do-not-accept-an-incompatible-delegation.patch 2015-09-14 17:37:27.000000000 +0200
@@ -0,0 +1,56 @@
+From: Neil Brown <neilb(a)suse.com>
+Date: Mon, 22 Jun 2015 15:13:21 +1000
+Subject: [PATCH] NFSv4 - do not accept an incompatible delegation.
+References: bsc#934202
+Patch-mainline: not yet
+
+When opening a file, nfs _nfs4_do_open() will return any
+incompatible delegation, meaning if the delegation held for
+that file does not give all the permissions required, it is
+returned.
+This is because various places assume that the current delegation
+provides all necessary access.
+
+However when a delegation is received, it is not validated in the
+same way so it is possible to, for example, hold a read-only
+delegation while the file is open write-only.
+When that delegation is recalled, the NFS client will try to
+reclaim the write-only open, and that will fail.
+
+So when considering a new delegation, reject it if it is incompatible
+with any open.
+
+Signed-off-by: NeilBrown <neilb(a)suse.de>
+URL: https://bugzilla.suse.com/show_bug.cgi?id=934202
+---
+ fs/nfs/delegation.c | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+--- a/fs/nfs/delegation.c
++++ b/fs/nfs/delegation.c
+@@ -377,6 +377,25 @@ int nfs_inode_set_delegation(struct inod
+ old_delegation, clp);
+ if (freeme == NULL)
+ goto out;
++ } else {
++ /* Don't accept an incompatible delegation */
++ int incompatible = 0;
++ struct nfs_inode *nfsi = NFS_I(inode);
++ struct nfs4_state *state;
++
++ spin_lock(&inode->i_lock);
++ list_for_each_entry(state, &nfsi->open_states, inode_states) {
++ if ((state->state & delegation->type) != state->state) {
++ incompatible = 1;
++ break;
++ }
++ }
++ spin_unlock(&inode->i_lock);
++ if (incompatible) {
++ freeme = delegation;
++ delegation = NULL;
++ goto out;
++ }
+ }
+ list_add_tail_rcu(&delegation->super_list, &server->delegations);
+ rcu_assign_pointer(nfsi->delegation, delegation);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/btrfs-fix-stale-dir-entries-after-unlink-inode-eviction-and-fsync new/patches.fixes/btrfs-fix-stale-dir-entries-after-unlink-inode-eviction-and-fsync
--- old/patches.fixes/btrfs-fix-stale-dir-entries-after-unlink-inode-eviction-and-fsync 2015-08-28 12:59:34.000000000 +0200
+++ new/patches.fixes/btrfs-fix-stale-dir-entries-after-unlink-inode-eviction-and-fsync 2015-09-14 17:37:27.000000000 +0200
@@ -104,7 +104,7 @@
generic/098 4s ... - output mismatch (see /home/fdmanana/git/hub/xfstests/results//generic/098.out.bad)
# --- tests/generic/098.out 2015-07-23 18:01:12.616175932 +0100
# +++ /home/fdmanana/git/hub/xfstests/results//generic/098.out.bad 2015-07-23 18:04:58.924138308 +0100
- @@ -1,3 +1,6 @@
+# @@ -1,3 +1,6 @@
QA output created by 098
Entries in testdir:
+bar
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/drm-i915-Ensure-cache-flushes-prior-to-doing-CS-flip-take-two.patch new/patches.fixes/drm-i915-Ensure-cache-flushes-prior-to-doing-CS-flip-take-two.patch
--- old/patches.fixes/drm-i915-Ensure-cache-flushes-prior-to-doing-CS-flip-take-two.patch 2015-08-28 12:59:34.000000000 +0200
+++ new/patches.fixes/drm-i915-Ensure-cache-flushes-prior-to-doing-CS-flip-take-two.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,35 +0,0 @@
-From: Chris Wilson <chris(a)chris-wilson.co.uk>
-Date: Mon, 27 Apr 2015 13:41:15 +0100
-Subject: drm/i915: Ensure cache flushes prior to doing CS flips -- take two
-Patch-mainline: not yet
-References: bnc#931300
-
-Synchronising to an object active on the same ring is a no-op, for the
-benefit of execbuffer scheduler. However, for CS flips this means that
-we can forgo checking whether the last write request of the object is
-actually queued and more importantly whether the cache flush for the
-write was emitted.
-
-Signed-off-by: Chris Wilson <chris(a)chris-wilson.co.uk>
-Signed-off-by: Daniel Vetter <daniel.vetter(a)ffwll.ch>
-Signed-off-by: Jiri Slaby <jslaby(a)suse.com>
----
- drivers/gpu/drm/i915/intel_display.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
---- a/drivers/gpu/drm/i915/intel_display.c
-+++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -10022,6 +10022,13 @@ static int intel_queue_mmio_flip(struct
- uint32_t flags)
- {
- struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
-+ int ret;
-+
-+ if (obj->last_write_req) {
-+ ret = i915_gem_check_olr(obj->last_write_req);
-+ if (ret)
-+ return ret;
-+ }
-
- i915_gem_request_assign(&intel_crtc->mmio_flip.req,
- obj->last_write_req);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/drm-i915-Ensure-cache-flushes-prior-to-doing-CS-flip.patch new/patches.fixes/drm-i915-Ensure-cache-flushes-prior-to-doing-CS-flip.patch
--- old/patches.fixes/drm-i915-Ensure-cache-flushes-prior-to-doing-CS-flip.patch 2015-08-28 12:59:34.000000000 +0200
+++ new/patches.fixes/drm-i915-Ensure-cache-flushes-prior-to-doing-CS-flip.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,40 +0,0 @@
-From: Chris Wilson <chris(a)chris-wilson.co.uk>
-Date: Mon, 27 Apr 2015 13:41:15 +0100
-Subject: drm/i915: Ensure cache flushes prior to doing CS flips
-Patch-mainline: 4.2-rc1
-Git-commit: d94b5030d26b4f45510a092262bc2b542a00bd7c
-References: bnc#931300
-
-Synchronising to an object active on the same ring is a no-op, for the
-benefit of execbuffer scheduler. However, for CS flips this means that
-we can forgo checking whether the last write request of the object is
-actually queued and more importantly whether the cache flush for the
-write was emitted.
-
-Signed-off-by: Chris Wilson <chris(a)chris-wilson.co.uk>
-Signed-off-by: Daniel Vetter <daniel.vetter(a)ffwll.ch>
-Signed-off-by: Jiri Slaby <jslaby(a)suse.com>
----
- drivers/gpu/drm/i915/intel_display.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index c890e03939fa..3c8801cecd3f 100644
---- a/drivers/gpu/drm/i915/intel_display.c
-+++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -11040,6 +11040,12 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
- i915_gem_request_assign(&work->flip_queued_req,
- obj->last_write_req);
- } else {
-+ if (obj->last_write_req) {
-+ ret = i915_gem_check_olr(obj->last_write_req);
-+ if (ret)
-+ goto cleanup_unpin;
-+ }
-+
- ret = dev_priv->display.queue_flip(dev, crtc, fb, obj, ring,
- page_flip_flags);
- if (ret)
---
-2.4.3
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/leds-lp55xx-Correct-Kconfig-dependency-for-f-w-user- new/patches.fixes/leds-lp55xx-Correct-Kconfig-dependency-for-f-w-user-
--- old/patches.fixes/leds-lp55xx-Correct-Kconfig-dependency-for-f-w-user- 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/leds-lp55xx-Correct-Kconfig-dependency-for-f-w-user- 2015-09-14 17:37:27.000000000 +0200
@@ -0,0 +1,38 @@
+From: Takashi Iwai <tiwai(a)suse.de>
+Date: Mon, 7 Sep 2015 14:09:22 +0200
+Subject: [PATCH] leds:lp55xx: Correct Kconfig dependency for f/w user helper
+Patch-mainline: Submitted, Mon, 7 Sep 2015, LKML
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
+References: boo#944661
+
+The commit [b67893206fc0: leds:lp55xx: fix firmware loading error]
+tries to address the firmware file handling with user helper, but it
+sets a wrong Kconfig CONFIG_FW_LOADER_USER_HELPER_FALLBACK. Since the
+wrong option was enabled, the system got a regression -- it suffers
+from the unexpected long delays for non-present firmware files.
+
+This patch corrects the Kconfig dependency to the right one,
+CONFIG_FW_LOADER_USER_HELPER. This doesn't change the fallback
+behavior but only enables UMH when needed.
+
+Bugzilla: https://bugzilla.opensuse.org/show_bug.cgi?id=944661
+Fixes: b67893206fc0 ('leds:lp55xx: fix firmware loading error')
+Cc: <stable(a)vger.kernel.org> # v4.2+
+Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
+Acked-by: Takashi Iwai <tiwai(a)suse.de>
+
+---
+ drivers/leds/Kconfig | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/leds/Kconfig
++++ b/drivers/leds/Kconfig
+@@ -229,7 +229,7 @@ config LEDS_LP55XX_COMMON
+ tristate "Common Driver for TI/National LP5521/5523/55231/5562/8501"
+ depends on LEDS_LP5521 || LEDS_LP5523 || LEDS_LP5562 || LEDS_LP8501
+ select FW_LOADER
+- select FW_LOADER_USER_HELPER_FALLBACK
++ select FW_LOADER_USER_HELPER
+ help
+ This option supports common operations for LP5521/5523/55231/5562/8501
+ devices.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/mmc-sdhci-fix-dma-memory-leak-in-sdhci_pre_req.patch new/patches.fixes/mmc-sdhci-fix-dma-memory-leak-in-sdhci_pre_req.patch
--- old/patches.fixes/mmc-sdhci-fix-dma-memory-leak-in-sdhci_pre_req.patch 2015-08-28 12:59:34.000000000 +0200
+++ new/patches.fixes/mmc-sdhci-fix-dma-memory-leak-in-sdhci_pre_req.patch 2015-09-14 17:37:27.000000000 +0200
@@ -1,9 +1,8 @@
From: Haibo Chen <haibo.chen(a)freescale.com>
Date: Tue, 25 Aug 2015 10:02:11 +0800
Subject: mmc: sdhci: fix dma memory leak in sdhci_pre_req()
-Patch-mainline: Queued in subsystem maintainer repository
+Patch-mainline: v4.3-rc1
Git-commit: d31911b9374a76560d2c8ea4aa6ce5781621e81d
-Git-repo: git://git.linaro.org/people/ulf.hansson/mmc.git#next
References: bnc#934531
Currently one mrq->data maybe execute dma_map_sg() twice
@@ -19,24 +18,22 @@
This patch use another method to map the dma memory for the mrq->data
which can fix this dma memory leak issue.
-[js] add sg_count to mmc_data as happenned in 208489032bdd8d (mmc:
- mediatek: Add Mediatek MMC driver).
-
Fixes: 348487cb28e6 ("mmc: sdhci: use pipeline mmc requests to improve performance")
Reported-and-tested-by: Jiri Slaby <jslaby(a)suse.cz>
Signed-off-by: Haibo Chen <haibo.chen(a)freescale.com>
Signed-off-by: Ulf Hansson <ulf.hansson(a)linaro.org>
Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
---
- drivers/mmc/host/sdhci.c | 67 +++++++++++++++++------------------------------
- drivers/mmc/host/sdhci.h | 8 ++---
- include/linux/mmc/core.h | 1
- 3 files changed, 30 insertions(+), 46 deletions(-)
+ drivers/mmc/host/sdhci.c | 67 ++++++++++++++++++------------------------------
+ drivers/mmc/host/sdhci.h | 8 +++---
+ 2 files changed, 29 insertions(+), 46 deletions(-)
+diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
+index 0f1a8876e3b1..31678b55b5ec 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
-@@ -55,8 +55,7 @@ static int sdhci_execute_tuning(struct m
- static void sdhci_tuning_timer(unsigned long data);
+@@ -54,8 +54,7 @@ static void sdhci_finish_command(struct sdhci_host *);
+ static int sdhci_execute_tuning(struct mmc_host *mmc, u32 opcode);
static void sdhci_enable_preset_value(struct sdhci_host *host, bool enable);
static int sdhci_pre_dma_transfer(struct sdhci_host *host,
- struct mmc_data *data,
@@ -45,7 +42,7 @@
static int sdhci_do_get_cd(struct sdhci_host *host);
#ifdef CONFIG_PM
-@@ -510,7 +509,7 @@ static int sdhci_adma_table_pre(struct s
+@@ -495,7 +494,7 @@ static int sdhci_adma_table_pre(struct sdhci_host *host,
goto fail;
BUG_ON(host->align_addr & host->align_mask);
@@ -54,7 +51,7 @@
if (host->sg_count < 0)
goto unmap_align;
-@@ -649,9 +648,11 @@ static void sdhci_adma_table_post(struct
+@@ -634,9 +633,11 @@ static void sdhci_adma_table_post(struct sdhci_host *host,
}
}
@@ -67,7 +64,7 @@
}
static u8 sdhci_calc_timeout(struct sdhci_host *host, struct mmc_command *cmd)
-@@ -847,7 +848,7 @@ static void sdhci_prepare_data(struct sd
+@@ -832,7 +833,7 @@ static void sdhci_prepare_data(struct sdhci_host *host, struct mmc_command *cmd)
} else {
int sg_cnt;
@@ -76,7 +73,7 @@
if (sg_cnt <= 0) {
/*
* This only happens when someone fed
-@@ -963,11 +964,13 @@ static void sdhci_finish_data(struct sdh
+@@ -948,11 +949,13 @@ static void sdhci_finish_data(struct sdhci_host *host)
if (host->flags & SDHCI_USE_ADMA)
sdhci_adma_table_post(host, data);
else {
@@ -91,7 +88,7 @@
}
}
-@@ -2129,49 +2132,36 @@ static void sdhci_post_req(struct mmc_ho
+@@ -2116,49 +2119,36 @@ static void sdhci_post_req(struct mmc_host *mmc, struct mmc_request *mrq,
struct mmc_data *data = mrq->data;
if (host->flags & SDHCI_REQ_USE_DMA) {
@@ -155,7 +152,7 @@
return sg_count;
}
-@@ -2181,16 +2171,10 @@ static void sdhci_pre_req(struct mmc_hos
+@@ -2168,16 +2158,10 @@ static void sdhci_pre_req(struct mmc_host *mmc, struct mmc_request *mrq,
{
struct sdhci_host *host = mmc_priv(mmc);
@@ -174,7 +171,7 @@
}
static void sdhci_card_event(struct mmc_host *mmc)
-@@ -3088,7 +3072,6 @@ int sdhci_add_host(struct sdhci_host *ho
+@@ -3049,7 +3033,6 @@ int sdhci_add_host(struct sdhci_host *host)
host->max_clk = host->ops->get_max_clock(host);
}
@@ -182,6 +179,8 @@
/*
* In case of Host Controller v3.00, find out whether clock
* multiplier is supported.
+diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h
+index 67046ca0c1f0..7c02ff46c8ac 100644
--- a/drivers/mmc/host/sdhci.h
+++ b/drivers/mmc/host/sdhci.h
@@ -309,9 +309,10 @@ struct sdhci_adma2_64_desc {
@@ -198,21 +197,14 @@
};
struct sdhci_host {
-@@ -506,7 +507,6 @@ struct sdhci_host {
+@@ -505,7 +506,6 @@ struct sdhci_host {
+ unsigned int tuning_mode; /* Re-tuning mode supported by host */
#define SDHCI_TUNING_MODE_1 0
- struct timer_list tuning_timer; /* Timer for tuning */
- struct sdhci_host_next next_data;
unsigned long private[0] ____cacheline_aligned;
};
---- a/include/linux/mmc/core.h
-+++ b/include/linux/mmc/core.h
-@@ -121,6 +121,7 @@ struct mmc_data {
- struct mmc_request *mrq; /* associated request */
-
- unsigned int sg_len; /* size of scatter list */
-+ int sg_count; /* mapped sg entries */
- struct scatterlist *sg; /* I/O scatter list */
- s32 host_cookie; /* host private data */
- };
+--
+2.5.0
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/workqueue-Make-flush_workqueue-available-again-to-no.patch new/patches.fixes/workqueue-Make-flush_workqueue-available-again-to-no.patch
--- old/patches.fixes/workqueue-Make-flush_workqueue-available-again-to-no.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/workqueue-Make-flush_workqueue-available-again-to-no.patch 2015-09-14 17:37:27.000000000 +0200
@@ -0,0 +1,34 @@
+From: Tim Gardner <tim.gardner(a)canonical.com>
+Date: Tue, 4 Aug 2015 11:26:04 -0600
+Subject: workqueue: Make flush_workqueue() available again to non GPL modules
+Patch-mainline: v4.3-rc1
+Git-commit: 1dadafa86a779884f14a6e7a3ddde1a57b0a0a65
+
+Commit 37b1ef31a568fc02e53587620226e5f3c66454c8 ("workqueue: move
+flush_scheduled_work() to workqueue.h") moved the exported non GPL
+flush_scheduled_work() from a function to an inline wrapper.
+Unfortunately, it directly calls flush_workqueue() which is a GPL function.
+This has the effect of changing the licensing requirement for this function
+and makes it unavailable to non GPL modules.
+
+See commit ad7b1f841f8a54c6d61ff181451f55b68175e15a ("workqueue: Make
+schedule_work() available again to non GPL modules") for precedent.
+
+Signed-off-by: Tim Gardner <tim.gardner(a)canonical.com>
+Signed-off-by: Tejun Heo <tj(a)kernel.org>
+Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
+---
+ kernel/workqueue.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/kernel/workqueue.c
++++ b/kernel/workqueue.c
+@@ -2614,7 +2614,7 @@ void flush_workqueue(struct workqueue_st
+ out_unlock:
+ mutex_unlock(&wq->mutex);
+ }
+-EXPORT_SYMBOL_GPL(flush_workqueue);
++EXPORT_SYMBOL(flush_workqueue);
+
+ /**
+ * drain_workqueue - drain a workqueue
++++++ patches.kernel.org.tar.bz2 ++++++
++++ 33148 lines of diff (skipped)
++++++ patches.suse.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/8250-sysrq-ctrl_o.patch new/patches.suse/8250-sysrq-ctrl_o.patch
--- old/patches.suse/8250-sysrq-ctrl_o.patch 2015-08-28 11:17:01.000000000 +0200
+++ new/patches.suse/8250-sysrq-ctrl_o.patch 2015-09-22 17:17:36.000000000 +0200
@@ -113,14 +113,14 @@
--- a/drivers/tty/serial/8250/8250_core.c
+++ b/drivers/tty/serial/8250/8250_core.c
@@ -102,6 +102,8 @@ static unsigned int skip_txen_test; /* f
- #define CONFIG_SERIAL_MANY_PORTS 1
- #endif
+ #define BOTH_EMPTY (UART_LSR_TEMT | UART_LSR_THRE)
+
+#define arch_8250_sysrq_via_ctrl_o(a,b) 0
+
+ #include <asm/serial.h>
/*
- * HUB6 is always on. This will be removed once the header
- * files have been cleaned.
+ * SERIAL_PORT_DFNS tells us about built-in ports that have no
@@ -1423,7 +1425,11 @@ receive_chars(struct uart_8250_port *up,
do {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/btrfs-fix-hang-during-inode-eviction-due-to-concurre.patch new/patches.suse/btrfs-fix-hang-during-inode-eviction-due-to-concurre.patch
--- old/patches.suse/btrfs-fix-hang-during-inode-eviction-due-to-concurre.patch 2015-08-28 11:17:01.000000000 +0200
+++ new/patches.suse/btrfs-fix-hang-during-inode-eviction-due-to-concurre.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,164 +0,0 @@
-From: Filipe Manana <fdmanana(a)suse.com>
-Date: Tue, 26 May 2015 00:55:42 +0100
-Patch-mainline: 4.2-rc1
-Git-commit: 6ca0709756710c47ec604dd08b9fc45929d36390
-References: bnc#937403
-Subject: [PATCH] Btrfs: fix hang during inode eviction due to concurrent
- readahead
-
-Zygo Blaxell and other users have reported occasional hangs while an
-inode is being evicted, leading to traces like the following:
-
-[ 5281.972322] INFO: task rm:20488 blocked for more than 120 seconds.
-[ 5281.973836] Not tainted 4.0.0-rc5-btrfs-next-9+ #2
-[ 5281.974818] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
-[ 5281.976364] rm D ffff8800724cfc38 0 20488 7747 0x00000000
-[ 5281.977506] ffff8800724cfc38 ffff8800724cfc38 ffff880065da5c50 0000000000000001
-[ 5281.978461] ffff8800724cffd8 ffff8801540a5f50 0000000000000008 ffff8801540a5f78
-[ 5281.979541] ffff8801540a5f50 ffff8800724cfc58 ffffffff8143107e 0000000000000123
-[ 5281.981396] Call Trace:
-[ 5281.982066] [<ffffffff8143107e>] schedule+0x74/0x83
-[ 5281.983341] [<ffffffffa03b33cf>] wait_on_state+0xac/0xcd [btrfs]
-[ 5281.985127] [<ffffffff81075cd6>] ? signal_pending_state+0x31/0x31
-[ 5281.986715] [<ffffffffa03b4b71>] wait_extent_bit.constprop.32+0x7c/0xde [btrfs]
-[ 5281.988680] [<ffffffffa03b540b>] lock_extent_bits+0x5d/0x88 [btrfs]
-[ 5281.990200] [<ffffffffa03a621d>] btrfs_evict_inode+0x24e/0x5be [btrfs]
-[ 5281.991781] [<ffffffff8116964d>] evict+0xa0/0x148
-[ 5281.992735] [<ffffffff8116a43d>] iput+0x18f/0x1e5
-[ 5281.993796] [<ffffffff81160d4a>] do_unlinkat+0x15b/0x1fa
-[ 5281.994806] [<ffffffff81435b54>] ? ret_from_sys_call+0x1d/0x58
-[ 5281.996120] [<ffffffff8107d314>] ? trace_hardirqs_on_caller+0x18f/0x1ab
-[ 5281.997562] [<ffffffff8123960b>] ? trace_hardirqs_on_thunk+0x3a/0x3f
-[ 5281.998815] [<ffffffff81161a16>] SyS_unlinkat+0x29/0x2b
-[ 5281.999920] [<ffffffff81435b32>] system_call_fastpath+0x12/0x17
-[ 5282.001299] 1 lock held by rm/20488:
-[ 5282.002066] #0: (sb_writers#12){.+.+.+}, at: [<ffffffff8116dd81>] mnt_want_write+0x24/0x4b
-
-This happens when we have readahead, which calls readpages(), happening
-right before the inode eviction handler is invoked. So the reason is
-essentially:
-
-1) readpages() is called while a reference on the inode is held, so
- eviction can not be triggered before readpages() returns. It also
- locks one or more ranges in the inode's io_tree (which is done at
- extent_io.c:__do_contiguous_readpages());
-
-2) readpages() submits several read bios, all with an end io callback
- that runs extent_io.c:end_bio_extent_readpage() and that is executed
- by other task when a bio finishes, corresponding to a work queue
- (fs_info->end_io_workers) worker kthread. This callback unlocks
- the ranges in the inode's io_tree that were previously locked in
- step 1;
-
-3) readpages() returns, the reference on the inode is dropped;
-
-4) One or more of the read bios previously submitted are still not
- complete (their end io callback was not yet invoked or has not
- yet finished execution);
-
-5) Inode eviction is triggered (through an unlink call for example).
- The inode reference count was not incremented before submitting
- the read bios, therefore this is possible;
-
-6) The eviction handler starts executing and enters the loop that
- iterates over all extent states in the inode's io_tree;
-
-7) The loop picks one extent state record and uses its ->start and
- ->end fields, after releasing the inode's io_tree spinlock, to
- call lock_extent_bits() and clear_extent_bit(). The call to lock
- the range [state->start, state->end] blocks because the whole
- range or a part of it was locked by the previous call to
- readpages() and the corresponding end io callback, which unlocks
- the range was not yet executed;
-
-8) The end io callback for the read bio is executed and unlocks the
- range [state->start, state->end] (or a superset of that range).
- And at clear_extent_bit() the extent_state record state is used
- as a second argument to split_state(), which sets state->start to
- a larger value;
-
-9) The task executing the eviction handler is woken up by the task
- executing the bio's end io callback (through clear_state_bit) and
- the eviction handler locks the range
- [old value for state->start, state->end]. Shortly after, when
- calling clear_extent_bit(), it unlocks the range
- [new value for state->start, state->end], so it ends up unlocking
- only part of the range that it locked, leaving an extent state
- record in the io_tree that represents the unlocked subrange;
-
-10) The eviction handler loop, in its next iteration, gets the
- extent_state record for the subrange that it did not unlock in the
- previous step and then tries to lock it, resulting in an hang.
-
-So fix this by not using the ->start and ->end fields of an existing
-extent_state record. This is a simple solution, and an alternative
-could be to bump the inode's reference count before submitting each
-read bio and having it dropped in the bio's end io callback. But that
-would be a more invasive/complex change and would not protect against
-other possible places that are not holding a reference on the inode
-as well. Something to consider in the future.
-
-Many thanks to Zygo Blaxell for reporting, in the mailing list, the
-issue, a set of scripts to trigger it and testing this fix.
-
-Reported-by: Zygo Blaxell <ce3g8jdj(a)umail.furryterror.org>
-Tested-by: Zygo Blaxell <ce3g8jdj(a)umail.furryterror.org>
-Signed-off-by: Filipe Manana <fdmanana(a)suse.com>
-Signed-off-by: Chris Mason <clm(a)fb.com>
----
- fs/btrfs/inode.c | 26 +++++++++++++++++++++-----
- 1 file changed, 21 insertions(+), 5 deletions(-)
-
-diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
-index 8bb0136..855935f 100644
---- a/fs/btrfs/inode.c
-+++ b/fs/btrfs/inode.c
-@@ -4986,24 +4986,40 @@ static void evict_inode_truncate_pages(struct inode *inode)
- }
- write_unlock(&map_tree->lock);
-
-+ /*
-+ * Keep looping until we have no more ranges in the io tree.
-+ * We can have ongoing bios started by readpages (called from readahead)
-+ * that didn't get their end io callbacks called yet or they are still
-+ * in progress ((extent_io.c:end_bio_extent_readpage()). This means some
-+ * ranges can still be locked and eviction started because before
-+ * submitting those bios, which are executed by a separate task (work
-+ * queue kthread), inode references (inode->i_count) were not taken
-+ * (which would be dropped in the end io callback of each bio).
-+ * Therefore here we effectively end up waiting for those bios and
-+ * anyone else holding locked ranges without having bumped the inode's
-+ * reference count - if we don't do it, when they access the inode's
-+ * io_tree to unlock a range it may be too late, leading to an
-+ * use-after-free issue.
-+ */
- spin_lock(&io_tree->lock);
- while (!RB_EMPTY_ROOT(&io_tree->state)) {
- struct extent_state *state;
- struct extent_state *cached_state = NULL;
-+ u64 start;
-+ u64 end;
-
- node = rb_first(&io_tree->state);
- state = rb_entry(node, struct extent_state, rb_node);
-- atomic_inc(&state->refs);
-+ start = state->start;
-+ end = state->end;
- spin_unlock(&io_tree->lock);
-
-- lock_extent_bits(io_tree, state->start, state->end,
-- 0, &cached_state);
-- clear_extent_bit(io_tree, state->start, state->end,
-+ lock_extent_bits(io_tree, start, end, 0, &cached_state);
-+ clear_extent_bit(io_tree, start, end,
- EXTENT_LOCKED | EXTENT_DIRTY |
- EXTENT_DELALLOC | EXTENT_DO_ACCOUNTING |
- EXTENT_DEFRAG, 1, 1,
- &cached_state, GFP_NOFS);
-- free_extent_state(state);
-
- cond_resched();
- spin_lock(&io_tree->lock);
---
-1.8.4.5
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/crasher-26.diff new/patches.suse/crasher-26.diff
--- old/patches.suse/crasher-26.diff 2015-08-28 11:17:01.000000000 +0200
+++ new/patches.suse/crasher-26.diff 2015-09-22 17:17:36.000000000 +0200
@@ -19,9 +19,9 @@
+ help
+ Slab cache memory tester. Only use this as a module
+
- config MSM_SMD_PKT
- bool "Enable device interface for some SMD packet ports"
- default n
+ config TILE_SROM
+ bool "Character-device access via hypervisor to the Tilera SPI ROM"
+ depends on TILE
--- a/drivers/char/Makefile
+++ b/drivers/char/Makefile
@@ -57,6 +57,7 @@ obj-$(CONFIG_IPMI_HANDLER) += ipmi/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/scsi-netlink-ml new/patches.suse/scsi-netlink-ml
--- old/patches.suse/scsi-netlink-ml 2015-08-28 11:17:01.000000000 +0200
+++ new/patches.suse/scsi-netlink-ml 2015-09-22 17:17:36.000000000 +0200
@@ -18,9 +18,9 @@
--- a/drivers/scsi/scsi_error.c
+++ b/drivers/scsi/scsi_error.c
@@ -25,6 +25,8 @@
+ #include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/jiffies.h>
- #include <asm/unaligned.h>
+#include <linux/netlink.h>
+#include <net/netlink.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/stack-unwind new/patches.suse/stack-unwind
--- old/patches.suse/stack-unwind 2015-08-28 11:17:01.000000000 +0200
+++ new/patches.suse/stack-unwind 2015-09-22 17:17:36.000000000 +0200
@@ -22,10 +22,43 @@
Update Jun 24 2014 jeffm:
- VSYSCALL_START / END replaced upstream with
VSYSCALL_ADDR / VSYSCALL_ADDR + PAGE_SIZE
+Update Sep 22 2015 jslaby:
+- Enablement after manual dwarf annotations are gone from upstream
+
+TODO:
+* annotate arch_unwind_init_running by FRAME_BEGIN/END in both entry_32/64.S.
+ (Only after stacktool is merged.)
+* assembler not unwound properly, as annotations are gone -- frame ptr is used
+ for the rest of the stack instead (as always).
+
+---
+ Makefile | 5
+ arch/x86/Kconfig | 2
+ arch/x86/Makefile | 11
+ arch/x86/entry/calling.h | 13
+ arch/x86/entry/entry_32.S | 33
+ arch/x86/entry/entry_64.S | 32
+ arch/x86/include/asm/stacktrace.h | 4
+ arch/x86/include/asm/switch_to.h | 10
+ arch/x86/include/asm/unwind.h | 159 +++
+ arch/x86/kernel/dumpstack.c | 88 ++
+ arch/x86/kernel/dumpstack_32.c | 4
+ arch/x86/kernel/dumpstack_64.c | 7
+ arch/x86/kernel/vmlinux.lds.S | 2
+ arch/x86/tools/relocs.c | 1
+ include/asm-generic/vmlinux.lds.h | 22
+ include/linux/module.h | 3
+ include/linux/unwind.h | 135 +++
+ init/main.c | 3
+ kernel/Makefile | 1
+ kernel/module.c | 32
+ kernel/unwind.c | 1652 ++++++++++++++++++++++++++++++++++++++
+ lib/Kconfig.debug | 24
+ 22 files changed, 2237 insertions(+), 6 deletions(-)
--- a/Makefile
+++ b/Makefile
-@@ -727,6 +727,11 @@ endif
+@@ -729,6 +729,11 @@ endif
KBUILD_CFLAGS += $(call cc-option, -fno-var-tracking-assignments)
@@ -39,7 +72,7 @@
KBUILD_CFLAGS += $(call cc-option, -gsplit-dwarf, -g)
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
-@@ -627,7 +627,7 @@ config X86_32_IRIS
+@@ -635,7 +635,7 @@ config X86_32_IRIS
config SCHED_OMIT_FRAME_POINTER
def_bool y
prompt "Single-depth WCHAN output"
@@ -50,7 +83,30 @@
is disabled then wchan values will recurse back to the
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
-@@ -163,7 +163,9 @@ KBUILD_CFLAGS += -pipe
+@@ -149,6 +149,11 @@ endif
+ sp-$(CONFIG_X86_32) := esp
+ sp-$(CONFIG_X86_64) := rsp
+
++# do binutils support CFI?
++cfi := $(call as-instr,.cfi_startproc\n.cfi_rel_offset $(sp-y)$(comma)0\n.cfi_endproc,-DCONFIG_AS_CFI=1)
++# is .cfi_signal_frame supported too?
++cfi-sections := $(call as-instr,.cfi_sections .debug_frame,-DCONFIG_AS_CFI_SECTIONS=1)
++
+ # does binutils support specific instructions?
+ asinstr := $(call as-instr,fxsaveq (%rax),-DCONFIG_AS_FXSAVEQ=1)
+ asinstr += $(call as-instr,pshufb %xmm0$(comma)%xmm0,-DCONFIG_AS_SSSE3=1)
+@@ -156,8 +161,8 @@ asinstr += $(call as-instr,crc32l %eax$(
+ avx_instr := $(call as-instr,vxorps %ymm0$(comma)%ymm1$(comma)%ymm2,-DCONFIG_AS_AVX=1)
+ avx2_instr :=$(call as-instr,vpbroadcastb %xmm0$(comma)%ymm1,-DCONFIG_AS_AVX2=1)
+
+-KBUILD_AFLAGS += $(asinstr) $(avx_instr) $(avx2_instr)
+-KBUILD_CFLAGS += $(asinstr) $(avx_instr) $(avx2_instr)
++KBUILD_AFLAGS += $(cfi) $(cfi-sections) $(asinstr) $(avx_instr) $(avx2_instr)
++KBUILD_CFLAGS += $(cfi) $(cfi-sections) $(asinstr) $(avx_instr) $(avx2_instr)
+
+ LDFLAGS := -m elf_$(UTS_MACHINE)
+
+@@ -166,7 +171,9 @@ KBUILD_CFLAGS += -pipe
# Workaround for a gcc prelease that unfortunately was shipped in a suse release
KBUILD_CFLAGS += -Wno-sign-compare
#
@@ -60,27 +116,111 @@
# prevent gcc from generating any FP code by mistake
KBUILD_CFLAGS += -mno-sse -mno-mmx -mno-sse2 -mno-3dnow
KBUILD_CFLAGS += $(call cc-option,-mno-avx,)
---- a/arch/x86/include/asm/dwarf2.h
-+++ b/arch/x86/include/asm/dwarf2.h
-@@ -35,7 +35,8 @@
- #define CFI_SIGNAL_FRAME
- #endif
+--- a/arch/x86/entry/calling.h
++++ b/arch/x86/entry/calling.h
+@@ -46,6 +46,19 @@ For 32-bit we have the following convent
+
+ */
--#if defined(CONFIG_AS_CFI_SECTIONS) && defined(__ASSEMBLY__)
+#if !defined(CONFIG_UNWIND_INFO) && defined(CONFIG_AS_CFI_SECTIONS) \
-+ && defined(__ASSEMBLY__)
- /*
- * Emit CFI data in .debug_frame sections, not .eh_frame sections.
- * The latter we currently just discard since we don't do DWARF
-@@ -53,7 +54,7 @@
- * Due to the structure of pre-exisiting code, don't use assembler line
- * comment character # to ignore the arguments. Instead, use a dummy macro.
- */
--.macro cfi_ignore a=0, b=0, c=0, d=0
-+.macro cfi_ignore a=0, b=0, c=0, d=0, e=0, f=0, g=0, h=0
- .endm
++ && defined(__ASSEMBLY__)
++ /*
++ * Emit CFI data in .debug_frame sections, not .eh_frame sections.
++ * The latter we currently just discard since we don't do DWARF
++ * unwinding at runtime. So only the offline DWARF information is
++ * useful to anyone. Note we should not use this directive if this
++ * file is used in the vDSO assembly, or if vmlinux.lds.S gets
++ * changed so it doesn't discard .eh_frame.
++ */
++ .cfi_sections .debug_frame
++#endif
++
+ #ifdef CONFIG_X86_64
+
+ /*
+--- a/arch/x86/entry/entry_32.S
++++ b/arch/x86/entry/entry_32.S
+@@ -224,6 +224,39 @@ ENTRY(ret_from_fork)
+ jmp syscall_exit
+ END(ret_from_fork)
+
++#ifdef CONFIG_STACK_UNWIND
++ENTRY(arch_unwind_init_running)
++ movl 4(%esp), %edx
++ movl (%esp), %ecx
++ leal 4(%esp), %eax
++ movl %ebx, PT_EBX(%edx)
++ xorl %ebx, %ebx
++ movl %ebx, PT_ECX(%edx)
++ movl %ebx, PT_EDX(%edx)
++ movl %esi, PT_ESI(%edx)
++ movl %edi, PT_EDI(%edx)
++ movl %ebp, PT_EBP(%edx)
++ movl %ebx, PT_EAX(%edx)
++ movl $__USER_DS, PT_DS(%edx)
++ movl $__USER_DS, PT_ES(%edx)
++ movl $__KERNEL_PERCPU, PT_FS(%edx)
++ movl $__KERNEL_STACK_CANARY, PT_GS(%edx)
++ movl %eax, PT_OLDESP(%edx)
++ movl 16(%esp), %eax
++ movl %ebx, PT_ORIG_EAX(%edx)
++ movl %ecx, PT_EIP(%edx)
++ movl 12(%esp), %ecx
++ movl $__KERNEL_CS, PT_CS(%edx)
++ movl %eax, 12(%esp)
++ movl 8(%esp), %eax
++ movl %ecx, 8(%esp)
++ movl %ebx, PT_EFLAGS(%edx)
++ movl PT_EBX(%edx), %ebx
++ movl $__KERNEL_DS, PT_OLDSS(%edx)
++ jmpl *%eax
++ENDPROC(arch_unwind_init_running)
++#endif
++
+ ENTRY(ret_from_kernel_thread)
+ pushl %eax
+ call schedule_tail
+--- a/arch/x86/entry/entry_64.S
++++ b/arch/x86/entry/entry_64.S
+@@ -973,6 +973,38 @@ ENTRY(do_softirq_own_stack)
+ ret
+ END(do_softirq_own_stack)
+
++#ifdef CONFIG_STACK_UNWIND
++ENTRY(arch_unwind_init_running)
++ movq %r15, R15(%rdi)
++ movq %r14, R14(%rdi)
++ xchgq %rsi, %rdx
++ movq %r13, R13(%rdi)
++ movq %r12, R12(%rdi)
++ xorl %eax, %eax
++ movq %rbp, RBP(%rdi)
++ movq %rbx, RBX(%rdi)
++ movq (%rsp), %r9
++ xchgq %rdx, %rcx
++ movq %rax, R11(%rdi)
++ movq %rax, R10(%rdi)
++ movq %rax, R9(%rdi)
++ movq %rax, R8(%rdi)
++ movq %rax, RAX(%rdi)
++ movq %rax, RCX(%rdi)
++ movq %rax, RDX(%rdi)
++ movq %rax, RSI(%rdi)
++ movq %rax, RDI(%rdi)
++ movq %rax, ORIG_RAX(%rdi)
++ movq %r9, RIP(%rdi)
++ leaq 8(%rsp), %r9
++ movq $__KERNEL_CS, CS(%rdi)
++ movq %rax, EFLAGS(%rdi)
++ movq %r9, RSP(%rdi)
++ movq $__KERNEL_DS, SS(%rdi)
++ jmpq *%rcx
++END(arch_unwind_init_running)
++#endif
++
+ #ifdef CONFIG_XEN
+ idtentry xen_hypervisor_callback xen_do_hypervisor_callback has_error_code=0
- #define CFI_STARTPROC cfi_ignore
--- a/arch/x86/include/asm/stacktrace.h
+++ b/arch/x86/include/asm/stacktrace.h
@@ -92,6 +92,10 @@ extern void
@@ -96,7 +236,7 @@
/* The form of the top of the frame on the stack */
--- a/arch/x86/include/asm/switch_to.h
+++ b/arch/x86/include/asm/switch_to.h
-@@ -100,6 +100,15 @@ do { \
+@@ -100,12 +100,22 @@ do { \
#define __switch_canary_iparam
#endif /* CC_STACKPROTECTOR */
@@ -109,10 +249,9 @@
+#define THREAD_RETURN_SYM
+#endif
+
- /*
- * There is no need to save or restore flags, because flags are always
- * clean in kernel mode, with the possible exception of IOPL. Kernel IOPL
-@@ -110,6 +119,7 @@ do { \
+ /* Save restore flags to clear handle leaking NT */
+ #define switch_to(prev, next, last) \
+ asm volatile(SAVE_CONTEXT \
"movq %%rsp,%P[threadrsp](%[prev])\n\t" /* save RSP */ \
"movq %P[threadrsp](%[next]),%%rsp\n\t" /* restore RSP */ \
"call __switch_to\n\t" \
@@ -120,7 +259,7 @@
"movq "__percpu_arg([current_task])",%%rsi\n\t" \
__switch_canary \
"movq %P[thread_info](%%rsi),%%r8\n\t" \
---- a/dev/null
+--- /dev/null
+++ b/arch/x86/include/asm/unwind.h
@@ -0,0 +1,159 @@
+#ifndef _ASM_X86_UNWIND_H
@@ -374,7 +513,7 @@
/*
* x86-64 can have up to three kernel stacks:
* process stack
-@@ -367,3 +437,21 @@ static int __init code_bytes_setup(char
+@@ -367,3 +437,21 @@ static int __init code_bytes_setup(char
return 1;
}
__setup("code_bytes=", code_bytes_setup);
@@ -432,93 +571,6 @@
if (!stack) {
if (regs)
stack = (unsigned long *)regs->sp;
---- a/arch/x86/kernel/entry_32.S
-+++ b/arch/x86/kernel/entry_32.S
-@@ -299,6 +299,41 @@ ENTRY(ret_from_fork)
- CFI_ENDPROC
- END(ret_from_fork)
-
-+#ifdef CONFIG_STACK_UNWIND
-+ENTRY(arch_unwind_init_running)
-+ CFI_STARTPROC
-+ movl 4(%esp), %edx
-+ movl (%esp), %ecx
-+ leal 4(%esp), %eax
-+ movl %ebx, PT_EBX(%edx)
-+ xorl %ebx, %ebx
-+ movl %ebx, PT_ECX(%edx)
-+ movl %ebx, PT_EDX(%edx)
-+ movl %esi, PT_ESI(%edx)
-+ movl %edi, PT_EDI(%edx)
-+ movl %ebp, PT_EBP(%edx)
-+ movl %ebx, PT_EAX(%edx)
-+ movl $__USER_DS, PT_DS(%edx)
-+ movl $__USER_DS, PT_ES(%edx)
-+ movl $__KERNEL_PERCPU, PT_FS(%edx)
-+ movl $__KERNEL_STACK_CANARY, PT_GS(%edx)
-+ movl %eax, PT_OLDESP(%edx)
-+ movl 16(%esp), %eax
-+ movl %ebx, PT_ORIG_EAX(%edx)
-+ movl %ecx, PT_EIP(%edx)
-+ movl 12(%esp), %ecx
-+ movl $__KERNEL_CS, PT_CS(%edx)
-+ movl %eax, 12(%esp)
-+ movl 8(%esp), %eax
-+ movl %ecx, 8(%esp)
-+ movl %ebx, PT_EFLAGS(%edx)
-+ movl PT_EBX(%edx), %ebx
-+ movl $__KERNEL_DS, PT_OLDSS(%edx)
-+ jmpl *%eax
-+ CFI_ENDPROC
-+ENDPROC(arch_unwind_init_running)
-+#endif
-+
- ENTRY(ret_from_kernel_thread)
- CFI_STARTPROC
- pushl_cfi %eax
---- a/arch/x86/kernel/entry_64.S
-+++ b/arch/x86/kernel/entry_64.S
-@@ -1140,6 +1140,40 @@ ENTRY(do_softirq_own_stack)
- CFI_ENDPROC
- END(do_softirq_own_stack)
-
-+#ifdef CONFIG_STACK_UNWIND
-+ENTRY(arch_unwind_init_running)
-+ CFI_STARTPROC
-+ movq %r15, R15(%rdi)
-+ movq %r14, R14(%rdi)
-+ xchgq %rsi, %rdx
-+ movq %r13, R13(%rdi)
-+ movq %r12, R12(%rdi)
-+ xorl %eax, %eax
-+ movq %rbp, RBP(%rdi)
-+ movq %rbx, RBX(%rdi)
-+ movq (%rsp), %r9
-+ xchgq %rdx, %rcx
-+ movq %rax, R11(%rdi)
-+ movq %rax, R10(%rdi)
-+ movq %rax, R9(%rdi)
-+ movq %rax, R8(%rdi)
-+ movq %rax, RAX(%rdi)
-+ movq %rax, RCX(%rdi)
-+ movq %rax, RDX(%rdi)
-+ movq %rax, RSI(%rdi)
-+ movq %rax, RDI(%rdi)
-+ movq %rax, ORIG_RAX(%rdi)
-+ movq %r9, RIP(%rdi)
-+ leaq 8(%rsp), %r9
-+ movq $__KERNEL_CS, CS(%rdi)
-+ movq %rax, EFLAGS(%rdi)
-+ movq %r9, RSP(%rdi)
-+ movq $__KERNEL_DS, SS(%rdi)
-+ jmpq *%rcx
-+ CFI_ENDPROC
-+END(arch_unwind_init_running)
-+#endif
-+
- #ifdef CONFIG_XEN
- idtentry xen_hypervisor_callback xen_do_hypervisor_callback has_error_code=0
-
--- a/arch/x86/kernel/vmlinux.lds.S
+++ b/arch/x86/kernel/vmlinux.lds.S
@@ -332,7 +332,9 @@ SECTIONS
@@ -578,7 +630,7 @@
+#endif
--- a/include/linux/module.h
+++ b/include/linux/module.h
-@@ -284,6 +284,9 @@ struct module {
+@@ -398,6 +398,9 @@ struct module {
/* Size of RO sections of the module (text+rodata) */
unsigned int init_ro_size, core_ro_size;
@@ -588,7 +640,7 @@
/* Arch-specific module values */
struct mod_arch_specific arch;
---- a/dev/null
+--- /dev/null
+++ b/include/linux/unwind.h
@@ -0,0 +1,135 @@
+#ifndef _LINUX_UNWIND_H
@@ -736,7 +788,7 @@
#include <linux/buffer_head.h>
#include <linux/page_ext.h>
#include <linux/debug_locks.h>
-@@ -498,6 +499,7 @@ asmlinkage __visible void __init start_k
+@@ -503,6 +504,7 @@ asmlinkage __visible void __init start_k
* Need to run as early as possible, to initialize the
* lockdep hash:
*/
@@ -744,7 +796,7 @@
lockdep_init();
set_task_stack_end_magic(&init_task);
smp_setup_processor_id();
-@@ -523,6 +525,7 @@ asmlinkage __visible void __init start_k
+@@ -528,6 +530,7 @@ asmlinkage __visible void __init start_k
setup_arch(&command_line);
mm_init_cpumask(&init_mm);
setup_command_line(command_line);
@@ -754,7 +806,7 @@
smp_prepare_boot_cpu(); /* arch-specific boot-cpu hooks */
--- a/kernel/Makefile
+++ b/kernel/Makefile
-@@ -49,6 +49,7 @@ obj-$(CONFIG_SYSTEM_TRUSTED_KEYRING) +=
+@@ -49,6 +49,7 @@ obj-$(CONFIG_SYSTEM_TRUSTED_KEYRING) +=
obj-$(CONFIG_MODULES) += module.o
obj-$(CONFIG_MODULE_SIG) += module_signing.o
obj-$(CONFIG_KALLSYMS) += kallsyms.o
@@ -772,7 +824,7 @@
#include <linux/rculist.h>
#include <asm/uaccess.h>
#include <asm/cacheflush.h>
-@@ -195,7 +196,7 @@ struct load_info {
+@@ -344,7 +345,7 @@ struct load_info {
unsigned int num_debug;
bool sig_ok;
struct {
@@ -781,7 +833,7 @@
} index;
};
-@@ -607,6 +608,27 @@ bool is_module_percpu_address(unsigned l
+@@ -764,6 +765,27 @@ bool is_module_percpu_address(unsigned l
#endif /* CONFIG_SMP */
@@ -809,7 +861,7 @@
#define MODINFO_ATTR(field) \
static void setup_modinfo_##field(struct module *mod, const char *s) \
{ \
-@@ -1919,6 +1941,8 @@ static void free_module(struct module *m
+@@ -2089,6 +2111,8 @@ static void free_module(struct module *m
/* Remove dynamic debug info */
ddebug_remove_module(mod->name);
@@ -818,7 +870,7 @@
/* Arch-specific cleanup. */
module_arch_cleanup(mod);
-@@ -2752,6 +2776,8 @@ static struct module *setup_load_info(st
+@@ -2907,6 +2931,8 @@ static struct module *setup_load_info(st
info->index.pcpu = find_pcpusec(info);
@@ -827,7 +879,7 @@
/* Check module struct version now, before we try to use module. */
if (!check_modstruct_version(info->sechdrs, info->index.vers, mod))
return ERR_PTR(-ENOEXEC);
-@@ -3194,6 +3220,7 @@ static noinline int do_init_module(struc
+@@ -3349,6 +3375,7 @@ static noinline int do_init_module(struc
/* Drop initial reference. */
module_put(mod);
trim_init_extable(mod);
@@ -835,7 +887,7 @@
#ifdef CONFIG_KALLSYMS
mod->num_symtab = mod->core_num_syms;
mod->symtab = mod->core_symtab;
-@@ -3436,6 +3463,9 @@ static int load_module(struct load_info
+@@ -3606,6 +3633,9 @@ static int load_module(struct load_info
if (err < 0)
goto bug_cleanup;
@@ -845,7 +897,7 @@
/* Get rid of temporary copy. */
free_copy(info);
---- a/dev/null
+--- /dev/null
+++ b/kernel/unwind.c
@@ -0,0 +1,1652 @@
+/*
@@ -2527,7 +2579,7 @@
config BOOT_PRINTK_DELAY
bool "Delay each boot printk message by N milliseconds"
depends on DEBUG_KERNEL && PRINTK && GENERIC_CALIBRATE_DELAY
-@@ -1486,7 +1504,8 @@ config FAULT_INJECTION_STACKTRACE_FILTER
+@@ -1553,7 +1571,8 @@ config FAULT_INJECTION_STACKTRACE_FILTER
depends on FAULT_INJECTION_DEBUG_FS && STACKTRACE_SUPPORT
depends on !X86_64
select STACKTRACE
@@ -2537,7 +2589,7 @@
help
Provide stacktrace filter for fault-injection capabilities
-@@ -1496,7 +1515,8 @@ config LATENCYTOP
+@@ -1563,7 +1582,8 @@ config LATENCYTOP
depends on DEBUG_KERNEL
depends on STACKTRACE_SUPPORT
depends on PROC_FS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/supported-flag new/patches.suse/supported-flag
--- old/patches.suse/supported-flag 2015-08-28 11:17:01.000000000 +0200
+++ new/patches.suse/supported-flag 2015-09-22 17:17:36.000000000 +0200
@@ -30,7 +30,7 @@
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
-@@ -3654,6 +3654,14 @@ bytes respectively. Such letter suffixes
+@@ -3789,6 +3789,14 @@ bytes respectively. Such letter suffixes
unknown_nmi_panic
[X86] Cause panic on unknown NMI.
@@ -47,7 +47,7 @@
(default -1 = authorized except for wireless USB,
--- a/Documentation/sysctl/kernel.txt
+++ b/Documentation/sysctl/kernel.txt
-@@ -843,6 +843,18 @@ can be ORed together:
+@@ -869,6 +869,18 @@ can be ORed together:
signature.
16384 - A soft lockup has previously occurred on the system.
32768 - The kernel has been live patched.
@@ -68,7 +68,7 @@
--- a/Makefile
+++ b/Makefile
-@@ -411,6 +411,11 @@ KBUILD_AFLAGS_MODULE := -DMODULE
+@@ -400,6 +400,11 @@ KBUILD_AFLAGS_MODULE := -DMODULE
KBUILD_CFLAGS_MODULE := -DMODULE
KBUILD_LDFLAGS_MODULE := -T $(srctree)/scripts/module-common.lds
@@ -82,7 +82,7 @@
KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION)
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
-@@ -425,6 +425,9 @@ extern int panic_on_oops;
+@@ -438,6 +438,9 @@ extern int panic_on_oops;
extern int panic_on_unrecovered_nmi;
extern int panic_on_io_nmi;
extern int panic_on_warn;
@@ -90,9 +90,9 @@
+extern int unsupported;
+#endif
extern int sysctl_panic_on_stackoverflow;
- /*
- * Only to be used by arch init code. If the user over-wrote the default
-@@ -472,6 +475,15 @@ extern enum system_states {
+
+ extern bool crash_kexec_post_notifiers;
+@@ -489,6 +492,15 @@ extern enum system_states {
#define TAINT_SOFTLOCKUP 14
#define TAINT_LIVEPATCH 15
@@ -110,7 +110,7 @@
#define hex_asc_hi(x) hex_asc[((x) & 0xf0) >> 4]
--- a/include/linux/module.h
+++ b/include/linux/module.h
-@@ -381,6 +381,9 @@ struct module *__module_address(unsigned
+@@ -417,6 +417,9 @@ struct module *__module_address(unsigned
bool is_module_address(unsigned long addr);
bool is_module_percpu_address(unsigned long addr);
bool is_module_text_address(unsigned long addr);
@@ -214,7 +214,7 @@
/*
* Mutex protects:
* 1) List of modules (also safely readable with preempt_disable),
-@@ -995,6 +1011,12 @@ static size_t module_flags_taint(struct
+@@ -1157,6 +1173,12 @@ static size_t module_flags_taint(struct
buf[l++] = 'C';
if (mod->taints & (1 << TAINT_UNSIGNED_MODULE))
buf[l++] = 'E';
@@ -227,7 +227,7 @@
/*
* TAINT_FORCED_RMMOD: could be added.
* TAINT_CPU_OUT_OF_SPEC, TAINT_MACHINE_CHECK, TAINT_BAD_PAGE don't
-@@ -1072,6 +1094,33 @@ static ssize_t show_taint(struct module_
+@@ -1234,6 +1256,33 @@ static ssize_t show_taint(struct module_
static struct module_attribute modinfo_taint =
__ATTR(taint, 0444, show_taint, NULL);
@@ -261,7 +261,7 @@
static struct module_attribute *modinfo_attrs[] = {
&module_uevent,
&modinfo_version,
-@@ -1080,6 +1129,9 @@ static struct module_attribute *modinfo_
+@@ -1242,6 +1291,9 @@ static struct module_attribute *modinfo_
&modinfo_coresize,
&modinfo_initsize,
&modinfo_taint,
@@ -271,7 +271,7 @@
#ifdef CONFIG_MODULE_UNLOAD
&modinfo_refcnt,
#endif
-@@ -1626,9 +1678,37 @@ static int mod_sysfs_setup(struct module
+@@ -1800,9 +1852,37 @@ static int mod_sysfs_setup(struct module
add_sect_attrs(mod, info);
add_notes_attrs(mod, info);
@@ -309,7 +309,7 @@
out_unreg_param:
module_param_sysfs_remove(mod);
out_unreg_holders:
-@@ -3836,6 +3916,9 @@ void print_modules(void)
+@@ -4068,6 +4148,9 @@ void print_modules(void)
if (last_unloaded_module[0])
pr_cont(" [last unloaded: %s]", last_unloaded_module);
pr_cont("\n");
@@ -321,7 +321,7 @@
#ifdef CONFIG_MODVERSIONS
--- a/kernel/panic.c
+++ b/kernel/panic.c
-@@ -226,6 +226,10 @@ static const struct tnt tnts[] = {
+@@ -228,6 +228,10 @@ static const struct tnt tnts[] = {
{ TAINT_UNSIGNED_MODULE, 'E', ' ' },
{ TAINT_SOFTLOCKUP, 'L', ' ' },
{ TAINT_LIVEPATCH, 'K', ' ' },
@@ -332,7 +332,7 @@
};
/**
-@@ -246,6 +250,8 @@ static const struct tnt tnts[] = {
+@@ -249,6 +253,8 @@ static const struct tnt tnts[] = {
* 'E' - Unsigned module has been loaded.
* 'L' - A soft lockup has previously occurred.
* 'K' - Kernel has been live patched.
@@ -343,7 +343,7 @@
*/
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
-@@ -769,6 +769,15 @@ static struct ctl_table kern_table[] = {
+@@ -759,6 +759,15 @@ static struct ctl_table kern_table[] = {
.extra1 = &pid_max_min,
.extra2 = &pid_max_max,
},
@@ -376,7 +376,7 @@
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
-@@ -1685,6 +1685,50 @@ static char *remove_dot(char *s)
+@@ -1918,6 +1918,50 @@ static char *remove_dot(char *s)
return s;
}
@@ -427,7 +427,7 @@
static void read_symbols(char *modname)
{
const char *symname;
-@@ -1899,6 +1943,15 @@ static void add_staging_flag(struct buff
+@@ -2132,6 +2176,15 @@ static void add_staging_flag(struct buff
buf_printf(b, "\nMODULE_INFO(staging, \"Y\");\n");
}
@@ -443,7 +443,7 @@
/**
* Record CRCs for unresolved symbols
**/
-@@ -2040,6 +2093,15 @@ static void write_if_changed(struct buff
+@@ -2273,6 +2326,15 @@ static void write_if_changed(struct buff
fclose(file);
}
@@ -459,7 +459,7 @@
/* parse Module.symvers file. line format:
* 0x12345678<tab>symbol<tab>module[[<tab>export]<tab>something]
**/
-@@ -2135,12 +2197,15 @@ int main(int argc, char **argv)
+@@ -2368,12 +2430,15 @@ int main(int argc, char **argv)
struct buffer buf = { };
char *kernel_read = NULL, *module_read = NULL;
char *dump_write = NULL, *files_source = NULL;
@@ -476,7 +476,7 @@
switch (opt) {
case 'i':
kernel_read = optarg;
-@@ -2181,11 +2246,20 @@ int main(int argc, char **argv)
+@@ -2414,11 +2479,20 @@ int main(int argc, char **argv)
case 'w':
warn_unresolved = 1;
break;
@@ -497,7 +497,7 @@
if (kernel_read)
read_dump(kernel_read, 1);
if (module_read)
-@@ -2222,6 +2296,9 @@ int main(int argc, char **argv)
+@@ -2455,6 +2529,9 @@ int main(int argc, char **argv)
add_header(&buf, mod);
add_intree_flag(&buf, !external_module);
add_staging_flag(&buf, mod->name);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/suse-hv-storvsc-sg_tablesize.patch new/patches.suse/suse-hv-storvsc-sg_tablesize.patch
--- old/patches.suse/suse-hv-storvsc-sg_tablesize.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.suse/suse-hv-storvsc-sg_tablesize.patch 2015-09-22 17:17:36.000000000 +0200
@@ -0,0 +1,28 @@
+Subject: hv_storvsc: use small sg_tablesize on x86
+From: <ohering(a)suse.de>
+Patch-mainline: Never, upstream may provide different fix
+References: bnc#937256
+
+Reducing the sg_tablesize allows booting of SP4 kernels in 32bit VMs, after
+commit be0cf6ca301c61458dc4aa1a37acf4f58d2ed3d6 ("scsi: storvsc: Set the
+tablesize based on the information given by the host")
+
+[ 5.567138] hv_storvsc vmbus_1: adjusting sg_tablesize 0x800 -> 0x20
+
+
+diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
+index 4a65916..e2245c7 100644
+--- a/drivers/scsi/storvsc_drv.c
++++ b/drivers/scsi/storvsc_drv.c
+@@ -1951,6 +1951,11 @@ static int storvsc_probe(struct hv_device *device,
+ * from the host.
+ */
+ host->sg_tablesize = (stor_device->max_transfer_bytes >> PAGE_SHIFT);
++#if defined(CONFIG_X86_32)
++ dev_warn(&device->device, "adjusting sg_tablesize 0x%x -> 0x%x",
++ host->sg_tablesize, MAX_MULTIPAGE_BUFFER_COUNT);
++ host->sg_tablesize = MAX_MULTIPAGE_BUFFER_COUNT;
++#endif
+
+ /* Register the HBA and start the scsi bus scan */
+ ret = scsi_add_host(host, &device->device);
++++++ patches.xen.tar.bz2 ++++++
++++ 30983 lines of diff (skipped)
++++++ series.conf ++++++
--- /var/tmp/diff_new_pack.pwNTkG/_old 2015-10-01 09:28:48.000000000 +0200
+++ /var/tmp/diff_new_pack.pwNTkG/_new 2015-10-01 09:28:48.000000000 +0200
@@ -27,12 +27,7 @@
# DO NOT MODIFY THEM!
# Send separate patches upstream if you find a problem...
########################################################
- patches.kernel.org/patch-4.1.1
- patches.kernel.org/patch-4.1.1-2
- patches.kernel.org/patch-4.1.2-3
- patches.kernel.org/patch-4.1.3-4
- patches.kernel.org/patch-4.1.4-5
- patches.kernel.org/patch-4.1.5-6
+ patches.kernel.org/patch-4.2.1
########################################################
# Build fixes that apply to the vanilla kernel too.
@@ -72,6 +67,7 @@
########################################################
# Simple export additions/removals
########################################################
+ patches.fixes/workqueue-Make-flush_workqueue-available-again-to-no.patch
########################################################
# Bug workarounds for binutils
@@ -168,16 +164,15 @@
patches.arch/arm64-0010-KVM-ARM-Hack-to-enable-VGIC-mapping-on-64k-PAGE_SIZE.patch
# Generic PCIe host bridge, necessary for QEMU and Seattle, upstreaming wip
- patches.arch/arm64-gpex-0001-device-core-Introduce-per-device-MSI-domain-pointer.patch
- patches.arch/arm64-gpex-0002-PCI-MSI-add-hooks-to-populate-the-msi_domain-field.patch
- patches.arch/arm64-gpex-0003-PCI-MSI-of-add-support-for-OF-provided-msi_domain.patch
- patches.arch/arm64-gpex-0004-PCI-MSI-Let-pci_msi_get_domain-use-struct-device-s-m.patch
- patches.arch/arm64-gpex-0005-irqchip-GICv2m-Get-rid-of-struct-msi_controller.patch
- patches.arch/arm64-gpex-0006-irqchip-gicv3-its-Get-rid-of-struct-msi_controller.patch
- patches.arch/arm64-gpex-0007-PCI-MSI-Drop-domain-field-from-msi_controller.patch
- patches.arch/arm64-gpex-0008-PCI-MSI-of-Allow-msi_domain-lookup-using-the-PHB-nod.patch
- patches.arch/arm64-gpex-0009-pci-Enable-pci-host-generic-support-for-ARM64.patch
-
++mbrugger patches.arch/arm64-gpex-0001-device-core-Introduce-per-device-MSI-domain-pointer.patch
++mbrugger patches.arch/arm64-gpex-0002-PCI-MSI-add-hooks-to-populate-the-msi_domain-field.patch
++mbrugger patches.arch/arm64-gpex-0003-PCI-MSI-of-add-support-for-OF-provided-msi_domain.patch
++mbrugger patches.arch/arm64-gpex-0004-PCI-MSI-Let-pci_msi_get_domain-use-struct-device-s-m.patch
++mbrugger patches.arch/arm64-gpex-0005-irqchip-GICv2m-Get-rid-of-struct-msi_controller.patch
++mbrugger patches.arch/arm64-gpex-0006-irqchip-gicv3-its-Get-rid-of-struct-msi_controller.patch
++mbrugger patches.arch/arm64-gpex-0007-PCI-MSI-Drop-domain-field-from-msi_controller.patch
++mbrugger patches.arch/arm64-gpex-0008-PCI-MSI-of-Allow-msi_domain-lookup-using-the-PHB-nod.patch
+ patches.arch/arm64-gpex-0009-pci-Enable-pci-host-generic-support-for-ARM64.patch
########################################################
# S/390
@@ -231,6 +226,7 @@
# Suse specific stuff
########################################################
patches.suse/suse-hv-guest-os-id.patch
+ patches.suse/suse-hv-storvsc-sg_tablesize.patch
########################################################
# Networking, IPv6
@@ -240,8 +236,7 @@
########################################################
# NFS
########################################################
-
- patches.fixes/0001-NFSv4-When-returning-a-delegation-don-t-reclaim-an-i.patch
+ patches.fixes/0001-NFSv4-do-not-accept-an-incompatible-delegation.patch
########################################################
# lockd + statd
@@ -264,7 +259,6 @@
# btrfs
########################################################
patches.suse/btrfs-use-correct-device-for-maps.patch
- patches.suse/btrfs-fix-hang-during-inode-eviction-due-to-concurre.patch
patches.fixes/btrfs-fix-stale-directory-entries-after-fsync-log-replay
patches.fixes/btrfs-fix-stale-dir-entries-after-unlink-inode-eviction-and-fsync
@@ -347,12 +341,14 @@
patches.drivers/0004-bcache-unregister-reboot-notifier-when-bcache-fails-.patch
patches.drivers/0005-fix-a-leak-in-bch_cached_dev_run.patch
+ patches.drivers/bcache-fix-writeback-thread-incomplete-stripes-starvation.patch
+
########################################################
# DRM/Video
########################################################
+jeffm patches.fixes/nouveau-fix-race-with-fence-signaling
- patches.fixes/drm-i915-Ensure-cache-flushes-prior-to-doing-CS-flip.patch
- patches.fixes/drm-i915-Ensure-cache-flushes-prior-to-doing-CS-flip-take-two.patch
+ patches.drivers/0001-vmwgfx-Rework-device-initialization.patch
+ patches.drivers/0002-drm-vmwgfx-Allow-dropped-masters-render-node-like-ac.patch
########################################################
# video4linux
@@ -389,6 +385,8 @@
# USB
########################################################
+ patches.drivers/0001-qmi_wwan-Add-support-for-Dell-Wireless-5809e-4G-Mode.patch
+
########################################################
# I2C
########################################################
@@ -402,6 +400,7 @@
##########################################################
# Sound
##########################################################
+ patches.drivers/ALSA-hda-Disable-power_save_node-for-Thinkpads
########################################################
# Char / serial
@@ -414,6 +413,7 @@
# Needs updating WRT d27769ec (block: add GENHD_FL_NO_PART_SCAN)
+hare patches.suse/no-partition-scan
patches.fixes/mmc-sdhci-fix-dma-memory-leak-in-sdhci_pre_req.patch
+ patches.fixes/leds-lp55xx-Correct-Kconfig-dependency-for-f-w-user-
########################################################
# Other drivers we have added to the tree
@@ -471,7 +471,7 @@
patches.suse/crasher-26.diff
patches.suse/revert-x86-remove-warning-and-warning_symbol-from-struct-stacktrace_ops
patches.suse/stack-unwind
- patches.arch/x86_64-unwind-annotations
++needs_updating patches.arch/x86_64-unwind-annotations
########################################################
# Kdump
@@ -596,6 +596,7 @@
patches.xen/xen3-patch-3.19
patches.xen/xen3-patch-4.0
patches.xen/xen3-patch-4.1
+ patches.xen/xen3-patch-4.2
# ports of other patches
patches.xen/xen3-stack-unwind
++++++ source-timestamp ++++++
--- /var/tmp/diff_new_pack.pwNTkG/_old 2015-10-01 09:28:48.000000000 +0200
+++ /var/tmp/diff_new_pack.pwNTkG/_new 2015-10-01 09:28:48.000000000 +0200
@@ -1,3 +1,3 @@
-2015-08-28 12:59:34 +0200
-GIT Revision: d867e863d55239553067c5f9ac7ecdd96076bd9f
+2015-09-25 10:21:54 +0200
+GIT Revision: 6996a42b7e04d743c62cbcd0a390cf8f357908f0
GIT Branch: stable
1
0