openSUSE Commits
Threads by month
- ----- 2024 -----
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
September 2019
- 1 participants
- 2151 discussions
Hello community,
here is the log from the commit of package python-requests-unixsocket for openSUSE:Factory checked in at 2019-09-02 13:20:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-requests-unixsocket (Old)
and /work/SRC/openSUSE:Factory/.python-requests-unixsocket.new.7948 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-requests-unixsocket"
Mon Sep 2 13:20:17 2019 rev:3 rq:726706 version:0.2.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-requests-unixsocket/python-requests-unixsocket.changes 2019-03-29 20:36:18.302565723 +0100
+++ /work/SRC/openSUSE:Factory/.python-requests-unixsocket.new.7948/python-requests-unixsocket.changes 2019-09-02 13:20:19.869366431 +0200
@@ -1,0 +2,11 @@
+Wed Aug 28 08:48:45 UTC 2019 - Marketa Calabkova <mcalabkova(a)suse.com>
+
+- update to version 0.2.0
+ * Remove support for Python 2.6
+ * Add support for Python 3.6
+ * Add Python 3.7
+ * Close socket on deletion
+ * Allow UnixAdapter to accept max_retries parameter
+ * Many other changes
+
+-------------------------------------------------------------------
Old:
----
requests-unixsocket-0.1.5.tar.gz
New:
----
requests-unixsocket-0.2.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-requests-unixsocket.spec ++++++
--- /var/tmp/diff_new_pack.gLvjN1/_old 2019-09-02 13:20:21.065366247 +0200
+++ /var/tmp/diff_new_pack.gLvjN1/_new 2019-09-02 13:20:21.069366246 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-requests-unixsocket
-Version: 0.1.5
+Version: 0.2.0
Release: 0
Summary: UNIX domain socket backend for python-requests
License: Apache-2.0
@@ -57,7 +57,7 @@
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
-%python_expand PYTHONPATH=%{buildroot}%{$python_sitelib} py.test-%{$python_bin_suffix} -v requests_unixsocket/tests
+%pytest requests_unixsocket/tests
%files %{python_files}
%doc AUTHORS ChangeLog README.rst
++++++ requests-unixsocket-0.1.5.tar.gz -> requests-unixsocket-0.2.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-unixsocket-0.1.5/.travis.yml new/requests-unixsocket-0.2.0/.travis.yml
--- old/requests-unixsocket-0.1.5/.travis.yml 2016-01-20 15:55:38.000000000 +0100
+++ new/requests-unixsocket-0.2.0/.travis.yml 2019-08-16 00:13:11.000000000 +0200
@@ -1,14 +1,22 @@
language: python
-
-env:
- - TOXENV=py26
- - TOXENV=py27
- - TOXENV=py33
- - TOXENV=py34
- - TOXENV=py35
- - TOXENV=pypy
- - TOXENV=flake8
- - TOXENV=coverage
+matrix:
+ include:
+ - python: 2.7
+ sudo: true
+ env: TOXENV=py27
+ - python: 3.4
+ sudo: true
+ env: TOXENV=py34
+ - python: 3.5
+ sudo: true
+ env: TOXENV=py35
+ - python: 3.6
+ sudo: true
+ env: TOXENV=py36
+ - python: 3.7
+ dist: xenial
+ sudo: true
+ env: TOXENV=py37
install:
- travis_retry pip install tox
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-unixsocket-0.1.5/AUTHORS new/requests-unixsocket-0.2.0/AUTHORS
--- old/requests-unixsocket-0.1.5/AUTHORS 2016-01-20 16:09:49.000000000 +0100
+++ new/requests-unixsocket-0.2.0/AUTHORS 2019-08-16 00:52:02.000000000 +0200
@@ -1,6 +1,11 @@
+Aaron Gallagher <_(a)habnab.it>
Ben Jackson <puremourning(a)gmail.com>
+David Preece <davep(a)zedkep.com>
Esben Haabendal <esben(a)haabendal.dk>
+Marc Abramowitz <abramowi(a)adobe.com>
Marc Abramowitz <marc(a)marc-abramowitz.com>
+Marc Abramowitz <msabramo(a)gmail.com>
+Ondřej Kobližel <koblizeko(a)gmail.com>
Tomaz Solc <tomaz.solc(a)tablix.org>
Will Rouesnel <w.rouesnel(a)gmail.com>
William Rouesnel <William.Rouesnel(a)netregistry.com.au>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-unixsocket-0.1.5/ChangeLog new/requests-unixsocket-0.2.0/ChangeLog
--- old/requests-unixsocket-0.1.5/ChangeLog 2016-01-20 16:09:49.000000000 +0100
+++ new/requests-unixsocket-0.2.0/ChangeLog 2019-08-16 00:52:02.000000000 +0200
@@ -1,6 +1,44 @@
CHANGES
=======
+0.2.0
+-----
+
+* .travis.yml: Switch to only matrix.include
+* .travis.yml: Add Python 3.7
+* tox.ini: Test py37
+* examples/docker-info.py: Make executable (#33)
+* Add examples/simple-http.py (#32)
+* Add Makefile (#31)
+* Move examples to separate directory
+* README.rst: Give up on linking to file
+* README.rst: Fix links
+* Example for abstract namespace sockets
+* Vagrantfile: Add socat
+* Vagrantfile: xenial64 and install all Pythons
+* .gitignore: Add .vagrant
+* Vagrantfile: Remove unnecessary comments
+* README.rst: Fix HTTPie link
+* README.rst: See also: httpie-unixsocket
+* README.rst: Make examples use docker.sock
+* Add Vagrantfile
+* Add sample.py
+* test-requirements.txt: Get rid of pytest warnings
+* tox.ini: Add py26 back
+* test-requirements.txt: Remove redundancy
+* .travis.yml: Remove py36
+* Revert ".travis.yml: Try another way"
+* .travis.yml: Try another way
+* Pin test-requirements
+* .travis.yml: Add sudo: false
+* Add support for Python 3.6
+* Remove support for Python 2.6
+* Close socket on deletion
+* Non case sensitive url comparison in tests
+* Pull in more recent code from docker-py
+* Fix PyPI badge
+* Override HTTPAdapter.request_url
+
0.1.5
-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-unixsocket-0.1.5/Makefile new/requests-unixsocket-0.2.0/Makefile
--- old/requests-unixsocket-0.1.5/Makefile 1970-01-01 01:00:00.000000000 +0100
+++ new/requests-unixsocket-0.2.0/Makefile 2019-08-13 22:53:24.000000000 +0200
@@ -0,0 +1,12 @@
+
+clean:
+ find . -name '*.pyc' -exec rm -f {} +
+ find . -name '*.pyo' -exec rm -f {} +
+ find . -name '*~' -exec rm -f {} +
+ find . -name '__pycache__' -exec rm -rf {} +
+
+test:
+ tox -e py27
+
+test-tox:
+ tox
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-unixsocket-0.1.5/PKG-INFO new/requests-unixsocket-0.2.0/PKG-INFO
--- old/requests-unixsocket-0.1.5/PKG-INFO 2016-01-20 16:09:50.000000000 +0100
+++ new/requests-unixsocket-0.2.0/PKG-INFO 2019-08-16 00:52:04.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: requests-unixsocket
-Version: 0.1.5
+Version: 0.2.0
Summary: Use requests to talk HTTP via a UNIX domain socket
Home-page: https://github.com/msabramo/requests-unixsocket
Author: Marc Abramowitz
@@ -9,10 +9,10 @@
Description: requests-unixsocket
===================
- .. image:: https://pypip.in/version/requests-unixsocket/badge.svg?style=flat
- :target: https://pypi.python.org/pypi/requests-unixsocket/
- :alt: Latest Version
-
+ .. image:: https://badge.fury.io/py/requests-unixsocket.svg
+ :target: https://badge.fury.io/py/requests-unixsocket
+ :alt: Latest Version on PyPI
+
.. image:: https://travis-ci.org/msabramo/requests-unixsocket.svg?branch=master
:target: https://travis-ci.org/msabramo/requests-unixsocket
@@ -28,13 +28,16 @@
.. code-block:: python
+ import json
+
import requests_unixsocket
session = requests_unixsocket.Session()
- # Access /path/to/page from /tmp/profilesvc.sock
- r = session.get('http+unix://%2Ftmp%2Fprofilesvc.sock/path/to/page')
- assert r.status_code == 200
+ r = session.get('http+unix://%2Fvar%2Frun%2Fdocker.sock/info')
+ registry_config = r.json()['RegistryConfig']
+ print(json.dumps(registry_config, indent=4))
+
Implicit (monkeypatching)
+++++++++++++++++++++++++
@@ -54,8 +57,7 @@
requests_unixsocket.monkeypatch()
- # Access /path/to/page from /tmp/profilesvc.sock
- r = requests.get('http+unix://%2Ftmp%2Fprofilesvc.sock/path/to/page')
+ r = requests.get('http+unix://%2Fvar%2Frun%2Fdocker.sock/info')
assert r.status_code == 200
or you can do it temporarily using a context manager:
@@ -65,11 +67,36 @@
import requests_unixsocket
with requests_unixsocket.monkeypatch():
- # Access /path/to/page from /tmp/profilesvc.sock
- r = requests.get('http+unix://%2Ftmp%2Fprofilesvc.sock/path/to/page')
+ r = requests.get('http+unix://%2Fvar%2Frun%2Fdocker.sock/info')
assert r.status_code == 200
+ Abstract namespace sockets
+ ++++++++++++++++++++++++++
+
+ To connect to an `abstract namespace
+ socket <https://utcc.utoronto.ca/~cks/space/blog/python/AbstractUnixSocketsAndPeerc…>`_
+ (Linux only), prefix the name with a NULL byte (i.e.: `\0`) - e.g.:
+
+ .. code-block:: python
+
+ import requests_unixsocket
+
+ session = requests_unixsocket.Session()
+ res = session.get('http+unix://\0test_socket/get')
+ print(res.text)
+
+ For an example program that illustrates this, see
+ ``examples/abstract_namespace.py`` in the git repo. Since abstract namespace
+ sockets are specific to Linux, the program will only work on Linux.
+
+
+ See also
+ --------
+
+ - https://github.com/httpie/httpie-unixsocket - a plugin for `HTTPie <https://httpie.org/>`_ that allows you to interact with UNIX domain sockets
+
+
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
@@ -79,6 +106,8 @@
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
+Classifier: Programming Language :: Python :: 3.4
+Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-unixsocket-0.1.5/README.rst new/requests-unixsocket-0.2.0/README.rst
--- old/requests-unixsocket-0.1.5/README.rst 2015-02-04 18:46:39.000000000 +0100
+++ new/requests-unixsocket-0.2.0/README.rst 2019-08-13 22:53:24.000000000 +0200
@@ -1,10 +1,10 @@
requests-unixsocket
===================
-.. image:: https://pypip.in/version/requests-unixsocket/badge.svg?style=flat
- :target: https://pypi.python.org/pypi/requests-unixsocket/
- :alt: Latest Version
-
+.. image:: https://badge.fury.io/py/requests-unixsocket.svg
+ :target: https://badge.fury.io/py/requests-unixsocket
+ :alt: Latest Version on PyPI
+
.. image:: https://travis-ci.org/msabramo/requests-unixsocket.svg?branch=master
:target: https://travis-ci.org/msabramo/requests-unixsocket
@@ -20,13 +20,16 @@
.. code-block:: python
+ import json
+
import requests_unixsocket
session = requests_unixsocket.Session()
- # Access /path/to/page from /tmp/profilesvc.sock
- r = session.get('http+unix://%2Ftmp%2Fprofilesvc.sock/path/to/page')
- assert r.status_code == 200
+ r = session.get('http+unix://%2Fvar%2Frun%2Fdocker.sock/info')
+ registry_config = r.json()['RegistryConfig']
+ print(json.dumps(registry_config, indent=4))
+
Implicit (monkeypatching)
+++++++++++++++++++++++++
@@ -46,8 +49,7 @@
requests_unixsocket.monkeypatch()
- # Access /path/to/page from /tmp/profilesvc.sock
- r = requests.get('http+unix://%2Ftmp%2Fprofilesvc.sock/path/to/page')
+ r = requests.get('http+unix://%2Fvar%2Frun%2Fdocker.sock/info')
assert r.status_code == 200
or you can do it temporarily using a context manager:
@@ -57,6 +59,31 @@
import requests_unixsocket
with requests_unixsocket.monkeypatch():
- # Access /path/to/page from /tmp/profilesvc.sock
- r = requests.get('http+unix://%2Ftmp%2Fprofilesvc.sock/path/to/page')
+ r = requests.get('http+unix://%2Fvar%2Frun%2Fdocker.sock/info')
assert r.status_code == 200
+
+
+Abstract namespace sockets
+++++++++++++++++++++++++++
+
+To connect to an `abstract namespace
+socket <https://utcc.utoronto.ca/~cks/space/blog/python/AbstractUnixSocketsAndPeerc…>`_
+(Linux only), prefix the name with a NULL byte (i.e.: `\0`) - e.g.:
+
+.. code-block:: python
+
+ import requests_unixsocket
+
+ session = requests_unixsocket.Session()
+ res = session.get('http+unix://\0test_socket/get')
+ print(res.text)
+
+For an example program that illustrates this, see
+``examples/abstract_namespace.py`` in the git repo. Since abstract namespace
+sockets are specific to Linux, the program will only work on Linux.
+
+
+See also
+--------
+
+- https://github.com/httpie/httpie-unixsocket - a plugin for `HTTPie <https://httpie.org/>`_ that allows you to interact with UNIX domain sockets
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-unixsocket-0.1.5/Vagrantfile new/requests-unixsocket-0.2.0/Vagrantfile
--- old/requests-unixsocket-0.1.5/Vagrantfile 1970-01-01 01:00:00.000000000 +0100
+++ new/requests-unixsocket-0.2.0/Vagrantfile 2019-08-13 22:53:24.000000000 +0200
@@ -0,0 +1,25 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+Vagrant.configure("2") do |config|
+ config.vm.box = "ubuntu/xenial64"
+ config.ssh.shell = "bash -c 'BASH_ENV=/etc/profile exec bash'"
+ config.vm.provision "shell", inline: <<-SHELL
+ export DEBIAN_FRONTEND=noninteractive
+ sudo add-apt-repository -y ppa:fkrull/deadsnakes
+ sudo add-apt-repository ppa:pypy/ppa
+ apt-get update
+ apt-get install -y docker.io jq python2.6-dev python2.7-dev python3.3-dev python3.4-dev python3.5-dev python3.6-dev pypy-dev socat virtualenv
+ usermod --append --groups docker ubuntu
+ mkdir -p /home/ubuntu/.virtualenvs
+ if [ ! -d /home/ubuntu/.virtualenvs/requests-unixsocket ]; then
+ virtualenv --python=python3.6 /home/ubuntu/.virtualenvs/requests-unixsocket
+ /home/ubuntu/.virtualenvs/requests-unixsocket/bin/pip install -e /vagrant ipython tox
+ fi
+ chown -R ubuntu:ubuntu /home/ubuntu/.virtualenvs
+ grep -q 'source /home/ubuntu/.virtualenvs/requests-unixsocket/bin/activate' /home/ubuntu/.profile \
+ || echo -e '\nsource /home/ubuntu/.virtualenvs/requests-unixsocket/bin/activate' >> /home/ubuntu/.profile
+ grep -q 'cd /vagrant' /home/ubuntu/.profile \
+ || echo -e '\ncd /vagrant' >> /home/ubuntu/.profile
+ SHELL
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-unixsocket-0.1.5/examples/abstract_namespace.py new/requests-unixsocket-0.2.0/examples/abstract_namespace.py
--- old/requests-unixsocket-0.1.5/examples/abstract_namespace.py 1970-01-01 01:00:00.000000000 +0100
+++ new/requests-unixsocket-0.2.0/examples/abstract_namespace.py 2019-08-13 22:53:24.000000000 +0200
@@ -0,0 +1,35 @@
+#!/usr/bin/env python
+
+# Example of interacting with a [abstract namespace
+# socket](https://utcc.utoronto.ca/~cks/space/blog/python/AbstractUnixSocketsAndPeercred)
+#
+# Since abstract namespace sockets are specific to Linux, this program will
+# only work on Linux.
+
+import os
+import socket
+
+import requests_unixsocket
+
+
+def handle_response():
+ # Listens on an abstract namespace socket and sends one HTTP response
+ sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+ sock.bind('\0test_socket')
+ sock.listen(1)
+ client_sock, addr = sock.accept()
+ client_sock.recv(1024)
+ client_sock.sendall(b'HTTP/1.0 200 OK\r\n')
+ client_sock.sendall(b'Content-Type: text/plain\r\n\r\n')
+ client_sock.sendall(b'Hello world!')
+
+
+if os.fork() == 0: # child
+ handle_response()
+else: # parent
+ try:
+ session = requests_unixsocket.Session()
+ res = session.get('http+unix://\0test_socket/get')
+ print(res.text)
+ finally:
+ os.wait()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-unixsocket-0.1.5/examples/docker-info.py new/requests-unixsocket-0.2.0/examples/docker-info.py
--- old/requests-unixsocket-0.1.5/examples/docker-info.py 1970-01-01 01:00:00.000000000 +0100
+++ new/requests-unixsocket-0.2.0/examples/docker-info.py 2019-08-13 22:53:24.000000000 +0200
@@ -0,0 +1,11 @@
+#!/usr/bin/env python
+
+import json
+
+import requests_unixsocket
+
+session = requests_unixsocket.Session()
+
+r = session.get('http+unix://%2Fvar%2Frun%2Fdocker.sock/info')
+registry_config = r.json()['RegistryConfig']
+print(json.dumps(registry_config, indent=4))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-unixsocket-0.1.5/examples/simple-http.py new/requests-unixsocket-0.2.0/examples/simple-http.py
--- old/requests-unixsocket-0.1.5/examples/simple-http.py 1970-01-01 01:00:00.000000000 +0100
+++ new/requests-unixsocket-0.2.0/examples/simple-http.py 2019-08-13 22:53:24.000000000 +0200
@@ -0,0 +1,11 @@
+#!/usr/bin/env python
+
+import sys
+
+import requests_unixsocket
+
+session = requests_unixsocket.Session()
+
+url = sys.argv[1]
+res = session.get(url)
+print(res.text)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-unixsocket-0.1.5/requests_unixsocket/adapters.py new/requests-unixsocket-0.2.0/requests_unixsocket/adapters.py
--- old/requests-unixsocket-0.1.5/requests_unixsocket/adapters.py 2016-01-20 15:55:40.000000000 +0100
+++ new/requests-unixsocket-0.2.0/requests_unixsocket/adapters.py 2019-08-16 00:50:29.000000000 +0200
@@ -2,17 +2,21 @@
from requests.adapters import HTTPAdapter
from requests.compat import urlparse, unquote
+
+try:
+ import http.client as httplib
+except ImportError:
+ import httplib
+
try:
- from requests.packages.urllib3.connection import HTTPConnection
- from requests.packages.urllib3.connectionpool import HTTPConnectionPool
+ from requests.packages import urllib3
except ImportError:
- from urllib3.connection import HTTPConnection
- from urllib3.connectionpool import HTTPConnectionPool
+ import urllib3
# The following was adapted from some code from docker-py
-# https://github.com/docker/docker-py/blob/master/docker/unixconn/unixconn.py
-class UnixHTTPConnection(HTTPConnection):
+# https://github.com/docker/docker-py/blob/master/docker/transport/unixconn.py
+class UnixHTTPConnection(httplib.HTTPConnection, object):
def __init__(self, unix_socket_url, timeout=60):
"""Create an HTTP connection to a unix domain socket
@@ -21,9 +25,14 @@
netloc is a percent-encoded path to a unix domain socket. E.g.:
'http+unix://%2Ftmp%2Fprofilesvc.sock/status/pid'
"""
- HTTPConnection.__init__(self, 'localhost', timeout=timeout)
+ super(UnixHTTPConnection, self).__init__('localhost', timeout=timeout)
self.unix_socket_url = unix_socket_url
self.timeout = timeout
+ self.sock = None
+
+ def __del__(self): # base class does not have d'tor
+ if self.sock:
+ self.sock.close()
def connect(self):
sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
@@ -33,10 +42,11 @@
self.sock = sock
-class UnixHTTPConnectionPool(HTTPConnectionPool):
+class UnixHTTPConnectionPool(urllib3.connectionpool.HTTPConnectionPool):
def __init__(self, socket_path, timeout=60):
- HTTPConnectionPool.__init__(self, 'localhost', timeout=timeout)
+ super(UnixHTTPConnectionPool, self).__init__(
+ 'localhost', timeout=timeout)
self.socket_path = socket_path
self.timeout = timeout
@@ -46,15 +56,34 @@
class UnixAdapter(HTTPAdapter):
- def __init__(self, timeout=60):
+ def __init__(self, timeout=60, pool_connections=25):
super(UnixAdapter, self).__init__()
self.timeout = timeout
+ self.pools = urllib3._collections.RecentlyUsedContainer(
+ pool_connections, dispose_func=lambda p: p.close()
+ )
+ super(UnixAdapter, self).__init__()
- def get_connection(self, socket_path, proxies=None):
+ def get_connection(self, url, proxies=None):
proxies = proxies or {}
- proxy = proxies.get(urlparse(socket_path.lower()).scheme)
+ proxy = proxies.get(urlparse(url.lower()).scheme)
if proxy:
raise ValueError('%s does not support specifying proxies'
% self.__class__.__name__)
- return UnixHTTPConnectionPool(socket_path, self.timeout)
+
+ with self.pools.lock:
+ pool = self.pools.get(url)
+ if pool:
+ return pool
+
+ pool = UnixHTTPConnectionPool(url, self.timeout)
+ self.pools[url] = pool
+
+ return pool
+
+ def request_url(self, request, proxies):
+ return request.path_url
+
+ def close(self):
+ self.pools.clear()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-unixsocket-0.1.5/requests_unixsocket/tests/test_requests_unixsocket.py new/requests-unixsocket-0.2.0/requests_unixsocket/tests/test_requests_unixsocket.py
--- old/requests-unixsocket-0.1.5/requests_unixsocket/tests/test_requests_unixsocket.py 2016-01-20 15:55:40.000000000 +0100
+++ new/requests-unixsocket-0.2.0/requests_unixsocket/tests/test_requests_unixsocket.py 2019-08-16 00:50:29.000000000 +0200
@@ -34,7 +34,7 @@
assert r.headers['X-Requested-Path'] == '/path/to/page'
assert r.headers['X-Socket-Path'] == usock_thread.usock
assert isinstance(r.connection, requests_unixsocket.UnixAdapter)
- assert r.url == url
+ assert r.url.lower() == url.lower()
if method == 'head':
assert r.text == ''
else:
@@ -62,7 +62,7 @@
assert r.headers['X-Requested-Query-String'] == 'timestamp=true'
assert r.headers['X-Socket-Path'] == usock_thread.usock
assert isinstance(r.connection, requests_unixsocket.UnixAdapter)
- assert r.url == url
+ assert r.url.lower() == url.lower()
if method == 'head':
assert r.text == ''
else:
@@ -110,7 +110,7 @@
assert r.headers['X-Socket-Path'] == usock_thread.usock
assert isinstance(r.connection,
requests_unixsocket.UnixAdapter)
- assert r.url == url
+ assert r.url.lower() == url.lower()
if method == 'head':
assert r.text == ''
else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-unixsocket-0.1.5/requests_unixsocket.egg-info/PKG-INFO new/requests-unixsocket-0.2.0/requests_unixsocket.egg-info/PKG-INFO
--- old/requests-unixsocket-0.1.5/requests_unixsocket.egg-info/PKG-INFO 2016-01-20 16:09:49.000000000 +0100
+++ new/requests-unixsocket-0.2.0/requests_unixsocket.egg-info/PKG-INFO 2019-08-16 00:52:02.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: requests-unixsocket
-Version: 0.1.5
+Version: 0.2.0
Summary: Use requests to talk HTTP via a UNIX domain socket
Home-page: https://github.com/msabramo/requests-unixsocket
Author: Marc Abramowitz
@@ -9,10 +9,10 @@
Description: requests-unixsocket
===================
- .. image:: https://pypip.in/version/requests-unixsocket/badge.svg?style=flat
- :target: https://pypi.python.org/pypi/requests-unixsocket/
- :alt: Latest Version
-
+ .. image:: https://badge.fury.io/py/requests-unixsocket.svg
+ :target: https://badge.fury.io/py/requests-unixsocket
+ :alt: Latest Version on PyPI
+
.. image:: https://travis-ci.org/msabramo/requests-unixsocket.svg?branch=master
:target: https://travis-ci.org/msabramo/requests-unixsocket
@@ -28,13 +28,16 @@
.. code-block:: python
+ import json
+
import requests_unixsocket
session = requests_unixsocket.Session()
- # Access /path/to/page from /tmp/profilesvc.sock
- r = session.get('http+unix://%2Ftmp%2Fprofilesvc.sock/path/to/page')
- assert r.status_code == 200
+ r = session.get('http+unix://%2Fvar%2Frun%2Fdocker.sock/info')
+ registry_config = r.json()['RegistryConfig']
+ print(json.dumps(registry_config, indent=4))
+
Implicit (monkeypatching)
+++++++++++++++++++++++++
@@ -54,8 +57,7 @@
requests_unixsocket.monkeypatch()
- # Access /path/to/page from /tmp/profilesvc.sock
- r = requests.get('http+unix://%2Ftmp%2Fprofilesvc.sock/path/to/page')
+ r = requests.get('http+unix://%2Fvar%2Frun%2Fdocker.sock/info')
assert r.status_code == 200
or you can do it temporarily using a context manager:
@@ -65,11 +67,36 @@
import requests_unixsocket
with requests_unixsocket.monkeypatch():
- # Access /path/to/page from /tmp/profilesvc.sock
- r = requests.get('http+unix://%2Ftmp%2Fprofilesvc.sock/path/to/page')
+ r = requests.get('http+unix://%2Fvar%2Frun%2Fdocker.sock/info')
assert r.status_code == 200
+ Abstract namespace sockets
+ ++++++++++++++++++++++++++
+
+ To connect to an `abstract namespace
+ socket <https://utcc.utoronto.ca/~cks/space/blog/python/AbstractUnixSocketsAndPeerc…>`_
+ (Linux only), prefix the name with a NULL byte (i.e.: `\0`) - e.g.:
+
+ .. code-block:: python
+
+ import requests_unixsocket
+
+ session = requests_unixsocket.Session()
+ res = session.get('http+unix://\0test_socket/get')
+ print(res.text)
+
+ For an example program that illustrates this, see
+ ``examples/abstract_namespace.py`` in the git repo. Since abstract namespace
+ sockets are specific to Linux, the program will only work on Linux.
+
+
+ See also
+ --------
+
+ - https://github.com/httpie/httpie-unixsocket - a plugin for `HTTPie <https://httpie.org/>`_ that allows you to interact with UNIX domain sockets
+
+
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
@@ -79,6 +106,8 @@
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
+Classifier: Programming Language :: Python :: 3.4
+Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-unixsocket-0.1.5/requests_unixsocket.egg-info/SOURCES.txt new/requests-unixsocket-0.2.0/requests_unixsocket.egg-info/SOURCES.txt
--- old/requests-unixsocket-0.1.5/requests_unixsocket.egg-info/SOURCES.txt 2016-01-20 16:09:50.000000000 +0100
+++ new/requests-unixsocket-0.2.0/requests_unixsocket.egg-info/SOURCES.txt 2019-08-16 00:52:04.000000000 +0200
@@ -2,13 +2,18 @@
AUTHORS
ChangeLog
LICENSE
+Makefile
README.rst
+Vagrantfile
pytest.ini
requirements.txt
setup.cfg
setup.py
test-requirements.txt
tox.ini
+examples/abstract_namespace.py
+examples/docker-info.py
+examples/simple-http.py
requests_unixsocket/__init__.py
requests_unixsocket/adapters.py
requests_unixsocket/testutils.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-unixsocket-0.1.5/requests_unixsocket.egg-info/pbr.json new/requests-unixsocket-0.2.0/requests_unixsocket.egg-info/pbr.json
--- old/requests-unixsocket-0.1.5/requests_unixsocket.egg-info/pbr.json 2016-01-20 16:09:49.000000000 +0100
+++ new/requests-unixsocket-0.2.0/requests_unixsocket.egg-info/pbr.json 2019-08-16 00:52:02.000000000 +0200
@@ -1 +1 @@
-{"is_release": false, "git_version": "0c1c7e0"}
\ No newline at end of file
+{"is_release": false, "git_version": "f4703e0"}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-unixsocket-0.1.5/setup.cfg new/requests-unixsocket-0.2.0/setup.cfg
--- old/requests-unixsocket-0.1.5/setup.cfg 2016-01-20 16:09:50.000000000 +0100
+++ new/requests-unixsocket-0.2.0/setup.cfg 2019-08-16 00:52:04.000000000 +0200
@@ -15,9 +15,11 @@
Programming Language :: Python
Programming Language :: Python :: 2
Programming Language :: Python :: 2.7
- Programming Language :: Python :: 2.6
Programming Language :: Python :: 3
Programming Language :: Python :: 3.3
+ Programming Language :: Python :: 3.4
+ Programming Language :: Python :: 3.5
+ Programming Language :: Python :: 3.6
test_suite = requests_unixsocket.tests
[files]
@@ -29,5 +31,4 @@
[egg_info]
tag_build =
tag_date = 0
-tag_svn_revision = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-unixsocket-0.1.5/test-requirements.txt new/requests-unixsocket-0.2.0/test-requirements.txt
--- old/requests-unixsocket-0.1.5/test-requirements.txt 2014-11-25 18:31:50.000000000 +0100
+++ new/requests-unixsocket-0.2.0/test-requirements.txt 2019-08-13 22:53:24.000000000 +0200
@@ -1,4 +1,12 @@
-pytest
-pytest-capturelog
-pytest-pep8
-waitress
+apipkg==1.4
+appdirs==1.4.0
+execnet==1.4.1
+packaging==16.8
+pep8==1.7.0
+py==1.4.32
+pyparsing==2.1.10
+pytest==2.8.7
+pytest-cache==1.0
+pytest-pep8==1.0.2
+six==1.10.0
+waitress==0.9.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-unixsocket-0.1.5/tox.ini new/requests-unixsocket-0.2.0/tox.ini
--- old/requests-unixsocket-0.1.5/tox.ini 2016-01-20 15:55:38.000000000 +0100
+++ new/requests-unixsocket-0.2.0/tox.ini 2019-08-16 00:13:11.000000000 +0200
@@ -1,5 +1,5 @@
[tox]
-envlist = py26, py27, py33, py34, py35, pypy, flake8
+envlist = py26, py27, py33, py34, py35, py36, py37, pypy, flake8
[testenv]
commands = py.test {posargs:requests_unixsocket/tests}
1
0
Hello community,
here is the log from the commit of package rust for openSUSE:Factory checked in at 2019-09-02 13:19:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rust (Old)
and /work/SRC/openSUSE:Factory/.rust.new.7948 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rust"
Mon Sep 2 13:19:05 2019 rev:41 rq:726629 version:1.37.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/rust/rust.changes 2019-07-13 13:59:24.838916036 +0200
+++ /work/SRC/openSUSE:Factory/.rust.new.7948/rust.changes 2019-09-02 13:19:09.665377230 +0200
@@ -1,0 +2,68 @@
+Wed Aug 28 01:00:37 UTC 2019 - Luke Jones <luke(a)ljones.dev>
+
+- Update to version 1.37.0
+ + Language
+ - #[must_use] will now warn if the type is contained in a tuple,
+ Box, or an array and unused.
+ - You can now use the `cfg` and `cfg_attr` attributes on
+ generic parameters.
+ - You can now use enum variants through type alias. e.g. You can
+ write the following:
+ ```
+ type MyOption = Option<u8>;
+
+ fn increment_or_zero(x: MyOption) -> u8 {
+ match x {
+ MyOption::Some(y) => y + 1,
+ MyOption::None => 0,
+ }
+ }
+ ```
+ - You can now use `_` as an identifier for consts. e.g. You can write
+ `const _: u32 = 5;`.
+ - You can now use `#[repr(align(X)]` on enums.
+ - The `?` Kleene macro operator is now available in the
+ 2015 edition.
+ + Compiler
+ - You can now enable Profile-Guided Optimization with the `-C profile-generate`
+ and `-C profile-use` flags. For more information on how to use profile
+ guided optimization, please refer to the rustc book.
+ - The `rust-lldb` wrapper script should now work again.
+ + Libraries
+ - `mem::MaybeUninit<T>` is now ABI-compatible with `T`.
+ + Stabilized APIs
+ - BufReader::buffer
+ - BufWriter::buffer
+ - Cell::from_mut
+ - Cell<[T]>::as_slice_of_cells
+ - Cell<slice>::as_slice_of_cells
+ - DoubleEndedIterator::nth_back
+ - Option::xor
+ - Wrapping::reverse_bits
+ - i128::reverse_bits
+ - i16::reverse_bits
+ - i32::reverse_bits
+ - i64::reverse_bits
+ - i8::reverse_bits
+ - isize::reverse_bits
+ - slice::copy_within
+ - u128::reverse_bits
+ - u16::reverse_bits
+ - u32::reverse_bits
+ - u64::reverse_bits
+ - u8::reverse_bits
+ - usize::reverse_bits
+ + Cargo
+ - Cargo.lock files are now included by default when publishing executable crates
+ with executables.
+ - You can now specify `default-run="foo"` in `[package]` to specify the
+ default executable to use for `cargo run`.
+ - cargo-vendor is now provided as a sub-command of cargo
+ + Compatibility Notes
+ - Using `...` for inclusive range patterns will now warn by default.
+ Please transition your code to using the `..=` syntax for inclusive
+ ranges instead.
+ - Using a trait object without the `dyn` will now warn by default.
+ Please transition your code to use `dyn Trait` for trait objects instead.
+
+-------------------------------------------------------------------
Old:
----
rustc-1.36.0-src.tar.xz
New:
----
rustc-1.37.0-src.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rust.spec ++++++
--- /var/tmp/diff_new_pack.rkVjWf/_old 2019-09-02 13:19:28.513374331 +0200
+++ /var/tmp/diff_new_pack.rkVjWf/_new 2019-09-02 13:19:28.517374330 +0200
@@ -2,7 +2,7 @@
# spec file for package rust
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
-# Copyright (c) 2019 Luke Jones, jones_ld(a)protonmail.com
+# Copyright (c) 2019 Luke Jones, luke(a)ljones.dev
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,8 +17,8 @@
#
-%global version_current 1.36.0
-%global version_previous 1.35.0
+%global version_current 1.37.0
+%global version_previous 1.36.0
%global version_bootstrap 1.36.0
# some sub-packages are versioned independantly
%global rustfmt_version 1.0.3
@@ -293,6 +293,8 @@
Obsoletes: cargo < %{version}
Conflicts: cargo < %{version}
Provides: rustc:%{_bindir}/cargo = %{version}
+Obsoletes: cargo-vendor < %{version}
+Conflicts: cargo-vendor < %{version}
%description -n cargo
Cargo downloads dependencies of Rust projects and compiles it.
++++++ rustc-1.36.0-src.tar.xz -> rustc-1.37.0-src.tar.xz ++++++
/work/SRC/openSUSE:Factory/rust/rustc-1.36.0-src.tar.xz /work/SRC/openSUSE:Factory/.rust.new.7948/rustc-1.37.0-src.tar.xz differ: char 27, line 1
1
0
Hello community,
here is the log from the commit of package podman for openSUSE:Factory checked in at 2019-09-02 13:18:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/podman (Old)
and /work/SRC/openSUSE:Factory/.podman.new.7948 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "podman"
Mon Sep 2 13:18:57 2019 rev:47 rq:726622 version:1.5.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/podman/podman.changes 2019-08-24 18:41:29.465785704 +0200
+++ /work/SRC/openSUSE:Factory/.podman.new.7948/podman.changes 2019-09-02 13:18:59.641378772 +0200
@@ -1,0 +2,29 @@
+Tue Aug 27 08:04:20 UTC 2019 - Marco Vedovati <mvedovati(a)suse.com>
+
+- Update podman to v1.5.1
+ * Features
+ - The hostname of pods is now set to the pod's name
+ * Bugfixes
+ - Fixed a bug where podman run and podman create did not honor the --authfile
+ option (#3730)
+ - Fixed a bug where containers restored with podman container restore
+ --import would incorrectly duplicate the Conmon PID file of the original container
+ - Fixed a bug where podman build ignored the default OCI runtime configured
+ in libpod.conf
+ - Fixed a bug where podman run --rm (or force-removing any running container
+ with podman rm --force) were not retrieving the correct exit code (#3795)
+ - Fixed a bug where Podman would exit with an error if any configured hooks
+ directory was not present
+ - Fixed a bug where podman inspect and podman commit would not use the
+ correct CMD for containers run with podman play kube
+ - Fixed a bug created pods when using rootless Podman and CGroups V2 (#3801)
+ - Fixed a bug where the podman events command with the --since or --until
+ options could take a very long time to complete
+ * Misc
+ - Rootless Podman will now inherit OCI runtime configuration from the root
+ configuration (#3781)
+ - Podman now properly sets a user agent while contacting registries (#3788)
+
+- Add zsh completion for podman commands
+
+-------------------------------------------------------------------
Old:
----
podman-1.5.0.tar.xz
New:
----
podman-1.5.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ podman.spec ++++++
--- /var/tmp/diff_new_pack.Iaatlp/_old 2019-09-02 13:19:00.537378634 +0200
+++ /var/tmp/diff_new_pack.Iaatlp/_new 2019-09-02 13:19:00.537378634 +0200
@@ -22,7 +22,7 @@
%define with_libostree 1
%endif
Name: podman
-Version: 1.5.0
+Version: 1.5.1
Release: 0
Summary: Daemon-less container engine for managing containers, pods and images
License: Apache-2.0
@@ -146,6 +146,7 @@
install -D -m 0644 %{SOURCE2} %{buildroot}/%{_sysconfdir}/containers/libpod.conf
install -D -m 0644 %{SOURCE2} %{buildroot}/%{_datadir}/containers/libpod.conf
install -D -m 0644 completions/bash/podman %{buildroot}/%{_datadir}/bash-completion/completions/podman
+install -D -m 0644 completions/zsh/_podman %{buildroot}%{_sysconfdir}/zsh_completion.d/_podman
# podman varlink
install -D -m 0644 contrib/varlink/podman.conf %{buildroot}/%{_tmpfilesdir}/podman.conf
@@ -167,6 +168,7 @@
%{_datadir}/containers/libpod.conf
# Completion
%{_datadir}/bash-completion/completions/podman
+%{_sysconfdir}/zsh_completion.d/_podman
# Varlink
%{_tmpfilesdir}/podman.conf
%{_unitdir}/io.podman.service
++++++ _service ++++++
--- /var/tmp/diff_new_pack.Iaatlp/_old 2019-09-02 13:19:00.565378630 +0200
+++ /var/tmp/diff_new_pack.Iaatlp/_new 2019-09-02 13:19:00.569378629 +0200
@@ -4,8 +4,8 @@
<param name="url">https://github.com/containers/libpod.git</param>
<param name="scm">git</param>
<param name="filename">podman</param>
-<param name="versionformat">1.5.0</param>
-<param name="revision">v1.5.0</param>
+<param name="versionformat">1.5.1</param>
+<param name="revision">v1.5.1</param>
</service>
<service name="set_version" mode="disabled">
++++++ podman-1.5.0.tar.xz -> podman-1.5.1.tar.xz ++++++
++++ 2379 lines of diff (skipped)
++++++ podman-rpmlintrc ++++++
--- /var/tmp/diff_new_pack.Iaatlp/_old 2019-09-02 13:19:01.985378411 +0200
+++ /var/tmp/diff_new_pack.Iaatlp/_new 2019-09-02 13:19:01.989378411 +0200
@@ -2,3 +2,4 @@
addFilter (".* W: explicit-lib-dependency libcontainers-image")
addFilter (".* W: explicit-lib-dependency libcontainers-storage")
addFilter (".* W: missing-call-to-setgroups-before-setuid")
+addFilter (".* W: non-conffile-in-etc .*zsh_completion.d.*")
1
0
Hello community,
here is the log from the commit of package vim for openSUSE:Factory checked in at 2019-09-02 13:18:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vim (Old)
and /work/SRC/openSUSE:Factory/.vim.new.7948 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vim"
Mon Sep 2 13:18:46 2019 rev:241 rq:726617 version:8.1.1741
Changes:
--------
--- /work/SRC/openSUSE:Factory/vim/vim.changes 2019-07-28 10:21:41.340574203 +0200
+++ /work/SRC/openSUSE:Factory/.vim.new.7948/vim.changes 2019-09-02 13:18:49.193380379 +0200
@@ -1,0 +2,5 @@
+Wed Aug 28 01:19:56 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- By default do not put group in specfile as it is optional
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ spec.skeleton ++++++
--- /var/tmp/diff_new_pack.OuICuf/_old 2019-09-02 13:18:50.421380190 +0200
+++ /var/tmp/diff_new_pack.OuICuf/_new 2019-09-02 13:18:50.421380190 +0200
@@ -22,8 +22,6 @@
Summary:
# FIXME: Select a correct license from https://github.com/openSUSE/spec-cleaner#spdx-licenses
License:
-# FIXME: use correct group, see "https://en.opensuse.org/openSUSE:Package_group_guidelines"
-Group:
Url:
Source:
BuildRequires:
1
0
Hello community,
here is the log from the commit of package microos-tools for openSUSE:Factory checked in at 2019-09-02 13:18:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/microos-tools (Old)
and /work/SRC/openSUSE:Factory/.microos-tools.new.7948 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "microos-tools"
Mon Sep 2 13:18:38 2019 rev:4 rq:722653 version:1.0+git20190812.97ca0ee
Changes:
--------
--- /work/SRC/openSUSE:Factory/microos-tools/microos-tools.changes 2019-06-24 21:49:03.479905700 +0200
+++ /work/SRC/openSUSE:Factory/.microos-tools.new.7948/microos-tools.changes 2019-09-02 13:18:42.293381440 +0200
@@ -1,0 +2,11 @@
+Mon Aug 12 13:18:41 CEST 2019 - kukuk(a)suse.de
+
+- Remove create_autoyast_profile from sources
+
+-------------------------------------------------------------------
+Mon Aug 12 11:18:31 UTC 2019 - kukuk(a)suse.de
+
+- Update to version 1.0+git20190812.97ca0ee:
+ * Add create_autoyast_profile to caasp section for reference
+
+-------------------------------------------------------------------
Old:
----
create_autoyast_profile.pl
microos-tools-1.0+git20190611.6211f74.tar.xz
New:
----
microos-tools-1.0+git20190812.97ca0ee.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ microos-tools.spec ++++++
--- /var/tmp/diff_new_pack.5EzcFN/_old 2019-09-02 13:18:42.861381353 +0200
+++ /var/tmp/diff_new_pack.5EzcFN/_new 2019-09-02 13:18:42.861381353 +0200
@@ -17,18 +17,15 @@
Name: microos-tools
-Version: 1.0+git20190611.6211f74
+Version: 1.0+git20190812.97ca0ee
Release: 0
Summary: Files and Scripts for openSUSE MicroOS
License: GPL-2.0-or-later
Group: Development/Tools/Other
URL: https://github.com/kubic-project/microos-tools
-Source0: microos-tools-%{version}.tar.xz
-Source1: create_autoyast_profile.pl
+Source: microos-tools-%{version}.tar.xz
BuildRequires: distribution-release
Requires: read-only-root-fs
-# for create_autoyast_prfile.pl
-Requires: perl-JSON
Conflicts: systemd-coredump
Obsoletes: caasp-tools
BuildArch: noarch
@@ -44,9 +41,7 @@
%install
cp -a {etc,usr} %{buildroot}
mkdir -p %{buildroot}%{_sbindir}
-install %{SOURCE1} %{buildroot}%{_sbindir}/create_autoyast_profile
mkdir -p %{buildroot}%{_mandir}/man8
-pod2man %{SOURCE1} > %{buildroot}%{_mandir}/man8/create_autoyast_profile.8
%pre
%service_add_pre setup-systemd-proxy-env.service
@@ -69,9 +64,7 @@
%{_prefix}/lib/sysctl.d/30-corefiles.conf
%{_libexecdir}/MicroOS-firstboot
%{_sbindir}/btrfsQuota
-%{_sbindir}/create_autoyast_profile
%{_sbindir}/setup-systemd-proxy-env
%{_mandir}/man8/btrfsQuota.8%{?ext_man}
-%{_mandir}/man8/create_autoyast_profile.8%{?ext_man}
%changelog
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.5EzcFN/_old 2019-09-02 13:18:42.901381347 +0200
+++ /var/tmp/diff_new_pack.5EzcFN/_new 2019-09-02 13:18:42.901381347 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">git://github.com/kubic-project/microos-tools.git</param>
- <param name="changesrevision">6211f74e41dcf26b46cd0484d784ecb9e23de72f</param>
+ <param name="changesrevision">97ca0eeaf80cd24a6f0b74176573ce33c9aae745</param>
</service>
</servicedata>
\ No newline at end of file
++++++ microos-tools-1.0+git20190611.6211f74.tar.xz -> microos-tools-1.0+git20190812.97ca0ee.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/microos-tools-1.0+git20190611.6211f74/caasp/usr/sbin/create_autoyast_profile new/microos-tools-1.0+git20190812.97ca0ee/caasp/usr/sbin/create_autoyast_profile
--- old/microos-tools-1.0+git20190611.6211f74/caasp/usr/sbin/create_autoyast_profile 1970-01-01 01:00:00.000000000 +0100
+++ new/microos-tools-1.0+git20190812.97ca0ee/caasp/usr/sbin/create_autoyast_profile 2019-08-12 13:17:08.000000000 +0200
@@ -0,0 +1,482 @@
+#!/usr/bin/perl
+#
+# Copyright (C) 2017 Thorsten Kukuk
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# in Version 2 or later as published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+
+=head1 NAME
+
+ create_autoyast_profile - Create autoyast profile for SUSE CaaSP
+
+=head1 SYNOPSIS
+
+ create_autoyast_profile [options]
+
+=head1 DESCRIPTION
+
+ Create an autoyast profile for fully automatic installation of
+ SUSE Container as a Service Platform Cluster Node.
+
+=head1 OPTIONS
+
+ -o|--output file Write autoyast profile as 'file' to disk
+ --salt-master Specify the name of the salt master server
+ --ntp-server Specify name of ntp server
+ --smt-url Specify url of SMT server
+ --regcode Specify registration code for SUSE CaaSP
+ --reg-email Specify email address for registration
+ --usage Print usage
+ -h|-?|--help Help
+
+=cut
+
+use strict;
+use warnings;
+use locale;
+use Pod::Usage;
+use Getopt::Long;
+use Net::Domain qw(hostname hostfqdn);
+use JSON qw(decode_json);
+
+my $outputfile = "-";
+my $saltmaster = hostfqdn();
+my $ntp_server = "";
+my $smturl = "";
+my $reg_email = "";
+my $regcode = "";
+my $help = 0;
+my $man = 0;
+my $usage = 0;
+
+GetOptions('o|output=s' => \$outputfile,
+ 'salt-master=s' => \$saltmaster,
+ 'smt-url=s' => \$smturl,
+ 'reg-email=s' => \$reg_email,
+ 'regcode=s' => \$regcode,
+ 'ntp-server=s'=>\$ntp_server,
+ 'man' => \$man,
+ 'u|usage' => \$usage,
+ 'help|h|?' => \$help) or pod2usage(2);
+pod2usage(0) if $help;
+pod2usage(-exitstatus => 0, -verbose => 2) if $man;
+pod2usage(-exitstatus => 0, -verbose => 0) if $usage;
+
+
+
+open(OUTPUT,">$outputfile") || die("Can't open output file $outputfile: $!.");
+
+print_header();
+print_bootloader();
+print_general_section();
+print_languages();
+setup_networking();
+setup_ntp();
+print_software();
+print_services();
+print_scripts();
+set_root_password();
+setup_registration();
+setup_salt_minion();
+print_footer();
+
+close(OUTPUT);
+
+#------------------------------------------------------------------------------
+
+sub print_header {
+ print OUTPUT <<"HeaderText";
+<?xml version="1.0"?>
+<!DOCTYPE profile>
+<profile xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns">
+HeaderText
+}
+
+#------------------------------------------------------------------------------
+
+sub print_footer {
+ print OUTPUT <<"EOT";
+</profile>
+EOT
+}
+
+#------------------------------------------------------------------------------
+
+sub print_bootloader {
+ print OUTPUT <<"EOT";
+ <bootloader>
+ <global>
+ <generic_mbr>true</generic_mbr>
+ <gfxmode>auto</gfxmode>
+ <hiddenmenu>false</hiddenmenu>
+ <os_prober>false</os_prober>
+ <terminal>gfxterm</terminal>
+ <timeout config:type="integer">8</timeout>
+ <suse_btrfs config:type="boolean">true</suse_btrfs>
+ </global>
+ </bootloader>
+EOT
+}
+
+#------------------------------------------------------------------------------
+
+sub print_general_section {
+ print OUTPUT <<"EOT";
+ <general>
+ <ask-list config:type="list"/>
+ <mode>
+ <confirm config:type="boolean">false</confirm>
+ <second_stage config:type="boolean">false</second_stage>
+ <self_update config:type="boolean">false</self_update>
+ </mode>
+ <proposals config:type="list"/>
+ <storage>
+ <partition_alignment config:type="symbol">align_optimal</partition_alignment>
+ <start_multipath config:type="boolean">false</start_multipath>
+ </storage>
+ </general>
+ <partitioning config:type="list">
+ <drive>
+ <use>all</use>
+ <partitions config:type="list">
+ <partition>
+ <mount>/boot/efi</mount>
+ <size>200mb</size>
+ <partition_id config:type="integer">1</partition_id>
+ <filesystem config:type="symbol">vfat</filesystem>
+ </partition>
+ <partition>
+ <mount>/</mount>
+ <size>30gb</size>
+ </partition>
+ <partition>
+ <filesystem config:type="symbol">btrfs</filesystem>
+ <mount>/var/lib/docker</mount>
+ <size>max</size>
+ </partition>
+ </partitions>
+ </drive>
+ </partitioning>
+ <ssh_import>
+ <copy_config config:type="boolean">false</copy_config>
+ <import config:type="boolean">false</import>
+ </ssh_import>
+EOT
+}
+
+#------------------------------------------------------------------------------
+
+sub print_languages {
+ print OUTPUT <<"EOT";
+ <keyboard>
+ <keymap>english-us</keymap>
+ </keyboard>
+ <language>
+ <language>en_US</language>
+ <languages/>
+ </language>
+ <timezone>
+ <hwclock>UTC</hwclock>
+ <timezone>Etc/GMT</timezone>
+ </timezone>
+EOT
+}
+
+#------------------------------------------------------------------------------
+
+sub set_root_password {
+
+ my $password = "!";
+ my $encrypted = "true";
+
+ open(PASSWD, '/etc/passwd');
+ while (<PASSWD>) {
+ chomp;
+ my($login, $passwd, $uid, $gid, $gcos, $home, $shell) = split(/:/);
+
+ if ($login eq "root") {
+ if ($passwd eq "x") {
+ if (open(SHADOW, '/etc/shadow')) {
+ while (<SHADOW>) {
+ chomp;
+ my($slogin, $spasswd, $sp_lstchg, $sp_min, $sp_max,
+ $sp_warn, $sp_inact, $sp_expire, $sp_flag) = split(/:/);
+ if ($slogin eq "root") {
+ $password = $spasswd;
+ $encrypted = "true";
+ }
+ }
+ close(SHADOW);
+ }
+ } else {
+ $password = $passwd;
+ }
+ }
+ }
+ close(PASSWD);
+
+ print OUTPUT <<"EOT";
+ <users config:type="list">
+ <user>
+ <username>root</username>
+EOT
+
+print OUTPUT " <user_password>$password</user_password>\n";
+print OUTPUT " <encrypted config:type=\"boolean\">$encrypted</encrypted>\n";
+
+ print OUTPUT <<"EOT"
+ </user>
+ </users>
+EOT
+}
+
+#------------------------------------------------------------------------------
+
+sub print_software {
+ print OUTPUT <<"EOT";
+ <software>
+ <image/>
+ <install_recommended config:type="boolean">false</install_recommended>
+ <instsource/>
+ <patterns config:type="list">
+ <pattern>SUSE-MicroOS</pattern>
+ <pattern>SUSE-MicroOS-hardware</pattern>
+ <pattern>SUSE-MicroOS-apparmor</pattern>
+ <pattern>SUSE-CaaSP-Stack</pattern>
+ </patterns>
+ </software>
+EOT
+}
+
+#------------------------------------------------------------------------------
+
+sub print_services {
+ print OUTPUT <<"EOT";
+ <services-manager>
+ <default_target>multi-user</default_target>
+ <services>
+ <disable config:type="list">
+ <service>purge-kernels</service>
+ </disable>
+ <enable config:type="list">
+ <service>sshd</service>
+ <service>cloud-init-local</service>
+ <service>cloud-init</service>
+ <service>cloud-config</service>
+ <service>cloud-final</service>
+ <service>issue-generator</service>
+ <service>issue-add-ssh-keys</service>
+ <service>docker</service>
+ <service>container-feeder</service>
+EOT
+ print OUTPUT " <service>salt-minion</service>\n" if ($saltmaster ne "");
+ print OUTPUT " <service>systemd-timesyncd</service>\n" if ($ntp_server eq "");
+ print OUTPUT <<"EOT";
+ </enable>
+ </services>
+ </services-manager>
+EOT
+}
+
+#------------------------------------------------------------------------------
+
+sub print_scripts {
+
+ if ($saltmaster ne "" || $ntp_server eq "") {
+ print OUTPUT <<"EOT";
+ <scripts>
+ <chroot-scripts config:type="list">
+EOT
+ if ($saltmaster ne "") {
+ print OUTPUT <<"EOT";
+ <script>
+ <filename>configure-salt.sh</filename>
+ <interpreter>shell</interpreter>
+ <chrooted config:type="boolean">true</chrooted>
+ <source>
+<![CDATA[
+#!/bin/sh
+EOT
+ print OUTPUT "echo \"master: $saltmaster\" > /etc/salt/minion.d/master.conf" if ($saltmaster ne "");
+ print OUTPUT <<"EOT";
+]]>
+ </source>
+ </script>
+EOT
+}
+ if ($ntp_server eq "") {
+ print OUTPUT <<"EOT";
+ <script>
+ <filename>configure-timesyncd.sh</filename>
+ <interpreter>shell</interpreter>
+ <chrooted config:type="boolean">true</chrooted>
+ <source>
+<![CDATA[
+#!/bin/sh
+EOT
+ my $my_hostname = hostfqdn();
+ print OUTPUT "sed -i -e 's|#NTP=.*|NTP=$my_hostname|g' /etc/systemd/timesyncd.conf\n";
+ print OUTPUT <<"EOT";
+]]>
+ </source>
+ </script>
+EOT
+}
+ print OUTPUT " </chroot-scripts>\n";
+ print OUTPUT " </scripts>\n";
+ }
+}
+
+#------------------------------------------------------------------------------
+
+sub find_smturl {
+ if (open(INPUTFILE, "</etc/SUSEConnect")) {
+ while (<INPUTFILE>) {
+ chomp;
+ if ( $_ =~ m/^url:/ ) {
+ $_ =~ s/url: //;
+ close (INPUTFILE);
+ return $_;
+ }
+ }
+ }
+ close (INPUTFILE);
+ return "";
+}
+
+sub setup_registration {
+ my $is_active = 0;
+
+ if ($smturl ne "" || $regcode ne "") {
+ $is_active = 1;
+ } else {
+ my $connectoutput = `/usr/sbin/SUSEConnect -s 2>/dev/null`;
+ if ($? == 0) {
+ my $decoded = decode_json($connectoutput);
+ foreach my $prod ( @{$decoded} ) {
+ if ($prod->{"identifier"} eq "CAASP") {
+ $regcode = $prod->{"regcode"} if ($regcode eq "");
+ $is_active = 1 if ($prod->{"status"} eq "Registered");
+ }
+ }
+ }
+ }
+
+ print OUTPUT " <suse_register>\n";
+ if ($is_active) {
+ $smturl = find_smturl() if ($smturl eq "");
+
+ print OUTPUT " <do_registration config:type=\"boolean\">true</do_registration>\n";
+ print OUTPUT " <email>$reg_email</email>\n" unless ($reg_email eq "");
+ print OUTPUT " <reg_code>$regcode</reg_code>\n" if (defined $regcode && $regcode ne "");
+ print OUTPUT " <install_updates config:type=\"boolean\">true</install_updates>\n";
+ print OUTPUT " <slp_discovery config:type=\"boolean\">false</slp_discovery>\n";
+ print OUTPUT " <reg_server>$smturl</reg_server>\n" if ($smturl ne "");
+ } else {
+ print OUTPUT " <do_registration config:type=\"boolean\">false</do_registration>\n";
+ }
+ print OUTPUT " </suse_register>\n";
+}
+
+#------------------------------------------------------------------------------
+
+sub setup_salt_minion {
+
+ if ($saltmaster ne "") {
+ print OUTPUT <<"EOT";
+ <files config:type="list">
+ <file>
+ <file_path>/etc/salt/minion.d/master.conf</file_path>
+ <file_contents>
+<![CDATA[
+EOT
+ print OUTPUT "master: $saltmaster\n";
+ print OUTPUT <<"EOT";
+]]>
+ </file_contents>
+ <file_owner>root.root</file_owner>
+ <file_permissions>640</file_permissions>
+ </file>
+ </files>
+EOT
+ }
+}
+
+#------------------------------------------------------------------------------
+
+sub setup_networking {
+ print OUTPUT <<"EOT";
+ <networking>
+ <dhcp_options>
+ <dhclient_client_id/>
+ <dhclient_hostname_option>AUTO</dhclient_hostname_option>
+ </dhcp_options>
+ <dns>
+ <dhcp_hostname config:type="boolean">true</dhcp_hostname>
+ <resolv_conf_policy>auto</resolv_conf_policy>
+ <write_hostname config:type="boolean">false</write_hostname>
+ </dns>
+ <interfaces config:type="list">
+ <interface>
+ <bootproto>dhcp</bootproto>
+ <device>eth0</device>
+ <dhclient_set_default_route>yes</dhclient_set_default_route>
+ <startmode>auto</startmode>
+ </interface>
+ <interface>
+ <bootproto>static</bootproto>
+ <device>lo</device>
+ <firewall>no</firewall>
+ <ipaddr>127.0.0.1</ipaddr>
+ <netmask>255.0.0.0</netmask>
+ <network>127.0.0.0</network>
+ <prefixlen>8</prefixlen>
+ <startmode>nfsroot</startmode>
+ <usercontrol>no</usercontrol>
+ </interface>
+ </interfaces>
+ <ipv6 config:type="boolean">true</ipv6>
+ <keep_install_network config:type="boolean">true</keep_install_network>
+ <setup_before_proposal config:type="boolean">true</setup_before_proposal>
+ <managed config:type="boolean">false</managed>
+ <routing>
+ <ipv4_forward config:type="boolean">false</ipv4_forward>
+ <ipv6_forward config:type="boolean">false</ipv6_forward>
+ </routing>
+ </networking>
+EOT
+}
+
+#------------------------------------------------------------------------------
+
+sub setup_ntp {
+ return if ($ntp_server eq "");
+ print OUTPUT <<"EOT";
+ <ntp-client>
+ <configure_dhcp config:type="boolean">false</configure_dhcp>
+ <peers config:type="list">
+ <peer>
+EOT
+ print OUTPUT " <address>$ntp_server</address>\n";
+ print OUTPUT <<"EOT";
+ <options>iburst</options>
+ <type>server</type>
+ </peer>
+ </peers>
+ <start_at_boot config:type="boolean">true</start_at_boot>
+ <start_in_chroot config:type="boolean">false</start_in_chroot>
+ </ntp-client>
+EOT
+}
+
+#------------------------------------------------------------------------------
1
0
Hello community,
here is the log from the commit of package kernel-source for openSUSE:Factory checked in at 2019-09-02 13:18:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kernel-source (Old)
and /work/SRC/openSUSE:Factory/.kernel-source.new.7948 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kernel-source"
Mon Sep 2 13:18:07 2019 rev:503 rq:727147 version:5.2.11
Changes:
--------
--- /work/SRC/openSUSE:Factory/kernel-source/kernel-64kb.changes 2019-08-27 10:11:07.939980544 +0200
+++ /work/SRC/openSUSE:Factory/.kernel-source.new.7948/kernel-64kb.changes 2019-09-02 13:18:18.237385141 +0200
@@ -1,0 +2,331 @@
+Thu Aug 29 08:41:19 CEST 2019 - jslaby(a)suse.cz
+
+- Linux 5.2.11 (bnc#1012628).
+- ASoC: simple_card_utils.h: care NULL dai at
+ asoc_simple_debug_dai() (bnc#1012628).
+- ASoC: simple-card: fix an use-after-free in
+ simple_dai_link_of_dpcm() (bnc#1012628).
+- ASoC: simple-card: fix an use-after-free in
+ simple_for_each_link() (bnc#1012628).
+- ASoC: audio-graph-card: fix use-after-free in
+ graph_dai_link_of_dpcm() (bnc#1012628).
+- ASoC: audio-graph-card: fix an use-after-free in
+ graph_get_dai_id() (bnc#1012628).
+- ASoC: audio-graph-card: add missing const at graph_get_dai_id()
+ (bnc#1012628).
+- regulator: axp20x: fix DCDCA and DCDCD for AXP806 (bnc#1012628).
+- regulator: axp20x: fix DCDC5 and DCDC6 for AXP803 (bnc#1012628).
+- ASoC: samsung: odroid: fix an use-after-free issue for codec
+ (bnc#1012628).
+- ASoC: samsung: odroid: fix a double-free issue for cpu_dai
+ (bnc#1012628).
+- ASoC: Intel: bytcht_es8316: Add quirk for Irbis NB41 netbook
+ (bnc#1012628).
+- HID: logitech-hidpp: add USB PID for a few more supported mice
+ (bnc#1012628).
+- HID: Add 044f:b320 ThrustMaster, Inc. 2 in 1 DT (bnc#1012628).
+- MIPS: kernel: only use i8253 clocksource with periodic
+ clockevent (bnc#1012628).
+- mips: fix cacheinfo (bnc#1012628).
+- libbpf: sanitize VAR to conservative 1-byte INT (bnc#1012628).
+- netfilter: ebtables: fix a memory leak bug in compat
+ (bnc#1012628).
+- ASoC: dapm: Fix handling of custom_stop_condition on DAPM
+ graph walks (bnc#1012628).
+- ASoC: SOF: use __u32 instead of uint32_t in uapi headers
+ (bnc#1012628).
+- spi: pxa2xx: Balance runtime PM enable/disable on error
+ (bnc#1012628).
+- bpf: sockmap, sock_map_delete needs to use xchg (bnc#1012628).
+- bpf: sockmap, synchronize_rcu before free'ing map (bnc#1012628).
+- bpf: sockmap, only create entry if ulp is not already enabled
+ (bnc#1012628).
+- selftests/bpf: fix sendmsg6_prog on s390 (bnc#1012628).
+- ASoC: dapm: fix a memory leak bug (bnc#1012628).
+- bonding: Force slave speed check after link state recovery
+ for 802.3ad (bnc#1012628).
+- net: mvpp2: Don't check for 3 consecutive Idle frames for 10G
+ links (bnc#1012628).
+- selftests: forwarding: gre_multipath: Enable IPv4 forwarding
+ (bnc#1012628).
+- selftests: forwarding: gre_multipath: Fix flower filters
+ (bnc#1012628).
+- selftests/bpf: add another gso_segs access (bnc#1012628).
+- libbpf: fix using uninitialized ioctl results (bnc#1012628).
+- can: dev: call netif_carrier_off() in register_candev()
+ (bnc#1012628).
+- can: mcp251x: add error check when wq alloc failed
+ (bnc#1012628).
+- can: gw: Fix error path of cgw_module_init (bnc#1012628).
+- ASoC: Fail card instantiation if DAI format setup fails
+ (bnc#1012628).
+- Staging: fbtft: Fix GPIO handling (bnc#1012628).
+- libbpf: silence GCC8 warning about string truncation
+ (bnc#1012628).
+- st21nfca_connectivity_event_received: null check the allocation
+ (bnc#1012628).
+- st_nci_hci_connectivity_event_received: null check the
+ allocation (bnc#1012628).
+- {nl,mac}80211: fix interface combinations on crypto controlled
+ devices (bnc#1012628).
+- ASoC: ti: davinci-mcasp: Fix clk PDIR handling for i2s master
+ mode (bnc#1012628).
+- ASoC: rockchip: Fix mono capture (bnc#1012628).
+- ASoC: ti: davinci-mcasp: Correct slot_width posed constraint
+ (bnc#1012628).
+- net: usb: qmi_wwan: Add the BroadMobi BM818 card (bnc#1012628).
+- qed: RDMA - Fix the hw_ver returned in device attributes
+ (bnc#1012628).
+- isdn: mISDN: hfcsusb: Fix possible null-pointer dereferences
+ in start_isoc_chain() (bnc#1012628).
+- habanalabs: fix F/W download in BE architecture (bnc#1012628).
+- mac80211_hwsim: Fix possible null-pointer dereferences in
+ hwsim_dump_radio_nl() (bnc#1012628).
+- net: stmmac: manage errors returned by of_get_mac_address()
+ (bnc#1012628).
+- netfilter: ipset: Actually allow destination MAC address for
+ hash:ip,mac sets too (bnc#1012628).
+- netfilter: ipset: Copy the right MAC address in bitmap:ip,mac
+ and hash:ip,mac sets (bnc#1012628).
+- netfilter: ipset: Fix rename concurrency with listing
+ (bnc#1012628).
+- rxrpc: Fix potential deadlock (bnc#1012628).
+- rxrpc: Fix the lack of notification when sendmsg() fails on
+ a DATA packet (bnc#1012628).
+- nvmem: Use the same permissions for eeprom as for nvmem
+ (bnc#1012628).
+- iwlwifi: mvm: avoid races in rate init and rate perform
+ (bnc#1012628).
+- iwlwifi: dbg_ini: move iwl_dbg_tlv_load_bin out of debug
+ override ifdef (bnc#1012628).
+- iwlwifi: dbg_ini: move iwl_dbg_tlv_free outside of debugfs ifdef
+ (bnc#1012628).
+- iwlwifi: fix locking in delayed GTK setting (bnc#1012628).
+- iwlwifi: mvm: send LQ command always ASYNC (bnc#1012628).
+- enetc: Fix build error without PHYLIB (bnc#1012628).
+- isdn: hfcsusb: Fix mISDN driver crash caused by transfer buffer
+ on the stack (bnc#1012628).
+- net: phy: phy_led_triggers: Fix a possible null-pointer
+ dereference in phy_led_trigger_change_speed() (bnc#1012628).
+- perf bench numa: Fix cpu0 binding (bnc#1012628).
+- spi: pxa2xx: Add support for Intel Tiger Lake (bnc#1012628).
+- can: sja1000: force the string buffer NULL-terminated
+ (bnc#1012628).
+- can: peak_usb: force the string buffer NULL-terminated
+ (bnc#1012628).
+- ASoC: amd: acp3x: use dma_ops of parent device for acp3x dma
+ driver (bnc#1012628).
+- net/ethernet/qlogic/qed: force the string buffer NULL-terminated
+ (bnc#1012628).
+- enetc: Select PHYLIB while CONFIG_FSL_ENETC_VF is set
+ (bnc#1012628).
+- NFSv4: Fix a credential refcount leak in
+ nfs41_check_delegation_stateid (bnc#1012628).
+- NFSv4: When recovering state fails with EAGAIN, retry the same
+ recovery (bnc#1012628).
+- NFSv4.1: Fix open stateid recovery (bnc#1012628).
+- NFSv4.1: Only reap expired delegations (bnc#1012628).
+- NFSv4: Fix a potential sleep while atomic in nfs4_do_reclaim()
+ (bnc#1012628).
+- NFS: Fix regression whereby fscache errors are appearing on
+ 'nofsc' mounts (bnc#1012628).
+- HID: quirks: Set the INCREMENT_USAGE_ON_DUPLICATE quirk on
+ Saitek X52 (bnc#1012628).
+- HID: input: fix a4tech horizontal wheel custom usage
+ (bnc#1012628).
+- drm/rockchip: Suspend DP late (bnc#1012628).
+- SMB3: Fix potential memory leak when processing compound chain
+ (bnc#1012628).
+- SMB3: Kernel oops mounting a encryptData share with
+ CONFIG_DEBUG_VIRTUAL (bnc#1012628).
+- sched/deadline: Fix double accounting of rq/running bw in push &
+ pull (bnc#1012628).
+- sched/psi: Reduce psimon FIFO priority (bnc#1012628).
+- sched/psi: Do not require setsched permission from the trigger
+ creator (bnc#1012628).
+- s390/protvirt: avoid memory sharing for diag 308 set/store
+ (bnc#1012628).
+- s390/mm: fix dump_pagetables top level page table walking
+ (bnc#1012628).
+- s390: put _stext and _etext into .text section (bnc#1012628).
+- ata: rb532_cf: Fix unused variable warning in
+ rb532_pata_driver_probe (bnc#1012628).
+- net: cxgb3_main: Fix a resource leak in a error path in
+ 'init_one()' (bnc#1012628).
+- net: stmmac: Fix issues when number of Queues >= 4
+ (bnc#1012628).
+- net: stmmac: tc: Do not return a fragment entry (bnc#1012628).
+- drm/amdgpu: pin the csb buffer on hw init for gfx v8
+ (bnc#1012628).
+- net: hisilicon: make hip04_tx_reclaim non-reentrant
+ (bnc#1012628).
+- net: hisilicon: fix hip04-xmit never return TX_BUSY
+ (bnc#1012628).
+- net: hisilicon: Fix dma_map_single failed on arm64
+ (bnc#1012628).
+- NFSv4: Ensure state recovery handles ETIMEDOUT correctly
+ (bnc#1012628).
+- libata: have ata_scsi_rw_xlat() fail invalid passthrough
+ requests (bnc#1012628).
+- libata: add SG safety checks in SFF pio transfers (bnc#1012628).
+- x86/lib/cpu: Address missing prototypes warning (bnc#1012628).
+- drm/vmwgfx: fix memory leak when too many retries have occurred
+ (bnc#1012628).
+- block: aoe: Fix kernel crash due to atomic sleep when exiting
+ (bnc#1012628).
+- block, bfq: handle NULL return value by bfq_init_rq()
+ (bnc#1012628).
+- perf ftrace: Fix failure to set cpumask when only one cpu is
+ present (bnc#1012628).
+- perf cpumap: Fix writing to illegal memory in handling cpumap
+ mask (bnc#1012628).
+- perf pmu-events: Fix missing "cpu_clk_unhalted.core" event
+ (bnc#1012628).
+- dt-bindings: riscv: fix the schema compatible string for the
+ HiFive Unleashed board (bnc#1012628).
+- KVM: arm64: Don't write junk to sysregs on reset (bnc#1012628).
+- KVM: arm: Don't write junk to CP15 registers on reset
+ (bnc#1012628).
+- selftests: kvm: Adding config fragments (bnc#1012628).
+- iwlwifi: mvm: disable TX-AMSDU on older NICs (bnc#1012628).
+- HID: wacom: correct misreported EKR ring values (bnc#1012628).
+- HID: wacom: Correct distance scale for 2nd-gen Intuos devices
+ (bnc#1012628).
+- Revert "KVM: x86/mmu: Zap only the relevant pages when removing
+ a memslot" (bnc#1012628).
+- Revert "dm bufio: fix deadlock with loop device" (bnc#1012628).
+- clk: socfpga: stratix10: fix rate caclulationg for cnt_clks
++++ 211 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/kernel-source/kernel-64kb.changes
++++ and /work/SRC/openSUSE:Factory/.kernel-source.new.7948/kernel-64kb.changes
kernel-debug.changes: same change
kernel-default.changes: same change
kernel-docs.changes: same change
kernel-kvmsmall.changes: same change
kernel-lpae.changes: same change
kernel-obs-build.changes: same change
kernel-obs-qa.changes: same change
kernel-pae.changes: same change
kernel-source.changes: same change
kernel-syms.changes: same change
kernel-vanilla.changes: same change
kernel-zfcpdump.changes: same change
Old:
----
dtb-aarch64.changes
dtb-aarch64.spec
dtb-armv6l.changes
dtb-armv6l.spec
dtb-armv7l.changes
dtb-armv7l.spec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kernel-64kb.spec ++++++
--- /var/tmp/diff_new_pack.zh2xi6/_old 2019-09-02 13:18:29.581383396 +0200
+++ /var/tmp/diff_new_pack.zh2xi6/_new 2019-09-02 13:18:29.585383395 +0200
@@ -18,10 +18,11 @@
%define srcversion 5.2
-%define patchversion 5.2.10
+%define patchversion 5.2.11
%define variant %{nil}
%define vanilla_only 0
%define compress_modules none
+%define livepatch %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -63,9 +64,9 @@
Summary: Kernel with 64kb PAGE_SIZE
License: GPL-2.0
Group: System/Kernel
-Version: 5.2.10
+Version: 5.2.11
%if 0%{?is_kotd}
-Release: <RELEASE>.g5878ee6
+Release: <RELEASE>.g6385110
%else
Release: 0
%endif
@@ -170,10 +171,10 @@
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
-Provides: kernel-%build_flavor-base-srchash-5878ee66182973951394c95f74851a1df456dd71
-Provides: kernel-srchash-5878ee66182973951394c95f74851a1df456dd71
+Provides: kernel-%build_flavor-base-srchash-638511006109a60917e424dc002a3599671ec2c0
+Provides: kernel-srchash-638511006109a60917e424dc002a3599671ec2c0
# END COMMON DEPS
-Provides: %name-srchash-5878ee66182973951394c95f74851a1df456dd71
+Provides: %name-srchash-638511006109a60917e424dc002a3599671ec2c0
%obsolete_rebuilds %name
Source0: http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz
Source2: source-post.sh
@@ -1202,42 +1203,46 @@
/usr/src/linux-obj/%kmp_target_cpu
%endif
-%if %CONFIG_SUSE_KERNEL_SUPPORTED == "y"
-%package livepatch
-Summary: Metapackage to pull in matching kernel-livepatch package
+%if "%livepatch" != "" && %CONFIG_SUSE_KERNEL_SUPPORTED == "y" && "%variant" == ""
+%if %livepatch == kgraft
+%define patch_package %{livepatch}-patch
+%else
+%define patch_package kernel-%{livepatch}
+%endif
+%package %{livepatch}
+Summary: Metapackage to pull in matching %patch_package package
Group: System/Kernel
-Requires: kernel-livepatch-%(echo %version-%source_rel | sed 'y/\./_/')-%build_flavor
+Requires: %{patch_package}-%(echo %{version}-%{source_rel} | sed 'y/\./_/')-%{build_flavor}
Provides: kernel-default-kgraft = %version
Provides: kernel-xen-kgraft = %version
Provides: multiversion(kernel)
Obsoletes: kernel-default-kgraft < %version
Obsoletes: kernel-xen-kgraft < %version
-%description livepatch
-This is a metapackage that pulls in the matching kernel-livepatch package for a
+%description %{livepatch}
+This is a metapackage that pulls in the matching %patch_package package for a
given kernel version. The advantage of the metapackage is that its name is
-static, unlike the kernel-livepatch-<kernel-version>-flavor package names.
+static, unlike the %{patch_package}-<kernel-version>-flavor package names.
-%files livepatch
+%files %{livepatch}
# rpmlint complains about empty packages, so lets own something
%defattr(-, root, root)
%dir /lib/modules/%kernelrelease-%build_flavor
%endif
-%if 0%{?klp_symbols}
-
-%package livepatch-devel
-Summary: Kernel symbols file used during livepatch development
+%if 0%{?klp_symbols} && "%livepatch" != ""
+%package %{livepatch}-devel
+Summary: Kernel symbols file used during kGraft patch development
Group: System/Kernel
Provides: klp-symbols = %version
-%description livepatch-devel
+%description %{livepatch}-devel
This package brings a file named Symbols.list, which contains a list of all
kernel symbols and its respective kernel object . This list is to be used by
the klp-convert tool, which helps livepatch developers by enabling automatic
symbol resolution.
-%files livepatch-devel
+%files %{livepatch}-devel
%defattr(-, root, root)
%dir %obj_install_dir
%dir %obj_install_dir/%cpu_arch
++++++ kernel-debug.spec ++++++
--- /var/tmp/diff_new_pack.zh2xi6/_old 2019-09-02 13:18:29.597383394 +0200
+++ /var/tmp/diff_new_pack.zh2xi6/_new 2019-09-02 13:18:29.601383393 +0200
@@ -18,10 +18,11 @@
%define srcversion 5.2
-%define patchversion 5.2.10
+%define patchversion 5.2.11
%define variant %{nil}
%define vanilla_only 0
%define compress_modules none
+%define livepatch %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -63,9 +64,9 @@
Summary: A Debug Version of the Kernel
License: GPL-2.0
Group: System/Kernel
-Version: 5.2.10
+Version: 5.2.11
%if 0%{?is_kotd}
-Release: <RELEASE>.g5878ee6
+Release: <RELEASE>.g6385110
%else
Release: 0
%endif
@@ -170,10 +171,10 @@
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
-Provides: kernel-%build_flavor-base-srchash-5878ee66182973951394c95f74851a1df456dd71
-Provides: kernel-srchash-5878ee66182973951394c95f74851a1df456dd71
+Provides: kernel-%build_flavor-base-srchash-638511006109a60917e424dc002a3599671ec2c0
+Provides: kernel-srchash-638511006109a60917e424dc002a3599671ec2c0
# END COMMON DEPS
-Provides: %name-srchash-5878ee66182973951394c95f74851a1df456dd71
+Provides: %name-srchash-638511006109a60917e424dc002a3599671ec2c0
%ifarch ppc64
Provides: kernel-kdump = 2.6.28
Obsoletes: kernel-kdump <= 2.6.28
@@ -1214,42 +1215,46 @@
/usr/src/linux-obj/%kmp_target_cpu
%endif
-%if %CONFIG_SUSE_KERNEL_SUPPORTED == "y"
-%package livepatch
-Summary: Metapackage to pull in matching kernel-livepatch package
+%if "%livepatch" != "" && %CONFIG_SUSE_KERNEL_SUPPORTED == "y" && "%variant" == ""
+%if %livepatch == kgraft
+%define patch_package %{livepatch}-patch
+%else
+%define patch_package kernel-%{livepatch}
+%endif
+%package %{livepatch}
+Summary: Metapackage to pull in matching %patch_package package
Group: System/Kernel
-Requires: kernel-livepatch-%(echo %version-%source_rel | sed 'y/\./_/')-%build_flavor
+Requires: %{patch_package}-%(echo %{version}-%{source_rel} | sed 'y/\./_/')-%{build_flavor}
Provides: kernel-default-kgraft = %version
Provides: kernel-xen-kgraft = %version
Provides: multiversion(kernel)
Obsoletes: kernel-default-kgraft < %version
Obsoletes: kernel-xen-kgraft < %version
-%description livepatch
-This is a metapackage that pulls in the matching kernel-livepatch package for a
+%description %{livepatch}
+This is a metapackage that pulls in the matching %patch_package package for a
given kernel version. The advantage of the metapackage is that its name is
-static, unlike the kernel-livepatch-<kernel-version>-flavor package names.
+static, unlike the %{patch_package}-<kernel-version>-flavor package names.
-%files livepatch
+%files %{livepatch}
# rpmlint complains about empty packages, so lets own something
%defattr(-, root, root)
%dir /lib/modules/%kernelrelease-%build_flavor
%endif
-%if 0%{?klp_symbols}
-
-%package livepatch-devel
-Summary: Kernel symbols file used during livepatch development
+%if 0%{?klp_symbols} && "%livepatch" != ""
+%package %{livepatch}-devel
+Summary: Kernel symbols file used during kGraft patch development
Group: System/Kernel
Provides: klp-symbols = %version
-%description livepatch-devel
+%description %{livepatch}-devel
This package brings a file named Symbols.list, which contains a list of all
kernel symbols and its respective kernel object . This list is to be used by
the klp-convert tool, which helps livepatch developers by enabling automatic
symbol resolution.
-%files livepatch-devel
+%files %{livepatch}-devel
%defattr(-, root, root)
%dir %obj_install_dir
%dir %obj_install_dir/%cpu_arch
++++++ kernel-default.spec ++++++
--- /var/tmp/diff_new_pack.zh2xi6/_old 2019-09-02 13:18:29.625383389 +0200
+++ /var/tmp/diff_new_pack.zh2xi6/_new 2019-09-02 13:18:29.625383389 +0200
@@ -18,10 +18,11 @@
%define srcversion 5.2
-%define patchversion 5.2.10
+%define patchversion 5.2.11
%define variant %{nil}
%define vanilla_only 0
%define compress_modules none
+%define livepatch %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -63,9 +64,9 @@
Summary: The Standard Kernel
License: GPL-2.0
Group: System/Kernel
-Version: 5.2.10
+Version: 5.2.11
%if 0%{?is_kotd}
-Release: <RELEASE>.g5878ee6
+Release: <RELEASE>.g6385110
%else
Release: 0
%endif
@@ -170,10 +171,10 @@
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
-Provides: kernel-%build_flavor-base-srchash-5878ee66182973951394c95f74851a1df456dd71
-Provides: kernel-srchash-5878ee66182973951394c95f74851a1df456dd71
+Provides: kernel-%build_flavor-base-srchash-638511006109a60917e424dc002a3599671ec2c0
+Provides: kernel-srchash-638511006109a60917e424dc002a3599671ec2c0
# END COMMON DEPS
-Provides: %name-srchash-5878ee66182973951394c95f74851a1df456dd71
+Provides: %name-srchash-638511006109a60917e424dc002a3599671ec2c0
%ifarch %ix86
Provides: kernel-smp = 2.6.17
Obsoletes: kernel-smp <= 2.6.17
@@ -1296,42 +1297,46 @@
/usr/src/linux-obj/%kmp_target_cpu
%endif
-%if %CONFIG_SUSE_KERNEL_SUPPORTED == "y"
-%package livepatch
-Summary: Metapackage to pull in matching kernel-livepatch package
+%if "%livepatch" != "" && %CONFIG_SUSE_KERNEL_SUPPORTED == "y" && "%variant" == ""
+%if %livepatch == kgraft
+%define patch_package %{livepatch}-patch
+%else
+%define patch_package kernel-%{livepatch}
+%endif
+%package %{livepatch}
+Summary: Metapackage to pull in matching %patch_package package
Group: System/Kernel
-Requires: kernel-livepatch-%(echo %version-%source_rel | sed 'y/\./_/')-%build_flavor
+Requires: %{patch_package}-%(echo %{version}-%{source_rel} | sed 'y/\./_/')-%{build_flavor}
Provides: kernel-default-kgraft = %version
Provides: kernel-xen-kgraft = %version
Provides: multiversion(kernel)
Obsoletes: kernel-default-kgraft < %version
Obsoletes: kernel-xen-kgraft < %version
-%description livepatch
-This is a metapackage that pulls in the matching kernel-livepatch package for a
+%description %{livepatch}
+This is a metapackage that pulls in the matching %patch_package package for a
given kernel version. The advantage of the metapackage is that its name is
-static, unlike the kernel-livepatch-<kernel-version>-flavor package names.
+static, unlike the %{patch_package}-<kernel-version>-flavor package names.
-%files livepatch
+%files %{livepatch}
# rpmlint complains about empty packages, so lets own something
%defattr(-, root, root)
%dir /lib/modules/%kernelrelease-%build_flavor
%endif
-%if 0%{?klp_symbols}
-
-%package livepatch-devel
-Summary: Kernel symbols file used during livepatch development
+%if 0%{?klp_symbols} && "%livepatch" != ""
+%package %{livepatch}-devel
+Summary: Kernel symbols file used during kGraft patch development
Group: System/Kernel
Provides: klp-symbols = %version
-%description livepatch-devel
+%description %{livepatch}-devel
This package brings a file named Symbols.list, which contains a list of all
kernel symbols and its respective kernel object . This list is to be used by
the klp-convert tool, which helps livepatch developers by enabling automatic
symbol resolution.
-%files livepatch-devel
+%files %{livepatch}-devel
%defattr(-, root, root)
%dir %obj_install_dir
%dir %obj_install_dir/%cpu_arch
++++++ kernel-docs.spec ++++++
--- /var/tmp/diff_new_pack.zh2xi6/_old 2019-09-02 13:18:29.641383386 +0200
+++ /var/tmp/diff_new_pack.zh2xi6/_new 2019-09-02 13:18:29.641383386 +0200
@@ -17,7 +17,7 @@
%define srcversion 5.2
-%define patchversion 5.2.10
+%define patchversion 5.2.11
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -31,9 +31,9 @@
Summary: Kernel Documentation
License: GPL-2.0
Group: Documentation/Man
-Version: 5.2.10
+Version: 5.2.11
%if 0%{?is_kotd}
-Release: <RELEASE>.g5878ee6
+Release: <RELEASE>.g6385110
%else
Release: 0
%endif
@@ -63,7 +63,7 @@
%endif
Url: http://www.kernel.org/
Provides: %name = %version-%source_rel
-Provides: %name-srchash-5878ee66182973951394c95f74851a1df456dd71
+Provides: %name-srchash-638511006109a60917e424dc002a3599671ec2c0
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source0: http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz
++++++ kernel-kvmsmall.spec ++++++
--- /var/tmp/diff_new_pack.zh2xi6/_old 2019-09-02 13:18:29.665383383 +0200
+++ /var/tmp/diff_new_pack.zh2xi6/_new 2019-09-02 13:18:29.665383383 +0200
@@ -18,10 +18,11 @@
%define srcversion 5.2
-%define patchversion 5.2.10
+%define patchversion 5.2.11
%define variant %{nil}
%define vanilla_only 0
%define compress_modules none
+%define livepatch %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -63,9 +64,9 @@
Summary: The Small Developer Kernel for KVM
License: GPL-2.0
Group: System/Kernel
-Version: 5.2.10
+Version: 5.2.11
%if 0%{?is_kotd}
-Release: <RELEASE>.g5878ee6
+Release: <RELEASE>.g6385110
%else
Release: 0
%endif
@@ -170,10 +171,10 @@
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
-Provides: kernel-%build_flavor-base-srchash-5878ee66182973951394c95f74851a1df456dd71
-Provides: kernel-srchash-5878ee66182973951394c95f74851a1df456dd71
+Provides: kernel-%build_flavor-base-srchash-638511006109a60917e424dc002a3599671ec2c0
+Provides: kernel-srchash-638511006109a60917e424dc002a3599671ec2c0
# END COMMON DEPS
-Provides: %name-srchash-5878ee66182973951394c95f74851a1df456dd71
+Provides: %name-srchash-638511006109a60917e424dc002a3599671ec2c0
%obsolete_rebuilds %name
Source0: http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz
Source2: source-post.sh
@@ -1210,42 +1211,46 @@
/usr/src/linux-obj/%kmp_target_cpu
%endif
-%if %CONFIG_SUSE_KERNEL_SUPPORTED == "y"
-%package livepatch
-Summary: Metapackage to pull in matching kernel-livepatch package
+%if "%livepatch" != "" && %CONFIG_SUSE_KERNEL_SUPPORTED == "y" && "%variant" == ""
+%if %livepatch == kgraft
+%define patch_package %{livepatch}-patch
+%else
+%define patch_package kernel-%{livepatch}
+%endif
+%package %{livepatch}
+Summary: Metapackage to pull in matching %patch_package package
Group: System/Kernel
-Requires: kernel-livepatch-%(echo %version-%source_rel | sed 'y/\./_/')-%build_flavor
+Requires: %{patch_package}-%(echo %{version}-%{source_rel} | sed 'y/\./_/')-%{build_flavor}
Provides: kernel-default-kgraft = %version
Provides: kernel-xen-kgraft = %version
Provides: multiversion(kernel)
Obsoletes: kernel-default-kgraft < %version
Obsoletes: kernel-xen-kgraft < %version
-%description livepatch
-This is a metapackage that pulls in the matching kernel-livepatch package for a
+%description %{livepatch}
+This is a metapackage that pulls in the matching %patch_package package for a
given kernel version. The advantage of the metapackage is that its name is
-static, unlike the kernel-livepatch-<kernel-version>-flavor package names.
+static, unlike the %{patch_package}-<kernel-version>-flavor package names.
-%files livepatch
+%files %{livepatch}
# rpmlint complains about empty packages, so lets own something
%defattr(-, root, root)
%dir /lib/modules/%kernelrelease-%build_flavor
%endif
-%if 0%{?klp_symbols}
-
-%package livepatch-devel
-Summary: Kernel symbols file used during livepatch development
+%if 0%{?klp_symbols} && "%livepatch" != ""
+%package %{livepatch}-devel
+Summary: Kernel symbols file used during kGraft patch development
Group: System/Kernel
Provides: klp-symbols = %version
-%description livepatch-devel
+%description %{livepatch}-devel
This package brings a file named Symbols.list, which contains a list of all
kernel symbols and its respective kernel object . This list is to be used by
the klp-convert tool, which helps livepatch developers by enabling automatic
symbol resolution.
-%files livepatch-devel
+%files %{livepatch}-devel
%defattr(-, root, root)
%dir %obj_install_dir
%dir %obj_install_dir/%cpu_arch
kernel-lpae.spec: same change
++++++ kernel-obs-build.spec ++++++
--- /var/tmp/diff_new_pack.zh2xi6/_old 2019-09-02 13:18:29.693383379 +0200
+++ /var/tmp/diff_new_pack.zh2xi6/_new 2019-09-02 13:18:29.693383379 +0200
@@ -19,7 +19,7 @@
#!BuildIgnore: post-build-checks
-%define patchversion 5.2.10
+%define patchversion 5.2.11
%define variant %{nil}
%define vanilla_only 0
@@ -45,7 +45,7 @@
%endif
%endif
%endif
-BuildRequires: kernel%kernel_flavor-srchash-5878ee66182973951394c95f74851a1df456dd71
+BuildRequires: kernel%kernel_flavor-srchash-638511006109a60917e424dc002a3599671ec2c0
%if 0%{?rhel_version}
BuildRequires: kernel
@@ -64,9 +64,9 @@
Summary: package kernel and initrd for OBS VM builds
License: GPL-2.0
Group: SLES
-Version: 5.2.10
+Version: 5.2.11
%if 0%{?is_kotd}
-Release: <RELEASE>.g5878ee6
+Release: <RELEASE>.g6385110
%else
Release: 0
%endif
++++++ kernel-obs-qa.spec ++++++
--- /var/tmp/diff_new_pack.zh2xi6/_old 2019-09-02 13:18:29.705383377 +0200
+++ /var/tmp/diff_new_pack.zh2xi6/_new 2019-09-02 13:18:29.705383377 +0200
@@ -17,7 +17,7 @@
# needsrootforbuild
-%define patchversion 5.2.10
+%define patchversion 5.2.11
%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: 5.2.10
+Version: 5.2.11
%if 0%{?is_kotd}
-Release: <RELEASE>.g5878ee6
+Release: <RELEASE>.g6385110
%else
Release: 0
%endif
++++++ kernel-pae.spec ++++++
--- /var/tmp/diff_new_pack.zh2xi6/_old 2019-09-02 13:18:29.721383374 +0200
+++ /var/tmp/diff_new_pack.zh2xi6/_new 2019-09-02 13:18:29.721383374 +0200
@@ -18,10 +18,11 @@
%define srcversion 5.2
-%define patchversion 5.2.10
+%define patchversion 5.2.11
%define variant %{nil}
%define vanilla_only 0
%define compress_modules none
+%define livepatch %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -63,9 +64,9 @@
Summary: Kernel with PAE Support
License: GPL-2.0
Group: System/Kernel
-Version: 5.2.10
+Version: 5.2.11
%if 0%{?is_kotd}
-Release: <RELEASE>.g5878ee6
+Release: <RELEASE>.g6385110
%else
Release: 0
%endif
@@ -170,10 +171,10 @@
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
-Provides: kernel-%build_flavor-base-srchash-5878ee66182973951394c95f74851a1df456dd71
-Provides: kernel-srchash-5878ee66182973951394c95f74851a1df456dd71
+Provides: kernel-%build_flavor-base-srchash-638511006109a60917e424dc002a3599671ec2c0
+Provides: kernel-srchash-638511006109a60917e424dc002a3599671ec2c0
# END COMMON DEPS
-Provides: %name-srchash-5878ee66182973951394c95f74851a1df456dd71
+Provides: %name-srchash-638511006109a60917e424dc002a3599671ec2c0
%ifarch %ix86
Provides: kernel-bigsmp = 2.6.17
Obsoletes: kernel-bigsmp <= 2.6.17
@@ -1252,42 +1253,46 @@
/usr/src/linux-obj/%kmp_target_cpu
%endif
-%if %CONFIG_SUSE_KERNEL_SUPPORTED == "y"
-%package livepatch
-Summary: Metapackage to pull in matching kernel-livepatch package
+%if "%livepatch" != "" && %CONFIG_SUSE_KERNEL_SUPPORTED == "y" && "%variant" == ""
+%if %livepatch == kgraft
+%define patch_package %{livepatch}-patch
+%else
+%define patch_package kernel-%{livepatch}
+%endif
+%package %{livepatch}
+Summary: Metapackage to pull in matching %patch_package package
Group: System/Kernel
-Requires: kernel-livepatch-%(echo %version-%source_rel | sed 'y/\./_/')-%build_flavor
+Requires: %{patch_package}-%(echo %{version}-%{source_rel} | sed 'y/\./_/')-%{build_flavor}
Provides: kernel-default-kgraft = %version
Provides: kernel-xen-kgraft = %version
Provides: multiversion(kernel)
Obsoletes: kernel-default-kgraft < %version
Obsoletes: kernel-xen-kgraft < %version
-%description livepatch
-This is a metapackage that pulls in the matching kernel-livepatch package for a
+%description %{livepatch}
+This is a metapackage that pulls in the matching %patch_package package for a
given kernel version. The advantage of the metapackage is that its name is
-static, unlike the kernel-livepatch-<kernel-version>-flavor package names.
+static, unlike the %{patch_package}-<kernel-version>-flavor package names.
-%files livepatch
+%files %{livepatch}
# rpmlint complains about empty packages, so lets own something
%defattr(-, root, root)
%dir /lib/modules/%kernelrelease-%build_flavor
%endif
-%if 0%{?klp_symbols}
-
-%package livepatch-devel
-Summary: Kernel symbols file used during livepatch development
+%if 0%{?klp_symbols} && "%livepatch" != ""
+%package %{livepatch}-devel
+Summary: Kernel symbols file used during kGraft patch development
Group: System/Kernel
Provides: klp-symbols = %version
-%description livepatch-devel
+%description %{livepatch}-devel
This package brings a file named Symbols.list, which contains a list of all
kernel symbols and its respective kernel object . This list is to be used by
the klp-convert tool, which helps livepatch developers by enabling automatic
symbol resolution.
-%files livepatch-devel
+%files %{livepatch}-devel
%defattr(-, root, root)
%dir %obj_install_dir
%dir %obj_install_dir/%cpu_arch
++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.zh2xi6/_old 2019-09-02 13:18:29.741383371 +0200
+++ /var/tmp/diff_new_pack.zh2xi6/_new 2019-09-02 13:18:29.741383371 +0200
@@ -18,7 +18,7 @@
%define srcversion 5.2
-%define patchversion 5.2.10
+%define patchversion 5.2.11
%define variant %{nil}
%define vanilla_only 0
@@ -30,9 +30,9 @@
Summary: The Linux Kernel Sources
License: GPL-2.0
Group: Development/Sources
-Version: 5.2.10
+Version: 5.2.11
%if 0%{?is_kotd}
-Release: <RELEASE>.g5878ee6
+Release: <RELEASE>.g6385110
%else
Release: 0
%endif
@@ -43,7 +43,7 @@
BuildRequires: sed
Requires(post): coreutils sed
Provides: %name = %version-%source_rel
-Provides: %name-srchash-5878ee66182973951394c95f74851a1df456dd71
+Provides: %name-srchash-638511006109a60917e424dc002a3599671ec2c0
Provides: linux
Provides: multiversion(kernel)
Source0: http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz
++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.zh2xi6/_old 2019-09-02 13:18:29.757383369 +0200
+++ /var/tmp/diff_new_pack.zh2xi6/_new 2019-09-02 13:18:29.757383369 +0200
@@ -24,10 +24,10 @@
Summary: Kernel Symbol Versions (modversions)
License: GPL-2.0
Group: Development/Sources
-Version: 5.2.10
+Version: 5.2.11
%if %using_buildservice
%if 0%{?is_kotd}
-Release: <RELEASE>.g5878ee6
+Release: <RELEASE>.g6385110
%else
Release: 0
%endif
@@ -50,12 +50,9 @@
%ifarch %ix86
Requires: kernel-pae-devel = %version-%source_rel
%endif
-%ifarch s390x
-Requires: kernel-zfcpdump-devel = %version-%source_rel
-%endif
Requires: pesign-obs-integration
Provides: %name = %version-%source_rel
-Provides: %name-srchash-5878ee66182973951394c95f74851a1df456dd71
+Provides: %name-srchash-638511006109a60917e424dc002a3599671ec2c0
Provides: multiversion(kernel)
Source: README.KSYMS
Requires: kernel-devel%variant = %version-%source_rel
++++++ kernel-vanilla.spec ++++++
--- /var/tmp/diff_new_pack.zh2xi6/_old 2019-09-02 13:18:29.769383367 +0200
+++ /var/tmp/diff_new_pack.zh2xi6/_new 2019-09-02 13:18:29.769383367 +0200
@@ -18,10 +18,11 @@
%define srcversion 5.2
-%define patchversion 5.2.10
+%define patchversion 5.2.11
%define variant %{nil}
%define vanilla_only 0
%define compress_modules none
+%define livepatch %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -63,9 +64,9 @@
Summary: The Standard Kernel - without any SUSE patches
License: GPL-2.0
Group: System/Kernel
-Version: 5.2.10
+Version: 5.2.11
%if 0%{?is_kotd}
-Release: <RELEASE>.g5878ee6
+Release: <RELEASE>.g6385110
%else
Release: 0
%endif
@@ -170,10 +171,10 @@
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
-Provides: kernel-%build_flavor-base-srchash-5878ee66182973951394c95f74851a1df456dd71
-Provides: kernel-srchash-5878ee66182973951394c95f74851a1df456dd71
+Provides: kernel-%build_flavor-base-srchash-638511006109a60917e424dc002a3599671ec2c0
+Provides: kernel-srchash-638511006109a60917e424dc002a3599671ec2c0
# END COMMON DEPS
-Provides: %name-srchash-5878ee66182973951394c95f74851a1df456dd71
+Provides: %name-srchash-638511006109a60917e424dc002a3599671ec2c0
%obsolete_rebuilds %name
Source0: http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz
Source2: source-post.sh
@@ -1196,42 +1197,46 @@
/usr/src/linux-obj/%kmp_target_cpu
%endif
-%if %CONFIG_SUSE_KERNEL_SUPPORTED == "y"
-%package livepatch
-Summary: Metapackage to pull in matching kernel-livepatch package
+%if "%livepatch" != "" && %CONFIG_SUSE_KERNEL_SUPPORTED == "y" && "%variant" == ""
+%if %livepatch == kgraft
+%define patch_package %{livepatch}-patch
+%else
+%define patch_package kernel-%{livepatch}
+%endif
+%package %{livepatch}
+Summary: Metapackage to pull in matching %patch_package package
Group: System/Kernel
-Requires: kernel-livepatch-%(echo %version-%source_rel | sed 'y/\./_/')-%build_flavor
+Requires: %{patch_package}-%(echo %{version}-%{source_rel} | sed 'y/\./_/')-%{build_flavor}
Provides: kernel-default-kgraft = %version
Provides: kernel-xen-kgraft = %version
Provides: multiversion(kernel)
Obsoletes: kernel-default-kgraft < %version
Obsoletes: kernel-xen-kgraft < %version
-%description livepatch
-This is a metapackage that pulls in the matching kernel-livepatch package for a
+%description %{livepatch}
+This is a metapackage that pulls in the matching %patch_package package for a
given kernel version. The advantage of the metapackage is that its name is
-static, unlike the kernel-livepatch-<kernel-version>-flavor package names.
+static, unlike the %{patch_package}-<kernel-version>-flavor package names.
-%files livepatch
+%files %{livepatch}
# rpmlint complains about empty packages, so lets own something
%defattr(-, root, root)
%dir /lib/modules/%kernelrelease-%build_flavor
%endif
-%if 0%{?klp_symbols}
-
-%package livepatch-devel
-Summary: Kernel symbols file used during livepatch development
+%if 0%{?klp_symbols} && "%livepatch" != ""
+%package %{livepatch}-devel
+Summary: Kernel symbols file used during kGraft patch development
Group: System/Kernel
Provides: klp-symbols = %version
-%description livepatch-devel
+%description %{livepatch}-devel
This package brings a file named Symbols.list, which contains a list of all
kernel symbols and its respective kernel object . This list is to be used by
the klp-convert tool, which helps livepatch developers by enabling automatic
symbol resolution.
-%files livepatch-devel
+%files %{livepatch}-devel
%defattr(-, root, root)
%dir %obj_install_dir
%dir %obj_install_dir/%cpu_arch
kernel-zfcpdump.spec: same change
++++++ _constraints ++++++
--- /var/tmp/diff_new_pack.zh2xi6/_old 2019-09-02 13:18:29.905383346 +0200
+++ /var/tmp/diff_new_pack.zh2xi6/_new 2019-09-02 13:18:29.909383345 +0200
@@ -1,5 +1,5 @@
<constraints>
- <!-- Default 25GB for binary packages -->
+ <!-- Default 35GB for binary packages -->
<overwrite>
<conditions>
<package>kernel-64kb</package>
@@ -13,7 +13,7 @@
</conditions>
<hardware>
<disk>
- <size unit="G">25</size>
+ <size unit="G">35</size>
</disk>
<memory>
<size unit="G">4</size>
@@ -49,7 +49,7 @@
</hardware>
</overwrite>
- <!-- 10GB of disk and 2GB of memory for binary package on s390x -->
+ <!-- 14GB for binary package on s390x -->
<overwrite>
<conditions>
<arch>s390x</arch>
@@ -64,7 +64,7 @@
</conditions>
<hardware>
<disk>
- <size unit="G">10</size>
+ <size unit="G">14</size>
</disk>
<memory>
<size unit="G">2</size>
++++++ check-module-license ++++++
--- /var/tmp/diff_new_pack.zh2xi6/_old 2019-09-02 13:18:29.941383341 +0200
+++ /var/tmp/diff_new_pack.zh2xi6/_new 2019-09-02 13:18:29.941383341 +0200
@@ -1,7 +1,7 @@
#!/bin/sh
rc=0
-for file in $(find "$@" -name '*.ko'); do
+for file in $(find "$@" -name '*.ko' -o -name '*.ko.xz'); do
l=$(/sbin/modinfo -F license "$file")
if [ -z "$l" ]; then
echo "ERROR: No license is included for module ${file##*/lib/modules/}"
++++++ config.conf ++++++
--- /var/tmp/diff_new_pack.zh2xi6/_old 2019-09-02 13:18:29.989383333 +0200
+++ /var/tmp/diff_new_pack.zh2xi6/_new 2019-09-02 13:18:29.989383333 +0200
@@ -39,4 +39,4 @@
+s390x s390x/default
+s390x s390x/vanilla
-+s390x s390x/zfcpdump
++s390x -syms s390x/zfcpdump
++++++ config.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/arm64/default new/config/arm64/default
--- old/config/arm64/default 2019-08-18 18:12:47.000000000 +0200
+++ new/config/arm64/default 2019-08-26 08:55:09.000000000 +0200
@@ -4499,7 +4499,7 @@
# CONFIG_I2C_EXYNOS5 is not set
CONFIG_I2C_GPIO=m
# CONFIG_I2C_GPIO_FAULT_INJECTOR is not set
-# CONFIG_I2C_IMX is not set
+CONFIG_I2C_IMX=m
CONFIG_I2C_IMX_LPI2C=m
CONFIG_I2C_KEMPLD=m
CONFIG_I2C_MESON=m
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/i386/pae new/config/i386/pae
--- old/config/i386/pae 2019-08-18 18:12:47.000000000 +0200
+++ new/config/i386/pae 2019-08-26 08:55:09.000000000 +0200
@@ -408,7 +408,7 @@
CONFIG_MICROCODE=y
CONFIG_MICROCODE_INTEL=y
CONFIG_MICROCODE_AMD=y
-CONFIG_MICROCODE_OLD_INTERFACE=y
+# CONFIG_MICROCODE_OLD_INTERFACE is not set
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m
# CONFIG_NOHIGHMEM is not set
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/x86_64/default new/config/x86_64/default
--- old/config/x86_64/default 2019-08-18 18:12:47.000000000 +0200
+++ new/config/x86_64/default 2019-08-26 08:55:09.000000000 +0200
@@ -397,7 +397,7 @@
CONFIG_MICROCODE=y
CONFIG_MICROCODE_INTEL=y
CONFIG_MICROCODE_AMD=y
-CONFIG_MICROCODE_OLD_INTERFACE=y
+# CONFIG_MICROCODE_OLD_INTERFACE is not set
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m
# CONFIG_X86_5LEVEL is not set
++++++ constraints.in ++++++
--- /var/tmp/diff_new_pack.zh2xi6/_old 2019-09-02 13:18:30.241383294 +0200
+++ /var/tmp/diff_new_pack.zh2xi6/_new 2019-09-02 13:18:30.245383294 +0200
@@ -1,12 +1,12 @@
<constraints>
- <!-- Default 25GB for binary packages -->
+ <!-- Default 35GB for binary packages -->
<overwrite>
<conditions>
@BINARY_PACKAGES_XML@
</conditions>
<hardware>
<disk>
- <size unit="G">25</size>
+ <size unit="G">35</size>
</disk>
<memory>
<size unit="G">4</size>
@@ -42,7 +42,7 @@
</hardware>
</overwrite>
- <!-- 10GB of disk and 2GB of memory for binary package on s390x -->
+ <!-- 14GB for binary package on s390x -->
<overwrite>
<conditions>
<arch>s390x</arch>
@@ -50,7 +50,7 @@
</conditions>
<hardware>
<disk>
- <size unit="G">10</size>
+ <size unit="G">14</size>
</disk>
<memory>
<size unit="G">2</size>
++++++ kernel-binary.spec.in ++++++
--- /var/tmp/diff_new_pack.zh2xi6/_old 2019-09-02 13:18:30.341383279 +0200
+++ /var/tmp/diff_new_pack.zh2xi6/_new 2019-09-02 13:18:30.341383279 +0200
@@ -22,6 +22,7 @@
%define variant @VARIANT@%{nil}
%define vanilla_only @VANILLA_ONLY@
%define compress_modules @COMPRESS_MODULES@
+%define livepatch @LIVEPATCH@%{nil}
%include %_sourcedir/kernel-spec-macros
@@ -1056,42 +1057,46 @@
/usr/src/linux-obj/%kmp_target_cpu
%endif
-%if %CONFIG_SUSE_KERNEL_SUPPORTED == "y"
-%package livepatch
-Summary: Metapackage to pull in matching kernel-livepatch package
+%if "%livepatch" != "" && %CONFIG_SUSE_KERNEL_SUPPORTED == "y" && "%variant" == ""
+%if %livepatch == kgraft
+%define patch_package %{livepatch}-patch
+%else
+%define patch_package kernel-%{livepatch}
+%endif
+%package %{livepatch}
+Summary: Metapackage to pull in matching %patch_package package
Group: System/Kernel
-Requires: kernel-livepatch-%(echo %version-%source_rel | sed 'y/\./_/')-%build_flavor
+Requires: %{patch_package}-%(echo %{version}-%{source_rel} | sed 'y/\./_/')-%{build_flavor}
Provides: kernel-default-kgraft = %version
Provides: kernel-xen-kgraft = %version
Provides: multiversion(kernel)
Obsoletes: kernel-default-kgraft < %version
Obsoletes: kernel-xen-kgraft < %version
-%description livepatch
-This is a metapackage that pulls in the matching kernel-livepatch package for a
+%description %{livepatch}
+This is a metapackage that pulls in the matching %patch_package package for a
given kernel version. The advantage of the metapackage is that its name is
-static, unlike the kernel-livepatch-<kernel-version>-flavor package names.
+static, unlike the %{patch_package}-<kernel-version>-flavor package names.
-%files livepatch
+%files %{livepatch}
# rpmlint complains about empty packages, so lets own something
%defattr(-, root, root)
%dir /lib/modules/%kernelrelease-%build_flavor
%endif
-%if 0%{?klp_symbols}
-
-%package livepatch-devel
-Summary: Kernel symbols file used during livepatch development
+%if 0%{?klp_symbols} && "%livepatch" != ""
+%package %{livepatch}-devel
+Summary: Kernel symbols file used during kGraft patch development
Group: System/Kernel
Provides: klp-symbols = %version
-%description livepatch-devel
+%description %{livepatch}-devel
This package brings a file named Symbols.list, which contains a list of all
kernel symbols and its respective kernel object . This list is to be used by
the klp-convert tool, which helps livepatch developers by enabling automatic
symbol resolution.
-%files livepatch-devel
+%files %{livepatch}-devel
%defattr(-, root, root)
%dir %obj_install_dir
%dir %obj_install_dir/%cpu_arch
++++++ kernel-module-subpackage ++++++
--- /var/tmp/diff_new_pack.zh2xi6/_old 2019-09-02 13:18:30.405383269 +0200
+++ /var/tmp/diff_new_pack.zh2xi6/_new 2019-09-02 13:18:30.409383269 +0200
@@ -79,7 +79,7 @@
%{?regenerate_initrd_posttrans}
%preun -n %{-n*}-kmp-%1
nvr=%{-n*}-kmp-%1-%_this_kmp_version-%{-r*}
-rpm -ql $nvr | sed -n '/\.ko$/p' > /var/run/rpm-$nvr-modules
+rpm -ql $nvr | sed -n '/\.ko\(\.xz\)\?$/p' > /var/run/rpm-$nvr-modules
%postun -n %{-n*}-kmp-%1
nvr=%{-n*}-kmp-%1-%_this_kmp_version-%{-r*}
modules=( $(cat /var/run/rpm-$nvr-modules) )
++++++ mergedep ++++++
--- /var/tmp/diff_new_pack.zh2xi6/_old 2019-09-02 13:18:30.541383248 +0200
+++ /var/tmp/diff_new_pack.zh2xi6/_new 2019-09-02 13:18:30.541383248 +0200
@@ -7,10 +7,12 @@
| \
while read l ; do
MOD=$(echo "$l" | sed -e 's/:.*//')
+ MOD=$(basename $MOD .xz)
MOD=$(basename $MOD .ko)
DEPS="$(echo "$l" | sed -e 's/.*://')"
moddeps=""
for dep in $DEPS ; do
+ dep=$(basename $dep .xz)
dep=$(basename $dep .ko)
moddeps="$moddeps $dep"
done
++++++ mkspec ++++++
--- /var/tmp/diff_new_pack.zh2xi6/_old 2019-09-02 13:18:30.549383247 +0200
+++ /var/tmp/diff_new_pack.zh2xi6/_new 2019-09-02 13:18:30.549383247 +0200
@@ -38,9 +38,19 @@
my ($srcversion, $variant, $vanilla_only) =
($vars{'SRCVERSION'}, $vars{'VARIANT'}, $vars{'VANILLA_ONLY'});
my $compress_modules = 'none';
+my $build_dtbs = ();
+my $livepatch = "";
if (defined($vars{'COMPRESS_MODULES'})) {
$compress_modules = $vars{'COMPRESS_MODULES'};
}
+if (defined($vars{'BUILD_DTBS'})) {
+ $build_dtbs = $vars{'BUILD_DTBS'};
+ $build_dtbs = () if $build_dtbs =~ /^(0+|no|false)$/i;
+}
+if (defined($vars{'LIVEPATCH'})) {
+ $livepatch = $vars{'LIVEPATCH'};
+ $livepatch = "" if $livepatch =~ /^(0+|no|none)$/i;
+}
$vanilla_only ||= "0";
if (!defined ($rpmrelease)) {
$rpmrelease = $vars{'RELEASE'} || 0;
@@ -80,7 +90,8 @@
my $tarball_url;
if ($srcversion =~ /^(\d+)(?:\.\d+)*(-rc\d+)?$/) {
$tarball_url = "http://www.kernel.org/pub/linux/kernel/v$1.x/";
- $tarball_url .= "testing/" if $2;
+ $tarball_url = "" if $2; # kernel.org has no tarballs for rc kernels
+ # rc tarballs only available from git as https://git.kernel.org/torvalds/t/linux-*.gz
} else {
# kernel.org has no tarballs for linux-next or vanilla snapshots
$tarball_url = "";
@@ -103,6 +114,7 @@
NOSOURCE => $nosource,
UNPACK_PATCHES => $unpack_patches,
SCRIPTS => $scripts,
+ LIVEPATCH => $livepatch,
YEAR => (localtime time)[5] + 1900,
COMPRESS_MODULES => $compress_modules,
);
@@ -209,7 +221,7 @@
}
# dtb-*.spec
-if (!$variant) {
+if (!$variant && $build_dtbs) {
do_spec('dtb', "dtb.spec.in", %macros);
print "./mkspec-dtb $all_archs\n";
system("./mkspec-dtb $all_archs\n");
++++++ modflist ++++++
--- /var/tmp/diff_new_pack.zh2xi6/_old 2019-09-02 13:18:30.577383242 +0200
+++ /var/tmp/diff_new_pack.zh2xi6/_new 2019-09-02 13:18:30.577383242 +0200
@@ -6,5 +6,5 @@
while read MOD ; do
[ -n "$MOD" ] || continue
- cat $flist | grep /$MOD[.]ko\$ >> $output || { grep -q /$MOD[.]ko\$ $mod_builtin && echo Module $MOD built-in ;} || echo Module $MOD missing
+ cat $flist | grep -E "/$MOD[.]ko([.]xz)?\$" >> $output || { grep -q /$MOD[.]ko\$ $mod_builtin && echo Module $MOD built-in ;} || echo Module $MOD missing
done < $modules
++++++ patches.kernel.org.tar.bz2 ++++++
++++ 13385 lines of diff (skipped)
++++++ patches.suse.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/Fix-a-double-free-bug-in-rsi_91x_deinit.patch new/patches.suse/Fix-a-double-free-bug-in-rsi_91x_deinit.patch
--- old/patches.suse/Fix-a-double-free-bug-in-rsi_91x_deinit.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.suse/Fix-a-double-free-bug-in-rsi_91x_deinit.patch 2019-08-29 08:41:19.000000000 +0200
@@ -0,0 +1,40 @@
+From: Hui Peng <benquike(a)gmail.com>
+Date: Mon, 19 Aug 2019 18:02:29 -0400
+Subject: Fix a double free bug in rsi_91x_deinit
+References: bnc#1147116 CVE-2019-15504
+Patch-mainline: Submitted, http://patchwork.ozlabs.org/patch/1149623/
+
+`dev` (struct rsi_91x_usbdev *) field of adapter
+(struct rsi_91x_usbdev *) is allocated and initialized in
+`rsi_init_usb_interface`. If any error is detected in information
+read from the device side, `rsi_init_usb_interface` will be
+freed. However, in the higher level error handling code in
+`rsi_probe`, if error is detected, `rsi_91x_deinit` is called
+again, in which `dev` will be freed again, resulting double free.
+
+This patch fixes the double free by removing the free operation on
+`dev` in `rsi_init_usb_interface`, because `rsi_91x_deinit` is also
+used in `rsi_disconnect`, in that code path, the `dev` field is not
+ (and thus needs to be) freed.
+
+This bug was found in v4.19, but is also present in the latest version
+of kernel.
+
+Reported-by: Hui Peng <benquike(a)gmail.com>
+Reported-by: Mathias Payer <mathias.payer(a)nebelwelt.net>
+Signed-off-by: Hui Peng <benquike(a)gmail.com>
+Acked-by: Benjamin Poirier <bpoirier(a)suse.com>
+---
+ drivers/net/wireless/rsi/rsi_91x_usb.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/drivers/net/wireless/rsi/rsi_91x_usb.c
++++ b/drivers/net/wireless/rsi/rsi_91x_usb.c
+@@ -645,7 +645,6 @@ fail_rx:
+ kfree(rsi_dev->tx_buffer);
+
+ fail_eps:
+- kfree(rsi_dev);
+
+ return status;
+ }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/mwifiex-Fix-three-heap-overflow-at-parsing-element.patch new/patches.suse/mwifiex-Fix-three-heap-overflow-at-parsing-element.patch
--- old/patches.suse/mwifiex-Fix-three-heap-overflow-at-parsing-element.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.suse/mwifiex-Fix-three-heap-overflow-at-parsing-element.patch 2019-08-29 08:41:19.000000000 +0200
@@ -0,0 +1,75 @@
+From: Wen Huang <huangwenabc(a)gmail.com>
+Subject: [PATCH] mwifiex: Fix three heap overflow at parsing element in
+ cfg80211_ap_settings
+Date: Wed, 28 Aug 2019 10:07:51 +0800
+Message-id: <20190828020751.13625-1-huangwenabc(a)gmail.com>
+Patch-mainline: Submitted, https://patchwork.kernel.org/patch/11117681/
+References: CVE-2019-14814,bsc#1146512,CVE-2019-14815,bsc#1146514,CVE-2019-14816,bsc#1146516
+
+mwifiex_update_vs_ie(),mwifiex_set_uap_rates() and
+mwifiex_set_wmm_params() call memcpy() without checking
+the destination size.Since the source is given from
+user-space, this may trigger a heap buffer overflow.
+
+Fix them by putting the length check before performing memcpy().
+
+This fix addresses CVE-2019-14814,CVE-2019-14815,CVE-2019-14816.
+
+Signed-off-by: Wen Huang <huangwenabc(a)gmail.com>
+Acked-by: Ganapathi Bhat <gbhat(a)marvell.comg>
+Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
+
+---
+ drivers/net/wireless/marvell/mwifiex/ie.c | 3 +++
+ drivers/net/wireless/marvell/mwifiex/uap_cmd.c | 9 ++++++++-
+ 2 files changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/net/wireless/marvell/mwifiex/ie.c b/drivers/net/wireless/marvell/mwifiex/ie.c
+index 653d347a9..580387f9f 100644
+--- a/drivers/net/wireless/marvell/mwifiex/ie.c
++++ b/drivers/net/wireless/marvell/mwifiex/ie.c
+@@ -241,6 +241,9 @@ static int mwifiex_update_vs_ie(const u8 *ies, int ies_len,
+ }
+
+ vs_ie = (struct ieee_types_header *)vendor_ie;
++ if (le16_to_cpu(ie->ie_length) + vs_ie->len + 2 >
++ IEEE_MAX_IE_SIZE)
++ return -EINVAL;
+ memcpy(ie->ie_buffer + le16_to_cpu(ie->ie_length),
+ vs_ie, vs_ie->len + 2);
+ le16_unaligned_add_cpu(&ie->ie_length, vs_ie->len + 2);
+diff --git a/drivers/net/wireless/marvell/mwifiex/uap_cmd.c b/drivers/net/wireless/marvell/mwifiex/uap_cmd.c
+index 18f7d9bf3..0939a8c8f 100644
+--- a/drivers/net/wireless/marvell/mwifiex/uap_cmd.c
++++ b/drivers/net/wireless/marvell/mwifiex/uap_cmd.c
+@@ -265,6 +265,8 @@ mwifiex_set_uap_rates(struct mwifiex_uap_bss_param *bss_cfg,
+
+ rate_ie = (void *)cfg80211_find_ie(WLAN_EID_SUPP_RATES, var_pos, len);
+ if (rate_ie) {
++ if (rate_ie->len > MWIFIEX_SUPPORTED_RATES)
++ return;
+ memcpy(bss_cfg->rates, rate_ie + 1, rate_ie->len);
+ rate_len = rate_ie->len;
+ }
+@@ -272,8 +274,11 @@ mwifiex_set_uap_rates(struct mwifiex_uap_bss_param *bss_cfg,
+ rate_ie = (void *)cfg80211_find_ie(WLAN_EID_EXT_SUPP_RATES,
+ params->beacon.tail,
+ params->beacon.tail_len);
+- if (rate_ie)
++ if (rate_ie) {
++ if (rate_ie->len > MWIFIEX_SUPPORTED_RATES - rate_len)
++ return;
+ memcpy(bss_cfg->rates + rate_len, rate_ie + 1, rate_ie->len);
++ }
+
+ return;
+ }
+@@ -391,6 +396,8 @@ mwifiex_set_wmm_params(struct mwifiex_private *priv,
+ params->beacon.tail_len);
+ if (vendor_ie) {
+ wmm_ie = vendor_ie;
++ if (*(wmm_ie + 1) > sizeof(struct mwifiex_types_wmm_info))
++ return;
+ memcpy(&bss_cfg->wmm_info, wmm_ie +
+ sizeof(struct ieee_types_header), *(wmm_ie + 1));
+ priv->wmm_enabled = 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/net-ath10k-Fix-a-NULL-ptr-deref-bug.patch new/patches.suse/net-ath10k-Fix-a-NULL-ptr-deref-bug.patch
--- old/patches.suse/net-ath10k-Fix-a-NULL-ptr-deref-bug.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.suse/net-ath10k-Fix-a-NULL-ptr-deref-bug.patch 2019-08-29 08:41:19.000000000 +0200
@@ -0,0 +1,69 @@
+From: Hui Peng <benquike(a)gmail.com>
+Subject: [PATCH] Fix a NULL-ptr-deref bug in ath10k_usb_alloc_urb_from_pipe
+Date: Sat, 3 Aug 2019 20:31:01 -0400
+Message-id: <20190804003101.11541-1-benquike(a)gmail.com>
+Patch-mainline: Submitted, https://patchwork.kernel.org/patch/11074657/
+References: CVE-2019-15099,bsc#1146368
+
+The `ar_usb` field of `ath10k_usb_pipe_usb_pipe` objects
+are initialized to point to the containing `ath10k_usb` object
+according to endpoint descriptors read from the device side, as shown
+below in `ath10k_usb_setup_pipe_resources`:
+
+for (i = 0; i < iface_desc->desc.bNumEndpoints; ++i) {
+ endpoint = &iface_desc->endpoint[i].desc;
+
+ // get the address from endpoint descriptor
+ pipe_num = ath10k_usb_get_logical_pipe_num(ar_usb,
+ endpoint->bEndpointAddress,
+ &urbcount);
+ ......
+ // select the pipe object
+ pipe = &ar_usb->pipes[pipe_num];
+
+ // initialize the ar_usb field
+ pipe->ar_usb = ar_usb;
+}
+
+The driver assumes that the addresses reported in endpoint
+descriptors from device side to be complete. If a device is
+malicious and does not report complete addresses, it may trigger
+NULL-ptr-deref `ath10k_usb_alloc_urb_from_pipe` and
+`ath10k_usb_free_urb_to_pipe`.
+
+This patch fixes the bug by preventing potential NULL-ptr-deref.
+
+Signed-off-by: Hui Peng <benquike(a)gmail.com>
+Reported-by: Hui Peng <benquike(a)gmail.com>
+Reported-by: Mathias Payer <mathias.payer(a)nebelwelt.net>
+Reviewed-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
+Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
+
+---
+ drivers/net/wireless/ath/ath10k/usb.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+--- a/drivers/net/wireless/ath/ath10k/usb.c
++++ b/drivers/net/wireless/ath/ath10k/usb.c
+@@ -38,6 +38,10 @@ ath10k_usb_alloc_urb_from_pipe(struct at
+ struct ath10k_urb_context *urb_context = NULL;
+ unsigned long flags;
+
++ /* bail if this pipe is not initialized */
++ if (!pipe->ar_usb)
++ return NULL;
++
+ spin_lock_irqsave(&pipe->ar_usb->cs_lock, flags);
+ if (!list_empty(&pipe->urb_list_head)) {
+ urb_context = list_first_entry(&pipe->urb_list_head,
+@@ -55,6 +59,10 @@ static void ath10k_usb_free_urb_to_pipe(
+ {
+ unsigned long flags;
+
++ /* bail if this pipe is not initialized */
++ if (!pipe->ar_usb)
++ return;
++
+ spin_lock_irqsave(&pipe->ar_usb->cs_lock, flags);
+
+ pipe->urb_cnt++;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/net-ath6kl-Fix-a-NULL-ptr-deref-bug.patch new/patches.suse/net-ath6kl-Fix-a-NULL-ptr-deref-bug.patch
--- old/patches.suse/net-ath6kl-Fix-a-NULL-ptr-deref-bug.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.suse/net-ath6kl-Fix-a-NULL-ptr-deref-bug.patch 2019-08-29 08:41:19.000000000 +0200
@@ -0,0 +1,69 @@
+From: Hui Peng <benquike(a)gmail.com>
+Subject: [PATCH] Fix a NULL-ptr-deref bug in ath6kl_usb_alloc_urb_from_pipe
+Date: Sat, 3 Aug 2019 20:29:04 -0400
+Message-id: <20190804002905.11292-1-benquike(a)gmail.com>
+Patch-mainline: Submitted, https://patchwork.kernel.org/patch/11074655/
+References: CVE-2019-15098,bsc#1146378,CVE-2019-15290,bsc#1146543
+
+The `ar_usb` field of `ath6kl_usb_pipe_usb_pipe` objects
+are initialized to point to the containing `ath6kl_usb` object
+according to endpoint descriptors read from the device side, as shown
+below in `ath6kl_usb_setup_pipe_resources`:
+
+for (i = 0; i < iface_desc->desc.bNumEndpoints; ++i) {
+ endpoint = &iface_desc->endpoint[i].desc;
+
+ // get the address from endpoint descriptor
+ pipe_num = ath6kl_usb_get_logical_pipe_num(ar_usb,
+ endpoint->bEndpointAddress,
+ &urbcount);
+ ......
+ // select the pipe object
+ pipe = &ar_usb->pipes[pipe_num];
+
+ // initialize the ar_usb field
+ pipe->ar_usb = ar_usb;
+}
+
+The driver assumes that the addresses reported in endpoint
+descriptors from device side to be complete. If a device is
+malicious and does not report complete addresses, it may trigger
+NULL-ptr-deref `ath6kl_usb_alloc_urb_from_pipe` and
+`ath6kl_usb_free_urb_to_pipe`.
+
+This patch fixes the bug by preventing potential NULL-ptr-deref.
+
+Signed-off-by: Hui Peng <benquike(a)gmail.com>
+Reported-by: Hui Peng <benquike(a)gmail.com>
+Reported-by: Mathias Payer <mathias.payer(a)nebelwelt.net>
+Reviewed-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
+Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
+
+---
+ drivers/net/wireless/ath/ath6kl/usb.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+--- a/drivers/net/wireless/ath/ath6kl/usb.c
++++ b/drivers/net/wireless/ath/ath6kl/usb.c
+@@ -132,6 +132,10 @@ ath6kl_usb_alloc_urb_from_pipe(struct at
+ struct ath6kl_urb_context *urb_context = NULL;
+ unsigned long flags;
+
++ /* bail if this pipe is not initialized */
++ if (!pipe->ar_usb)
++ return NULL;
++
+ spin_lock_irqsave(&pipe->ar_usb->cs_lock, flags);
+ if (!list_empty(&pipe->urb_list_head)) {
+ urb_context =
+@@ -150,6 +154,10 @@ static void ath6kl_usb_free_urb_to_pipe(
+ {
+ unsigned long flags;
+
++ /* bail if this pipe is not initialized */
++ if (!pipe->ar_usb)
++ return;
++
+ spin_lock_irqsave(&pipe->ar_usb->cs_lock, flags);
+ pipe->urb_cnt++;
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/x86-apic-Handle-missing-global-clockevent-gracefully.patch new/patches.suse/x86-apic-Handle-missing-global-clockevent-gracefully.patch
--- old/patches.suse/x86-apic-Handle-missing-global-clockevent-gracefully.patch 2019-08-25 19:33:34.000000000 +0200
+++ new/patches.suse/x86-apic-Handle-missing-global-clockevent-gracefully.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,172 +0,0 @@
-From: Thomas Gleixner <tglx(a)linutronix.de>
-Date: Fri, 9 Aug 2019 14:54:07 +0200
-Subject: x86/apic: Handle missing global clockevent gracefully
-Patch-mainline: submitted on 2019/08/09
-References: bnc#1142926
-
-Some newer machines do not advertise legacy timers. The kernel can handle
-that situation if the TSC and the CPU frequency are enumerated by CPUID or
-MSRs and the CPU supports TSC deadline timer. If the CPU does not support
-TSC deadline timer the local APIC timer frequency has to be known as well.
-
-Some Ryzens machines do not advertize legacy timers, but there is no
-reliable way to determine the bus frequency which feeds the local APIC
-timer when the machine allows overclocking of that frequency.
-
-As there is no legacy timer the local APIC timer calibration crashes due to
-a NULL pointer dereference when accessing the not installed global clock
-event device.
-
-Switch the calibration loop to a non interrupt based one, which polls
-either TSC (frequency known) or jiffies. The latter requires a global
-clockevent. As the machines which do not have a global clockevent installed
-have a known TSC frequency this is a non issue. For older machines where
-TSC frequency is not known, there is no known case where the legacy timers
-do not exist as that would have been reported long ago.
-
-Reported-by: Daniel Drake <drake(a)endlessm.com>
-Reported-by: Jiri Slaby <jslaby(a)suse.cz>
-Signed-off-by: Thomas Gleixner <tglx(a)linutronix.de>
-Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
----
- arch/x86/kernel/apic/apic.c | 70 ++++++++++++++++++++++++++++---------
- include/linux/acpi_pmtmr.h | 10 ++++++
- 2 files changed, 64 insertions(+), 16 deletions(-)
-
-diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
-index 831274e3c09f..ee3f570b3482 100644
---- a/arch/x86/kernel/apic/apic.c
-+++ b/arch/x86/kernel/apic/apic.c
-@@ -851,7 +851,8 @@ bool __init apic_needs_pit(void)
- static int __init calibrate_APIC_clock(void)
- {
- struct clock_event_device *levt = this_cpu_ptr(&lapic_events);
-- void (*real_handler)(struct clock_event_device *dev);
-+ u64 tsc_perj = 0, tsc_start = 0;
-+ unsigned long jif_start;
- unsigned long deltaj;
- long delta, deltatsc;
- int pm_referenced = 0;
-@@ -878,28 +879,64 @@ static int __init calibrate_APIC_clock(void)
- apic_printk(APIC_VERBOSE, "Using local APIC timer interrupts.\n"
- "calibrating APIC timer ...\n");
-
-- local_irq_disable();
--
-- /* Replace the global interrupt handler */
-- real_handler = global_clock_event->event_handler;
-- global_clock_event->event_handler = lapic_cal_handler;
-+ /*
-+ * There are platforms w/o global clockevent devices. Instead of
-+ * making the calibration conditional on that, use a polling based
-+ * approach everywhere.
-+ */
-
-+ local_irq_disable();
- /*
- * Setup the APIC counter to maximum. There is no way the lapic
- * can underflow in the 100ms detection time frame
- */
- __setup_APIC_LVTT(0xffffffff, 0, 0);
-
-- /* Let the interrupts run */
-- local_irq_enable();
-+ /*
-+ * Methods to terminate the calibration loop:
-+ * 1) Global clockevent if available (jiffies)
-+ * 2) TSC if available and frequency is known
-+ */
-+ jif_start = READ_ONCE(jiffies);
-
-- while (lapic_cal_loops <= LAPIC_CAL_LOOPS)
-- cpu_relax();
-+ if (tsc_khz) {
-+ tsc_start = rdtsc();
-+ tsc_perj = div_u64((u64)tsc_khz * 1000, HZ);
-+ }
-
-- local_irq_disable();
-+ while (lapic_cal_loops <= LAPIC_CAL_LOOPS) {
-+ /*
-+ * Enable interrupts so the tick can fire, if a global
-+ * clockevent device is available
-+ */
-+ local_irq_enable();
-+
-+ /* Wait for a tick to elapse */
-+ while (1) {
-+ if (tsc_khz) {
-+ u64 tsc_now = rdtsc();
-+ if ((tsc_now - tsc_start) >= tsc_perj) {
-+ tsc_start += tsc_perj;
-+ break;
-+ }
-+ } else {
-+ unsigned long jif_now = READ_ONCE(jiffies);
-+
-+ if (time_after(jif_now, jif_start)) {
-+ jif_start = jif_now;
-+ break;
-+ }
-+ }
-+ cpu_relax();
-+ }
-
-- /* Restore the real event handler */
-- global_clock_event->event_handler = real_handler;
-+ /* Invoke the calibration routine */
-+ local_irq_disable();
-+ lapic_cal_handler(NULL);
-+ local_irq_enable();
-+ }
-+
-+ local_irq_disable();
-
- /* Build delta t1-t2 as apic timer counts down */
- delta = lapic_cal_t1 - lapic_cal_t2;
-@@ -943,10 +980,11 @@ static int __init calibrate_APIC_clock(void)
- levt->features &= ~CLOCK_EVT_FEAT_DUMMY;
-
- /*
-- * PM timer calibration failed or not turned on
-- * so lets try APIC timer based calibration
-+ * PM timer calibration failed or not turned on so lets try APIC
-+ * timer based calibration, if a global clockevent device is
-+ * available.
- */
-- if (!pm_referenced) {
-+ if (!pm_referenced && global_clock_event) {
- apic_printk(APIC_VERBOSE, "... verify APIC timer\n");
-
- /*
-diff --git a/include/linux/acpi_pmtmr.h b/include/linux/acpi_pmtmr.h
-index 50d88bf1498d..0e0b4026ef05 100644
---- a/include/linux/acpi_pmtmr.h
-+++ b/include/linux/acpi_pmtmr.h
-@@ -18,6 +18,11 @@
- extern u32 acpi_pm_read_verified(void);
- extern u32 pmtmr_ioport;
-
-+static inline bool acpi_pm_timer_available(void)
-+{
-+ return pmtmr_ioport != 0;
-+}
-+
- static inline u32 acpi_pm_read_early(void)
- {
- if (!pmtmr_ioport)
-@@ -28,6 +33,11 @@ static inline u32 acpi_pm_read_early(void)
-
- #else
-
-+static inline bool acpi_pm_timer_available(void)
-+{
-+ return false;
-+}
-+
- static inline u32 acpi_pm_read_early(void)
- {
- return 0;
---
-2.22.0
-
++++++ preun.sh ++++++
--- /var/tmp/diff_new_pack.zh2xi6/_old 2019-09-02 13:18:31.309383130 +0200
+++ /var/tmp/diff_new_pack.zh2xi6/_new 2019-09-02 13:18:31.309383130 +0200
@@ -1,4 +1,4 @@
if [ @BASE_PACKAGE@ = 0 ]; then
nvr=@SUBPACKAGE@-@RPM_VERSION_RELEASE@
- rpm -ql $nvr | grep '\.ko$' > /var/run/rpm-$nvr-modules
+ rpm -ql $nvr | grep '\.ko\(\.xz\)\?$' > /var/run/rpm-$nvr-modules
fi
++++++ series.conf ++++++
--- /var/tmp/diff_new_pack.zh2xi6/_old 2019-09-02 13:18:31.333383127 +0200
+++ /var/tmp/diff_new_pack.zh2xi6/_new 2019-09-02 13:18:31.337383125 +0200
@@ -1301,6 +1301,171 @@
patches.kernel.org/5.2.10-133-net-phy-consider-AN_RESTART-status-when-readi…
patches.kernel.org/5.2.10-134-netlink-Fix-nlmsg_parse-as-a-wrapper-for-stri…
patches.kernel.org/5.2.10-135-Linux-5.2.10.patch
+ patches.kernel.org/5.2.11-001-ASoC-simple_card_utils.h-care-NULL-dai-at-aso…
+ patches.kernel.org/5.2.11-002-ASoC-simple-card-fix-an-use-after-free-in-sim…
+ patches.kernel.org/5.2.11-003-ASoC-simple-card-fix-an-use-after-free-in-sim…
+ patches.kernel.org/5.2.11-004-ASoC-audio-graph-card-fix-use-after-free-in-g…
+ patches.kernel.org/5.2.11-005-ASoC-audio-graph-card-fix-an-use-after-free-i…
+ patches.kernel.org/5.2.11-006-ASoC-audio-graph-card-add-missing-const-at-gr…
+ patches.kernel.org/5.2.11-007-regulator-axp20x-fix-DCDCA-and-DCDCD-for-AXP8…
+ patches.kernel.org/5.2.11-008-regulator-axp20x-fix-DCDC5-and-DCDC6-for-AXP8…
+ patches.kernel.org/5.2.11-009-ASoC-samsung-odroid-fix-an-use-after-free-iss…
+ patches.kernel.org/5.2.11-010-ASoC-samsung-odroid-fix-a-double-free-issue-f…
+ patches.kernel.org/5.2.11-011-ASoC-Intel-bytcht_es8316-Add-quirk-for-Irbis-…
+ patches.kernel.org/5.2.11-012-HID-logitech-hidpp-add-USB-PID-for-a-few-more…
+ patches.kernel.org/5.2.11-013-HID-Add-044f-b320-ThrustMaster-Inc.-2-in-1-DT…
+ patches.kernel.org/5.2.11-014-MIPS-kernel-only-use-i8253-clocksource-with-p…
+ patches.kernel.org/5.2.11-015-mips-fix-cacheinfo.patch
+ patches.kernel.org/5.2.11-016-libbpf-sanitize-VAR-to-conservative-1-byte-IN…
+ patches.kernel.org/5.2.11-017-netfilter-ebtables-fix-a-memory-leak-bug-in-c…
+ patches.kernel.org/5.2.11-018-ASoC-dapm-Fix-handling-of-custom_stop_conditi…
+ patches.kernel.org/5.2.11-019-ASoC-SOF-use-__u32-instead-of-uint32_t-in-uap…
+ patches.kernel.org/5.2.11-020-spi-pxa2xx-Balance-runtime-PM-enable-disable-…
+ patches.kernel.org/5.2.11-021-bpf-sockmap-sock_map_delete-needs-to-use-xchg…
+ patches.kernel.org/5.2.11-022-bpf-sockmap-synchronize_rcu-before-free-ing-m…
+ patches.kernel.org/5.2.11-023-bpf-sockmap-only-create-entry-if-ulp-is-not-a…
+ patches.kernel.org/5.2.11-024-selftests-bpf-fix-sendmsg6_prog-on-s390.patch
+ patches.kernel.org/5.2.11-025-ASoC-dapm-fix-a-memory-leak-bug.patch
+ patches.kernel.org/5.2.11-026-bonding-Force-slave-speed-check-after-link-st…
+ patches.kernel.org/5.2.11-027-net-mvpp2-Don-t-check-for-3-consecutive-Idle-…
+ patches.kernel.org/5.2.11-028-selftests-forwarding-gre_multipath-Enable-IPv…
+ patches.kernel.org/5.2.11-029-selftests-forwarding-gre_multipath-Fix-flower…
+ patches.kernel.org/5.2.11-030-selftests-bpf-add-another-gso_segs-access.pat…
+ patches.kernel.org/5.2.11-031-libbpf-fix-using-uninitialized-ioctl-results.…
+ patches.kernel.org/5.2.11-032-can-dev-call-netif_carrier_off-in-register_ca…
+ patches.kernel.org/5.2.11-033-can-mcp251x-add-error-check-when-wq-alloc-fai…
+ patches.kernel.org/5.2.11-034-can-gw-Fix-error-path-of-cgw_module_init.patch
+ patches.kernel.org/5.2.11-035-ASoC-Fail-card-instantiation-if-DAI-format-se…
+ patches.kernel.org/5.2.11-036-Staging-fbtft-Fix-GPIO-handling.patch
+ patches.kernel.org/5.2.11-037-libbpf-silence-GCC8-warning-about-string-trun…
+ patches.kernel.org/5.2.11-038-st21nfca_connectivity_event_received-null-che…
+ patches.kernel.org/5.2.11-039-st_nci_hci_connectivity_event_received-null-c…
+ patches.kernel.org/5.2.11-040-nl-mac-80211-fix-interface-combinations-on-cr…
+ patches.kernel.org/5.2.11-041-ASoC-ti-davinci-mcasp-Fix-clk-PDIR-handling-f…
+ patches.kernel.org/5.2.11-042-ASoC-rockchip-Fix-mono-capture.patch
+ patches.kernel.org/5.2.11-043-ASoC-ti-davinci-mcasp-Correct-slot_width-pose…
+ patches.kernel.org/5.2.11-044-net-usb-qmi_wwan-Add-the-BroadMobi-BM818-card…
+ patches.kernel.org/5.2.11-045-qed-RDMA-Fix-the-hw_ver-returned-in-device-at…
+ patches.kernel.org/5.2.11-046-isdn-mISDN-hfcsusb-Fix-possible-null-pointer-…
+ patches.kernel.org/5.2.11-047-habanalabs-fix-F-W-download-in-BE-architectur…
+ patches.kernel.org/5.2.11-048-mac80211_hwsim-Fix-possible-null-pointer-dere…
+ patches.kernel.org/5.2.11-049-net-stmmac-manage-errors-returned-by-of_get_m…
+ patches.kernel.org/5.2.11-050-netfilter-ipset-Actually-allow-destination-MA…
+ patches.kernel.org/5.2.11-051-netfilter-ipset-Copy-the-right-MAC-address-in…
+ patches.kernel.org/5.2.11-052-netfilter-ipset-Fix-rename-concurrency-with-l…
+ patches.kernel.org/5.2.11-053-rxrpc-Fix-potential-deadlock.patch
+ patches.kernel.org/5.2.11-054-rxrpc-Fix-the-lack-of-notification-when-sendm…
+ patches.kernel.org/5.2.11-055-nvmem-Use-the-same-permissions-for-eeprom-as-…
+ patches.kernel.org/5.2.11-056-iwlwifi-mvm-avoid-races-in-rate-init-and-rate…
+ patches.kernel.org/5.2.11-057-iwlwifi-dbg_ini-move-iwl_dbg_tlv_load_bin-out…
+ patches.kernel.org/5.2.11-058-iwlwifi-dbg_ini-move-iwl_dbg_tlv_free-outside…
+ patches.kernel.org/5.2.11-059-iwlwifi-fix-locking-in-delayed-GTK-setting.pa…
+ patches.kernel.org/5.2.11-060-iwlwifi-mvm-send-LQ-command-always-ASYNC.patch
+ patches.kernel.org/5.2.11-061-enetc-Fix-build-error-without-PHYLIB.patch
+ patches.kernel.org/5.2.11-062-isdn-hfcsusb-Fix-mISDN-driver-crash-caused-by…
+ patches.kernel.org/5.2.11-063-net-phy-phy_led_triggers-Fix-a-possible-null-…
+ patches.kernel.org/5.2.11-064-perf-bench-numa-Fix-cpu0-binding.patch
+ patches.kernel.org/5.2.11-065-spi-pxa2xx-Add-support-for-Intel-Tiger-Lake.p…
+ patches.kernel.org/5.2.11-066-can-sja1000-force-the-string-buffer-NULL-term…
+ patches.kernel.org/5.2.11-067-can-peak_usb-force-the-string-buffer-NULL-ter…
+ patches.kernel.org/5.2.11-068-ASoC-amd-acp3x-use-dma_ops-of-parent-device-f…
+ patches.kernel.org/5.2.11-069-net-ethernet-qlogic-qed-force-the-string-buff…
+ patches.kernel.org/5.2.11-070-enetc-Select-PHYLIB-while-CONFIG_FSL_ENETC_VF…
+ patches.kernel.org/5.2.11-071-NFSv4-Fix-a-credential-refcount-leak-in-nfs41…
+ patches.kernel.org/5.2.11-072-NFSv4-When-recovering-state-fails-with-EAGAIN…
+ patches.kernel.org/5.2.11-073-NFSv4.1-Fix-open-stateid-recovery.patch
+ patches.kernel.org/5.2.11-074-NFSv4.1-Only-reap-expired-delegations.patch
+ patches.kernel.org/5.2.11-075-NFSv4-Fix-a-potential-sleep-while-atomic-in-n…
+ patches.kernel.org/5.2.11-076-NFS-Fix-regression-whereby-fscache-errors-are…
+ patches.kernel.org/5.2.11-077-HID-quirks-Set-the-INCREMENT_USAGE_ON_DUPLICA…
+ patches.kernel.org/5.2.11-078-HID-input-fix-a4tech-horizontal-wheel-custom-…
+ patches.kernel.org/5.2.11-079-drm-rockchip-Suspend-DP-late.patch
+ patches.kernel.org/5.2.11-080-SMB3-Fix-potential-memory-leak-when-processin…
+ patches.kernel.org/5.2.11-081-SMB3-Kernel-oops-mounting-a-encryptData-share…
+ patches.kernel.org/5.2.11-082-sched-deadline-Fix-double-accounting-of-rq-ru…
+ patches.kernel.org/5.2.11-083-sched-psi-Reduce-psimon-FIFO-priority.patch
+ patches.kernel.org/5.2.11-084-sched-psi-Do-not-require-setsched-permission-…
+ patches.kernel.org/5.2.11-085-s390-protvirt-avoid-memory-sharing-for-diag-3…
+ patches.kernel.org/5.2.11-086-s390-mm-fix-dump_pagetables-top-level-page-ta…
+ patches.kernel.org/5.2.11-087-s390-put-_stext-and-_etext-into-.text-section…
+ patches.kernel.org/5.2.11-088-ata-rb532_cf-Fix-unused-variable-warning-in-r…
+ patches.kernel.org/5.2.11-089-net-cxgb3_main-Fix-a-resource-leak-in-a-error…
+ patches.kernel.org/5.2.11-090-net-stmmac-Fix-issues-when-number-of-Queues-4…
+ patches.kernel.org/5.2.11-091-net-stmmac-tc-Do-not-return-a-fragment-entry.…
+ patches.kernel.org/5.2.11-092-drm-amdgpu-pin-the-csb-buffer-on-hw-init-for-…
+ patches.kernel.org/5.2.11-093-net-hisilicon-make-hip04_tx_reclaim-non-reent…
+ patches.kernel.org/5.2.11-094-net-hisilicon-fix-hip04-xmit-never-return-TX_…
+ patches.kernel.org/5.2.11-095-net-hisilicon-Fix-dma_map_single-failed-on-ar…
+ patches.kernel.org/5.2.11-096-NFSv4-Ensure-state-recovery-handles-ETIMEDOUT…
+ patches.kernel.org/5.2.11-097-libata-have-ata_scsi_rw_xlat-fail-invalid-pas…
+ patches.kernel.org/5.2.11-098-libata-add-SG-safety-checks-in-SFF-pio-transf…
+ patches.kernel.org/5.2.11-099-x86-lib-cpu-Address-missing-prototypes-warnin…
+ patches.kernel.org/5.2.11-100-drm-vmwgfx-fix-memory-leak-when-too-many-retr…
+ patches.kernel.org/5.2.11-101-block-aoe-Fix-kernel-crash-due-to-atomic-slee…
+ patches.kernel.org/5.2.11-102-block-bfq-handle-NULL-return-value-by-bfq_ini…
+ patches.kernel.org/5.2.11-103-perf-ftrace-Fix-failure-to-set-cpumask-when-o…
+ patches.kernel.org/5.2.11-104-perf-cpumap-Fix-writing-to-illegal-memory-in-…
+ patches.kernel.org/5.2.11-105-perf-pmu-events-Fix-missing-cpu_clk_unhalted.…
+ patches.kernel.org/5.2.11-106-dt-bindings-riscv-fix-the-schema-compatible-s…
+ patches.kernel.org/5.2.11-107-KVM-arm64-Don-t-write-junk-to-sysregs-on-rese…
+ patches.kernel.org/5.2.11-108-KVM-arm-Don-t-write-junk-to-CP15-registers-on…
+ patches.kernel.org/5.2.11-109-selftests-kvm-Adding-config-fragments.patch
+ patches.kernel.org/5.2.11-110-iwlwifi-mvm-disable-TX-AMSDU-on-older-NICs.pa…
+ patches.kernel.org/5.2.11-111-HID-wacom-correct-misreported-EKR-ring-values…
+ patches.kernel.org/5.2.11-112-HID-wacom-Correct-distance-scale-for-2nd-gen-…
+ patches.kernel.org/5.2.11-113-Revert-KVM-x86-mmu-Zap-only-the-relevant-page…
+ patches.kernel.org/5.2.11-114-Revert-dm-bufio-fix-deadlock-with-loop-device…
+ patches.kernel.org/5.2.11-115-clk-socfpga-stratix10-fix-rate-caclulationg-f…
+ patches.kernel.org/5.2.11-116-ceph-clear-page-dirty-before-invalidate-page.…
+ patches.kernel.org/5.2.11-117-ceph-don-t-try-fill-file_lock-on-unsuccessful…
+ patches.kernel.org/5.2.11-118-libceph-fix-PG-split-vs-OSD-re-connect-race.p…
+ patches.kernel.org/5.2.11-119-drm-amdgpu-gfx9-update-pg_flags-after-determi…
+ patches.kernel.org/5.2.11-120-drm-nouveau-Don-t-retry-infinitely-when-recei…
+ patches.kernel.org/5.2.11-121-scsi-ufs-Fix-NULL-pointer-dereference-in-ufsh…
+ patches.kernel.org/5.2.11-122-gpiolib-never-report-open-drain-source-lines-…
+ patches.kernel.org/5.2.11-123-Drivers-hv-vmbus-Fix-virt_to_hvpfn-for-X86_PA…
+ patches.kernel.org/5.2.11-124-userfaultfd_release-always-remove-uffd-flags-…
+ patches.kernel.org/5.2.11-125-x86-retpoline-Don-t-clobber-RFLAGS-during-CAL…
+ patches.kernel.org/5.2.11-126-x86-apic-Handle-missing-global-clockevent-gra…
+ patches.kernel.org/5.2.11-127-x86-CPU-AMD-Clear-RDRAND-CPUID-bit-on-AMD-fam…
+ patches.kernel.org/5.2.11-128-x86-boot-Save-fields-explicitly-zero-out-ever…
+ patches.kernel.org/5.2.11-129-x86-boot-Fix-boot-regression-caused-by-bootpa…
+ patches.kernel.org/5.2.11-130-IB-hfi1-Unsafe-PSN-checking-for-TID-RDMA-READ…
+ patches.kernel.org/5.2.11-131-IB-hfi1-Add-additional-checks-when-handling-T…
+ patches.kernel.org/5.2.11-132-IB-hfi1-Add-additional-checks-when-handling-T…
+ patches.kernel.org/5.2.11-133-IB-hfi1-Drop-stale-TID-RDMA-packets-that-caus…
+ patches.kernel.org/5.2.11-134-psi-get-poll_work-to-run-when-calling-poll-sy…
+ patches.kernel.org/5.2.11-135-dm-kcopyd-always-complete-failed-jobs.patch
+ patches.kernel.org/5.2.11-136-dm-dust-use-dust-block-size-for-badblocklist-…
+ patches.kernel.org/5.2.11-137-dm-btree-fix-order-of-block-initialization-in…
+ patches.kernel.org/5.2.11-138-dm-integrity-fix-a-crash-due-to-BUG_ON-in-__j…
+ patches.kernel.org/5.2.11-139-dm-raid-add-missing-cleanup-in-raid_ctr.patch
+ patches.kernel.org/5.2.11-140-dm-space-map-metadata-fix-missing-store-of-ap…
+ patches.kernel.org/5.2.11-141-dm-table-fix-invalid-memory-accesses-with-too…
+ patches.kernel.org/5.2.11-142-dm-zoned-improve-error-handling-in-reclaim.pa…
+ patches.kernel.org/5.2.11-143-dm-zoned-improve-error-handling-in-i-o-map-co…
+ patches.kernel.org/5.2.11-144-dm-zoned-properly-handle-backing-device-failu…
+ patches.kernel.org/5.2.11-145-genirq-Properly-pair-kobject_del-with-kobject…
+ patches.kernel.org/5.2.11-146-mm-z3fold.c-fix-race-between-migration-and-de…
+ patches.kernel.org/5.2.11-147-mm-page_alloc-move_freepages-should-not-exami…
+ patches.kernel.org/5.2.11-148-mm-memcontrol-flush-percpu-vmstats-before-rel…
+ patches.kernel.org/5.2.11-149-mm-memcontrol-flush-percpu-vmevents-before-re…
+ patches.kernel.org/5.2.11-150-mm-page_owner-handle-THP-splits-correctly.pat…
+ patches.kernel.org/5.2.11-151-mm-zsmalloc.c-migration-can-leave-pages-in-ZS…
+ patches.kernel.org/5.2.11-152-mm-zsmalloc.c-fix-race-condition-in-zs_destro…
+ patches.kernel.org/5.2.11-153-mm-kasan-fix-false-positive-invalid-free-repo…
+ patches.kernel.org/5.2.11-154-xfs-fix-missing-ILOCK-unlock-when-xfs_setattr…
+ patches.kernel.org/5.2.11-155-IB-hfi1-Drop-stale-TID-RDMA-packets.patch
+ patches.kernel.org/5.2.11-156-dm-zoned-fix-potential-NULL-dereference-in-dm…
+ patches.kernel.org/5.2.11-157-io_uring-fix-potential-hang-with-polled-IO.pa…
+ patches.kernel.org/5.2.11-158-io_uring-don-t-enter-poll-loop-if-we-have-CQE…
+ patches.kernel.org/5.2.11-159-io_uring-add-need_resched-check-in-inner-poll…
+ patches.kernel.org/5.2.11-160-powerpc-Allow-flush_-inval_-dcache_range-to-w…
+ patches.kernel.org/5.2.11-161-rxrpc-Fix-local-endpoint-refcounting.patch
+ patches.kernel.org/5.2.11-162-rxrpc-Fix-read-after-free-in-rxrpc_queue_loca…
+ patches.kernel.org/5.2.11-163-rxrpc-Fix-local-endpoint-replacement.patch
+ patches.kernel.org/5.2.11-164-rxrpc-Fix-local-refcounting.patch
+ patches.kernel.org/5.2.11-165-Linux-5.2.11.patch
########################################################
# Build fixes that apply to the vanilla kernel too.
@@ -1377,7 +1542,6 @@
########################################################
# x86_64/i386 biarch
########################################################
- patches.suse/x86-apic-Handle-missing-global-clockevent-gracefully.patch
########################################################
# x86 MCE/MCA (Machine Check Error/Architecture) extensions
@@ -1574,6 +1738,10 @@
# Wireless Networking
########################################################
patches.suse/b43-missing-firmware-info.patch
+ patches.suse/Fix-a-double-free-bug-in-rsi_91x_deinit.patch
+ patches.suse/net-ath10k-Fix-a-NULL-ptr-deref-bug.patch
+ patches.suse/net-ath6kl-Fix-a-NULL-ptr-deref-bug.patch
+ patches.suse/mwifiex-Fix-three-heap-overflow-at-parsing-element.patch
########################################################
# ISDN
++++++ source-timestamp ++++++
--- /var/tmp/diff_new_pack.zh2xi6/_old 2019-09-02 13:18:31.353383123 +0200
+++ /var/tmp/diff_new_pack.zh2xi6/_new 2019-09-02 13:18:31.357383123 +0200
@@ -1,3 +1,3 @@
-2019-08-25 17:33:34 +0000
-GIT Revision: 5878ee66182973951394c95f74851a1df456dd71
+2019-08-29 06:41:19 +0000
+GIT Revision: 638511006109a60917e424dc002a3599671ec2c0
GIT Branch: stable
++++++ split-modules ++++++
--- /var/tmp/diff_new_pack.zh2xi6/_old 2019-09-02 13:18:31.361383122 +0200
+++ /var/tmp/diff_new_pack.zh2xi6/_new 2019-09-02 13:18:31.365383121 +0200
@@ -59,8 +59,8 @@
tmp=$(mktemp -d)
mkdir "$tmp/empty"
-find "$opt_dir" -type f -name '*.ko' -printf '/%P\n' | \
- awk -F/ '{ n=$NF; gsub(/-/, "_", n); sub(/\.ko$/, "", n); print n " " $0; }' | \
+find "$opt_dir" -type f \( -name '*.ko' -o -name '*.ko.xz' \) -printf '/%P\n' | \
+ awk -F/ '{ n=$NF; gsub(/-/, "_", n); sub(/\.ko(\.xz)?$/, "", n); print n " " $0; }' | \
sort >"$tmp/all"
err=false
@@ -101,7 +101,7 @@
@for dep in $^; do echo "$$dep needed by $@"; done >> $(EXPLAIN)
endif
'
- sed -r 's:[^ ]*/([^/]*)\.ko\>:\1:g; y/-/_/' "$modules_dep"
+ sed -r 's:[^ ]*/([^/]*)\.ko(.xz)?\>:\1:g; y/-/_/' "$modules_dep"
) >"$tmp/dep"
add_dependent_modules()
1
0
Hello community,
here is the log from the commit of package unbound for openSUSE:Factory checked in at 2019-09-02 13:17:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/unbound (Old)
and /work/SRC/openSUSE:Factory/.unbound.new.7948 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "unbound"
Mon Sep 2 13:17:47 2019 rev:40 rq:726970 version:1.9.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/unbound/libunbound-devel-mini.changes 2019-08-05 10:34:36.395383022 +0200
+++ /work/SRC/openSUSE:Factory/.unbound.new.7948/libunbound-devel-mini.changes 2019-09-02 13:17:48.741389678 +0200
@@ -1,0 +2,78 @@
+Tue Aug 27 18:33:04 UTC 2019 - Michael Ströder <michael(a)stroeder.com>
+
+- update to 1.9.3
+
+Features:
+- PR #28: IPSet module, by Kevin Chou. Created a module to support
+ the ipset that could add the domain's ip to a list easily.
+ Needs libmnl, and --enable-ipset and config it, doc/README.ipset.md.
+- Merge PR #6: Python module: support multiple instances
+- Merge PR #5: Python module: define constant MODULE_RESTART_NEXT
+- Merge PR #4: Python module: assign something useful to the
+ per-query data store 'qdata'
+- Introduce `-V` option to print the version number and build options.
+ Previously reported build options like linked libs and linked modules
+ are now moved from `-h` to `-V` as well for consistency.
+- PACKAGE_BUGREPORT now also includes link to GitHub issues.
+
+Bug Fixes:
+- Fix #39: In libunbound, leftover logfile is close()d unpredictably.
+- Fix for #24: Fix abort due to scan of auth zone masters using old
+ address from previous scan.
+- Fix to omit RRSIGs from addition to the ipset.
+- Fix to make unbound-control with ipset, remove unused variable,
+ use unsigned type because of comparison, and assign null instead
+ of compare with it. Remade lex and yacc output.
+- make depend
+- Added documentation to the ipset files (for doxygen output).
+- Fix python dict reference and double free in config.
+- Fix memleak in unit test, reported from the clang 8.0 static analyzer.
+- For #45, check that 127.0.0.1 and ::1 are not used in unbound.conf
+ when do-not-query-localhost is turned on, or at default on,
+ unbound-checkconf prints a warning if it is found in forward-addr or
+ stub-addr statements.
+- Fix for possible assertion failure when answering respip CNAME from
+ cache.
+- Fix in respip addrtree selection. Absence of addr_tree_init_parents()
+ call made it impossible to go up the tree when the matching netmask is
+ too specific.
+- Fix #48: Unbound returns additional records on NODATA response,
+ if minimal-responses is enabled, also the additional for negative
+ responses is removed.
+- Fix #49: Set no renegotiation on the SSL context to stop client
+ session renegotiation.
+- Fix question section mismatch in local zone redirect.
+- Add verbose log message when auth zone file is written, at level 4.
+- Add hex print of trust anchor pointer to trust anchor file temp
+ name to make it unique, for libunbound created multiple contexts.
+- For #52 #53, second context does not close logfile override.
+- Fix #52 #53, fix for example fail program.
+- Fix to return after failed auth zone http chunk write.
+- Fix to remove unused test for task_probe existance.
+- Fix to timeval_add for remaining second in microseconds.
+- Check repinfo in worker_handle_request, if null, drop it.
+- Generate configlexer with newer flex.
+- Fix warning for unused variable for compilation without systemd.
+- Fix #59, when compiled with systemd support check that we can properly
+ communicate with systemd through the `NOTIFY_SOCKET`.
+- iana portlist updated.
+- Fix autotrust temp file uniqueness windows compile.
+- avoid warning about upcast on 32bit systems for autotrust.
+- escape commandline contents for -V.
+- Fix character buffer size in ub_ctx_hosts.
+- Option -V prints if TCP fastopen is available.
+- Fix unittest valgrind false positive uninitialised value report,
+ where if gcc 9.1.1 uses -O2 (but not -O1) then valgrind 3.15.0
+ issues an uninitialised value for the token buffer at the str2wire.c
+ rrinternal_get_owner() strcmp with the '@' value. Rewritten to use
+ straight character comparisons removes the false positive. Also
+ valgrinds --expensive-definedness-checks=yes can stop this false
+ positive.
+- Please doxygen's parser for "@" occurrence in doxygen comment.
+- Fixup contrib/fastrpz.patch
+- Remove warning about unknown cast-function-type warning pragma.
+- Document limitation of pidfile removal outside of chroot directory.
+- Fix log_dns_msg to log irrespective of minimal responses config.
+- Fix that pkg-config is setup before --enable-systemd needs it.
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/unbound/unbound.changes 2019-08-05 10:34:36.443382995 +0200
+++ /work/SRC/openSUSE:Factory/.unbound.new.7948/unbound.changes 2019-09-02 13:17:48.909389652 +0200
@@ -1,0 +2,84 @@
+Tue Aug 27 18:33:04 UTC 2019 - Michael Ströder <michael(a)stroeder.com>
+
+- update to 1.9.3
+
+Features:
+- PR #28: IPSet module, by Kevin Chou. Created a module to support
+ the ipset that could add the domain's ip to a list easily.
+ Needs libmnl, and --enable-ipset and config it, doc/README.ipset.md.
+- Merge PR #6: Python module: support multiple instances
+- Merge PR #5: Python module: define constant MODULE_RESTART_NEXT
+- Merge PR #4: Python module: assign something useful to the
+ per-query data store 'qdata'
+- Introduce `-V` option to print the version number and build options.
+ Previously reported build options like linked libs and linked modules
+ are now moved from `-h` to `-V` as well for consistency.
+- PACKAGE_BUGREPORT now also includes link to GitHub issues.
+
+Bug Fixes:
+- Fix #39: In libunbound, leftover logfile is close()d unpredictably.
+- Fix for #24: Fix abort due to scan of auth zone masters using old
+ address from previous scan.
+- Fix to omit RRSIGs from addition to the ipset.
+- Fix to make unbound-control with ipset, remove unused variable,
+ use unsigned type because of comparison, and assign null instead
+ of compare with it. Remade lex and yacc output.
+- make depend
+- Added documentation to the ipset files (for doxygen output).
+- Fix python dict reference and double free in config.
+- Fix memleak in unit test, reported from the clang 8.0 static analyzer.
+- For #45, check that 127.0.0.1 and ::1 are not used in unbound.conf
+ when do-not-query-localhost is turned on, or at default on,
+ unbound-checkconf prints a warning if it is found in forward-addr or
+ stub-addr statements.
+- Fix for possible assertion failure when answering respip CNAME from
+ cache.
+- Fix in respip addrtree selection. Absence of addr_tree_init_parents()
+ call made it impossible to go up the tree when the matching netmask is
+ too specific.
+- Fix #48: Unbound returns additional records on NODATA response,
+ if minimal-responses is enabled, also the additional for negative
+ responses is removed.
+- Fix #49: Set no renegotiation on the SSL context to stop client
+ session renegotiation.
+- Fix question section mismatch in local zone redirect.
+- Add verbose log message when auth zone file is written, at level 4.
+- Add hex print of trust anchor pointer to trust anchor file temp
+ name to make it unique, for libunbound created multiple contexts.
+- For #52 #53, second context does not close logfile override.
+- Fix #52 #53, fix for example fail program.
+- Fix to return after failed auth zone http chunk write.
+- Fix to remove unused test for task_probe existance.
+- Fix to timeval_add for remaining second in microseconds.
+- Check repinfo in worker_handle_request, if null, drop it.
+- Generate configlexer with newer flex.
+- Fix warning for unused variable for compilation without systemd.
+- Fix #59, when compiled with systemd support check that we can properly
+ communicate with systemd through the `NOTIFY_SOCKET`.
+- iana portlist updated.
+- Fix autotrust temp file uniqueness windows compile.
+- avoid warning about upcast on 32bit systems for autotrust.
+- escape commandline contents for -V.
+- Fix character buffer size in ub_ctx_hosts.
+- Option -V prints if TCP fastopen is available.
+- Fix unittest valgrind false positive uninitialised value report,
+ where if gcc 9.1.1 uses -O2 (but not -O1) then valgrind 3.15.0
+ issues an uninitialised value for the token buffer at the str2wire.c
+ rrinternal_get_owner() strcmp with the '@' value. Rewritten to use
+ straight character comparisons removes the false positive. Also
+ valgrinds --expensive-definedness-checks=yes can stop this false
+ positive.
+- Please doxygen's parser for "@" occurrence in doxygen comment.
+- Fixup contrib/fastrpz.patch
+- Remove warning about unknown cast-function-type warning pragma.
+- Document limitation of pidfile removal outside of chroot directory.
+- Fix log_dns_msg to log irrespective of minimal responses config.
+- Fix that pkg-config is setup before --enable-systemd needs it.
+
+-------------------------------------------------------------------
+Sun Aug 25 18:47:37 UTC 2019 - Christian Boltz <suse-beta(a)cboltz.de>
+
+- change tmpfiles-unbound.conf from /var/run/ to /run/ to silence
+ systemd-tmpfiles warning
+
+-------------------------------------------------------------------
Old:
----
unbound-1.9.2.tar.gz
New:
----
unbound-1.9.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libunbound-devel-mini.spec ++++++
--- /var/tmp/diff_new_pack.htNfHE/_old 2019-09-02 13:17:50.129389465 +0200
+++ /var/tmp/diff_new_pack.htNfHE/_new 2019-09-02 13:17:50.133389464 +0200
@@ -24,7 +24,7 @@
#
Name: libunbound-devel-mini
-Version: 1.9.2
+Version: 1.9.3
Release: 0
#
#
++++++ unbound.spec ++++++
--- /var/tmp/diff_new_pack.htNfHE/_old 2019-09-02 13:17:50.165389459 +0200
+++ /var/tmp/diff_new_pack.htNfHE/_new 2019-09-02 13:17:50.169389458 +0200
@@ -36,7 +36,7 @@
%define piddir /run
Name: unbound
-Version: 1.9.2
+Version: 1.9.3
Release: 0
#
#
++++++ tmpfiles-unbound.conf ++++++
--- /var/tmp/diff_new_pack.htNfHE/_old 2019-09-02 13:17:50.265389444 +0200
+++ /var/tmp/diff_new_pack.htNfHE/_new 2019-09-02 13:17:50.265389444 +0200
@@ -1 +1 @@
-D /var/run/unbound 0755 unbound unbound -
+D /run/unbound 0755 unbound unbound -
++++++ unbound-1.9.2.tar.gz -> unbound-1.9.3.tar.gz ++++++
++++ 15452 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-kiwi for openSUSE:Factory checked in at 2019-09-02 13:17:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-kiwi (Old)
and /work/SRC/openSUSE:Factory/.python-kiwi.new.7948 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-kiwi"
Mon Sep 2 13:17:39 2019 rev:47 rq:726411 version:9.18.12
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-kiwi/python-kiwi.changes 2019-08-14 11:36:34.328705457 +0200
+++ /work/SRC/openSUSE:Factory/.python-kiwi.new.7948/python-kiwi.changes 2019-09-02 13:17:40.717390912 +0200
@@ -1,0 +2,111 @@
+Tue Aug 20 09:48:00 CEST 2019 - Marcus Schäfer <ms(a)suse.de>
+
+- Bump version: 9.18.11 → 9.18.12
+
+-------------------------------------------------------------------
+Mon Aug 19 18:33:50 CEST 2019 - Marcus Schäfer <ms(a)suse.de>
+
+- Added MicroOS integration test
+
+ The future technologies team is implementing a coreOS derivate
+ based on btrfs and some overlay technology. For supporting them
+ some changes were required in kiwi and thus we should add an
+ integration test build which makes use of this features.
+
+-------------------------------------------------------------------
+Mon Aug 19 18:28:46 CEST 2019 - Marcus Schäfer <ms(a)suse.de>
+
+- Add required cryptomount coding for EFI boot
+
+ For non EFI boot grub2-install has code which gets activated
+ through the GRUB_ENABLE_CRYPTODISK setting. However for the
+ EFI boot case no installation of boot code is needed and
+ therefore the grub earlyboot script has to run cryptomount
+
+-------------------------------------------------------------------
+Mon Aug 19 14:34:08 CEST 2019 - Marcus Schäfer <ms(a)suse.de>
+
+- Add /mnt to list of protected paths
+
+ On recursive removal make sure /mnt belong to the protected
+ elements. This Fixes #1170
+
+-------------------------------------------------------------------
+Mon Aug 19 11:17:35 CEST 2019 - Marcus Schäfer <ms(a)suse.de>
+
+- Added full encrypted image build test
+
+-------------------------------------------------------------------
+Fri Aug 16 17:49:09 CEST 2019 - Marcus Schäfer <ms(a)suse.de>
+
+- Extended LUKS encryption support
+
+ We supported luks encrypted images with the exception of the
+ boot partition because grub was not able to read from an
+ encrypted device at that time. Since some time grub is able
+ to read from an encrypted partition and this commit add
+ support for it. With this patch luks encrypted images will
+ no longer create an extra boot partition and the entire
+ system will be encrypted. The opening of the luks container
+ happens on the grub level only once. Customers can still
+ specify to use an unencrypted extra boot partition with the
+ bootpartition="true" flag. In this case the opening of the
+ luks containers happens on the systemd level as before.
+ This is related to Issue #1162
+
+-------------------------------------------------------------------
+Thu Aug 15 09:52:27 CEST 2019 - Stefan Seyfried <stefan.seyfried(a)sap.com>
+
+- remove '-z' option from rsync local copy calls
+
+ rsync's "compress" option just does not make any sense when rsync is
+ used to copy files locally, it only increases CPU usage and slows down
+ the process ;-)
+
+-------------------------------------------------------------------
+Wed Aug 14 14:45:13 CEST 2019 - Marcus Schäfer <ms(a)suse.de>
+
+- Delete SuSEfirewall2 from test builds
+
+ The package seems to be no longer present on suse
+
+-------------------------------------------------------------------
+Wed Aug 14 12:01:34 CEST 2019 - Marcus Schäfer <ms(a)suse.de>
+
+- Bump version: 9.18.10 → 9.18.11
+
+-------------------------------------------------------------------
+Mon Aug 12 18:17:02 CEST 2019 - Marcus Schäfer <ms(a)suse.de>
+
+- Allow dracut initrd to be used with pxe type
+
+ The pxe image type builds a simple filesystem image plus a
+ custom initrd. That initrd is usually build from the kiwi
+ netboot image descriptions which implements a workflow to
+ fetch the filesystem image and deploy it as rootfs for a
+ pxe client. User who wants to implement their own handling
+ of the rootfs image in e.g a custom dracut module were not
+ able to build this image type because we did not allow
+ the initrd_system attribute for the pxe type
+
+-------------------------------------------------------------------
+Mon Aug 12 10:53:08 CEST 2019 - Marcus Schäfer <ms(a)suse.de>
+
+- Use message variable for long message text
+
+-------------------------------------------------------------------
+Mon Aug 12 10:42:11 CEST 2019 - Marcus Schäfer <ms(a)suse.de>
+
+- Fixed handling of bool values in initrd code
+
+ Some values evaluated in the initrd code are created in
+ the kiwi builder and passed in as a profile file. bool
+ values created by kiwi for use in shell scripts takes
+ the string 'true' or 'false' or are not set at all if not
+ specified in the kiwi XML description. Some code paths
+ in the initrd code uses the '-n' switch to check for bool
+ values, however if the string 'false' is passed '-n' will
+ do the wrong thing. Therefore a method for the initrd
+ code has been introduced to clearly handle bool values
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-kiwi.spec ++++++
--- /var/tmp/diff_new_pack.WWmf73/_old 2019-09-02 13:17:42.289390671 +0200
+++ /var/tmp/diff_new_pack.WWmf73/_new 2019-09-02 13:17:42.289390671 +0200
@@ -43,7 +43,7 @@
%endif
Name: python-kiwi
-Version: 9.18.10
+Version: 9.18.12
Provides: kiwi-schema = 7.1
Release: 0
Url: https://github.com/SUSE/kiwi
++++++ python-kiwi.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/.bumpversion.cfg new/kiwi-9.18.12/.bumpversion.cfg
--- old/kiwi-9.18.10/.bumpversion.cfg 2019-08-05 09:55:02.000000000 +0200
+++ new/kiwi-9.18.12/.bumpversion.cfg 2019-08-20 09:48:00.000000000 +0200
@@ -1,5 +1,5 @@
[bumpversion]
-current_version = 9.18.10
+current_version = 9.18.12
commit = True
tag = True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/.coverage new/kiwi-9.18.12/.coverage
--- old/kiwi-9.18.10/.coverage 1970-01-01 01:00:00.000000000 +0100
+++ new/kiwi-9.18.12/.coverage 2016-03-14 11:05:59.000000000 +0100
@@ -0,0 +1 @@
+!coverage.py: This is a private format, don't read it directly!{"lines": {"/home/ms/Project/kiwi-horizon/kiwi/storage/disk.py": [18, 19, 20, 23, 24, 25, 26, 27, 30, 33, 34, 38, 40, 41, 42, 43, 45, 46, 49, 51, 56, 57, 58, 59, 61, 63, 69, 71, 72, 73, 74, 75, 76, 78, 79, 80, 81, 82, 84, 85, 86, 87, 88, 89, 91, 92, 93, 94, 96, 97, 98, 99, 101, 102, 103, 104, 106, 107, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 120, 121, 123, 128, 129, 130, 131, 132, 133, 135, 136, 139, 140, 141, 143, 149, 151, 152, 154, 158, 159, 160, 161, 163, 165, 166, 169, 170, 171, 174, 175, 176, 177, 179, 180, 181, 182, 183, 184, 185, 188, 189, 190, 191, 194, 195, 197, 198, 199, 201, 202, 203, 204, 205, 206, 208, 209, 210, 211], "/home/ms/Project/kiwi-horizon/kiwi/package_manager/zypper.py": [18, 21, 22, 23, 29, 32, 33, 34, 35, 36, 38, 39, 40, 42, 43, 45, 46, 48, 49, 51, 55, 56, 57, 60, 61, 62, 64, 67, 68, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 84, 85, 86, 89, 90, 93, 94, 96, 99, 100, 103, 104, 105, 107, 110, 111, 114, 115, 116, 118, 123, 124, 127, 128, 129, 132, 133, 134, 135, 136, 137, 139, 140, 141, 142, 144, 145, 146, 148, 150, 151, 153, 154, 155, 156, 157, 159, 160, 161, 162, 164, 165, 166, 169, 171, 172, 173, 175, 177, 178, 179, 180], "/home/ms/Project/kiwi-horizon/kiwi/tasks/system_build.py": [129, 130, 131, 132, 134, 136, 137, 138, 139, 140, 141, 142, 143, 144, 146, 147, 150, 152, 155, 157, 158, 159, 160, 161, 163, 164, 165, 166, 169, 170, 171, 173, 174, 48, 49, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 64, 67, 68, 69, 70, 71, 73, 75, 76, 78, 79, 80, 83, 84, 87, 89, 90, 91, 94, 95, 97, 98, 99, 102, 104, 107, 109, 112, 114, 115, 116, 118, 119, 120, 121, 124, 126, 127], "/home/ms/Project/kiwi-horizon/kiwi/storage/luks_device.py": [128, 129, 130, 131, 132, 134, 135, 136, 137, 18, 21, 22, 23, 24, 26, 31, 34, 35, 39, 41, 42, 44, 46, 47, 48, 52, 56, 57, 58, 61, 67, 68, 69, 70, 71, 73, 74, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 93, 94, 95, 96, 97, 100, 101, 104, 106, 107, 110, 112, 113, 114, 115, 116, 117, 121, 125, 127], "/home/ms/Project/kiwi-horizon/kiwi/storage/subformat/qcow2.py": [32, 37, 20, 21, 24, 36, 27, 28, 29, 31], "/home/ms/Project/kiwi-horizon/kiwi/app.py": [], "/home/ms/Project/kiwi-horizon/kiwi/partitioner/msdos.py": [19, 20, 21, 23, 28, 31, 32, 33, 34, 37, 38, 39, 40, 41, 42, 43, 44, 47, 48, 50, 51, 52, 53, 54, 55, 56, 58, 59, 60, 63, 64, 65, 67, 68, 70, 71, 72, 74, 80, 82, 83, 84, 85, 87, 88, 89, 90, 92, 93, 94, 96, 97, 101, 103, 104, 108], "/home/ms/Project/kiwi-horizon/kiwi/cli.py": [50, 51, 52, 53, 54, 55, 56, 59, 65, 66, 67, 70, 73, 74, 75, 76, 77, 78, 80, 81, 83, 84, 85, 86, 87, 89, 90, 91, 92, 93, 94, 95, 97, 98, 101, 102, 103, 104, 105, 106, 107, 108, 109, 112, 113, 115, 116, 118, 119, 120, 121, 122, 123, 125, 126, 127, 128, 129, 130, 132, 133, 134, 136, 137, 139, 140, 141, 142, 143, 144, 145, 146, 148, 150, 151, 152, 153, 154, 155, 156, 159, 160, 161, 162, 164, 165, 167, 168, 170, 171, 172, 173, 174, 175], "/home/ms/Project/kiwi-horizon/kiwi/bootloader/config/isolinux.py": [18, 19, 22, 23, 24, 25, 26, 28, 34, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47, 50, 51, 52, 53, 54, 56, 57, 59, 60, 61, 62, 63, 64, 66, 67, 68, 70, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 88, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 108, 109, 110, 111, 112, 115, 116, 117, 119, 120, 121, 122, 123, 124, 125, 129, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 152, 153, 156, 157, 158, 160, 161, 162, 163, 164, 165, 166, 169, 172, 174, 176, 178, 179, 180, 181, 182, 183, 184, 186, 187, 190, 191, 193, 194, 195, 196], "/home/ms/Project/kiwi-horizon/kiwi/system/kernel.py": [18, 19, 22, 25, 28, 29, 30, 38, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 52, 53, 54, 57, 58, 59, 60, 61, 63, 64, 65, 68, 69, 70, 71, 72, 73, 74, 76, 78, 79, 80, 81, 82, 83, 84, 86], "/home/ms/Project/kiwi-horizon/kiwi/builder/pxe.py": [18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 31, 36, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 54, 55, 57, 59, 60, 61, 62, 65, 66, 67, 69, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 85, 86, 89, 90, 94, 95, 96, 97, 99, 100, 103, 104, 107, 108, 109, 113, 114, 115, 116, 117, 119, 120, 122, 123, 124, 125, 126, 127, 130, 131, 132, 136, 139, 140, 141, 142, 143, 144, 146, 147, 148, 149, 150, 151, 153, 154, 155, 156, 157, 158, 160, 161, 162, 163, 164, 165, 169, 170, 171, 172, 174, 175, 176, 178, 179, 180, 181, 183, 184, 185, 188, 189, 190, 193], "/home/ms/Project/kiwi-horizon/kiwi/bootloader/__init__.py": [1], "/home/ms/Project/kiwi-horizon/kiwi/xml_description.py": [18, 19, 20, 23, 24, 25, 27, 35, 41, 42, 43, 44, 46, 47, 48, 49, 50, 52, 53, 54, 56, 57, 58, 59, 61, 62, 63, 65, 66, 67, 69, 71, 72, 73, 74, 76, 77, 78, 79, 80, 83, 84, 86, 87, 88], "/home/ms/Project/kiwi-horizon/kiwi/storage/mapped_device.py": [32, 33, 34, 36, 37, 39, 40, 42, 43, 18, 21, 22, 27, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/storage/subformat/vhd.py": [35, 19, 20, 23, 36, 26, 27, 28, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/filesystem/xfs.py": [32, 33, 19, 20, 23, 26, 27, 28, 29, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/bootloader/template/grub2.py": [256, 257, 260, 265, 266, 267, 268, 269, 271, 272, 273, 18, 19, 276, 278, 279, 280, 281, 282, 27, 285, 34, 291, 292, 293, 295, 296, 297, 298, 299, 300, 45, 304, 336, 52, 309, 310, 311, 312, 313, 58, 315, 316, 317, 318, 319, 320, 321, 323, 324, 325, 326, 329, 335, 80, 337, 339, 340, 341, 342, 343, 344, 345, 90, 102, 274, 112, 275, 122, 22, 134, 144, 25, 154, 26, 69, 166, 301, 176, 186, 198, 208, 215, 218, 223, 224, 225, 226, 227, 229, 230, 231, 232, 233, 234, 236, 237, 238, 239, 242, 248, 249, 250, 252, 253, 254, 255], "/home/ms/Project/kiwi-horizon/kiwi/repository/__init__.py": [32, 33, 34, 35, 37, 38, 39, 19, 20, 22, 27, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/kiwi.py": [], "/home/ms/Project/kiwi-horizon/kiwi/storage/__init__.py": [1], "/home/ms/Project/kiwi-horizon/kiwi/storage/subformat/__init__.py": [19, 20, 21, 22, 23, 25, 30, 33, 34, 35, 36, 37, 39, 40, 41, 43, 44, 45, 46, 47, 48, 50, 51, 53, 54, 55, 56, 57, 58, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 78, 79], "/home/ms/Project/kiwi-horizon/kiwi/tasks/result_bundle.py": [41, 42, 43, 46, 47, 48, 49, 50, 51, 52, 53, 55, 60, 63, 64, 65, 66, 67, 70, 71, 72, 73, 74, 77, 78, 80, 81, 83, 84, 87, 88, 89, 90, 91, 94, 95, 96, 98, 99, 100, 102, 103, 105, 107, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 122, 123, 124, 126, 127], "/home/ms/Project/kiwi-horizon/kiwi/builder/__init__.py": [64, 19, 20, 21, 22, 23, 24, 25, 27, 32, 35, 36, 37, 38, 39, 40, 42, 43, 44, 46, 47, 48, 50, 51, 52, 54, 55, 56, 58, 59, 60, 63], "/home/ms/Project/kiwi-horizon/kiwi/filesystem/fat32.py": [32, 33, 19, 20, 23, 26, 27, 28, 29, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/tasks/system_create.py": [65, 66, 67, 69, 70, 71, 72, 74, 76, 77, 78, 79, 81, 82, 83, 84, 87, 88, 89, 91, 92, 37, 38, 41, 42, 43, 44, 45, 46, 47, 50, 53, 54, 55, 56, 57, 59, 61, 62], "/home/ms/Project/kiwi-horizon/kiwi/builder/container.py": [18, 21, 22, 23, 24, 25, 28, 31, 32, 33, 34, 35, 36, 37, 38, 40, 42, 43, 44, 45, 46, 49, 51, 52, 53, 54, 56, 57, 59, 60, 61, 63, 65, 66, 68, 69, 71, 72, 74, 75, 76, 77, 78, 79, 81, 82, 83, 84, 86, 87, 88, 90, 91, 92, 93, 95, 96, 97, 99], "/home/ms/Project/kiwi-horizon/kiwi/system/setup.py": [18, 19, 20, 21, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 40, 47, 48, 49, 50, 51, 52, 53, 55, 59, 60, 61, 62, 63, 64, 65, 67, 68, 69, 71, 73, 75, 77, 78, 81, 83, 84, 85, 86, 87, 88, 89, 91, 93, 97, 98, 101, 102, 103, 104, 106, 107, 108, 109, 111, 112, 113, 114, 115, 116, 119, 124, 126, 131, 132, 133, 134, 135, 136, 137, 140, 148, 149, 150, 151, 153, 155, 156, 158, 159, 160, 161, 162, 163, 165, 166, 168, 169, 170, 171, 173, 174, 175, 176, 178, 179, 180, 183, 184, 185, 186, 187, 188, 190, 191, 192, 193, 197, 198, 201, 202, 203, 204, 205, 206, 208, 209, 210, 211, 215, 216, 219, 220, 221, 222, 224, 225, 226, 227, 230, 234, 236, 237, 238, 239, 240, 241, 242, 243, 244, 247, 251, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 264, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 292, 293, 294, 295, 297, 299, 300, 301, 303, 304, 305, 306, 308, 309, 312, 316, 317, 318, 319, 320, 321, 323, 327, 328, 329, 330, 331, 332, 334, 335, 338, 343, 344, 345, 347, 348, 349, 350, 351, 354, 356, 357, 359, 360, 365, 366, 367, 369, 374, 375, 376, 378, 379, 380, 381, 382, 385, 386, 387, 389, 390, 391, 393, 394, 396, 397, 399, 400, 401, 404, 405, 406, 409, 415, 416, 419, 428, 430, 431, 432, 434, 435, 437, 439, 441, 443, 445, 447, 448, 450, 451, 452, 454, 455, 456, 458, 459, 460, 463, 464, 467, 468, 469, 470, 471, 475, 477, 478, 480, 481, 482, 483, 484, 487, 488, 489, 490, 491, 492, 495, 496, 497, 499, 500, 502, 503, 504, 505, 506, 507, 508, 515, 516, 517, 519, 521, 522, 523, 524, 526, 527, 529, 530, 531, 532, 535, 536, 538, 539, 541, 542, 544, 545, 547, 548, 549, 550, 553, 554, 555, 557, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 575, 576, 577, 578, 580, 581, 583, 585, 587, 592, 593, 594, 595, 597], "/home/ms/Project/kiwi-horizon/kiwi/volume_manager/base.py": [18, 19, 20, 23, 24, 25, 26, 27, 28, 30, 35, 38, 39, 43, 48, 50, 51, 52, 53, 54, 56, 58, 59, 60, 63, 65, 70, 72, 76, 78, 83, 85, 89, 91, 95, 97, 101, 103, 109, 111, 116, 117, 118, 119, 121, 126, 128, 134, 135, 136, 139, 140, 141, 142, 143, 144, 145, 147, 148, 149, 150, 151, 155, 161, 167, 168, 170, 183, 184, 186, 187, 188, 189, 190, 192, 194, 198, 199, 200, 201, 202, 203, 204, 205, 207, 209, 214, 216, 222], "/home/ms/Project/kiwi-horizon/kiwi/bootloader/config/grub2.py": [18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 31, 40, 43, 44, 45, 46, 47, 48, 49, 50, 52, 53, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 79, 81, 82, 83, 84, 86, 90, 91, 92, 93, 94, 95, 96, 99, 105, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 123, 124, 125, 126, 127, 130, 131, 132, 134, 135, 136, 137, 138, 142, 148, 149, 150, 151, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 166, 167, 168, 169, 170, 173, 174, 175, 176, 178, 179, 180, 181, 182, 186, 192, 193, 194, 195, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 210, 211, 212, 213, 214, 217, 218, 219, 220, 222, 223, 224, 225, 226, 229, 237, 238, 240, 241, 242, 244, 245, 247, 248, 251, 253, 254, 255, 258, 259, 260, 262, 264, 266, 268, 274, 276, 277, 279, 281, 282, 283, 284, 285, 286, 287, 290, 291, 293, 294, 295, 296, 298, 299, 301, 302, 304, 306, 307, 311, 315, 316, 317, 318, 321, 322, 324, 326, 327, 328, 329, 330, 331, 332, 335, 336, 337, 338, 340, 341, 342, 346, 347, 348, 349, 351, 352, 355, 356, 358, 359, 361, 362, 364, 365, 367, 368, 370, 371, 373, 374, 375, 376, 378, 379, 383, 384, 385, 386, 387, 388, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 401, 402, 403, 407, 408, 409, 411, 412, 413, 414, 416, 417, 420, 422, 423, 424, 427, 428, 429, 432, 434, 435, 436, 437, 439, 440, 442, 443, 444, 447, 453, 454, 455, 456, 458, 459], "/home/ms/Project/kiwi-horizon/kiwi/__init__.py": [1], "/home/ms/Project/kiwi-horizon/kiwi/boot/image/__init__.py": [32, 33, 34, 35, 36, 37, 38, 40, 41, 19, 20, 22, 27, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/bootloader/template/zipl.py": [65, 67, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 18, 19, 22, 25, 26, 27, 44, 47, 49, 57], "/home/ms/Project/kiwi-horizon/kiwi/bootloader/install/__init__.py": [32, 33, 34, 36, 37, 38, 41, 42, 19, 20, 22, 27, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/boot/image/kiwi.py": [129, 130, 131, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 32, 38, 39, 43, 44, 46, 48, 49, 50, 51, 52, 54, 55, 56, 58, 59, 62, 63, 65, 66, 68, 69, 70, 71, 73, 74, 75, 76, 78, 80, 81, 84, 85, 87, 88, 89, 97, 98, 99, 100, 102, 103, 105, 106, 107, 108, 109, 111, 112, 113, 115, 120, 122, 123, 124, 126, 127], "/home/ms/Project/kiwi-horizon/kiwi/builder/disk.py": [18, 19, 20, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 49, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 74, 75, 76, 77, 78, 80, 81, 83, 84, 86, 87, 89, 91, 92, 93, 94, 95, 98, 99, 100, 105, 110, 114, 117, 119, 120, 121, 122, 123, 127, 130, 131, 134, 137, 138, 139, 141, 143, 144, 148, 149, 150, 154, 157, 158, 159, 160, 163, 164, 165, 166, 168, 171, 174, 175, 177, 179, 181, 183, 185, 186, 187, 188, 190, 191, 193, 194, 196, 197, 199, 200, 201, 203, 204, 205, 206, 208, 209, 211, 214, 215, 218, 220, 222, 224, 225, 229, 231, 234, 237, 239, 241, 242, 246, 247, 248, 249, 251, 252, 253, 254, 257, 258, 259, 263, 264, 266, 267, 268, 269, 270, 271, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 289, 290, 291, 292, 293, 294, 295, 296, 297, 301, 302, 303, 304, 305, 307, 308, 309, 310, 311, 313, 314, 315, 319, 320, 321, 322, 324, 325, 326, 328, 329, 330, 331, 333, 334, 335, 338, 340, 341, 342, 344, 346, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 359, 360, 362, 363, 364, 365, 366, 368, 369, 371, 372, 374, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 388, 389, 391, 392, 394, 396, 397, 398, 399, 400, 401, 404, 405, 406, 407, 410, 411, 412, 413, 416, 417, 418, 419, 422, 423, 424, 426, 427, 428, 431, 432, 434, 435, 436, 438, 439, 440, 442, 443, 445, 446, 447, 448, 449, 450, 451, 453, 454, 455, 456, 457, 460, 461, 462, 463, 464, 467, 468, 469, 470, 473, 474, 475, 476, 478, 479, 483, 484, 485, 486, 487, 488, 490, 491, 492, 493, 495, 496, 498, 499, 500, 501, 502, 504, 506, 507, 510, 511, 514, 515, 517, 518, 519, 520, 521, 523, 524, 525, 526, 529, 530, 531, 532, 535, 536, 537, 538, 541, 542, 543, 545, 546, 547, 549, 551, 552, 555, 556, 557, 558, 560, 561, 562, 565, 566, 567, 568, 569, 572, 573, 574, 577, 578, 580, 581, 585, 586, 587, 589, 590, 592, 593, 594, 595, 596, 598, 601, 602, 603, 606, 607, 608], "/home/ms/Project/kiwi-horizon/kiwi/repository/yum.py": [18, 19, 20, 23, 24, 27, 30, 31, 32, 33, 34, 36, 43, 45, 46, 47, 50, 51, 55, 56, 58, 61, 62, 64, 65, 67, 68, 70, 71, 73, 74, 76, 77, 79, 80, 82, 83, 85, 86, 88, 89, 91, 92, 94, 95, 98, 100, 101, 102, 103, 106, 107, 108, 109, 111, 112, 114, 115, 116, 117, 118, 119, 121, 122, 124, 125, 126, 128, 129, 131, 132, 133, 136, 137, 138, 140, 144, 145, 146, 147, 148, 149, 151, 152, 153, 154, 155, 158, 159, 160], "/home/ms/Project/kiwi-horizon/kiwi/tasks/system_prepare.py": [128, 130, 131, 132, 133, 134, 135, 136, 137, 138, 140, 141, 144, 145, 146, 148, 149, 52, 53, 56, 57, 58, 59, 60, 61, 62, 63, 66, 69, 70, 71, 72, 73, 75, 77, 78, 81, 83, 84, 85, 88, 89, 91, 92, 93, 96, 99, 101, 104, 106, 107, 108, 109, 110, 112, 113, 114, 115, 118, 120, 121, 123, 124, 125, 126], "/home/ms/Project/kiwi-horizon/kiwi/filesystem/clicfs.py": [66, 67, 68, 69, 71, 72, 73, 74, 19, 22, 23, 24, 25, 26, 27, 28, 31, 34, 35, 36, 37, 39, 42, 43, 44, 45, 46, 48, 49, 50, 52, 53, 54, 55, 60, 62, 63], "/home/ms/Project/kiwi-horizon/kiwi/archive/tar.py": [18, 21, 24, 27, 28, 29, 30, 31, 33, 34, 35, 36, 41, 44, 45, 46, 47, 52, 55, 56, 58, 59, 60, 63, 64, 65, 68, 69, 70, 71, 74, 77, 79, 80, 81, 82, 84, 85, 86, 87, 88, 90, 92, 93, 94, 95, 96, 97], "/home/ms/Project/kiwi-horizon/kiwi/partitioner/__init__.py": [18, 21, 22, 23, 25, 30, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 54, 55], "/home/ms/Project/kiwi-horizon/kiwi/package_manager/__init__.py": [32, 34, 35, 36, 37, 39, 40, 41, 44, 45, 47, 19, 20, 22, 27, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/system/shell.py": [54, 39, 40, 41, 42, 44, 50, 61, 18, 51, 52, 21, 22, 56, 25, 58, 59, 28, 29, 53], "/home/ms/Project/kiwi-horizon/kiwi/data/compress.py": [18, 19, 22, 24, 30, 33, 34, 35, 36, 37, 39, 40, 42, 44, 45, 47, 49, 50, 52, 53, 54, 55, 57, 59, 61, 63, 64, 65, 66, 68, 70, 71, 72, 73, 74, 75, 77, 78, 79, 81, 83, 84, 86, 87, 89, 90, 91, 92, 93, 94, 95], "/home/ms/Project/kiwi-horizon/kiwi/tasks/system_update.py": [65, 66, 67, 68, 69, 71, 72, 73, 74, 75, 77, 79, 80, 82, 83, 84, 86, 87, 88, 91, 92, 93, 95, 96, 40, 42, 43, 44, 45, 47, 50, 53, 54, 55, 56, 57, 59, 61, 62], "/home/ms/Project/kiwi-horizon/kiwi/bootloader/template/__init__.py": [1], "/home/ms/Project/kiwi-horizon/kiwi/filesystem/ext2.py": [32, 33, 19, 20, 23, 26, 27, 28, 29, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/storage/subformat/vmdk.py": [18, 19, 22, 23, 24, 26, 31, 34, 35, 36, 38, 39, 43, 44, 47, 49, 59, 60, 61, 62, 64, 65, 67, 68, 69, 70, 71, 72, 73, 75, 76, 78, 79, 81, 82, 83, 84, 86, 87, 89, 90, 91, 92, 94, 95, 96, 98, 99, 100, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 113, 115, 118, 119, 121, 122], "/home/ms/Project/kiwi-horizon/kiwi/storage/subformat/vhdfixed.py": [128, 129, 132, 133, 134, 135, 18, 19, 20, 21, 24, 25, 27, 32, 35, 36, 38, 40, 41, 42, 43, 44, 45, 47, 48, 49, 51, 52, 56, 57, 60, 61, 63, 68, 69, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 83, 85, 86, 87, 91, 92, 95, 96, 99, 100, 103, 105, 107, 108, 110, 122, 123, 125, 126, 127], "/home/ms/Project/kiwi-horizon/kiwi/command_process.py": [19, 20, 22, 27, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 49, 50, 51, 52, 53, 54, 55, 56, 57, 59, 60, 61, 62, 63, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 79, 80, 82, 83, 84, 85, 86, 87, 90, 95, 96, 97, 99, 100, 101, 104, 105, 106, 109, 112, 113, 114, 115, 116, 117, 118, 119, 122, 123, 124, 125, 127, 130, 131, 132, 133, 134, 135, 136, 138, 139, 140, 141, 142, 144, 145, 146, 147, 148, 149, 150, 152, 154, 155, 156, 157, 159, 161, 163, 164, 166, 167, 169, 170, 172, 173, 175, 176], "/home/ms/Project/kiwi-horizon/kiwi/firmware.py": [18, 21, 23, 28, 33, 34, 35, 36, 37, 39, 40, 41, 44, 45, 46, 47, 48, 49, 52, 53, 54, 55, 56, 57, 59, 60, 61, 62, 64, 65, 66, 68, 70, 71, 72, 74, 76, 77, 78, 80, 81, 82, 84, 85, 86, 88, 90, 91, 92, 94, 96, 97, 98, 100, 102, 103, 104, 106, 108, 109, 110, 112, 114, 115, 116, 118], "/home/ms/Project/kiwi-horizon/kiwi/bootloader/config/zipl.py": [19, 20, 23, 24, 25, 26, 27, 28, 30, 38, 41, 42, 43, 44, 45, 46, 48, 49, 52, 53, 54, 57, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 70, 71, 73, 77, 78, 79, 80, 81, 82, 83, 85, 86, 88, 89, 90, 91, 96, 97, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 119, 120, 121, 122, 123, 124, 125, 128, 130, 132, 133, 135, 136, 137, 138, 139, 140, 143, 144, 145, 146, 149, 150, 151, 153, 154, 156, 157, 159, 160, 161, 162, 163, 164, 166, 168, 169, 170, 172, 173, 174, 175, 176, 178, 179, 181, 182, 183, 185, 186, 187, 188, 190, 191, 192, 194, 195, 196, 197, 199, 200, 202, 203, 204, 205, 206, 208, 209, 210, 211, 212, 213], "/home/ms/Project/kiwi-horizon/kiwi/data/checksum.py": [18, 19, 20, 23, 24, 26, 31, 34, 35, 36, 37, 38, 40, 41, 43, 44, 45, 47, 48, 49, 51, 53, 54, 55, 57, 58, 59, 61, 63, 64, 65, 66, 67, 68, 70, 71, 72, 75, 76, 78, 79, 80, 81, 82, 83, 87, 88, 89, 93, 94, 95, 96, 97, 98, 100, 101, 102, 103, 104, 105, 106, 107, 108, 110, 111, 112, 115, 116, 117, 118], "/home/ms/Project/kiwi-horizon/kiwi/iso.py": [18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 35, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 52, 54, 56, 57, 58, 59, 60, 64, 66, 67, 68, 69, 70, 71, 73, 74, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 87, 88, 89, 91, 92, 93, 94, 95, 96, 97, 99, 100, 102, 103, 105, 106, 107, 108, 111, 113, 114, 115, 116, 117, 119, 120, 121, 122, 123, 125, 126, 127, 128, 129, 131, 132, 134, 135, 136, 137, 138, 140, 141, 142, 143, 144, 145, 146, 148, 149, 151, 152, 153, 154, 155, 157, 158, 159, 161, 163, 173, 174, 175, 176, 177, 178, 179, 180, 182, 183, 184, 185, 186, 187, 188, 189, 191, 192, 194, 196, 197, 200, 202, 203, 204, 205, 206, 207, 210, 211, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 233, 234, 235, 236, 237, 238, 239, 240, 242, 243, 245, 247, 248, 249, 251, 252, 254, 255, 256, 257, 259, 260, 261, 262, 263, 264, 265, 266, 267, 269, 270, 273, 275, 277, 278, 279, 280, 282, 283, 284, 285, 286, 287, 289, 290, 291, 293, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 307, 308, 309, 310, 312, 313, 314, 316, 321, 322, 324, 325, 330, 331, 333, 334, 335, 336, 338, 340, 342, 343, 344, 345, 346, 347, 348, 349, 350, 353, 355, 356, 357, 358, 360, 361, 362, 363, 365, 366, 367, 368, 370, 371, 372, 373, 375, 376, 377, 378, 381, 383, 384, 386, 388, 389, 391, 392, 393, 395, 397, 398, 399], "/home/ms/Project/kiwi-horizon/kiwi/system/root_bind.py": [18, 21, 22, 23, 24, 26, 33, 37, 38, 39, 40, 41, 42, 46, 47, 48, 52, 53, 54, 55, 58, 60, 61, 62, 63, 64, 65, 67, 68, 69, 70, 71, 72, 75, 76, 77, 78, 79, 80, 81, 83, 84, 85, 86, 87, 88, 89, 92, 93, 94, 95, 96, 97, 98, 100, 101, 102, 104, 105, 106, 107, 110, 111, 112, 113, 114, 115, 117, 119, 120, 121, 122, 124, 126, 128, 129, 131, 136, 137, 138, 140, 141, 142, 143, 144, 147, 148, 149, 150, 151, 152, 153, 154, 155, 158, 160, 162, 163, 164, 165, 166, 167, 168, 170], "/home/ms/Project/kiwi-horizon/kiwi/tasks/base.py": [18, 19, 20, 23, 24, 25, 27, 32, 36, 37, 38, 40, 43, 46, 49, 52, 54, 56, 57, 59, 62, 63, 64, 67, 68, 70, 71, 72, 74, 75, 77, 78, 79, 80, 82, 83, 84, 87, 88, 90, 91, 92, 93, 94, 95, 98, 99, 100, 101, 102, 104, 105, 106, 107, 110, 111, 112], "/home/ms/Project/kiwi-horizon/kiwi/system/root_init.py": [128, 129, 18, 19, 20, 23, 24, 25, 27, 33, 38, 39, 40, 41, 42, 44, 46, 47, 49, 50, 51, 52, 54, 55, 56, 57, 58, 59, 61, 62, 63, 65, 66, 68, 69, 71, 72, 74, 75, 77, 78, 80, 81, 83, 84, 86, 87, 89, 90, 92, 93, 95, 96, 98, 99, 102, 103, 104, 105, 106, 108, 109, 110, 111, 113, 114, 115, 116, 117, 120, 121, 122, 123, 124, 125, 126, 127], "/home/ms/Project/kiwi-horizon/kiwi/defaults.py": [18, 19, 20, 21, 22, 25, 28, 29, 30, 32, 34, 36, 38, 40, 42, 44, 47, 48, 49, 50, 53, 55, 56, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 77, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 107, 109, 110, 111, 112, 113, 115, 117, 119, 120, 121, 122, 123, 124, 125, 126, 128, 130, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 217, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 235, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, 256, 258, 260, 262, 265, 266, 269, 271, 272, 273, 276, 278, 279, 280, 283, 285, 287, 289, 291, 293, 295, 297, 299, 301, 303, 305, 307, 309, 311, 313, 315, 317, 319, 321, 323, 324, 325, 327, 328, 329, 331, 332, 333, 334], "/home/ms/Project/kiwi-horizon/kiwi/system/uri.py": [128, 129, 131, 137, 138, 141, 142, 143, 18, 19, 20, 21, 24, 26, 32, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 55, 56, 57, 58, 59, 62, 63, 64, 66, 67, 68, 70, 71, 72, 74, 75, 76, 77, 78, 79, 80, 82, 83, 85, 86, 89, 90, 92, 93, 94, 95, 96, 98, 99, 101, 102, 104, 105, 108, 109, 110, 112, 113, 114, 116, 117, 119, 120, 121, 123, 124, 125, 127], "/home/ms/Project/kiwi-horizon/kiwi/bootloader/install/grub2.py": [18, 21, 22, 23, 24, 25, 27, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 52, 53, 55, 56, 57, 59, 60, 61, 64, 65, 66, 67, 68, 69, 70, 71, 72, 74, 75, 76, 77, 79, 80, 83, 84, 86, 87, 88, 90, 92, 96, 98, 99, 100, 101, 102, 103, 105, 106, 107, 108, 109, 111, 112, 113, 114, 115, 116, 117, 121, 122, 123, 124, 126, 127, 128, 130, 131, 132, 134, 135, 136, 138, 139, 140, 141, 149, 151, 152, 153, 156, 158, 159, 160, 163, 165, 166, 167, 171, 173, 174, 175, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192], "/home/ms/Project/kiwi-horizon/kiwi/boot/image/dracut.py": [18, 21, 22, 23, 24, 25, 26, 29, 35, 36, 40, 41, 43, 44, 45, 46, 47, 49, 50, 51, 53, 54, 57, 58, 59, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 73, 75, 76, 77, 79, 82, 83, 85, 86, 87], "/home/ms/Project/kiwi-horizon/kiwi/xml_state.py": [18, 19, 20, 21, 24, 25, 27, 35, 38, 39, 40, 41, 42, 43, 45, 46, 49, 53, 54, 57, 58, 59, 62, 66, 68, 72, 73, 74, 75, 77, 81, 82, 83, 84, 86, 90, 91, 92, 94, 95, 96, 97, 98, 100, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 117, 118, 120, 124, 125, 126, 128, 129, 131, 132, 133, 134, 136, 140, 142, 146, 147, 148, 149, 151, 152, 153, 154, 156, 160, 161, 162, 164, 165, 167, 168, 169, 170, 172, 176, 177, 178, 179, 180, 181, 182, 183, 184, 186, 190, 191, 192, 194, 195, 196, 197, 199, 205, 206, 208, 209, 210, 211, 212, 213, 214, 216, 217, 219, 220, 222, 226, 227, 228, 230, 231, 232, 233, 235, 239, 241, 245, 247, 251, 252, 253, 255, 256, 257, 258, 260, 264, 266, 270, 272, 276, 277, 278, 280, 284, 285, 286, 288, 292, 293, 294, 296, 300, 301, 302, 303, 304, 306, 310, 311, 312, 314, 319, 320, 321, 322, 323, 324, 325, 326, 327, 329, 330, 333, 337, 338, 339, 340, 341, 342, 343, 345, 346, 347, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 362, 364, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 396, 397, 398, 399, 401, 409, 410, 411, 412, 414, 422, 423, 424, 425, 427, 432, 433, 434, 437, 438, 439, 441, 442, 443, 446, 447, 450, 451, 452, 453, 455, 456, 457, 458, 459, 460, 461, 464, 467, 468, 469, 471, 473, 474, 475, 476, 477, 478, 479, 480, 481, 484, 486, 491, 492, 493, 494, 495, 497, 498, 500, 501, 503, 508, 509, 511, 515, 516, 518, 519, 520, 521, 522, 523, 525, 530, 531, 533, 534, 535, 536, 537, 538, 539, 541, 545, 547, 551, 553, 557, 559, 563, 564, 567, 573, 574, 575, 576, 577, 580, 586, 587, 588, 589, 590, 593, 597, 598, 599, 600, 601, 602, 603, 604, 605, 607, 611, 612, 613, 614, 615, 616, 620, 621, 622, 623, 625, 626, 627, 630, 631, 632, 634, 635, 636, 638, 639, 640, 641, 642, 645, 646, 647, 649, 650, 651, 653, 654, 655, 656, 657, 660, 661, 662, 663, 664, 667, 668, 669, 671, 672, 673, 674, 675, 678, 679, 681, 682, 683, 684, 685, 686, 687, 688, 690, 691, 692, 693, 695, 697, 698, 699, 700, 702, 703, 704, 705, 707, 709, 716, 717, 719, 720, 721, 722, 724, 725, 727, 728, 729, 730, 731, 732, 735, 736, 738, 739, 741, 742, 744, 745, 746, 747, 749, 755, 756, 758, 759, 760, 762, 763, 764, 765, 766, 767, 768, 769, 773, 778, 779, 781, 783, 784, 785, 787, 788, 790, 791, 792, 793, 794, 795, 799, 800, 801, 802, 803, 805, 806, 807, 809, 810, 811, 812, 814, 816, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 837, 838, 839, 840, 842, 844, 849, 850, 851, 854, 855, 856, 857, 858, 859, 863, 864, 865, 868, 869, 871, 878, 879, 880, 881, 882, 883, 884, 885, 887, 888, 890, 894, 895, 896, 897, 899, 900, 901, 902, 903, 904, 905, 907, 909], "/home/ms/Project/kiwi-horizon/kiwi/storage/loop_device.py": [64, 65, 66, 67, 68, 69, 70, 71, 18, 21, 22, 23, 25, 30, 33, 34, 35, 36, 37, 38, 40, 41, 42, 44, 45, 47, 48, 50, 51, 52, 53, 55, 56, 57, 58, 59, 60, 62], "/home/ms/Project/kiwi-horizon/kiwi/storage/subformat/base.py": [18, 19, 20, 22, 26, 27, 28, 31, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 48, 50, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 64, 65, 66, 67, 68, 70, 72, 73, 74, 75, 76, 80, 81, 82, 83], "/home/ms/Project/kiwi-horizon/kiwi/boot/image/base.py": [18, 19, 20, 23, 24, 25, 26, 27, 29, 35, 38, 39, 40, 41, 42, 43, 44, 46, 47, 48, 49, 52, 53, 54, 57, 59, 60, 61, 62, 63, 67, 72, 74, 78, 80, 81, 83, 84, 85, 86, 87, 88, 89, 90, 92, 93, 96, 97, 98, 99, 100, 101, 103, 104, 106, 107, 108, 109, 110, 112, 113, 114, 115, 118, 119, 120, 122, 123, 125, 126, 127, 129, 130, 132, 133, 135, 136, 137, 140, 141, 142, 143, 144, 145, 147, 148, 150, 151, 153, 154, 156, 157, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 179, 180, 182, 183, 185, 186, 188, 189, 192, 193, 194, 195, 197, 198, 199, 201, 202, 204, 205, 207, 208, 209, 210], "/home/ms/Project/kiwi-horizon/kiwi/filesystem/squashfs.py": [19, 20, 23, 26, 27, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/tasks/result_list.py": [64, 65, 30, 31, 34, 35, 36, 37, 40, 43, 44, 45, 46, 47, 49, 50, 52, 53, 55, 56, 58, 60, 61, 62], "/home/ms/Project/kiwi-horizon/kiwi/logger.py": [18, 19, 22, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 52, 62, 63, 64, 66, 73, 74, 75, 77, 80, 81, 83, 85, 86, 87, 88, 89, 92, 93, 97, 98, 100, 103, 104, 107, 108, 111, 112, 115, 116, 119, 120, 123, 124, 127, 128, 131, 132, 135, 138, 139, 140, 141, 143, 144, 145, 148, 149, 150, 153, 154, 155, 158, 159, 160, 161, 163, 165, 166, 168, 172, 173, 174, 176, 177, 178, 179, 180, 182, 183, 184, 185, 186, 189, 196, 197, 198, 202, 203, 204, 205, 206, 208, 209, 210, 213, 215, 216, 217, 219, 220, 221, 222, 225, 227, 228, 234], "/home/ms/Project/kiwi-horizon/kiwi/data/__init__.py": [1], "/home/ms/Project/kiwi-horizon/kiwi/archive/cpio.py": [19, 22, 25, 26, 27, 29, 30, 31, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47, 48, 51, 53, 54, 55, 57, 58], "/home/ms/Project/kiwi-horizon/kiwi/volume_manager/__init__.py": [32, 34, 35, 36, 38, 39, 40, 43, 44, 19, 20, 22, 27, 30], "/home/ms/Project/kiwi-horizon/kiwi/privileges.py": [32, 33, 18, 35, 20, 25, 28, 29, 31], "/home/ms/Project/kiwi-horizon/kiwi/container/setup/base.py": [129, 171, 150, 139, 140, 141, 142, 144, 145, 18, 19, 149, 22, 23, 152, 25, 154, 155, 157, 30, 160, 161, 162, 163, 36, 37, 38, 39, 40, 42, 43, 44, 46, 125, 48, 49, 51, 158, 55, 57, 146, 62, 63, 65, 118, 70, 71, 72, 73, 74, 75, 76, 80, 120, 87, 88, 164, 90, 91, 92, 165, 96, 166, 102, 103, 104, 105, 106, 167, 108, 109, 110, 111, 168, 114, 89, 119, 153, 121, 122, 123, 124, 170], "/home/ms/Project/kiwi-horizon/kiwi/volume_manager/lvm.py": [19, 20, 21, 22, 23, 24, 25, 27, 32, 35, 36, 37, 38, 40, 41, 42, 43, 44, 46, 48, 53, 54, 55, 59, 60, 61, 63, 65, 66, 67, 68, 69, 71, 72, 74, 75, 76, 78, 79, 80, 82, 83, 84, 86, 88, 89, 90, 91, 92, 93, 94, 95, 96, 98, 99, 101, 103, 104, 107, 108, 109, 111, 112, 115, 116, 117, 118, 120, 121, 124, 125, 126, 128, 129, 132, 133, 134, 135, 137, 138, 139, 140, 141, 142, 143, 145, 146, 147, 148, 149, 150, 151, 152, 154, 155, 158, 159, 160, 162, 163, 164, 165, 169, 170, 171, 172, 176, 177, 178, 181, 182, 183, 185, 186, 187, 188, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199], "/home/ms/Project/kiwi-horizon/kiwi/repository/zypper.py": [18, 19, 20, 23, 24, 25, 27, 32, 35, 36, 37, 38, 39, 41, 49, 51, 52, 53, 54, 55, 56, 59, 60, 62, 63, 67, 68, 69, 70, 71, 72, 73, 74, 76, 79, 80, 83, 84, 85, 86, 88, 89, 91, 92, 94, 95, 98, 100, 101, 102, 103, 106, 107, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 122, 124, 125, 126, 127, 128, 130, 133, 134, 135, 136, 138, 141, 142, 143, 145, 150, 151, 156, 157, 158, 159, 160, 161, 163, 164, 165, 166, 167, 168, 169, 172, 173, 174, 175, 176, 178, 183, 184, 185, 186, 188, 189, 190, 191, 192], "/home/ms/Project/kiwi-horizon/kiwi/bootloader/config/__init__.py": [32, 33, 34, 35, 37, 38, 39, 41, 42, 43, 46, 47, 19, 20, 21, 23, 28, 31], "/home/ms/Project/kiwi-horizon/kiwi/path.py": [64, 67, 73, 74, 18, 21, 24, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, 49, 51, 52, 55, 57, 58, 61, 63], "/home/ms/Project/kiwi-horizon/kiwi/partitioner/gpt.py": [64, 65, 67, 68, 69, 70, 72, 73, 75, 76, 77, 81, 19, 20, 22, 27, 30, 31, 32, 33, 36, 37, 38, 39, 40, 41, 42, 45, 46, 48, 49, 50, 51, 53, 54, 56, 57, 58, 59, 62, 63], "/home/ms/Project/kiwi-horizon/kiwi/repository/base.py": [32, 34, 35, 37, 38, 40, 41, 43, 44, 46, 47, 20, 23, 24, 25, 26, 27, 29, 31], "/home/ms/Project/kiwi-horizon/kiwi/tasks/__init__.py": [1], "/home/ms/Project/kiwi-horizon/kiwi/bootloader/template/isolinux.py": [128, 22, 135, 139, 140, 141, 143, 144, 145, 18, 19, 148, 150, 25, 26, 27, 156, 157, 133, 160, 48, 162, 155, 164, 38, 193, 171, 172, 174, 175, 176, 177, 178, 179, 181, 57, 186, 187, 188, 61, 190, 191, 192, 65, 194, 195, 70, 161, 76, 82, 163, 88, 159, 94, 100, 166, 106, 146, 112, 147, 118, 120, 170, 126], "/home/ms/Project/kiwi-horizon/kiwi/version.py": [20, 21, 22], "/home/ms/Project/kiwi-horizon/kiwi/filesystem/isofs.py": [51, 34, 35, 36, 37, 40, 41, 44, 45, 56, 50, 19, 20, 21, 54, 55, 24, 27, 28, 29, 31], "/home/ms/Project/kiwi-horizon/kiwi/filesystem/btrfs.py": [32, 33, 19, 20, 23, 26, 27, 28, 29, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/filesystem/ext3.py": [32, 33, 19, 20, 23, 26, 27, 28, 29, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/bootloader/install/base.py": [32, 33, 35, 20, 23, 24, 25, 26, 39, 28, 30], "/home/ms/Project/kiwi-horizon/kiwi/system/users.py": [18, 21, 24, 25, 26, 28, 29, 31, 32, 34, 35, 36, 39, 40, 41, 44, 45, 46, 49, 50, 51, 52, 55, 56, 57, 58, 59, 61, 62, 63], "/home/ms/Project/kiwi-horizon/kiwi/builder/archive.py": [18, 21, 22, 23, 24, 25, 26, 28, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47, 49, 50, 51, 52, 53, 56, 57, 58, 59, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 73, 74, 75, 77, 78, 79, 80, 82, 83, 84, 86, 87, 88, 89, 91, 92, 93, 95, 97, 98, 100, 101, 102, 103, 104], "/home/ms/Project/kiwi-horizon/kiwi/bootloader/config/base.py": [256, 257, 259, 260, 261, 19, 20, 21, 22, 24, 29, 32, 33, 34, 35, 37, 39, 40, 42, 47, 49, 57, 59, 68, 70, 79, 81, 88, 90, 95, 97, 102, 104, 105, 106, 107, 109, 110, 111, 112, 113, 114, 115, 117, 118, 119, 120, 121, 123, 124, 125, 126, 128, 129, 130, 131, 133, 134, 135, 136, 137, 138, 139, 140, 141, 143, 144, 145, 146, 147, 148, 149, 150, 152, 153, 154, 155, 157, 158, 159, 160, 161, 162, 166, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 184, 185, 187, 189, 191, 196, 197, 198, 199, 201, 202, 203, 204, 205, 206, 207, 208, 210, 211, 212, 213, 214, 216, 217, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 232, 233, 234, 235, 236, 237, 238, 240, 242, 243, 248, 250, 253, 255], "/home/ms/Project/kiwi-horizon/kiwi/container/__init__.py": [32, 35, 34, 19, 21, 26, 29, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/help.py": [18, 20, 23, 26, 27, 28, 29, 30], "/home/ms/Project/kiwi-horizon/kiwi/container/setup/docker.py": [20, 21, 24, 27, 28, 29, 30, 32, 33, 36, 37, 38, 39, 40, 43, 44, 45, 46, 47, 48, 49, 51, 52, 54, 55, 56, 57, 58, 60, 61, 62, 65, 66, 69, 71, 72, 73, 74, 75, 76, 80, 82, 83, 85, 86, 87, 88, 90, 91, 92, 93, 95, 97, 98, 100, 101, 103, 104, 105, 106, 108, 109, 110, 111, 113], "/home/ms/Project/kiwi-horizon/kiwi/command.py": [18, 19, 20, 21, 24, 27, 30, 31, 32, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 52, 53, 54, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 71, 72, 74, 75, 76, 77, 80, 81, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 118, 119, 120, 123, 124, 125, 126, 128, 129, 130, 131, 132, 134, 135, 136, 137, 139, 140, 141, 142, 143, 145, 146, 147, 148, 149, 152, 153, 154, 155, 156, 157], "/home/ms/Project/kiwi-horizon/kiwi/storage/subformat/gce.py": [64, 66, 67, 70, 76, 77, 78, 45, 80, 81, 82, 83, 22, 23, 24, 27, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 43, 18, 46, 49, 50, 19, 52, 53, 54, 56, 60, 62, 63], "/home/ms/Project/kiwi-horizon/kiwi/system/profile.py": [256, 258, 43, 260, 262, 264, 266, 343, 268, 270, 272, 18, 19, 276, 278, 23, 280, 282, 284, 286, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 298, 299, 44, 45, 302, 47, 304, 305, 50, 51, 308, 54, 55, 56, 313, 58, 59, 316, 317, 319, 321, 322, 324, 330, 331, 332, 333, 335, 337, 342, 57, 89, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 274, 110, 61, 112, 114, 116, 118, 345, 120, 217, 63, 124, 126, 128, 130, 294, 132, 22, 134, 136, 138, 140, 142, 144, 145, 148, 150, 151, 152, 154, 52, 26, 158, 159, 161, 162, 164, 165, 48, 168, 174, 175, 176, 177, 179, 180, 181, 182, 183, 184, 185, 186, 187, 189, 192, 288, 194, 196, 199, 201, 290, 210, 211, 213, 214, 216, 292, 219, 220, 122, 222, 223, 225, 226, 228, 229, 231, 232, 234, 236, 296, 42], "/home/ms/Project/kiwi-horizon/kiwi/container/setup/__init__.py": [32, 35, 34, 19, 21, 26, 29, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/mount_manager.py": [18, 19, 22, 23, 24, 27, 34, 35, 36, 37, 38, 40, 42, 43, 44, 45, 48, 49, 50, 51, 52, 53, 54, 57, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, 77, 78, 79, 82, 84, 85, 87, 89, 90, 91, 92, 94, 95, 97], "/home/ms/Project/kiwi-horizon/kiwi/exceptions.py": [20, 24, 25, 26, 28, 29, 32, 33, 36, 37, 40, 41, 44, 45, 48, 49, 52, 53, 56, 57, 60, 61, 64, 65, 68, 69, 72, 73, 76, 77, 80, 81, 84, 85, 88, 89, 92, 93, 96, 97, 100, 101, 104, 105, 108, 109, 112, 113, 116, 117, 120, 121, 124, 125, 128, 129, 132, 133, 136, 137, 140, 141, 144, 145, 148, 149, 152, 153, 156, 157, 160, 161, 164, 165, 168, 169, 172, 173, 176, 177, 180, 181, 184, 185, 188, 189, 192, 193, 196, 197, 200, 201, 204, 205, 208, 209, 212, 213, 216, 217, 220, 221, 224, 225, 228, 229, 232, 233, 236, 237, 240, 241, 244, 245, 248, 249, 252, 253, 256, 257, 260, 261, 264, 265, 268, 269, 272, 273, 276, 277, 280, 281, 284, 285, 288, 289, 292, 293, 296, 297, 300, 301, 304, 305, 308, 309, 312, 313, 316, 317, 320, 321, 324, 325, 328, 329, 332, 333, 336, 337, 340, 341, 344, 345, 348, 349, 352, 353, 356, 357, 360, 361, 364, 365, 368, 369], "/home/ms/Project/kiwi-horizon/kiwi/bootloader/install/zipl.py": [64, 65, 66, 19, 20, 21, 22, 24, 29, 32, 33, 34, 35, 36, 37, 40, 41, 44, 48, 50, 52, 54, 55, 56, 59, 60, 62], "/home/ms/Project/kiwi-horizon/kiwi/filesystem/ext4.py": [32, 33, 19, 20, 23, 26, 27, 28, 29, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/system/prepare.py": [18, 21, 22, 23, 24, 25, 26, 27, 29, 31, 40, 43, 45, 50, 51, 52, 54, 55, 56, 58, 59, 60, 62, 63, 64, 70, 72, 77, 78, 79, 80, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 93, 94, 95, 96, 97, 99, 100, 102, 103, 104, 106, 108, 109, 111, 112, 114, 115, 116, 117, 120, 125, 126, 127, 128, 130, 131, 132, 133, 134, 136, 137, 138, 139, 140, 141, 142, 144, 145, 146, 148, 149, 150, 151, 152, 155, 156, 157, 159, 161, 162, 163, 164, 165, 166, 169, 176, 177, 178, 180, 181, 182, 183, 184, 185, 187, 188, 189, 190, 191, 192, 193, 195, 196, 197, 199, 200, 201, 202, 203, 206, 207, 208, 211, 212, 213, 214, 215, 216, 219, 224, 225, 226, 227, 228, 229, 230, 231, 234, 239, 240, 241, 243, 244, 245, 247, 248, 249, 250, 251, 254, 255, 256, 259, 264, 265, 266, 268, 269, 270, 271, 273, 274, 275, 276, 277, 280, 281, 282, 285, 291, 292, 293, 295, 296, 297, 298, 299, 302, 303, 304, 305, 306, 307, 309, 312, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 328, 329, 331, 332, 333, 334, 335, 336], "/home/ms/Project/kiwi-horizon/kiwi/builder/install.py": [18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 40, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 58, 60, 61, 62, 63, 64, 67, 69, 70, 71, 72, 73, 76, 77, 79, 80, 83, 84, 86, 87, 88, 89, 91, 96, 97, 101, 102, 106, 107, 108, 110, 111, 114, 117, 118, 120, 121, 124, 126, 129, 130, 132, 133, 134, 138, 139, 140, 142, 143, 144, 146, 147, 149, 152, 153, 155, 156, 157, 159, 160, 162, 165, 166, 169, 170, 171, 172, 173, 175, 178, 179, 182, 192, 193, 196, 197, 199, 200, 203, 204, 205, 207, 208, 209, 213, 214, 216, 217, 220, 221, 225, 227, 228, 231, 232, 233, 234, 235, 236, 239, 240, 243, 244, 245, 247, 248, 251, 252, 253, 254, 256, 257, 258, 260, 261, 262, 264, 265, 266, 268, 269, 271, 272, 276, 277, 278, 279, 280, 281, 283, 284, 285, 287, 288, 289, 291, 292, 293, 295, 296, 298, 299, 303, 305, 306, 307, 308, 309, 310, 312, 313, 314, 315, 316, 317, 318, 319], "/home/ms/Project/kiwi-horizon/kiwi/system/identifier.py": [18, 19, 22, 26, 27, 28, 30, 31, 33, 34, 35, 38, 39, 40, 42, 43, 44, 45, 46, 47, 49, 50], "/home/ms/Project/kiwi-horizon/kiwi/system/size.py": [65, 19, 20, 23, 26, 27, 28, 30, 34, 35, 36, 38, 39, 40, 41, 42, 43, 45, 47, 48, 50, 51, 54, 56, 58, 60, 62], "/home/ms/Project/kiwi-horizon/kiwi/storage/raid_device.py": [18, 21, 22, 23, 24, 26, 31, 34, 35, 39, 41, 42, 43, 45, 47, 51, 52, 53, 56, 61, 62, 63, 65, 66, 67, 68, 69, 71, 72, 73, 74, 76, 77, 78, 80, 82, 83, 84, 85, 88, 90, 91, 92, 94, 95, 97, 101, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113], "/home/ms/Project/kiwi-horizon/kiwi/system/result.py": [18, 19, 20, 23, 25, 30, 31, 35, 38, 39, 40, 45, 47, 50, 52, 53, 54, 55, 56, 57, 60, 61, 63, 64, 65, 66, 67, 69, 70, 71, 72, 73, 74, 75, 78, 80, 81, 82, 84, 85, 86, 87, 88, 89], "/home/ms/Project/kiwi-horizon/kiwi/filesystem/setup.py": [64, 66, 67, 68, 69, 71, 19, 20, 21, 24, 29, 30, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 45, 46, 47, 48, 50, 51, 53, 54, 55, 56, 57, 58, 60, 62, 63], "/home/ms/Project/kiwi-horizon/kiwi/package_manager/yum.py": [129, 131, 133, 138, 23, 142, 143, 144, 18, 147, 148, 21, 150, 151, 152, 22, 47, 28, 154, 31, 32, 33, 34, 35, 37, 38, 39, 41, 42, 44, 45, 157, 49, 51, 52, 53, 59, 60, 61, 65, 66, 139, 68, 71, 72, 73, 75, 76, 82, 83, 84, 88, 89, 90, 91, 94, 95, 96, 97, 98, 99, 100, 102, 103, 104, 105, 107, 108, 109, 112, 113, 116, 117, 118, 120, 67, 123, 124, 126, 149], "/home/ms/Project/kiwi-horizon/kiwi/archive/__init__.py": [1], "/home/ms/Project/kiwi-horizon/kiwi/volume_manager/btrfs.py": [18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 31, 36, 39, 40, 41, 42, 44, 45, 46, 47, 48, 50, 51, 53, 55, 56, 57, 58, 62, 63, 64, 66, 67, 69, 70, 72, 73, 74, 75, 77, 78, 79, 80, 82, 83, 84, 85, 87, 89, 91, 92, 93, 95, 97, 98, 101, 102, 105, 106, 109, 111, 112, 113, 114, 116, 117, 118, 120, 121, 124, 125, 126, 127, 128, 130, 131, 134, 135, 136, 137, 138, 139, 140, 143, 144, 145, 146, 148, 149, 150, 151, 152, 153, 154, 155, 156, 159, 160, 161, 163, 164, 165, 166, 167, 168, 169, 171, 172, 175, 177, 178, 181, 182, 183, 184], "/home/ms/Project/kiwi-horizon/kiwi/storage/setup.py": [18, 19, 22, 23, 24, 25, 28, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47, 49, 50, 53, 54, 56, 57, 58, 59, 60, 62, 63, 64, 65, 67, 68, 72, 73, 75, 76, 77, 78, 81, 82, 83, 84, 85, 86, 89, 90, 91, 92, 93, 96, 97, 98, 99, 100, 103, 104, 105, 106, 107, 110, 111, 112, 113, 114, 115, 118, 119, 120, 121, 123, 124, 126, 127, 128, 129, 130, 131, 133, 135, 136, 137, 139, 140, 141, 142, 144, 146, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 170, 171, 172, 173, 174, 176, 177, 179, 180, 182, 183, 184, 185, 187, 189, 199, 200, 201, 202, 204, 209, 211, 212, 214, 215, 216, 217, 218, 219, 220, 222, 223, 224, 225, 227, 228, 229, 232, 233, 234, 235, 238, 240, 241, 243, 244, 245, 248, 250, 256, 257, 259, 260, 261, 262, 263, 264, 265, 268, 273, 274, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 287, 289, 290, 291], "/home/ms/Project/kiwi-horizon/kiwi/data/sync.py": [32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 19, 22, 26, 27, 28, 29, 31], "/home/ms/Project/kiwi-horizon/kiwi/filesystem/__init__.py": [64, 65, 67, 68, 69, 71, 72, 73, 76, 77, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 34, 37, 38, 39, 40, 41, 43, 44, 45, 47, 48, 49, 51, 52, 53, 55, 56, 57, 59, 60, 61, 63], "/home/ms/Project/kiwi-horizon/kiwi/filesystem/base.py": [64, 66, 88, 69, 71, 72, 73, 74, 76, 77, 78, 80, 81, 18, 19, 84, 85, 22, 23, 24, 89, 26, 86, 90, 94, 31, 96, 97, 34, 35, 40, 92, 95, 82, 46, 48, 52, 54, 55, 57, 59, 61], "/home/ms/Project/kiwi-horizon/kiwi/storage/device_provider.py": [32, 35, 36, 37, 39, 41, 42, 43, 45, 47, 48, 19, 20, 25, 28, 29, 31], "/home/ms/Project/kiwi-horizon/kiwi/filesystem/fat16.py": [32, 33, 19, 20, 23, 26, 27, 28, 29, 30, 31], "/home/ms/Project/kiwi-horizon/kiwi/builder/filesystem.py": [18, 21, 22, 23, 24, 25, 26, 27, 28, 30, 35, 38, 39, 40, 41, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 54, 55, 57, 59, 60, 61, 62, 63, 66, 67, 69, 71, 73, 74, 75, 77, 78, 79, 80, 82, 83, 85, 86, 87, 88, 89, 90, 91, 93, 94, 95, 96, 98, 99, 100, 102, 103, 104, 105, 107, 108, 109, 111, 113, 114, 115, 116, 117, 118, 120, 121, 122, 123, 125, 126, 127, 130, 132, 134, 135, 136, 137, 138, 140, 141], "/home/ms/Project/kiwi-horizon/kiwi/container/docker.py": [35, 19, 36, 38, 22, 39, 25, 26, 27, 29, 31], "/home/ms/Project/kiwi-horizon/kiwi/partitioner/dasd.py": [64, 70, 72, 74, 19, 20, 21, 24, 27, 28, 29, 30, 33, 34, 35, 36, 37, 38, 39, 42, 43, 45, 46, 47, 48, 49, 50, 51, 53, 54, 56, 57, 58, 60, 61, 62], "/home/ms/Project/kiwi-horizon/kiwi/builder/live.py": [18, 19, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 43, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 63, 64, 66, 67, 69, 70, 72, 73, 75, 77, 78, 79, 80, 81, 84, 86, 87, 88, 89, 92, 94, 96, 97, 99, 102, 103, 104, 106, 107, 108, 110, 111, 112, 113, 116, 117, 120, 121, 125, 126, 127, 128, 129, 130, 132, 133, 134, 136, 138, 139, 143, 144, 145, 147, 148, 149, 151, 152, 154, 157, 158, 159, 160, 162, 163, 164, 166, 167, 169, 172, 173, 176, 177, 178, 179, 182, 183, 184, 185, 186, 188, 191, 192, 193, 196, 197, 198, 199, 200, 201, 203, 204, 205, 206, 208, 209, 210, 212, 213, 214, 215, 217, 218, 219, 221, 223, 224, 225, 226, 227, 228, 230, 231, 232, 234, 235, 236, 238, 239, 240, 242, 243, 245, 246, 250, 263, 264, 265, 267, 268, 269, 270, 271, 272, 275, 276, 277, 280, 281, 282, 283], "/home/ms/Project/kiwi-horizon/kiwi/package_manager/base.py": [64, 65, 67, 68, 70, 71, 73, 74, 75, 76, 20, 23, 24, 25, 26, 27, 28, 29, 30, 32, 34, 35, 37, 38, 40, 41, 43, 44, 46, 47, 49, 50, 52, 53, 55, 56, 58, 59, 61, 62], "/home/ms/Project/kiwi-horizon/kiwi/system/__init__.py": [1]}}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/PKG-INFO new/kiwi-9.18.12/PKG-INFO
--- old/kiwi-9.18.10/PKG-INFO 2019-08-05 09:57:13.000000000 +0200
+++ new/kiwi-9.18.12/PKG-INFO 2019-08-20 09:49:19.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: kiwi
-Version: 9.18.10
+Version: 9.18.12
Summary: KIWI - Appliance Builder (next generation)
Home-page: https://osinside.github.io/kiwi
Author: Marcus Schaefer
Binary files old/kiwi-9.18.10/doc/build/latex/kiwi.pdf and new/kiwi-9.18.12/doc/build/latex/kiwi.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/doc/build/man/kiwi.8 new/kiwi-9.18.12/doc/build/man/kiwi.8
--- old/kiwi-9.18.10/doc/build/man/kiwi.8 2019-08-05 09:57:12.000000000 +0200
+++ new/kiwi-9.18.12/doc/build/man/kiwi.8 2019-08-20 09:49:18.000000000 +0200
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "KIWI" "8" "Aug 05, 2019" "9.18.10" "kiwi"
+.TH "KIWI" "8" "Aug 20, 2019" "9.18.12" "kiwi"
.SH NAME
kiwi \- Creating Operating System Images
.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/doc/build/man/kiwi::image::info.8 new/kiwi-9.18.12/doc/build/man/kiwi::image::info.8
--- old/kiwi-9.18.10/doc/build/man/kiwi::image::info.8 2019-08-05 09:57:12.000000000 +0200
+++ new/kiwi-9.18.12/doc/build/man/kiwi::image::info.8 2019-08-20 09:49:18.000000000 +0200
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "KIWI::IMAGE::INFO" "8" "Aug 05, 2019" "9.18.10" "kiwi"
+.TH "KIWI::IMAGE::INFO" "8" "Aug 20, 2019" "9.18.12" "kiwi"
.SH NAME
kiwi::image::info \- Provide detailed information about an image description
.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/doc/build/man/kiwi::image::resize.8 new/kiwi-9.18.12/doc/build/man/kiwi::image::resize.8
--- old/kiwi-9.18.10/doc/build/man/kiwi::image::resize.8 2019-08-05 09:57:12.000000000 +0200
+++ new/kiwi-9.18.12/doc/build/man/kiwi::image::resize.8 2019-08-20 09:49:18.000000000 +0200
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "KIWI::IMAGE::RESIZE" "8" "Aug 05, 2019" "9.18.10" "kiwi"
+.TH "KIWI::IMAGE::RESIZE" "8" "Aug 20, 2019" "9.18.12" "kiwi"
.SH NAME
kiwi::image::resize \- Resize disk images to new geometry
.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/doc/build/man/kiwi::result::bundle.8 new/kiwi-9.18.12/doc/build/man/kiwi::result::bundle.8
--- old/kiwi-9.18.10/doc/build/man/kiwi::result::bundle.8 2019-08-05 09:57:12.000000000 +0200
+++ new/kiwi-9.18.12/doc/build/man/kiwi::result::bundle.8 2019-08-20 09:49:18.000000000 +0200
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "KIWI::RESULT::BUNDLE" "8" "Aug 05, 2019" "9.18.10" "kiwi"
+.TH "KIWI::RESULT::BUNDLE" "8" "Aug 20, 2019" "9.18.12" "kiwi"
.SH NAME
kiwi::result::bundle \- Bundle build results
.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/doc/build/man/kiwi::result::list.8 new/kiwi-9.18.12/doc/build/man/kiwi::result::list.8
--- old/kiwi-9.18.10/doc/build/man/kiwi::result::list.8 2019-08-05 09:57:12.000000000 +0200
+++ new/kiwi-9.18.12/doc/build/man/kiwi::result::list.8 2019-08-20 09:49:18.000000000 +0200
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "KIWI::RESULT::LIST" "8" "Aug 05, 2019" "9.18.10" "kiwi"
+.TH "KIWI::RESULT::LIST" "8" "Aug 20, 2019" "9.18.12" "kiwi"
.SH NAME
kiwi::result::list \- List build results
.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/doc/build/man/kiwi::system::build.8 new/kiwi-9.18.12/doc/build/man/kiwi::system::build.8
--- old/kiwi-9.18.10/doc/build/man/kiwi::system::build.8 2019-08-05 09:57:12.000000000 +0200
+++ new/kiwi-9.18.12/doc/build/man/kiwi::system::build.8 2019-08-20 09:49:18.000000000 +0200
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "KIWI::SYSTEM::BUILD" "8" "Aug 05, 2019" "9.18.10" "kiwi"
+.TH "KIWI::SYSTEM::BUILD" "8" "Aug 20, 2019" "9.18.12" "kiwi"
.SH NAME
kiwi::system::build \- Build image in combined prepare and create step
.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/doc/build/man/kiwi::system::create.8 new/kiwi-9.18.12/doc/build/man/kiwi::system::create.8
--- old/kiwi-9.18.10/doc/build/man/kiwi::system::create.8 2019-08-05 09:57:12.000000000 +0200
+++ new/kiwi-9.18.12/doc/build/man/kiwi::system::create.8 2019-08-20 09:49:18.000000000 +0200
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "KIWI::SYSTEM::CREATE" "8" "Aug 05, 2019" "9.18.10" "kiwi"
+.TH "KIWI::SYSTEM::CREATE" "8" "Aug 20, 2019" "9.18.12" "kiwi"
.SH NAME
kiwi::system::create \- Create image from prepared root system
.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/doc/build/man/kiwi::system::prepare.8 new/kiwi-9.18.12/doc/build/man/kiwi::system::prepare.8
--- old/kiwi-9.18.10/doc/build/man/kiwi::system::prepare.8 2019-08-05 09:57:12.000000000 +0200
+++ new/kiwi-9.18.12/doc/build/man/kiwi::system::prepare.8 2019-08-20 09:49:18.000000000 +0200
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "KIWI::SYSTEM::PREPARE" "8" "Aug 05, 2019" "9.18.10" "kiwi"
+.TH "KIWI::SYSTEM::PREPARE" "8" "Aug 20, 2019" "9.18.12" "kiwi"
.SH NAME
kiwi::system::prepare \- Prepare image root system
.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/doc/build/man/kiwi::system::update.8 new/kiwi-9.18.12/doc/build/man/kiwi::system::update.8
--- old/kiwi-9.18.10/doc/build/man/kiwi::system::update.8 2019-08-05 09:57:12.000000000 +0200
+++ new/kiwi-9.18.12/doc/build/man/kiwi::system::update.8 2019-08-20 09:49:18.000000000 +0200
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "KIWI::SYSTEM::UPDATE" "8" "Aug 05, 2019" "9.18.10" "kiwi"
+.TH "KIWI::SYSTEM::UPDATE" "8" "Aug 20, 2019" "9.18.12" "kiwi"
.SH NAME
kiwi::system::update \- Update/Upgrade image root system
.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/dracut/modules.d/90kiwi-dump/kiwi-dump-image.sh new/kiwi-9.18.12/dracut/modules.d/90kiwi-dump/kiwi-dump-image.sh
--- old/kiwi-9.18.10/dracut/modules.d/90kiwi-dump/kiwi-dump-image.sh 2019-05-27 10:58:08.000000000 +0200
+++ new/kiwi-9.18.12/dracut/modules.d/90kiwi-dump/kiwi-dump-image.sh 2019-08-14 10:42:35.000000000 +0200
@@ -48,6 +48,7 @@
local max_disk
local kiwi_oem_maxdisk
local blk_opts="-p -n -r -o NAME,SIZE,TYPE"
+ local message
if [ -n "${kiwi_devicepersistency}" ];then
disk_id=${kiwi_devicepersistency}
fi
@@ -86,9 +87,13 @@
disk_size=$(echo "${disk_meta}" | cut -f2 -d:)
if [ ${max_disk} -gt 0 ]; then
local disk_size_bytes
- disk_size_bytes=$(binsize_to_bytesize "${disk_size}") || disk_size_bytes=0
+ disk_size_bytes=$(binsize_to_bytesize "${disk_size}") || \
+ disk_size_bytes=0
if [ "${disk_size_bytes}" -gt "${max_disk}" ]; then
- info "${disk_device} filtered out by rd.kiwi.oem.maxdisk=${kiwi_oem_maxdisk} (is ${disk_size})" >&2
+ message="${disk_device} filtered out by"
+ message="${message} rd.kiwi.oem.maxdisk=${kiwi_oem_maxdisk}"
+ message="${message} (disk size is: ${disk_size})"
+ info "${message}" >&2
continue
fi
fi
@@ -106,8 +111,9 @@
# check for custom filter rule
if [ -n "${kiwi_oemdevicefilter}" ];then
if [[ ${disk_device} =~ ${kiwi_oemdevicefilter} ]];then
- # info is more or less "echo" if debug is on, and it clutters stdout
- info "${disk_device} filtered out by: ${kiwi_oemdevicefilter}" >&2
+ message="${disk_device} filtered out by rule:"
+ message="${message} ${kiwi_oemdevicefilter}"
+ info "${message}" >&2
continue
fi
fi
@@ -125,6 +131,7 @@
declare kiwi_oemunattended_id=${kiwi_oemunattended_id}
local disk_list
local device_array
+ kiwi_oemunattended=$(bool "${kiwi_oemunattended}")
disk_list=$(get_disk_list)
if [ -n "${disk_list}" ];then
local count=0
@@ -139,7 +146,7 @@
if [ "${device_index}" -eq 1 ];then
# one single disk device found, use it
echo "${device_array[0]}"
- elif [ -n "${kiwi_oemunattended}" ];then
+ elif [ "${kiwi_oemunattended}" = "true" ];then
if [ -z "${kiwi_oemunattended_id}" ];then
# unattended mode requested but no target specifier,
# thus use first device from list
@@ -209,6 +216,8 @@
local image_from_remote=$3
local image_source
local image_basename
+ kiwi_oemsilentinstall=$(bool "${kiwi_oemsilentinstall}")
+ kiwi_oemunattended=$(bool "${kiwi_oemunattended}")
image_source="$(echo "${image_source_files}" | cut -f1 -d\|)"
image_basename=$(basename "${image_source}")
local progress=/dev/install_progress
@@ -224,7 +233,7 @@
check_image_fits_target "${image_target}"
- if [ -z "${kiwi_oemunattended}" ];then
+ if [ "${kiwi_oemunattended}" = "false" ];then
local ack_dump_text="Destroying ALL data on ${image_target}, continue ?"
if ! run_dialog --yesno "\"${ack_dump_text}\"" 7 80; then
local install_cancel_text="System installation canceled"
@@ -233,7 +242,8 @@
fi
echo "${load_text} [${image_target}]..."
- if command -v pv &>/dev/null && [ -z "${kiwi_oemsilentinstall}" ];then
+ if command -v pv &>/dev/null && [ "${kiwi_oemsilentinstall}" = "false" ]
+ then
# dump with dialog based progress information
setup_progress_fifo ${progress}
eval "${dump}" "${image_source}" "${image_target}" "${progress}" &
@@ -284,11 +294,14 @@
local verify_text="Verifying ${image_target}"
local title_text="Installation..."
local verify_result=/dumped_image.md5
- if [ -n "${kiwi_oemskipverify}" ];then
+ kiwi_oemskipverify=$(bool "${kiwi_oemskipverify}")
+ kiwi_oemsilentverify=$(bool "${kiwi_oemsilentverify}")
+ if [ "${kiwi_oemskipverify}" = "true" ];then
# no verification wanted
return
fi
- if command -v pv &>/dev/null && [ -z "${kiwi_oemsilentverify}" ];then
+ if command -v pv &>/dev/null && [ "${kiwi_oemsilentverify}" = "false" ]
+ then
# verify with dialog based progress information
setup_progress_fifo ${progress}
run_progress_dialog "${verify_text}" "${title_text}" &
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/dracut/modules.d/99kiwi-lib/kiwi-lib.sh new/kiwi-9.18.12/dracut/modules.d/99kiwi-lib/kiwi-lib.sh
--- old/kiwi-9.18.10/dracut/modules.d/99kiwi-lib/kiwi-lib.sh 2019-07-11 15:25:17.000000000 +0200
+++ new/kiwi-9.18.12/dracut/modules.d/99kiwi-lib/kiwi-lib.sh 2019-08-14 10:42:35.000000000 +0200
@@ -133,3 +133,17 @@
esac
awk "BEGIN {print int(${bs}*${mult})}"
}
+
+function bool {
+ # """
+ # provides boolean string true|false for given value.
+ # Only if value matches true return true, in any other
+ # case return false
+ # """
+ local value=$1
+ if [ -n "${value}" ] && [ "${value}" = "true" ] ;then
+ echo "true"
+ else
+ echo "false"
+ fi
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/boot/image/__init__.py new/kiwi-9.18.12/kiwi/boot/image/__init__.py
--- old/kiwi-9.18.10/kiwi/boot/image/__init__.py 2019-05-24 11:43:19.000000000 +0200
+++ new/kiwi-9.18.12/kiwi/boot/image/__init__.py 2019-08-14 10:42:35.000000000 +0200
@@ -39,10 +39,12 @@
initrd_system = xml_state.get_initrd_system()
if initrd_system == 'kiwi':
return BootImageKiwi(
- xml_state, target_dir, root_dir, signing_keys
+ xml_state, target_dir, None, signing_keys
)
elif initrd_system == 'dracut':
- return BootImageDracut(xml_state, target_dir, root_dir)
+ return BootImageDracut(
+ xml_state, target_dir, root_dir, None
+ )
else:
raise KiwiBootImageSetupError(
'Support for %s initrd system not implemented' % initrd_system
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/boot/image/builtin_kiwi.py new/kiwi-9.18.12/kiwi/boot/image/builtin_kiwi.py
--- old/kiwi-9.18.10/kiwi/boot/image/builtin_kiwi.py 2019-05-24 11:43:19.000000000 +0200
+++ new/kiwi-9.18.12/kiwi/boot/image/builtin_kiwi.py 2019-08-16 09:53:16.000000000 +0200
@@ -135,7 +135,7 @@
temp_boot_root_directory
)
data.sync_data(
- options=['-z', '-a']
+ options=['-a']
)
boot_directory = temp_boot_root_directory + '/boot'
Path.wipe(boot_directory)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/bootloader/config/grub2.py new/kiwi-9.18.12/kiwi/bootloader/config/grub2.py
--- old/kiwi-9.18.10/kiwi/bootloader/config/grub2.py 2019-08-02 14:34:52.000000000 +0200
+++ new/kiwi-9.18.12/kiwi/bootloader/config/grub2.py 2019-08-20 09:47:42.000000000 +0200
@@ -525,6 +525,8 @@
grub_default_entries['GRUB_USE_INITRDEFI'] = 'true'
if self.xml_state.build_type.get_btrfs_root_is_snapshot():
grub_default_entries['SUSE_BTRFS_SNAPSHOT_BOOTING'] = 'true'
+ if self.custom_args.get('boot_is_crypto'):
+ grub_default_entries['GRUB_ENABLE_CRYPTODISK'] = 'y'
if grub_default_entries:
log.info('Writing grub2 defaults file')
@@ -714,6 +716,23 @@
early_boot.write(
'set btrfs_relative_path="yes"{0}'.format(os.linesep)
)
+ if self.custom_args.get('boot_is_crypto'):
+ early_boot.write(
+ 'insmod cryptodisk{0}'.format(os.linesep)
+ )
+ early_boot.write(
+ 'insmod luks{0}'.format(os.linesep)
+ )
+ early_boot.write(
+ 'cryptomount -u {0}{1}'.format(
+ uuid.replace('-', ''), os.linesep
+ )
+ )
+ early_boot.write(
+ 'set root="cryptouuid/{0}"{1}'.format(
+ uuid.replace('-', ''), os.linesep
+ )
+ )
early_boot.write(
'search --fs-uuid --set=root {0}{1}'.format(uuid, os.linesep)
)
@@ -852,7 +871,7 @@
theme_dir, boot_theme_dir
)
data.sync_data(
- options=['-z', '-a']
+ options=['-a']
)
if boot_theme_background_file:
# Install preserved background file to the theme
@@ -870,7 +889,7 @@
os.path.dirname(boot_theme_background_file), boot_theme_dir
)
data.sync_data(
- options=['-z', '-a']
+ options=['-a']
)
self._check_boot_theme_exists()
@@ -922,7 +941,7 @@
module_path + '/', boot_module_path
)
data.sync_data(
- options=['-z', '-a'], exclude=['*.module']
+ options=['-a'], exclude=['*.module']
)
except Exception as e:
raise KiwiBootLoaderGrubModulesError(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/builder/disk.py new/kiwi-9.18.12/kiwi/builder/disk.py
--- old/kiwi-9.18.10/kiwi/builder/disk.py 2019-07-19 11:32:41.000000000 +0200
+++ new/kiwi-9.18.12/kiwi/builder/disk.py 2019-08-20 09:47:42.000000000 +0200
@@ -133,6 +133,8 @@
'.raw'
]
)
+ self.boot_is_crypto = True if self.luks and not \
+ self.disk_setup.need_boot_partition() else False
self.install_media = self._install_image_requested()
self.generic_fstab_entries = []
@@ -248,7 +250,9 @@
'targetbase':
loop_provider.get_device(),
'grub_directory_name':
- Defaults.get_grub_boot_directory_name(self.root_dir)
+ Defaults.get_grub_boot_directory_name(self.root_dir),
+ 'boot_is_crypto':
+ self.boot_is_crypto
}
)
@@ -268,9 +272,19 @@
# create luks on current root device if requested
if self.luks:
self.luks_root = LuksDevice(device_map['root'])
- self.luks_root.create_crypto_luks(
- passphrase=self.luks, os=self.luks_os
+ self.luks_boot_keyfile = ''.join(
+ [self.root_dir, '/.root.keyfile']
)
+ self.luks_root.create_crypto_luks(
+ passphrase=self.luks,
+ os=self.luks_os,
+ keyfile=self.luks_boot_keyfile if self.boot_is_crypto else None
+ )
+ if self.boot_is_crypto:
+ self.boot_image.include_file(
+ os.sep + os.path.basename(self.luks_boot_keyfile)
+ )
+ device_map['luks_root'] = device_map['root']
device_map['root'] = self.luks_root.get_device()
# create spare filesystem on spare partition if present
@@ -942,7 +956,12 @@
boot_uuid = self.disk.get_uuid(
boot_device.get_device()
)
- self.bootloader_config.setup_disk_boot_images(boot_uuid)
+ boot_uuid_unmapped = self.disk.get_uuid(
+ device_map['luks_root'].get_device()
+ ) if self.luks else boot_uuid
+ self.bootloader_config.setup_disk_boot_images(
+ boot_uuid_unmapped
+ )
self.bootloader_config.setup_disk_image_config(
boot_uuid=boot_uuid,
root_uuid=root_uuid,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/builder/pxe.py new/kiwi-9.18.12/kiwi/builder/pxe.py
--- old/kiwi-9.18.10/kiwi/builder/pxe.py 2019-08-02 14:34:52.000000000 +0200
+++ new/kiwi-9.18.12/kiwi/builder/pxe.py 2019-08-14 10:42:35.000000000 +0200
@@ -65,7 +65,8 @@
and 'xz_options' in custom_args else None
self.boot_image_task = BootImage(
- xml_state, target_dir, signing_keys=self.boot_signing_keys
+ xml_state, target_dir, root_dir,
+ signing_keys=self.boot_signing_keys
)
self.image_name = ''.join(
[
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/container/setup/base.py new/kiwi-9.18.12/kiwi/container/setup/base.py
--- old/kiwi-9.18.10/kiwi/container/setup/base.py 2019-05-24 11:43:19.000000000 +0200
+++ new/kiwi-9.18.12/kiwi/container/setup/base.py 2019-08-16 09:53:16.000000000 +0200
@@ -170,7 +170,7 @@
try:
data = DataSync('/dev/', self.root_dir + '/dev/')
data.sync_data(
- options=['-z', '-a', '-x', '--devices', '--specials']
+ options=['-a', '-x', '--devices', '--specials']
)
except Exception as e:
raise KiwiContainerSetupError(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/defaults.py new/kiwi-9.18.12/kiwi/defaults.py
--- old/kiwi-9.18.10/kiwi/defaults.py 2019-07-17 16:53:14.000000000 +0200
+++ new/kiwi-9.18.12/kiwi/defaults.py 2019-08-20 09:47:42.000000000 +0200
@@ -62,6 +62,13 @@
]
@staticmethod
+ def get_luks_key_length():
+ """
+ Provides key length to use for random luks keys
+ """
+ return 256
+
+ @staticmethod
def get_xz_compression_options():
"""
Provides compression options for the xz compressor
@@ -376,6 +383,12 @@
'xfs',
'btrfs',
'lvm',
+ 'luks',
+ 'gcry_rijndael',
+ 'gcry_sha256',
+ 'gcry_sha512',
+ 'crypto',
+ 'cryptodisk',
'test',
'true'
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/iso_tools/base.py new/kiwi-9.18.12/kiwi/iso_tools/base.py
--- old/kiwi-9.18.10/kiwi/iso_tools/base.py 2019-07-11 15:25:17.000000000 +0200
+++ new/kiwi-9.18.12/kiwi/iso_tools/base.py 2019-08-16 09:53:16.000000000 +0200
@@ -176,5 +176,5 @@
loader_data, media_boot_path
)
data.sync_data(
- options=['-z', '-a']
+ options=['-a']
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/path.py new/kiwi-9.18.12/kiwi/path.py
--- old/kiwi-9.18.10/kiwi/path.py 2019-07-02 16:48:30.000000000 +0200
+++ new/kiwi-9.18.12/kiwi/path.py 2019-08-20 09:47:42.000000000 +0200
@@ -141,7 +141,7 @@
)
path_elements = path.split(os.sep)
protected_elements = [
- 'boot', 'dev', 'proc', 'run', 'sys', 'tmp', 'home'
+ 'boot', 'dev', 'proc', 'run', 'sys', 'tmp', 'home', 'mnt'
]
for path_index in reversed(range(0, len(path_elements))):
sub_path = os.sep.join(path_elements[0:path_index])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/schema/kiwi.rnc new/kiwi-9.18.12/kiwi/schema/kiwi.rnc
--- old/kiwi-9.18.10/kiwi/schema/kiwi.rnc 2019-08-02 14:34:52.000000000 +0200
+++ new/kiwi-9.18.12/kiwi/schema/kiwi.rnc 2019-08-14 10:42:35.000000000 +0200
@@ -1505,7 +1505,7 @@
}
>> sch:pattern [ id = "initrd_system" is-a = "image_type"
sch:param [ name = "attr" value = "initrd_system" ]
- sch:param [ name = "types" value = "oem" ]
+ sch:param [ name = "types" value = "oem pxe" ]
]
k.type.image.attribute =
## Specifies the image type
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/schema/kiwi.rng new/kiwi-9.18.12/kiwi/schema/kiwi.rng
--- old/kiwi-9.18.10/kiwi/schema/kiwi.rng 2019-08-02 14:34:52.000000000 +0200
+++ new/kiwi-9.18.12/kiwi/schema/kiwi.rng 2019-08-14 10:42:35.000000000 +0200
@@ -2238,7 +2238,7 @@
</attribute>
<sch:pattern id="initrd_system" is-a="image_type">
<sch:param name="attr" value="initrd_system"/>
- <sch:param name="types" value="oem"/>
+ <sch:param name="types" value="oem pxe"/>
</sch:pattern>
</define>
<define name="k.type.image.attribute">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/storage/luks_device.py new/kiwi-9.18.12/kiwi/storage/luks_device.py
--- old/kiwi-9.18.10/kiwi/storage/luks_device.py 2019-05-24 11:43:19.000000000 +0200
+++ new/kiwi-9.18.12/kiwi/storage/luks_device.py 2019-08-20 09:47:42.000000000 +0200
@@ -15,10 +15,12 @@
# You should have received a copy of the GNU General Public License
# along with kiwi. If not, see <http://www.gnu.org/licenses/>
#
+import os
from tempfile import NamedTemporaryFile
# project
from kiwi.command import Command
+from kiwi.defaults import Defaults
from kiwi.storage.device_provider import DeviceProvider
from kiwi.storage.mapped_device import MappedDevice
from kiwi.logger import log
@@ -41,6 +43,7 @@
self.storage_provider = storage_provider
self.luks_device = None
+ self.luks_keyfile = None
self.luks_name = 'luksRoot'
self.option_map = {
@@ -64,7 +67,9 @@
device=self.luks_device, device_provider=self
)
- def create_crypto_luks(self, passphrase, os=None, options=None):
+ def create_crypto_luks(
+ self, passphrase, os=None, options=None, keyfile=None
+ ):
"""
Create luks device. Please note the passphrase is readable
at creation time of this image. Make sure your host system
@@ -75,6 +80,9 @@
distribution name to match distribution specific
options for cryptsetup
:param list options: further cryptsetup options
+ :param string keyfile: file path name
+ file path name which contains an alternative key
+ to unlock the luks device
"""
if not options:
options = []
@@ -113,6 +121,15 @@
'luksFormat', storage_device
]
)
+ if keyfile:
+ self.luks_keyfile = keyfile
+ LuksDevice.create_random_keyfile(keyfile)
+ Command.run(
+ [
+ 'cryptsetup', '--key-file', passphrase_file.name,
+ 'luksAddKey', storage_device, keyfile
+ ]
+ )
Command.run(
[
'cryptsetup', '--key-file', passphrase_file.name,
@@ -129,11 +146,20 @@
"""
storage_device = self.storage_provider.get_device()
with open(filename, 'w') as crypttab:
- crypttab.write(
- 'luks UUID=%s\n' % self.storage_provider.get_uuid(
- storage_device
+ luks_uuid = self.storage_provider.get_uuid(storage_device)
+ if self.luks_keyfile:
+ crypttab.write(
+ 'luks UUID={0} /{1}{2}'.format(
+ luks_uuid, os.path.basename(self.luks_keyfile),
+ os.linesep
+ )
+ )
+ else:
+ crypttab.write(
+ 'luks UUID={0}{1}'.format(
+ luks_uuid, os.linesep
+ )
)
- )
def is_loop(self):
"""
@@ -147,6 +173,16 @@
"""
return self.storage_provider.is_loop()
+ @staticmethod
+ def create_random_keyfile(filename):
+ """
+ Create keyfile with random data
+
+ :param string filename: file path name
+ """
+ with open(filename, 'wb') as keyfile:
+ keyfile.write(os.urandom(Defaults.get_luks_key_length()))
+
def __del__(self):
if self.luks_device:
log.info('Cleaning up %s instance', type(self).__name__)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/storage/setup.py new/kiwi-9.18.12/kiwi/storage/setup.py
--- old/kiwi-9.18.10/kiwi/storage/setup.py 2019-05-24 11:43:19.000000000 +0200
+++ new/kiwi-9.18.12/kiwi/storage/setup.py 2019-08-20 09:47:42.000000000 +0200
@@ -191,8 +191,6 @@
return True
if self.bootloader == 'grub2_s390x_emu':
return True
- if self.luks:
- return True
def get_boot_label(self):
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/system/setup.py new/kiwi-9.18.12/kiwi/system/setup.py
--- old/kiwi-9.18.10/kiwi/system/setup.py 2019-07-17 16:53:22.000000000 +0200
+++ new/kiwi-9.18.12/kiwi/system/setup.py 2019-08-16 09:53:16.000000000 +0200
@@ -502,7 +502,7 @@
modprobe_config, target_root_dir + '/etc/'
)
data.sync_data(
- options=['-z', '-a']
+ options=['-a']
)
def export_package_list(self, target_dir):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi/version.py new/kiwi-9.18.12/kiwi/version.py
--- old/kiwi-9.18.10/kiwi/version.py 2019-08-05 09:55:02.000000000 +0200
+++ new/kiwi-9.18.12/kiwi/version.py 2019-08-20 09:48:00.000000000 +0200
@@ -18,5 +18,5 @@
"""
Global version information used in kiwi and the package
"""
-__version__ = '9.18.10'
-__githash__ = '728856aff2b53299bbaaeed6f6a593b73f3642e8'
+__version__ = '9.18.12'
+__githash__ = 'a97ad0e7e1c61f6f5eb8af4fad5fd781cd3f0e75'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi.egg-info/PKG-INFO new/kiwi-9.18.12/kiwi.egg-info/PKG-INFO
--- old/kiwi-9.18.10/kiwi.egg-info/PKG-INFO 2019-08-05 09:57:12.000000000 +0200
+++ new/kiwi-9.18.12/kiwi.egg-info/PKG-INFO 2019-08-20 09:49:19.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: kiwi
-Version: 9.18.10
+Version: 9.18.12
Summary: KIWI - Appliance Builder (next generation)
Home-page: https://osinside.github.io/kiwi
Author: Marcus Schaefer
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/kiwi.egg-info/SOURCES.txt new/kiwi-9.18.12/kiwi.egg-info/SOURCES.txt
--- old/kiwi-9.18.10/kiwi.egg-info/SOURCES.txt 2019-08-05 09:57:12.000000000 +0200
+++ new/kiwi-9.18.12/kiwi.egg-info/SOURCES.txt 2019-08-20 09:49:19.000000000 +0200
@@ -1,4 +1,5 @@
.bumpversion.cfg
+.coverage
.travis.yml
.virtualenv.dev-requirements.txt
.virtualenv.requirements.txt
@@ -475,6 +476,11 @@
test/unit/volume_manager_test.py
test/unit/xml_description_test.py
test/unit/xml_state_test.py
+test/unit/kiwi.egg-info/SOURCES.txt
+test/unit/kiwi.egg-info/dependency_links.txt
+test/unit/kiwi.egg-info/entry_points.txt
+test/unit/kiwi.egg-info/requires.txt
+test/unit/kiwi.egg-info/top_level.txt
tools/Makefile
tools/README.md
tools/dcounter.c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/test/unit/boot_image_builtin_kiwi_test.py new/kiwi-9.18.12/test/unit/boot_image_builtin_kiwi_test.py
--- old/kiwi-9.18.10/test/unit/boot_image_builtin_kiwi_test.py 2019-05-24 11:43:19.000000000 +0200
+++ new/kiwi-9.18.12/test/unit/boot_image_builtin_kiwi_test.py 2019-08-16 09:53:16.000000000 +0200
@@ -112,7 +112,7 @@
mock_sync.assert_called_once_with(
'boot-root-directory/', 'temp-boot-directory'
)
- data.sync_data.assert_called_once_with(options=['-z', '-a'])
+ data.sync_data.assert_called_once_with(options=['-a'])
mock_cpio.assert_called_once_with(
''.join(
[
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/test/unit/boot_image_test.py new/kiwi-9.18.12/test/unit/boot_image_test.py
--- old/kiwi-9.18.10/test/unit/boot_image_test.py 2019-05-24 11:43:19.000000000 +0200
+++ new/kiwi-9.18.12/test/unit/boot_image_test.py 2019-08-14 10:42:35.000000000 +0200
@@ -33,5 +33,5 @@
self.xml_state.get_initrd_system.return_value = 'dracut'
BootImage(self.xml_state, 'target_dir', 'root_dir')
mock_dracut.assert_called_once_with(
- self.xml_state, 'target_dir', 'root_dir'
+ self.xml_state, 'target_dir', 'root_dir', None
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/test/unit/bootloader_config_grub2_test.py new/kiwi-9.18.12/test/unit/bootloader_config_grub2_test.py
--- old/kiwi-9.18.10/test/unit/bootloader_config_grub2_test.py 2019-08-02 14:34:52.000000000 +0200
+++ new/kiwi-9.18.12/test/unit/bootloader_config_grub2_test.py 2019-08-20 09:47:42.000000000 +0200
@@ -95,7 +95,9 @@
return_value=False
)
self.bootloader = BootLoaderConfigGrub2(
- self.state, 'root_dir', None, {'grub_directory_name': 'grub2'}
+ self.state, 'root_dir', None, {
+ 'grub_directory_name': 'grub2', 'boot_is_crypto': True
+ }
)
@patch('platform.machine')
@@ -303,6 +305,7 @@
'/boot/grub2/themes/openSUSE/background.png'
),
call('GRUB_CMDLINE_LINUX_DEFAULT', '"some-cmdline"'),
+ call('GRUB_ENABLE_CRYPTODISK', 'y'),
call(
'GRUB_SERIAL_COMMAND',
'"serial --speed=38400 --unit=0 --word=8 --parity=no --stop=1"'
@@ -552,8 +555,10 @@
'search_label', 'search_fs_file', 'search', 'search_fs_uuid',
'ls', 'normal', 'gzio', 'png', 'fat', 'gettext', 'font',
'minicmd', 'gfxterm', 'gfxmenu', 'all_video', 'xfs',
- 'btrfs', 'lvm', 'test', 'true', 'multiboot', 'part_gpt',
- 'part_msdos', 'efi_gop', 'efi_uga', 'linuxefi'
+ 'btrfs', 'lvm', 'luks', 'gcry_rijndael', 'gcry_sha256',
+ 'gcry_sha512', 'crypto', 'cryptodisk', 'test', 'true',
+ 'multiboot', 'part_gpt', 'part_msdos', 'efi_gop',
+ 'efi_uga', 'linuxefi'
])
]
@@ -598,6 +603,10 @@
)
assert file_mock.write.call_args_list == [
call('set btrfs_relative_path="yes"\n'),
+ call('insmod cryptodisk\n'),
+ call('insmod luks\n'),
+ call('cryptomount -u 0815\n'),
+ call('set root="cryptouuid/0815"\n'),
call('search --fs-uuid --set=root 0815\n'),
call('set prefix=($root)//grub2\n')
]
@@ -616,8 +625,9 @@
'search_label', 'search_fs_file', 'search', 'search_fs_uuid',
'ls', 'normal', 'gzio', 'png', 'fat', 'gettext', 'font',
'minicmd', 'gfxterm', 'gfxmenu', 'all_video', 'xfs',
- 'btrfs', 'lvm', 'test', 'true', 'part_gpt', 'part_msdos',
- 'efi_gop', 'efi_uga', 'linuxefi'
+ 'btrfs', 'lvm', 'luks', 'gcry_rijndael', 'gcry_sha256',
+ 'gcry_sha512', 'crypto', 'cryptodisk', 'test', 'true',
+ 'part_gpt', 'part_msdos', 'efi_gop', 'efi_uga', 'linuxefi'
])
]
assert mock_sync.call_args_list == [
@@ -631,8 +641,8 @@
)
]
assert data.sync_data.call_args_list == [
- call(exclude=['*.module'], options=['-z', '-a']),
- call(exclude=['*.module'], options=['-z', '-a'])
+ call(exclude=['*.module'], options=['-a']),
+ call(exclude=['*.module'], options=['-a'])
]
mock_get_unsigned_grub_loader.return_value = 'custom_grub_image'
@@ -653,6 +663,10 @@
]
assert file_mock.write.call_args_list == [
call('set btrfs_relative_path="yes"\n'),
+ call('insmod cryptodisk\n'),
+ call('insmod luks\n'),
+ call('cryptomount -u 0815\n'),
+ call('set root="cryptouuid/0815"\n'),
call('search --fs-uuid --set=root 0815\n'),
call('set prefix=($root)//grub2\n'),
call('normal\n')
@@ -758,12 +772,12 @@
self.bootloader.setup_disk_boot_images('uuid')
assert mock_command.call_args_list == [
call([
- 'rsync', '-z', '-a', '--exclude', '/*.module',
+ 'rsync', '-a', '--exclude', '/*.module',
'root_dir/usr/share/grub2/i386-pc/',
'root_dir/boot/grub2/i386-pc'
]),
call([
- 'rsync', '-z', '-a', '--exclude', '/*.module',
+ 'rsync', '-a', '--exclude', '/*.module',
'root_dir/usr/share/grub2/x86_64-efi/',
'root_dir/boot/grub2/x86_64-efi']
)]
@@ -804,12 +818,12 @@
self.bootloader.setup_disk_boot_images('uuid')
assert mock_command.call_args_list == [
call([
- 'rsync', '-z', '-a', '--exclude', '/*.module',
+ 'rsync', '-a', '--exclude', '/*.module',
'root_dir/usr/share/grub2/i386-pc/',
'root_dir/boot/grub2/i386-pc'
]),
call([
- 'rsync', '-z', '-a', '--exclude', '/*.module',
+ 'rsync', '-a', '--exclude', '/*.module',
'root_dir/usr/share/grub2/x86_64-efi/',
'root_dir/boot/grub2/x86_64-efi'
]),
@@ -861,12 +875,12 @@
self.bootloader.setup_disk_boot_images('uuid')
assert mock_command.call_args_list == [
call([
- 'rsync', '-z', '-a', '--exclude', '/*.module',
+ 'rsync', '-a', '--exclude', '/*.module',
'root_dir/usr/share/grub2/i386-pc/',
'root_dir/boot/grub2/i386-pc'
]),
call([
- 'rsync', '-z', '-a', '--exclude', '/*.module',
+ 'rsync', '-a', '--exclude', '/*.module',
'root_dir/usr/share/grub2/x86_64-efi/',
'root_dir/boot/grub2/x86_64-efi'
]),
@@ -949,8 +963,10 @@
'search_label', 'search_fs_file', 'search',
'search_fs_uuid', 'ls', 'normal', 'gzio', 'png', 'fat',
'gettext', 'font', 'minicmd', 'gfxterm', 'gfxmenu',
- 'all_video', 'xfs', 'btrfs', 'lvm', 'test', 'true',
- 'part_gpt', 'part_msdos', 'biosdisk', 'vga', 'vbe',
+ 'all_video', 'xfs', 'btrfs', 'lvm', 'luks',
+ 'gcry_rijndael', 'gcry_sha256', 'gcry_sha512',
+ 'crypto', 'cryptodisk', 'test', 'true', 'part_gpt',
+ 'part_msdos', 'biosdisk', 'vga', 'vbe',
'chain', 'boot'
]
),
@@ -972,8 +988,10 @@
'search_label', 'search_fs_file', 'search',
'search_fs_uuid', 'ls', 'normal', 'gzio', 'png', 'fat',
'gettext', 'font', 'minicmd', 'gfxterm', 'gfxmenu',
- 'all_video', 'xfs', 'btrfs', 'lvm', 'test', 'true',
- 'part_gpt', 'part_msdos', 'efi_gop', 'efi_uga', 'linuxefi'
+ 'all_video', 'xfs', 'btrfs', 'lvm', 'luks',
+ 'gcry_rijndael', 'gcry_sha256', 'gcry_sha512',
+ 'crypto', 'cryptodisk', 'test', 'true', 'part_gpt',
+ 'part_msdos', 'efi_gop', 'efi_uga', 'linuxefi'
]
)
]
@@ -988,8 +1006,8 @@
)
]
assert data.sync_data.call_args_list == [
- call(exclude=['*.module'], options=['-z', '-a']),
- call(exclude=['*.module'], options=['-z', '-a'])
+ call(exclude=['*.module'], options=['-a']),
+ call(exclude=['*.module'], options=['-a'])
]
mock_get_unsigned_grub_loader.return_value = 'custom_grub_image'
@@ -1068,7 +1086,7 @@
),
call(
[
- 'rsync', '-z', '-a', '--exclude', '/*.module',
+ 'rsync', '-a', '--exclude', '/*.module',
'root_dir/usr/share/grub2/x86_64-efi/',
'root_dir/boot/grub2/x86_64-efi'
]
@@ -1137,7 +1155,7 @@
'root_dir/boot/grub2/themes'
)
assert data.sync_data.call_args_list[0] == call(
- options=['-z', '-a']
+ options=['-a']
)
@patch('kiwi.bootloader.config.grub2.Command.run')
@@ -1184,7 +1202,7 @@
'root_dir/boot/grub2/themes'
)
assert data.sync_data.call_args_list[0] == call(
- options=['-z', '-a']
+ options=['-a']
)
@patch('kiwi.bootloader.config.grub2.Command.run')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/test/unit/builder_disk_test.py new/kiwi-9.18.12/test/unit/builder_disk_test.py
--- old/kiwi-9.18.10/test/unit/builder_disk_test.py 2019-06-11 13:46:25.000000000 +0200
+++ new/kiwi-9.18.12/test/unit/builder_disk_test.py 2019-08-20 09:47:42.000000000 +0200
@@ -680,14 +680,17 @@
mock_fs.return_value = filesystem
self.disk_builder.volume_manager_name = None
self.disk_builder.luks = 'passphrase'
+ self.disk_setup.need_boot_partition.return_value = False
+ self.disk_builder.boot_is_crypto = True
self.disk_builder.create_disk()
self.luks_root.create_crypto_luks.assert_called_once_with(
- passphrase='passphrase', os=None
+ passphrase='passphrase', os=None, keyfile='root_dir/.root.keyfile'
)
self.luks_root.create_crypttab.assert_called_once_with(
'root_dir/etc/crypttab'
)
assert self.boot_image_task.include_file.call_args_list == [
+ call('/.root.keyfile'),
call('/config.partids'),
call('/etc/crypttab')
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/test/unit/container_setup_base_test.py new/kiwi-9.18.12/test/unit/container_setup_base_test.py
--- old/kiwi-9.18.10/test/unit/container_setup_base_test.py 2019-05-24 11:43:19.000000000 +0200
+++ new/kiwi-9.18.12/test/unit/container_setup_base_test.py 2019-08-16 09:53:16.000000000 +0200
@@ -121,7 +121,7 @@
'/dev/', 'root_dir/dev/'
)
data.sync_data.assert_called_once_with(
- options=['-z', '-a', '-x', '--devices', '--specials']
+ options=['-a', '-x', '--devices', '--specials']
)
@patch('kiwi.container.setup.base.Command.run')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/test/unit/iso_tools_base_test.py new/kiwi-9.18.12/test/unit/iso_tools_base_test.py
--- old/kiwi-9.18.10/test/unit/iso_tools_base_test.py 2019-07-11 15:25:17.000000000 +0200
+++ new/kiwi-9.18.12/test/unit/iso_tools_base_test.py 2019-08-16 09:53:16.000000000 +0200
@@ -203,5 +203,5 @@
'media_dir/boot/x86_64/loader'
)
data.sync_data.assert_called_once_with(
- options=['-z', '-a']
+ options=['-a']
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/test/unit/kiwi.egg-info/dependency_links.txt new/kiwi-9.18.12/test/unit/kiwi.egg-info/dependency_links.txt
--- old/kiwi-9.18.10/test/unit/kiwi.egg-info/dependency_links.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/kiwi-9.18.12/test/unit/kiwi.egg-info/dependency_links.txt 2017-11-29 17:13:38.000000000 +0100
@@ -0,0 +1 @@
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/test/unit/kiwi.egg-info/entry_points.txt new/kiwi-9.18.12/test/unit/kiwi.egg-info/entry_points.txt
--- old/kiwi-9.18.10/test/unit/kiwi.egg-info/entry_points.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/kiwi-9.18.12/test/unit/kiwi.egg-info/entry_points.txt 2017-11-29 17:13:38.000000000 +0100
@@ -0,0 +1,4 @@
+[console_scripts]
+kiwi-ng-3 = kiwi.kiwi:main
+kiwicompat-3 = kiwi.kiwi_compat:main
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/test/unit/kiwi.egg-info/requires.txt new/kiwi-9.18.12/test/unit/kiwi.egg-info/requires.txt
--- old/kiwi-9.18.10/test/unit/kiwi.egg-info/requires.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/kiwi-9.18.12/test/unit/kiwi.egg-info/requires.txt 2017-11-29 17:13:38.000000000 +0100
@@ -0,0 +1,7 @@
+docopt>=0.6.2
+lxml
+xattr
+future
+six
+requests
+PyYAML
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/test/unit/kiwi.egg-info/top_level.txt new/kiwi-9.18.12/test/unit/kiwi.egg-info/top_level.txt
--- old/kiwi-9.18.10/test/unit/kiwi.egg-info/top_level.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/kiwi-9.18.12/test/unit/kiwi.egg-info/top_level.txt 2017-11-29 17:13:38.000000000 +0100
@@ -0,0 +1 @@
+kiwi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/test/unit/storage_luks_device_test.py new/kiwi-9.18.12/test/unit/storage_luks_device_test.py
--- old/kiwi-9.18.10/test/unit/storage_luks_device_test.py 2018-11-06 10:13:35.000000000 +0100
+++ new/kiwi-9.18.12/test/unit/storage_luks_device_test.py 2019-08-20 09:47:42.000000000 +0200
@@ -1,8 +1,8 @@
-from mock import patch
-from mock import call
-import mock
-
-from .test_helper import raises, patch_open
+import io
+from mock import (
+ patch, call, MagicMock, Mock
+)
+from pytest import raises
from kiwi.exceptions import KiwiLuksSetupError
from kiwi.storage.luks_device import LuksDevice
@@ -10,28 +10,28 @@
class TestLuksDevice(object):
def setup(self):
- storage_device = mock.Mock()
- storage_device.get_byte_size = mock.Mock(
+ storage_device = Mock()
+ storage_device.get_byte_size = Mock(
return_value=1048576
)
- storage_device.get_uuid = mock.Mock(
+ storage_device.get_uuid = Mock(
return_value='0815'
)
- storage_device.get_device = mock.Mock(
+ storage_device.get_device = Mock(
return_value='/dev/some-device'
)
- storage_device.is_loop = mock.Mock(
+ storage_device.is_loop = Mock(
return_value=True
)
self.luks = LuksDevice(storage_device)
- @raises(KiwiLuksSetupError)
def test_create_crypto_luks_empty_passphrase(self):
- self.luks.create_crypto_luks('')
+ with raises(KiwiLuksSetupError):
+ self.luks.create_crypto_luks('')
- @raises(KiwiLuksSetupError)
def test_create_crypto_luks_unsupported_os_options(self):
- self.luks.create_crypto_luks('passphrase', 'some-os')
+ with raises(KiwiLuksSetupError):
+ self.luks.create_crypto_luks('passphrase', 'some-os')
@patch('os.path.exists')
def test_get_device(self, mock_path):
@@ -42,44 +42,74 @@
@patch('kiwi.storage.luks_device.Command.run')
@patch('kiwi.storage.luks_device.NamedTemporaryFile')
- @patch_open
- def test_create_crypto_luks(self, mock_open, mock_tmpfile, mock_command):
- tmpfile = mock.Mock()
+ def test_create_crypto_luks(self, mock_tmpfile, mock_command):
+ tmpfile = Mock()
tmpfile.name = 'tmpfile'
mock_tmpfile.return_value = tmpfile
- self.luks.create_crypto_luks('passphrase', 'sle12')
- assert mock_command.call_args_list == [
- call([
- 'dd', 'if=/dev/urandom', 'bs=1M', 'count=1',
- 'of=/dev/some-device'
- ]),
- call([
- 'cryptsetup', '-q', '--key-file', 'tmpfile',
- '--cipher', 'aes-xts-plain64',
- '--key-size', '256', '--hash', 'sha1',
- 'luksFormat', '/dev/some-device'
- ]),
- call([
- 'cryptsetup', '--key-file', 'tmpfile', 'luksOpen',
- '/dev/some-device', 'luksRoot'
- ])
- ]
- self.luks.luks_device = None
+ with patch('builtins.open', create=True):
+ self.luks.create_crypto_luks(
+ passphrase='passphrase', os='sle12', keyfile='some-keyfile'
+ )
+ assert mock_command.call_args_list == [
+ call(
+ [
+ 'dd', 'if=/dev/urandom', 'bs=1M', 'count=1',
+ 'of=/dev/some-device'
+ ]
+ ),
+ call(
+ [
+ 'cryptsetup', '-q', '--key-file', 'tmpfile',
+ '--cipher', 'aes-xts-plain64',
+ '--key-size', '256', '--hash', 'sha1',
+ 'luksFormat', '/dev/some-device'
+ ]
+ ),
+ call(
+ [
+ 'cryptsetup', '--key-file', 'tmpfile', 'luksAddKey',
+ '/dev/some-device', 'some-keyfile'
+ ]
+ ),
+ call(
+ [
+ 'cryptsetup', '--key-file', 'tmpfile', 'luksOpen',
+ '/dev/some-device', 'luksRoot'
+ ]
+ )
+ ]
+ self.luks.luks_device = None
- @patch_open
- def test_create_crypttab(self, mock_open):
+ def test_create_crypttab(self):
self.luks.luks_device = '/dev/mapper/luksRoot'
- context_manager_mock = mock.Mock()
- mock_open.return_value = context_manager_mock
- file_mock = mock.Mock()
- enter_mock = mock.Mock()
- exit_mock = mock.Mock()
- enter_mock.return_value = file_mock
- setattr(context_manager_mock, '__enter__', enter_mock)
- setattr(context_manager_mock, '__exit__', exit_mock)
- self.luks.create_crypttab('crypttab')
- file_mock.write.assert_called_once_with('luks UUID=0815\n')
- self.luks.luks_device = None
+ self.luks.luks_keyfile = None
+ with patch('builtins.open', create=True) as mock_open:
+ mock_open.return_value = MagicMock(spec=io.IOBase)
+ file_handle = mock_open.return_value.__enter__.return_value
+ self.luks.create_crypttab('crypttab')
+ file_handle.write.assert_called_once_with(
+ 'luks UUID=0815\n'
+ )
+ self.luks.luks_device = None
+ self.luks.luks_keyfile = 'some-keyfile'
+ with patch('builtins.open', create=True) as mock_open:
+ mock_open.return_value = MagicMock(spec=io.IOBase)
+ file_handle = mock_open.return_value.__enter__.return_value
+ self.luks.create_crypttab('crypttab')
+ file_handle.write.assert_called_once_with(
+ 'luks UUID=0815 /some-keyfile\n'
+ )
+ self.luks.luks_device = None
+
+ @patch('os.urandom')
+ def test_create_random_keyfile(self, mock_os_urandom):
+ secret = b'secret'
+ mock_os_urandom.return_value = secret
+ with patch('builtins.open', create=True) as mock_open:
+ mock_open.return_value = MagicMock(spec=io.IOBase)
+ file_handle = mock_open.return_value.__enter__.return_value
+ LuksDevice.create_random_keyfile('some-file')
+ file_handle.write.assert_called_once_with(secret)
def test_is_loop(self):
assert self.luks.is_loop() is True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/test/unit/storage_setup_test.py new/kiwi-9.18.12/test/unit/storage_setup_test.py
--- old/kiwi-9.18.10/test/unit/storage_setup_test.py 2019-05-24 11:43:19.000000000 +0200
+++ new/kiwi-9.18.12/test/unit/storage_setup_test.py 2019-08-20 09:47:42.000000000 +0200
@@ -88,11 +88,6 @@
self.setup.mdraid = True
assert self.setup.need_boot_partition() is True
- def test_need_boot_partition_luks(self):
- self._init_bootpart_check()
- self.setup.luks = True
- assert self.setup.need_boot_partition() is True
-
def test_need_boot_partition_lvm(self):
self._init_bootpart_check()
self.setup.volume_manager = 'lvm'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.18.10/test/unit/system_setup_test.py new/kiwi-9.18.12/test/unit/system_setup_test.py
--- old/kiwi-9.18.10/test/unit/system_setup_test.py 2019-07-17 16:53:22.000000000 +0200
+++ new/kiwi-9.18.12/test/unit/system_setup_test.py 2019-08-16 09:53:16.000000000 +0200
@@ -803,7 +803,7 @@
'root_dir/etc/modprobe.d', 'target_root_dir/etc/'
)
data.sync_data.assert_called_once_with(
- options=['-z', '-a']
+ options=['-a']
)
@patch('kiwi.system.setup.Command.run')
1
0
Hello community,
here is the log from the commit of package librevenge for openSUSE:Factory checked in at 2019-09-02 12:51:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/librevenge (Old)
and /work/SRC/openSUSE:Factory/.librevenge.new.7948 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "librevenge"
Mon Sep 2 12:51:24 2019 rev:12 rq:726341 version:0.0.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/librevenge/librevenge.changes 2019-08-22 15:11:46.450437951 +0200
+++ /work/SRC/openSUSE:Factory/.librevenge.new.7948/librevenge.changes 2019-09-02 12:51:26.329674058 +0200
@@ -1,0 +2,5 @@
+Tue Aug 27 06:20:36 UTC 2019 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Adjust SRPM group.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ librevenge.spec ++++++
--- /var/tmp/diff_new_pack.si8dCn/_old 2019-09-02 12:51:26.945673930 +0200
+++ /var/tmp/diff_new_pack.si8dCn/_new 2019-09-02 12:51:26.949673929 +0200
@@ -23,7 +23,7 @@
Release: 0
Summary: A base library for writing document import filters
License: LGPL-2.1-or-later OR MPL-2.0+
-Group: System/Libraries
+Group: Development/Libraries/C and C++
URL: https://sourceforge.net/p/libwpd/wiki/librevenge/
Source: http://downloads.sourceforge.net/libwpd/%{name}-%{version}.tar.xz
BuildRequires: doxygen
1
0
Hello community,
here is the log from the commit of package python-voluptuous for openSUSE:Factory checked in at 2019-09-02 12:44:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-voluptuous (Old)
and /work/SRC/openSUSE:Factory/.python-voluptuous.new.7948 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-voluptuous"
Mon Sep 2 12:44:50 2019 rev:6 rq:726268 version:0.11.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-voluptuous/python-voluptuous.changes 2018-08-10 09:48:54.714186232 +0200
+++ /work/SRC/openSUSE:Factory/.python-voluptuous.new.7948/python-voluptuous.changes 2019-09-02 12:44:52.421752398 +0200
@@ -1,0 +2,13 @@
+Mon Aug 26 11:41:09 UTC 2019 - Antonio Larrosa <alarrosa(a)suse.com>
+
+- Update to 0.11.7:
+ * #378: Allow extend() of a Schema to return a subclass of a Schema as well.
+ * #364: Accept description for Inclusive instances.
+ * #373: Accept msg for Maybe instances.
+ * #382: Added support for default values in Inclusive instances.
+ * #371: Fixed DeprecationWarning related to collections.Mapping.
+ * #377: Preserve Unicode strings when passed to utility functions
+ (e.g., Lower(), Upper()).
+ * #380: Fixed regression with Any and required flag.
+
+-------------------------------------------------------------------
Old:
----
voluptuous-0.11.5.tar.gz
New:
----
voluptuous-0.11.7.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-voluptuous.spec ++++++
--- /var/tmp/diff_new_pack.PPxkiX/_old 2019-09-02 12:44:52.849752321 +0200
+++ /var/tmp/diff_new_pack.PPxkiX/_new 2019-09-02 12:44:52.849752321 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-voluptuous
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 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
@@ -12,13 +12,13 @@
# 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/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-voluptuous
-Version: 0.11.5
+Version: 0.11.7
Release: 0
Summary: A Python data validation library
License: BSD-3-Clause
++++++ voluptuous-0.11.5.tar.gz -> voluptuous-0.11.7.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/voluptuous-0.11.5/CHANGELOG.md new/voluptuous-0.11.7/CHANGELOG.md
--- old/voluptuous-0.11.5/CHANGELOG.md 2018-02-15 10:11:22.000000000 +0100
+++ new/voluptuous-0.11.7/CHANGELOG.md 2019-08-13 04:17:50.000000000 +0200
@@ -1,6 +1,49 @@
# Changelog
-## [0.11.0]
+## [0.11.7]
+
+**Changes**
+
+- [#378](https://github.com/alecthomas/voluptuous/pull/378): Allow `extend()` of a `Schema` to return a subclass of a `Schema` as well.
+
+**New**:
+
+- [#364](https://github.com/alecthomas/voluptuous/pull/364): Accept `description` for `Inclusive` instances.
+- [#373](https://github.com/alecthomas/voluptuous/pull/373): Accept `msg` for `Maybe` instances.
+- [#382](https://github.com/alecthomas/voluptuous/pull/382): Added support for default values in `Inclusive` instances.
+
+**Fixes**:
+
+- [#371](https://github.com/alecthomas/voluptuous/pull/371): Fixed `DeprecationWarning` related to `collections.Mapping`.
+- [#377](https://github.com/alecthomas/voluptuous/pull/377): Preserve Unicode strings when passed to utility functions (e.g., `Lower()`, `Upper()`).
+- [#380](https://github.com/alecthomas/voluptuous/pull/380): Fixed regression with `Any` and `required` flag.
+
+## [0.11.5]
+
+- Fixed issue with opening README file in `setup.py`.
+
+## [0.11.4]
+
+- Removed use of `pypandoc` as Markdown is now supported by `setup()`.
+
+## [0.11.3] and [0.11.2]
+
+**Changes**:
+
+- [#349](https://github.com/alecthomas/voluptuous/pull/349): Support Python 3.7.
+- [#343](https://github.com/alecthomas/voluptuous/pull/343): Drop support for Python 3.3.
+
+**New**:
+
+- [#342](https://github.com/alecthomas/voluptuous/pull/342): Add support for sets and frozensets.
+
+**Fixes**:
+
+- [#332](https://github.com/alecthomas/voluptuous/pull/332): Fix Python 3.x compatibility for setup.py when `pypandoc` is installed.
+- [#348](https://github.com/alecthomas/voluptuous/pull/348): Include path in `AnyInvalid` errors.
+- [#351](https://github.com/alecthomas/voluptuous/pull/351): Fix `Date` behaviour when a custom format is specified.
+
+## [0.11.1] and [0.11.0]
**Changes**:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/voluptuous-0.11.5/PKG-INFO new/voluptuous-0.11.7/PKG-INFO
--- old/voluptuous-0.11.5/PKG-INFO 2018-08-01 05:15:06.000000000 +0200
+++ new/voluptuous-0.11.7/PKG-INFO 2019-08-13 04:18:18.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: voluptuous
-Version: 0.11.5
+Version: 0.11.7
Summary: # Voluptuous is a Python data validation library
Home-page: https://github.com/alecthomas/voluptuous
Author: Alec Thomas
@@ -9,8 +9,8 @@
Download-URL: https://pypi.python.org/pypi/voluptuous
Description: # Voluptuous is a Python data validation library
- [![Build Status](https://travis-ci.org/alecthomas/voluptuous.png)](https://travis-ci…
- [![Coverage Status](https://coveralls.io/repos/github/alecthomas/voluptuous/badge.svg?branch=master)](https://coveralls.io/github/alecthomas/voluptuous?branch=master) [![Gitter chat](https://badges.gitter.im/alecthomas.png)](https://gitter.im/alecthomas/Lobby)
+ [![Build Status](https://travis-ci.org/alecthomas/voluptuous.svg)](https://travis-ci…
+ [![Coverage Status](https://coveralls.io/repos/github/alecthomas/voluptuous/badge.svg?branch=master)](https://coveralls.io/github/alecthomas/voluptuous?branch=master) [![Gitter chat](https://badges.gitter.im/alecthomas.svg)](https://gitter.im/alecthomas/Lobby)
Voluptuous, *despite* the name, is a Python data validation library. It
is primarily intended for validating data coming into Python as JSON,
@@ -198,9 +198,9 @@
```
- ### URL's
+ ### URLs
- URL's in the schema are matched by using `urlparse` library.
+ URLs in the schema are matched by using `urlparse` library.
```pycon
>>> from voluptuous import Url
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/voluptuous-0.11.5/README.md new/voluptuous-0.11.7/README.md
--- old/voluptuous-0.11.5/README.md 2018-07-27 10:45:00.000000000 +0200
+++ new/voluptuous-0.11.7/README.md 2019-08-13 04:10:58.000000000 +0200
@@ -1,7 +1,7 @@
# Voluptuous is a Python data validation library
-[![Build Status](https://travis-ci.org/alecthomas/voluptuous.png)](https://travis-ci…
-[![Coverage Status](https://coveralls.io/repos/github/alecthomas/voluptuous/badge.svg?branch=master)](https://coveralls.io/github/alecthomas/voluptuous?branch=master) [![Gitter chat](https://badges.gitter.im/alecthomas.png)](https://gitter.im/alecthomas/Lobby)
+[![Build Status](https://travis-ci.org/alecthomas/voluptuous.svg)](https://travis-ci…
+[![Coverage Status](https://coveralls.io/repos/github/alecthomas/voluptuous/badge.svg?branch=master)](https://coveralls.io/github/alecthomas/voluptuous?branch=master) [![Gitter chat](https://badges.gitter.im/alecthomas.svg)](https://gitter.im/alecthomas/Lobby)
Voluptuous, *despite* the name, is a Python data validation library. It
is primarily intended for validating data coming into Python as JSON,
@@ -189,9 +189,9 @@
```
-### URL's
+### URLs
-URL's in the schema are matched by using `urlparse` library.
+URLs in the schema are matched by using `urlparse` library.
```pycon
>>> from voluptuous import Url
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/voluptuous-0.11.5/voluptuous/__init__.py new/voluptuous-0.11.7/voluptuous/__init__.py
--- old/voluptuous-0.11.5/voluptuous/__init__.py 2018-08-01 05:14:15.000000000 +0200
+++ new/voluptuous-0.11.7/voluptuous/__init__.py 2019-08-13 04:17:30.000000000 +0200
@@ -5,5 +5,5 @@
from voluptuous.util import *
from voluptuous.error import *
-__version__ = '0.11.5'
+__version__ = '0.11.7'
__author__ = 'alecthomas'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/voluptuous-0.11.5/voluptuous/schema_builder.py new/voluptuous-0.11.7/voluptuous/schema_builder.py
--- old/voluptuous-0.11.5/voluptuous/schema_builder.py 2018-07-27 10:45:01.000000000 +0200
+++ new/voluptuous-0.11.7/voluptuous/schema_builder.py 2019-08-13 04:10:58.000000000 +0200
@@ -22,6 +22,11 @@
def iteritems(d):
return d.iteritems()
+if sys.version_info >= (3, 3):
+ _Mapping = collections.abc.Mapping
+else:
+ _Mapping = collections.Mapping
+
"""Schema validation for Python data structures.
Given eg. a nested data structure like this:
@@ -280,7 +285,7 @@
return schema.__voluptuous_compile__(self)
if isinstance(schema, Object):
return self._compile_object(schema)
- if isinstance(schema, collections.Mapping):
+ if isinstance(schema, _Mapping):
return self._compile_dict(schema)
elif isinstance(schema, list):
return self._compile_list(schema)
@@ -771,9 +776,10 @@
result[key] = value
# recompile and send old object
+ result_cls = type(self)
result_required = (required if required is not None else self.required)
result_extra = (extra if extra is not None else self.extra)
- return Schema(result, required=result_required, extra=result_extra)
+ return result_cls(result, required=result_required, extra=result_extra)
def _compile_scalar(schema):
@@ -1121,8 +1127,11 @@
True
"""
- def __init__(self, schema, group_of_inclusion, msg=None):
- super(Inclusive, self).__init__(schema, msg=msg)
+ def __init__(self, schema, group_of_inclusion,
+ msg=None, description=None, default=UNDEFINED):
+ super(Inclusive, self).__init__(schema, msg=msg,
+ default=default,
+ description=description)
self.group_of_inclusion = group_of_inclusion
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/voluptuous-0.11.5/voluptuous/tests/tests.py new/voluptuous-0.11.7/voluptuous/tests/tests.py
--- old/voluptuous-0.11.5/voluptuous/tests/tests.py 2018-07-27 10:45:01.000000000 +0200
+++ new/voluptuous-0.11.7/voluptuous/tests/tests.py 2019-08-13 04:10:58.000000000 +0200
@@ -6,14 +6,14 @@
from nose.tools import assert_equal, assert_false, assert_raises, assert_true
from voluptuous import (
- Schema, Required, Exclusive, Optional, Extra, Invalid, In, Remove, Literal,
- Url, MultipleInvalid, LiteralInvalid, TypeInvalid, NotIn, Match, Email,
+ Schema, Required, Exclusive, Inclusive, Optional, Extra, Invalid, In, Remove,
+ Literal, Url, MultipleInvalid, LiteralInvalid, TypeInvalid, NotIn, Match, Email,
Replace, Range, Coerce, All, Any, Length, FqdnUrl, ALLOW_EXTRA, PREVENT_EXTRA,
validate, ExactSequence, Equal, Unordered, Number, Maybe, Datetime, Date,
Contains, Marker, IsDir, IsFile, PathExists, SomeOf, TooManyValid, Self,
raises)
from voluptuous.humanize import humanize_error
-from voluptuous.util import u
+from voluptuous.util import u, Capitalize, Lower, Strip, Title, Upper
def test_exact_sequence():
@@ -372,6 +372,7 @@
assert extended.schema == {'a': int, 'b': str}
assert extended.required == base.required
assert extended.extra == base.extra
+ assert isinstance(extended, Schema)
def test_schema_extend_overrides():
@@ -411,6 +412,20 @@
assert_equal(extended.schema, {'a': {'b': str, 'c': float, 'e': int}, 'd': str})
+def test_schema_extend_handles_schema_subclass():
+ """Verify that Schema.extend handles a subclass of Schema"""
+ class S(Schema):
+ pass
+
+ base = S({Required('a'): int})
+ extension = {Optional('b'): str}
+ extended = base.extend(extension)
+
+ expected_schema = {Required('a'): int, Optional('b'): str}
+ assert extended.schema == expected_schema
+ assert isinstance(extended, S)
+
+
def test_equality():
assert_equal(Schema('foo'), Schema('foo'))
@@ -624,6 +639,12 @@
assert_raises(Invalid, s, {'foo': 'bar'})
+def test_maybe_accepts_msg():
+ s = Schema(Maybe(int, msg='int or None expected'))
+ with raises(MultipleInvalid, 'int or None expected'):
+ assert s([])
+
+
def test_empty_list_as_exact():
s = Schema([])
assert_raises(Invalid, s, [1])
@@ -1035,6 +1056,9 @@
exclusive = Exclusive('alpha', 'angles', description='Hello')
assert exclusive.description == 'Hello'
+ inclusive = Inclusive('alpha', 'angles', description='Hello')
+ assert inclusive.description == 'Hello'
+
required = Required('key', description='Hello')
assert required.description == 'Hello'
@@ -1263,3 +1287,122 @@
assert_equal(str(e), "invalid value in frozenset")
else:
assert False, "Did not raise Invalid"
+
+
+def test_lower_util_handles_various_inputs():
+ assert Lower(3) == "3"
+ assert Lower(u"3") == u"3"
+ assert Lower(b'\xe2\x98\x83'.decode("UTF-8")) == b'\xe2\x98\x83'.decode("UTF-8")
+ assert Lower(u"A") == u"a"
+
+
+def test_upper_util_handles_various_inputs():
+ assert Upper(3) == "3"
+ assert Upper(u"3") == u"3"
+ assert Upper(b'\xe2\x98\x83'.decode("UTF-8")) == b'\xe2\x98\x83'.decode("UTF-8")
+ assert Upper(u"a") == u"A"
+
+
+def test_capitalize_util_handles_various_inputs():
+ assert Capitalize(3) == "3"
+ assert Capitalize(u"3") == u"3"
+ assert Capitalize(b'\xe2\x98\x83'.decode("UTF-8")) == b'\xe2\x98\x83'.decode("UTF-8")
+ assert Capitalize(u"aaa aaa") == u"Aaa aaa"
+
+
+def test_title_util_handles_various_inputs():
+ assert Title(3) == "3"
+ assert Title(u"3") == u"3"
+ assert Title(b'\xe2\x98\x83'.decode("UTF-8")) == b'\xe2\x98\x83'.decode("UTF-8")
+ assert Title(u"aaa aaa") == u"Aaa Aaa"
+
+
+def test_strip_util_handles_various_inputs():
+ assert Strip(3) == "3"
+ assert Strip(u"3") == u"3"
+ assert Strip(b'\xe2\x98\x83'.decode("UTF-8")) == b'\xe2\x98\x83'.decode("UTF-8")
+ assert Strip(u" aaa ") == u"aaa"
+
+
+def test_any_required():
+ schema = Schema(Any({'a': int}, {'b': str}, required=True))
+
+ try:
+ schema({})
+ except MultipleInvalid as e:
+ assert_equal(str(e),
+ "required key not provided @ data['a']")
+ else:
+ assert False, "Did not raise Invalid for MultipleInvalid"
+
+
+def test_any_required_with_subschema():
+ schema = Schema(Any({'a': Any(float, int)},
+ {'b': int},
+ {'c': {'aa': int}},
+ required=True))
+
+ try:
+ schema({})
+ except MultipleInvalid as e:
+ assert_equal(str(e),
+ "required key not provided @ data['a']")
+ else:
+ assert False, "Did not raise Invalid for MultipleInvalid"
+
+def test_inclusive():
+ schema = Schema({
+ Inclusive('x', 'stuff'): int,
+ Inclusive('y', 'stuff'): int,
+ })
+
+ r = schema({})
+ assert_equal(r, {})
+
+ r = schema({'x':1, 'y':2})
+ assert_equal(r, {'x':1, 'y':2})
+
+ try:
+ r = schema({'x':1})
+ except MultipleInvalid as e:
+ assert_equal(str(e),
+ "some but not all values in the same group of inclusion 'stuff' @ data[<stuff>]")
+ else:
+ assert False, "Did not raise Invalid for incomplete Inclusive group"
+
+def test_inclusive_defaults():
+ schema = Schema({
+ Inclusive('x', 'stuff', default=3): int,
+ Inclusive('y', 'stuff', default=4): int,
+ })
+
+ r = schema({})
+ assert_equal(r, {'x':3, 'y':4})
+
+ try:
+ r = schema({'x':1})
+ except MultipleInvalid as e:
+ assert_equal(str(e),
+ "some but not all values in the same group of inclusion 'stuff' @ data[<stuff>]")
+ else:
+ assert False, "Did not raise Invalid for incomplete Inclusive group with defaults"
+
+def test_exclusive():
+ schema = Schema({
+ Exclusive('x', 'stuff'): int,
+ Exclusive('y', 'stuff'): int,
+ })
+
+ r = schema({})
+ assert_equal(r, {})
+
+ r = schema({'x':1})
+ assert_equal(r, {'x':1})
+
+ try:
+ r = schema({'x':1, 'y': 2})
+ except MultipleInvalid as e:
+ assert_equal(str(e),
+ "two or more values in the same group of exclusion 'stuff' @ data[<stuff>]")
+ else:
+ assert False, "Did not raise Invalid for multiple values in Exclusive group"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/voluptuous-0.11.5/voluptuous/util.py new/voluptuous-0.11.7/voluptuous/util.py
--- old/voluptuous-0.11.5/voluptuous/util.py 2018-02-15 10:09:42.000000000 +0100
+++ new/voluptuous-0.11.7/voluptuous/util.py 2019-08-13 04:10:58.000000000 +0200
@@ -7,6 +7,14 @@
__author__ = 'tusharmakkar08'
+def _fix_str(v):
+ if sys.version_info[0] == 2 and isinstance(v, unicode):
+ s = v
+ else:
+ s = str(v)
+ return s
+
+
def Lower(v):
"""Transform a string to lower case.
@@ -14,7 +22,7 @@
>>> s('HI')
'hi'
"""
- return str(v).lower()
+ return _fix_str(v).lower()
def Upper(v):
@@ -24,7 +32,7 @@
>>> s('hi')
'HI'
"""
- return str(v).upper()
+ return _fix_str(v).upper()
def Capitalize(v):
@@ -34,7 +42,7 @@
>>> s('hello world')
'Hello world'
"""
- return str(v).capitalize()
+ return _fix_str(v).capitalize()
def Title(v):
@@ -44,7 +52,7 @@
>>> s('hello world')
'Hello World'
"""
- return str(v).title()
+ return _fix_str(v).title()
def Strip(v):
@@ -54,7 +62,7 @@
>>> s(' hello world ')
'hello world'
"""
- return str(v).strip()
+ return _fix_str(v).strip()
class DefaultTo(object):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/voluptuous-0.11.5/voluptuous/validators.py new/voluptuous-0.11.7/voluptuous/validators.py
--- old/voluptuous-0.11.5/voluptuous/validators.py 2018-07-27 10:45:01.000000000 +0200
+++ new/voluptuous-0.11.7/voluptuous/validators.py 2019-08-13 04:10:58.000000000 +0200
@@ -192,12 +192,13 @@
def __init__(self, *validators, **kwargs):
self.validators = validators
self.msg = kwargs.pop('msg', None)
+ self.required = kwargs.pop('required', False)
def __voluptuous_compile__(self, schema):
- self._compiled = [
- schema._compile(v)
- for v in self.validators
- ]
+ self._compiled = []
+ for v in self.validators:
+ schema.required = self.required
+ self._compiled.append(schema._compile(v))
return self._run
def _run(self, path, value):
@@ -487,7 +488,7 @@
raise PathInvalid("Not a Path")
-def Maybe(validator):
+def Maybe(validator, msg=None):
"""Validate that the object matches given validator or is None.
:raises Invalid: if the value does not match the given validator and is not
@@ -500,7 +501,7 @@
... s("string")
"""
- return Any(None, validator)
+ return Any(None, validator, msg=msg)
class Range(object):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/voluptuous-0.11.5/voluptuous.egg-info/PKG-INFO new/voluptuous-0.11.7/voluptuous.egg-info/PKG-INFO
--- old/voluptuous-0.11.5/voluptuous.egg-info/PKG-INFO 2018-08-01 05:15:06.000000000 +0200
+++ new/voluptuous-0.11.7/voluptuous.egg-info/PKG-INFO 2019-08-13 04:18:17.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: voluptuous
-Version: 0.11.5
+Version: 0.11.7
Summary: # Voluptuous is a Python data validation library
Home-page: https://github.com/alecthomas/voluptuous
Author: Alec Thomas
@@ -9,8 +9,8 @@
Download-URL: https://pypi.python.org/pypi/voluptuous
Description: # Voluptuous is a Python data validation library
- [![Build Status](https://travis-ci.org/alecthomas/voluptuous.png)](https://travis-ci…
- [![Coverage Status](https://coveralls.io/repos/github/alecthomas/voluptuous/badge.svg?branch=master)](https://coveralls.io/github/alecthomas/voluptuous?branch=master) [![Gitter chat](https://badges.gitter.im/alecthomas.png)](https://gitter.im/alecthomas/Lobby)
+ [![Build Status](https://travis-ci.org/alecthomas/voluptuous.svg)](https://travis-ci…
+ [![Coverage Status](https://coveralls.io/repos/github/alecthomas/voluptuous/badge.svg?branch=master)](https://coveralls.io/github/alecthomas/voluptuous?branch=master) [![Gitter chat](https://badges.gitter.im/alecthomas.svg)](https://gitter.im/alecthomas/Lobby)
Voluptuous, *despite* the name, is a Python data validation library. It
is primarily intended for validating data coming into Python as JSON,
@@ -198,9 +198,9 @@
```
- ### URL's
+ ### URLs
- URL's in the schema are matched by using `urlparse` library.
+ URLs in the schema are matched by using `urlparse` library.
```pycon
>>> from voluptuous import Url
1
0