openSUSE Commits
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
July 2020
- 1 participants
- 2232 discussions
Hello community,
here is the log from the commit of package os-autoinst for openSUSE:Factory checked in at 2020-07-31 15:55:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/os-autoinst (Old)
and /work/SRC/openSUSE:Factory/.os-autoinst.new.3592 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "os-autoinst"
Fri Jul 31 15:55:45 2020 rev:148 rq:823627 version:4.6.1596123333.53214479
Changes:
--------
--- /work/SRC/openSUSE:Factory/os-autoinst/os-autoinst.changes 2020-07-28 17:29:12.630168331 +0200
+++ /work/SRC/openSUSE:Factory/.os-autoinst.new.3592/os-autoinst.changes 2020-07-31 16:02:21.112570996 +0200
@@ -1,0 +2,21 @@
+Thu Jul 30 19:25:53 UTC 2020 - okurz(a)suse.com
+
+- Update to version 4.6.1596123333.53214479:
+ * Also fix chdir bug in other tests using temp dirs
+ * Fix issue where 99-full-stack.t can't cleanup temp dir on test failure
+ * Fix swapped actual/expected args in check in svirt test
+ * Record a reason if isotovideo received a signal to stop
+ * Record QEMU stopping unexpectedly as failure reason
+ * Provide a reason in certain errors encountered by isotovideo
+ * Merge INSTALL documentation into README
+ * os-autoinst-openvswitch: Fix spurious network startup race-conditions (2nd)
+ * Use C-style for loop for iterating testorder to react to length changes
+ * Revert "Revert "Avoid updating last_good if there's no possible user of it""
+ * mergify: Add merge-fast shortcut, same as for openQA
+ * Use autotools-based build system as fallback on SLE12
+ * Re-establish compatibility with OpenCV 3
+ * Revert "Avoid updating last_good if there's no possible user of it"
+ * Make local VM host IPs '10.0.2.2' configurable
+ * Ensure qemu dbus failures are handled correctly
+
+-------------------------------------------------------------------
Old:
----
os-autoinst-4.6.1595922953.775a5164.obscpio
New:
----
os-autoinst-4.6.1596123333.53214479.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ os-autoinst-test.spec ++++++
--- /var/tmp/diff_new_pack.JuIOLc/_old 2020-07-31 16:02:32.024580682 +0200
+++ /var/tmp/diff_new_pack.JuIOLc/_new 2020-07-31 16:02:32.028580685 +0200
@@ -19,7 +19,7 @@
%define name_ext -test
%define short_name os-autoinst
Name: %{short_name}%{?name_ext}
-Version: 4.6.1595922953.775a5164
+Version: 4.6.1596123333.53214479
Release: 0
Summary: test package for os-autoinst
#BuildRequires: %{short_name} == %{version}
++++++ os-autoinst.spec ++++++
--- /var/tmp/diff_new_pack.JuIOLc/_old 2020-07-31 16:02:32.068580721 +0200
+++ /var/tmp/diff_new_pack.JuIOLc/_new 2020-07-31 16:02:32.072580724 +0200
@@ -17,7 +17,7 @@
Name: os-autoinst
-Version: 4.6.1595922953.775a5164
+Version: 4.6.1596123333.53214479
Release: 0
Summary: OS-level test automation
License: GPL-2.0-or-later
@@ -32,7 +32,11 @@
%define opencv_require pkgconfig(opencv)
%endif
# The following line is generated from dependencies.yaml
-%define build_requires %opencv_require cmake gcc-c++ ninja perl(Pod::Html) pkg-config pkgconfig(fftw3) pkgconfig(libpng) pkgconfig(sndfile) pkgconfig(theoraenc)
+%define build_base_requires %opencv_require gcc-c++ perl(Pod::Html) pkg-config pkgconfig(fftw3) pkgconfig(libpng) pkgconfig(sndfile) pkgconfig(theoraenc)
+# The following line is generated from dependencies.yaml
+%define build_legacy_requires %build_base_requires autoconf automake libtool make perl(ExtUtils::Embed) perl(ExtUtils::MakeMaker) >= 6.66 perl(Module::CPANfile)
+# The following line is generated from dependencies.yaml
+%define build_requires %build_base_requires cmake ninja
# The following line is generated from dependencies.yaml
%define main_requires git-core perl(B::Deparse) perl(Carp) perl(Carp::Always) perl(Class::Accessor::Fast) perl(Config) perl(Cpanel::JSON::XS) perl(Crypt::DES) perl(Cwd) perl(Data::Dumper) perl(Digest::MD5) perl(DynaLoader) perl(English) perl(Errno) perl(Exception::Class) perl(Exporter) perl(ExtUtils::testlib) perl(Fcntl) perl(File::Basename) perl(File::Find) perl(File::Path) perl(File::Spec) perl(File::Temp) perl(File::Touch) perl(File::Which) perl(IO::Handle) perl(IO::Scalar) perl(IO::Select) perl(IO::Socket) perl(IO::Socket::INET) perl(IO::Socket::UNIX) perl(IPC::Open3) perl(IPC::Run::Debug) perl(IPC::System::Simple) perl(List::MoreUtils) perl(List::Util) perl(Mojo::IOLoop::ReadWriteProcess) >= 0.26 perl(Mojo::JSON) perl(Mojo::Log) perl(Mojo::URL) perl(Mojo::UserAgent) perl(Mojolicious) >= 8.42 perl(Mojolicious::Lite) perl(Net::DBus) perl(Net::IP) perl(Net::SNMP) perl(Net::SSH2) perl(POSIX) perl(Scalar::Util) perl(Socket) perl(Socket::MsgHdr) perl(Term::ANSIColor) perl(Thread::Queue) perl(Time::HiRes) perl(Try::Tiny) perl(XML::LibXML) perl(XML::SemanticDiff) perl(autodie) perl(base) perl(constant) perl(integer) perl(strict) perl(version) perl(warnings) perl-base
# all requirements needed by the tests, do not require on this in the package
@@ -46,14 +50,24 @@
%if %{with spellcheck}
# The following line is generated from dependencies.yaml
%define spellcheck_requires aspell-en aspell-spell perl(Pod::Spell)
+%define spellcheck_make_args_for_autotools %{nil}
%else
%define spellcheck_requires %{nil}
+%define spellcheck_make_args_for_autotools CHECK_DOC=0
%endif
# The following line is generated from dependencies.yaml
-%define test_requires %build_requires %main_requires %spellcheck_requires perl(Benchmark) perl(Devel::Cover) perl(FindBin) perl(Pod::Coverage) perl(Test::Exception) perl(Test::Fatal) perl(Test::Mock::Time) perl(Test::MockModule) perl(Test::MockObject) perl(Test::Mojo) perl(Test::More) perl(Test::Output) perl(Test::Pod) perl(Test::Strict) perl(Test::Warnings) >= 0.029 perl(YAML::PP) procps python3-setuptools python3-yamllint qemu qemu-tools qemu-x86
+%define test_base_requires %main_requires perl(Benchmark) perl(Devel::Cover) perl(FindBin) perl(Pod::Coverage) perl(Test::Exception) perl(Test::Fatal) perl(Test::Mock::Time) perl(Test::MockModule) perl(Test::MockObject) perl(Test::Mojo) perl(Test::More) perl(Test::Output) perl(Test::Pod) perl(Test::Strict) perl(Test::Warnings) >= 0.029 procps python3-setuptools qemu qemu-tools qemu-x86
+# The following line is generated from dependencies.yaml
+%define test_legacy_requires %build_legacy_requires %test_base_requires
+# The following line is generated from dependencies.yaml
+%define test_requires %build_requires %spellcheck_requires %test_base_requires perl(YAML::PP) python3-yamllint
# The following line is generated from dependencies.yaml
%define devel_requires %test_requires perl(Devel::Cover) perl(Devel::Cover::Report::Codecov) perl(Perl::Tidy)
+%if 0%{?suse_version} == 1315
+BuildRequires: %test_legacy_requires
+%else
BuildRequires: %test_requires
+%endif
Requires: %main_requires
Recommends: tesseract-ocr
Recommends: /usr/bin/xkbcomp /usr/bin/Xvnc dumponlyconsole
@@ -105,12 +119,24 @@
done
%build
+%if 0%{?suse_version} == 1315
+autoreconf -f -i
+%configure --docdir=%{_docdir}/%{name}
+make %{?_smp_mflags} INSTALLDIRS=vendor
+%else
%define __builder ninja
%cmake -DOS_AUTOINST_DOC_DIR:STRING=%{_docdir}/%{name}
%cmake_build
+%endif
%install
+%if 0%{?suse_version} == 1315
+%make_install INSTALLDIRS=vendor
+# remove internal tools
+rm -r %{buildroot}/usr/lib/os-autoinst/tools/
+%else
%cmake_install install-openvswitch
+%endif
ls -lR %buildroot
find %{buildroot} -type f -name .packlist -print0 | xargs -0 --no-run-if-empty rm -f
@@ -125,8 +151,17 @@
export NO_BRP_STALE_LINK_ERROR=yes
%check
+%if 0%{?suse_version} == 1315
+sed '/perlcritic/d' -i Makefile
+sed '/tidy/d' -i Makefile
+sed '/Perl::Critic/d' -i cpanfile
+rm -r t/27-make-update-deps.t tools/update-deps
+printf '#!/bin/sh\necho YAML syntax check disabled' > tools/check-yaml-syntax
+make check test VERBOSE=1 %{spellcheck_make_args_for_autotools}
+%else
cd %{__builddir}
%cmake_build check-pkg-build
+%endif
%pre openvswitch
%service_add_pre os-autoinst-openvswitch.service
++++++ os-autoinst-4.6.1595922953.775a5164.obscpio -> os-autoinst-4.6.1596123333.53214479.obscpio ++++++
/work/SRC/openSUSE:Factory/os-autoinst/os-autoinst-4.6.1595922953.775a5164.obscpio /work/SRC/openSUSE:Factory/.os-autoinst.new.3592/os-autoinst-4.6.1596123333.53214479.obscpio differ: char 49, line 1
++++++ os-autoinst.obsinfo ++++++
--- /var/tmp/diff_new_pack.JuIOLc/_old 2020-07-31 16:02:32.176580817 +0200
+++ /var/tmp/diff_new_pack.JuIOLc/_new 2020-07-31 16:02:32.176580817 +0200
@@ -1,5 +1,5 @@
name: os-autoinst
-version: 4.6.1595922953.775a5164
-mtime: 1595922953
-commit: 775a5164fa01e2ba67ec57f3ec014f12eb969fdd
+version: 4.6.1596123333.53214479
+mtime: 1596123333
+commit: 5321447958ae80f4bf404f17656dd2d0fde59677
1
0
Hello community,
here is the log from the commit of package duktape for openSUSE:Factory checked in at 2020-07-31 15:55:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/duktape (Old)
and /work/SRC/openSUSE:Factory/.duktape.new.3592 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "duktape"
Fri Jul 31 15:55:37 2020 rev:7 rq:823620 version:2.5.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/duktape/duktape.changes 2019-07-30 12:38:20.382942486 +0200
+++ /work/SRC/openSUSE:Factory/.duktape.new.3592/duktape.changes 2020-07-31 16:01:16.552516307 +0200
@@ -1,0 +2,9 @@
+Tue Jul 28 07:16:30 UTC 2020 - Martin Rey <mrey(a)suse.com>
+
+- Update to 2.5.0:
+ * CBOR support, minor fixes and improvements
+- spec file changes
+ * change http to https in URLs
+ * use RPM macros
+
+-------------------------------------------------------------------
Old:
----
duktape-2.4.0.tar.xz
New:
----
duktape-2.5.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ duktape.spec ++++++
--- /var/tmp/diff_new_pack.FTbXkC/_old 2020-07-31 16:01:20.104519278 +0200
+++ /var/tmp/diff_new_pack.FTbXkC/_new 2020-07-31 16:01:20.108519282 +0200
@@ -1,7 +1,7 @@
#
# spec file for package duktape
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,13 +18,13 @@
%define sover 201
Name: duktape
-Version: 2.4.0
+Version: 2.5.0
Release: 0
Summary: Embeddable Javascript engine
License: MIT
Group: Development/Libraries/C and C++
-Url: http://duktape.org/
-Source0: http://duktape.org/%{name}-%{version}.tar.xz
+URL: https://duktape.org/
+Source0: https://duktape.org/%{name}-%{version}.tar.xz
Source1: duktape.pc.in
BuildRequires: gcc
BuildRequires: pkgconfig
@@ -68,7 +68,7 @@
-e 's/\(\$.INSTALL_PREFIX.\)/$(DESTDIR)\1/' \
-e 's/\/lib\b/\/%{_lib}/g' \
< Makefile.sharedlibrary > Makefile
-make -j1
+%make_build -j1
%install
%make_install
@@ -79,13 +79,12 @@
%postun -n lib%{name}%{sover} -p /sbin/ldconfig
%files -n lib%{name}%{sover}
-%defattr(-,root,root)
-%doc AUTHORS.rst LICENSE.txt
+%doc AUTHORS.rst
+%license LICENSE.txt
%{_libdir}/libduktape.so.*
%{_libdir}/libduktaped.so.*
%files devel
-%defattr(-,root,root)
%{_includedir}/duk_config.h
%{_includedir}/duktape.h
%{_libdir}/libduktape.so
++++++ duktape-2.4.0.tar.xz -> duktape-2.5.0.tar.xz ++++++
++++ 25512 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package gensio for openSUSE:Factory checked in at 2020-07-31 15:55:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gensio (Old)
and /work/SRC/openSUSE:Factory/.gensio.new.3592 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gensio"
Fri Jul 31 15:55:29 2020 rev:3 rq:823617 version:2.1.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/gensio/gensio.changes 2020-06-11 14:55:16.647384809 +0200
+++ /work/SRC/openSUSE:Factory/.gensio.new.3592/gensio.changes 2020-07-31 16:00:39.096501467 +0200
@@ -1,0 +2,40 @@
+Sun Jul 26 19:40:47 UTC 2020 - Martin Hauke <mardnh(a)gmx.de>
+
+- Update to version 2.1.3
+ * No major bug fixes or anything of that nature, some little
+ things.
+ The only bug that might be significant is with the pty gensio:
+ it can close it's file descripter twice in some cases.
+ New gensios:
+ * perf - This is a fairly unusual gensio, but I created it so I
+ could do performance measurements. It's fairly primitive, and I
+ didn't uncover any performance issues in the gensio library
+ itself, but I was useful to see how different buffer sizes
+ affected performance. It does show that the Linux SCTP stack
+ has some issues.
+ * conacc - Another somewhat unusual gensio. This is a gensio
+ accepter that takes a normal gensio string as a child. When
+ started, it opens the gensio and when the open complete it
+ reports a new gensio on the accepter. This has some
+ interesting uses; see the docs for details.
+ * Added missing man pages on the sergensio functions.
+
+-------------------------------------------------------------------
+Sun Jul 12 11:01:43 UTC 2020 - Martin Hauke <mardnh(a)gmx.de>
+
+- Update to version 2.1.2
+ * lots of little corner cases and race conditions are fixed and
+ a few minor enhancements. If you are using in a multithreaded
+ application, or using UDP, the relpkt, or the mux gensios,
+ you should certainly upgrade.
+ * One minor semantic change. UDP sockets are now opened without
+ SO_REUSEADDR set. The UDP tests were occasionally failing,
+ and it turned out that the two parts of the tests would
+ sometimes get the same port, with predictable results.
+- Update to version 2.1.1
+ * fixes a build issue on newer gccs, a doubly-defined variable
+ that I don't know how didn't cause an issue before. I've also
+ been enhancing the tests a bit, and that shook out a few
+ memory leaks that are also fixed.
+
+-------------------------------------------------------------------
Old:
----
gensio-2.0.5.tar.gz
New:
----
gensio-2.1.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gensio.spec ++++++
--- /var/tmp/diff_new_pack.m3dqwx/_old 2020-07-31 16:00:48.872498857 +0200
+++ /var/tmp/diff_new_pack.m3dqwx/_new 2020-07-31 16:00:48.876498856 +0200
@@ -25,7 +25,7 @@
%bcond_with openipmi
%endif
Name: gensio
-Version: 2.0.5
+Version: 2.1.3
Release: 0
Summary: Library to abstract stream and packet I/O
# examples/* is licenced under Apache-2.0
@@ -122,10 +122,13 @@
%{_bindir}/gensiot
%{_bindir}/gtlssh
%{_bindir}/gtlssh-keygen
+%{_bindir}/gtlssync
%{_mandir}/man1/gensiot.1%{?ext_man}
%{_mandir}/man1/gtlssh-keygen.1%{?ext_man}
%{_mandir}/man1/gtlssh.1%{?ext_man}
+%{_mandir}/man1/gtlssync.1%{?ext_man}
%{_mandir}/man5/gensio.5%{?ext_man}
+%{_mandir}/man5//sergensio.5%{?ext_man}
%{_mandir}/man8/gtlsshd.8%{?ext_man}
%files -n %{libname}
@@ -137,6 +140,7 @@
%{_libdir}/libgensio.so
%{_libdir}/pkgconfig/libgensio.pc
%{_mandir}/man3/gensio_*3%{?ext_man}
+%{_mandir}/man3/sergensio_*3%{?ext_man}
%{_mandir}/man3/str_to_gensio*.3%{?ext_man}
%files -n python3-gensio
++++++ gensio-2.0.5.tar.gz -> gensio-2.1.3.tar.gz ++++++
++++ 14555 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-pyvdr for openSUSE:Factory checked in at 2020-07-31 15:55:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pyvdr (Old)
and /work/SRC/openSUSE:Factory/.python-pyvdr.new.3592 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pyvdr"
Fri Jul 31 15:55:12 2020 rev:4 rq:823626 version:0.2.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pyvdr/python-pyvdr.changes 2020-07-14 07:58:40.369669811 +0200
+++ /work/SRC/openSUSE:Factory/.python-pyvdr.new.3592/python-pyvdr.changes 2020-07-31 15:59:38.792493506 +0200
@@ -1,0 +2,6 @@
+Wed Jul 29 21:12:34 UTC 2020 - Martin Hauke <mardnh(a)gmx.de>
+
+- Update to version 0.2.3
+ * Parsing of timers couldn't handle channel numbers > 10
+
+-------------------------------------------------------------------
Old:
----
pyvdr-0.2.2.tar.gz
New:
----
pyvdr-0.2.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pyvdr.spec ++++++
--- /var/tmp/diff_new_pack.7TLgxp/_old 2020-07-31 16:00:00.204511852 +0200
+++ /var/tmp/diff_new_pack.7TLgxp/_new 2020-07-31 16:00:00.208511851 +0200
@@ -20,7 +20,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
Name: python-pyvdr
-Version: 0.2.2
+Version: 0.2.3
Release: 0
Summary: Python library for accessing a Linux VDR via SVDRP
License: MIT
++++++ pyvdr-0.2.2.tar.gz -> pyvdr-0.2.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyvdr-0.2.2/README.md new/pyvdr-0.2.3/README.md
--- old/pyvdr-0.2.2/README.md 2020-07-10 17:46:47.000000000 +0200
+++ new/pyvdr-0.2.3/README.md 2020-07-29 23:00:01.000000000 +0200
@@ -78,6 +78,10 @@
```
Those flags are bit-representations in the timers' status field.
+## Test
+```
+python -m unittest discover -v
+```
## Module lifecycle
### Build module
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyvdr-0.2.2/pyvdr/pyvdr.py new/pyvdr-0.2.3/pyvdr/pyvdr.py
--- old/pyvdr-0.2.2/pyvdr/pyvdr.py 2020-07-10 17:46:47.000000000 +0200
+++ new/pyvdr-0.2.3/pyvdr/pyvdr.py 2020-07-29 23:00:01.000000000 +0200
@@ -1,13 +1,14 @@
#!/usr/bin/env python3
from .svdrp import SVDRP
+import logging
import re
from collections import namedtuple
EPG_DATA_RECORD = '215'
epg_info = namedtuple('EPGDATA', 'Channel Title Description')
-#timer_info = namedtuple('TIMER', 'Status Name Date Description')
-#channel_info = namedtuple('CHANNEL', 'Number Name')
+# timer_info = namedtuple('TIMER', 'Status Name Date Description')
+# channel_info = namedtuple('CHANNEL', 'Number Name')
FLAG_TIMER_ACTIVE = 1
FLAG_TIMER_INSTANT_RECORDING = 2
@@ -15,6 +16,9 @@
FLAG_TIMER_RECORDING = 8
+_LOGGER = logging.getLogger(__name__)
+
+
class PYVDR(object):
def __init__(self, hostname='localhost', timeout=10):
@@ -72,7 +76,7 @@
def _parse_timer_response(response):
timer = {}
m = re.match(
- r'^(\d) (\d{1,2}):(\d):(\d{4}-\d{2}-\d{2}):(\d{4}):(\d{4}):(\d+):(\d+):(.*):(.*)$',
+ r'^(\d) (\d{1,2}):(\d{1,2}):(\d{4}-\d{2}-\d{2}):(\d{4}):(\d{4}):(\d+):(\d+):(.*):(.*)$',
response.Value,
re.M | re.I)
@@ -84,6 +88,9 @@
timer['description'] = ""
timer['series'] = timer['name'].find('~') != -1
timer['instant'] = False
+ _LOGGER.debug("Parsed timer: {}".format(timer))
+ else:
+ _LOGGER.debug("You might want to check the regex for timer parsing?! {}".format(response))
return timer
@@ -111,6 +118,9 @@
continue
timer = self._parse_timer_response(response)
self.svdrp.disconnect()
+ if len(timer) <= 0:
+ _LOGGER.debug("No output from timer parsing.")
+ return None
if self._check_timer_recording_flag(timer, FLAG_TIMER_INSTANT_RECORDING):
timer['instant'] = True
return timer
@@ -141,10 +151,10 @@
if epg_field_type == 'D':
epg_description = epg_field_value
- return channel, \
- epg_info(Channel=epg_channel,
- Title=epg_title,
- Description=epg_description)
+ return channel, epg_info(
+ Channel=epg_channel,
+ Title=epg_title,
+ Description=epg_description)
def channel_up(self):
self.svdrp.connect()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyvdr-0.2.2/pyvdr/svdrp.py new/pyvdr-0.2.3/pyvdr/svdrp.py
--- old/pyvdr-0.2.2/pyvdr/svdrp.py 2020-07-10 17:46:47.000000000 +0200
+++ new/pyvdr-0.2.3/pyvdr/svdrp.py 2020-07-29 23:00:01.000000000 +0200
@@ -25,6 +25,7 @@
def connect(self):
if self.socket is None:
try:
+ _LOGGER.debug("Setting up connection to {}".format(self.hostname))
self.socket = socket.create_connection((self.hostname, self.port), timeout=self.timeout)
self.socket_file = self.socket.makefile('r')
except socket.error as se:
@@ -34,6 +35,7 @@
return self.socket is not None
def disconnect(self):
+ _LOGGER.debug("Closing communication with server.")
if self.socket is not None:
self.send_cmd("quit")
self.socket_file.close()
@@ -43,6 +45,7 @@
self.socket = None
def send_cmd(self, cmd):
+ _LOGGER.debug("Send cmd: {}".format(cmd))
if not self.is_connected():
return
@@ -51,7 +54,11 @@
if isinstance(cmd, str):
cmd = cmd.encode("utf-8")
- self.socket.sendall(cmd)
+ try:
+ self.socket.sendall(cmd)
+ except IOError as e:
+ _LOGGER.debug("IOError e {}, closing connection".format(e))
+ self.socket.close()
def _parse_response(self, resp):
# <Reply code:3><-|Space><Text><Newline>
@@ -93,8 +100,10 @@
self._read_response()
if single_line:
+ _LOGGER.debug("Returning single item")
return self.responses[2]
else:
+ _LOGGER.debug("Returning {} items".format(len(self.responses)))
return self.responses
def shutdown(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyvdr-0.2.2/setup.py new/pyvdr-0.2.3/setup.py
--- old/pyvdr-0.2.2/setup.py 2020-07-10 17:46:47.000000000 +0200
+++ new/pyvdr-0.2.3/setup.py 2020-07-29 23:00:01.000000000 +0200
@@ -4,7 +4,7 @@
long_description = fh.read()
setup(name='pyvdr',
- version='0.2.2',
+ version='0.2.3',
description='Python library for accessing a Linux VDR via SVDRP',
long_description=long_description,
long_description_content_type="text/markdown",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyvdr-0.2.2/test/test_PYVDR.py new/pyvdr-0.2.3/test/test_PYVDR.py
--- old/pyvdr-0.2.2/test/test_PYVDR.py 2020-07-10 17:46:47.000000000 +0200
+++ new/pyvdr-0.2.3/test/test_PYVDR.py 2020-07-29 23:00:01.000000000 +0200
@@ -8,15 +8,18 @@
class TestPYVDR(unittest.TestCase):
def setUp(self):
self.func = PYVDR()
- self.func.stat = MagicMock( return_value = 3)
- self.func.is_recording = MagicMock( return_value = ['220 easyVDR SVDRP VideoDiskRecorder 2.2.0; Sun Sep 1 16:27:17 2019; UTF-8'])
+ self.func.stat = MagicMock(return_value=3)
+ self.func.is_recording = MagicMock(
+ return_value=[
+ '220 easyVDR SVDRP VideoDiskRecorder 2.2.0; Sun Sep 1 16:27:17 2019; UTF-8']
+ )
def test__parse_channel_response(self):
- chan_ard = self.func._parse_channel_response(["", "","1 ARD"])
+ chan_ard = self.func._parse_channel_response(["", "", "1 ARD"])
self.assertEqual(chan_ard['number'], "1")
self.assertEqual(chan_ard['name'], "ARD")
- chan_prosieben = self.func._parse_channel_response(["", "","11 Pro Sieben"])
+ chan_prosieben = self.func._parse_channel_response(["", "", "11 Pro Sieben"])
self.assertEqual(chan_prosieben['number'], "11")
self.assertEqual(chan_prosieben['name'], "Pro Sieben")
@@ -25,10 +28,34 @@
t_inactive = {}
t_active_and_recording = {}
t_active_and_instant_recording = {}
- t_active.update({'status': 1, 'name': "Test1", 'description': "Description1", 'date': "2018-08-01"})
- t_inactive.update({'status': 1, 'name':"Test1", 'description':"Description1", 'date':"2018-08-01"})
- t_active_and_recording.update({'status':9, 'name':"t_active_and_recording", 'description':"Description1", 'date':"2018-08-01"})
- t_active_and_instant_recording.update({'status':11, 'name':"t_active_and_instantrecording", 'description':"Description1", 'date':"2018-08-01"})
+ t_active.update(
+ {
+ 'status': 1,
+ 'name': "Test1",
+ 'description': "Description1",
+ 'date': "2018-08-01"
+ })
+ t_inactive.update(
+ {
+ 'status': 1,
+ 'name': "Test1",
+ 'description': "Description1",
+ 'date': "2018-08-01"
+ })
+ t_active_and_recording.update(
+ {
+ 'status': 9,
+ 'name': "t_active_and_recording",
+ 'description': "Description1",
+ 'date': "2018-08-01"
+ })
+ t_active_and_instant_recording.update(
+ {
+ 'status': 11,
+ 'name': "t_active_and_instantrecording",
+ 'description': "Description1",
+ 'date': "2018-08-01"
+ })
# timer active, not yet recording
self.assertTrue(self.func._check_timer_recording_flag(t_active, pyvdr.FLAG_TIMER_ACTIVE), "Timer should be active")
@@ -43,15 +70,25 @@
self.assertTrue(self.func._check_timer_recording_flag(t_active_and_instant_recording, pyvdr.FLAG_TIMER_RECORDING), "Timer recording")
self.assertTrue(self.func._check_timer_recording_flag(t_active_and_instant_recording, pyvdr.FLAG_TIMER_INSTANT_RECORDING), "Timer instant recording")
- def test__parse_searchtimer_response(self):
- response = response_data(
- "250",
- "-",
- "3 1:7:2020-07-13:1858:2025:50:99:Das perfekte Dinner~2020.07.13-19|00-Mo:<epgsearch><channel>7 - VOX</channel><searchtimer>das perfekte dinner</searchtimer><start>1594659480</start><stop>1594664700</stop><s-id>0</s-id><eventid>4572</eventid></epgsearch>"
- )
- timer = self.func._parse_timer_response(response)
- self.assertEqual(
- timer,
+ def test__parse_timer_responses(self):
+ parseable_responses = [
+ response_data(
+ "250",
+ "-",
+ "3 1:7:2020-07-13:1858:2025:50:99:Das perfekte Dinner~2020.07.13-19|00-Mo:<epgsearch><channel>7 - VOX</channel><searchtimer>das perfekte dinner</searchtimer><start>1594659480</start><stop>1594664700</stop><s-id>0</s-id><eventid>4572</eventid></epgsearch>"
+ ),
+ response_data(
+ "250",
+ "-",
+ "3 1:17:2020-07-31:0243:0345:50:99:Bad Banks~Ein halbes Jahr ist seit dem Crash der DGI-Bank vergangen. Gabriel Fenger befindet sich noch immer in U-Haft.:<epgsearch><channel>17 - ZDF_neo HD</channel><searchtimer>Bad Banks</searchtimer><start>1596156180</start><stop>1596159900</stop><s-id>8</s-id><eventid>4357</eventid></epgsearch>"
+ ),
+ response_data(
+ "250",
+ "-",
+ "4 11:1:2020-07-08:2215:0145:50:99:@Tagesthemen mit Wetter:"
+ )
+ ]
+ expected_parsed_timers = [
{
'status': '1',
'channel': '7',
@@ -60,19 +97,16 @@
'description': '',
'series': True,
'instant': False
- }
- )
-
- def test__parse_instanttimer_response(self):
- response = response_data(
- "250",
- "-",
- "4 11:1:2020-07-08:2215:0145:50:99:@Tagesthemen mit Wetter:"
- )
- timer = self.func._parse_timer_response(response)
-
- self.assertEqual(
- timer,
+ },
+ {
+ 'status': '1',
+ 'channel': '17',
+ 'date': '2020-07-31',
+ 'name': 'Bad Banks~Ein halbes Jahr ist seit dem Crash der DGI-Bank vergangen. Gabriel Fenger befindet sich noch immer in U-Haft.',
+ 'description': '',
+ 'series': True,
+ 'instant': False
+ },
{
'status': '11',
'channel': '1',
@@ -82,7 +116,14 @@
'series': False,
'instant': False
}
- )
+ ]
+
+ for i in range(len(parseable_responses)):
+ timer = self.func._parse_timer_response(parseable_responses[i])
+ self.assertEqual(
+ timer,
+ expected_parsed_timers[i]
+ )
if __name__ == '__main__':
1
0
Hello community,
here is the log from the commit of package tomcat for openSUSE:Factory checked in at 2020-07-31 15:55:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tomcat (Old)
and /work/SRC/openSUSE:Factory/.tomcat.new.3592 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tomcat"
Fri Jul 31 15:55:04 2020 rev:70 rq:823636 version:9.0.36
Changes:
--------
--- /work/SRC/openSUSE:Factory/tomcat/tomcat.changes 2020-06-26 21:49:53.622686493 +0200
+++ /work/SRC/openSUSE:Factory/.tomcat.new.3592/tomcat.changes 2020-07-31 15:58:46.356448400 +0200
@@ -1,0 +2,10 @@
+Wed Jul 29 20:48:14 UTC 2020 - Matei Albu <malbu(a)suse.com>
+
+- Don't give write permissions for the tomcat group on files and
+ directories where it's not needed (bsc#1172562)
+- Change tomcat.pid location from /var/run to /run (bsc#1173103)
+- Use the /sbin/nologin shell when creating the tomcat user
+- Use %tmpfiles_create macro in %post instead of calling
+ systemd-tmpfiles directly
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ tomcat.spec ++++++
--- /var/tmp/diff_new_pack.S1CdEq/_old 2020-07-31 15:58:54.180451087 +0200
+++ /var/tmp/diff_new_pack.S1CdEq/_new 2020-07-31 15:58:54.184451091 +0200
@@ -335,7 +335,6 @@
install -d -m 0755 %{buildroot}%{_sbindir}
install -d -m 0755 %{buildroot}%{_javadocdir}/%{name}
install -d -m 0755 %{buildroot}%{_initddir}
-install -d -m 0755 %{buildroot}%{_systemddir}
install -d -m 0755 %{buildroot}%{_sysconfdir}/logrotate.d
install -d -m 0755 %{buildroot}%{_sysconfdir}/sysconfig
install -d -m 0755 %{buildroot}%{appdir}
@@ -343,7 +342,7 @@
install -d -m 0755 %{buildroot}%{bindir}
install -d -m 0775 %{buildroot}%{confdir}
install -d -m 0755 %{buildroot}%{cachedir}/Catalina/localhost
-install -d -m 0775 %{buildroot}%{confdir}/conf.d
+install -d -m 0755 %{buildroot}%{confdir}/conf.d
/bin/echo "Place your custom *.conf files here. Shell expansion is supported." > %{buildroot}%{confdir}/conf.d/README
install -d -m 0755 %{buildroot}%{libdir}
install -d -m 0775 %{buildroot}%{logdir}
@@ -575,7 +574,7 @@
mkdir -p %{buildroot}%{_tmpfilesdir}
cat > %{buildroot}%{_tmpfilesdir}/%{name}.conf <<EOF
-f %{_localstatedir}/run/%{name}.pid 0644 tomcat tomcat -
+f /run/%{name}.pid 0644 tomcat tomcat -
EOF
# Install tool used to edit server.xml
@@ -589,13 +588,14 @@
# add the tomcat user and group
%{_sbindir}/groupadd -r tomcat 2>/dev/null || :
%{_sbindir}/useradd -c "Apache Tomcat" -g tomcat \
- -s /bin/sh -r -d %{homedir} tomcat 2>/dev/null || :
+ -s /sbin/nologin -r -d %{homedir} tomcat 2>/dev/null || :
%service_add_pre %{name}.service
%post
%service_add_post %{name}.service
+%service_add_post %{name}@.service
%{fillup_only %{name}}
-%{_bindir}/systemd-tmpfiles --create >/dev/null 2>&1 || :
+%tmpfiles_create %_tmpfilesdir/%{name}.conf
%preun
%service_del_preun %{name}.service
@@ -684,7 +684,7 @@
fi
%files
-%defattr(0664,root,tomcat,0755)
+%defattr(-,root,root)
%doc {LICENSE,NOTICE,RELEASE*}
%attr(0755,root,root) %{_bindir}/%{name}-digest
%attr(0755,root,root) %{_bindir}/%{name}-tool-wrapper
@@ -704,41 +704,43 @@
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
%attr(0755,root,tomcat) %dir %{basedir}
%attr(0755,root,tomcat) %dir %{confdir}
-%defattr(0664,tomcat,root,0770)
%attr(0775,root,tomcat) %dir %{appdir}
-%attr(0770,tomcat,root) %{logdir}
+%attr(0770,tomcat,root) %dir %{logdir}
%attr(0660,tomcat,tomcat) %{logdir}/catalina.out
-%attr(0770,root,tomcat) %{cachedir}
-%defattr(0664,root,tomcat,0770)
+%attr(0770,root,tomcat) %dir %{cachedir}
+%attr(0775,root,tomcat) %dir %{cachedir}/Catalina
+
+# tomcat group writtable dirs - bnc#625415
%attr(0770,root,tomcat) %dir %{tempdir}
%attr(0770,root,tomcat) %dir %{workdir}
%attr(0775,root,tomcat) %dir %{tomcatappdir}
-# tomcat group writtable dirs - bnc#625415
-%defattr(0664,root,tomcat,0775)
+
%{confdir}/Catalina
-%attr(0775,root,tomcat) %dir %{confdir}/conf.d
-%attr(0664,tomcat,tomcat) %{confdir}/conf.d/README
-%attr(0664,tomcat,tomcat) %config(noreplace) %{confdir}/%{name}.conf
-%attr(0664,tomcat,tomcat) %config(noreplace) %{confdir}/*.policy
-%attr(0664,tomcat,tomcat) %config(noreplace) %{confdir}/*.properties
-%attr(0664,tomcat,tomcat) %config(noreplace) %{confdir}/context.xml
-%attr(0664,tomcat,tomcat) %config(noreplace) %{confdir}/server.xml
-%attr(0660,tomcat,tomcat) %config(noreplace) %{confdir}/tomcat-users.xml
-%attr(0664,tomcat,tomcat) %config(noreplace) %{confdir}/web.xml
-%attr(0664,tomcat,tomcat) %config(noreplace) %{confdir}/jaspic-providers.xml
-%dir %{homedir}
-%{_tmpfilesdir}/%{name}.conf
-%{bindir}/bootstrap.jar
-%{bindir}/catalina-tasks.xml
+%attr(0755,root,tomcat) %dir %{confdir}/conf.d
+%attr(0644,root,tomcat) %{confdir}/conf.d/README
+%attr(0644,root,tomcat) %config(noreplace) %{confdir}/%{name}.conf
+%attr(0644,root,tomcat) %config(noreplace) %{confdir}/*.policy
+%attr(0644,root,tomcat) %config(noreplace) %{confdir}/*.properties
+%attr(0644,root,tomcat) %config(noreplace) %{confdir}/context.xml
+%attr(0644,root,tomcat) %config(noreplace) %{confdir}/server.xml
+# keep tomcat-users.xml readable only by root and tomcat group
+%attr(0640,root,tomcat) %config(noreplace) %{confdir}/tomcat-users.xml
+%attr(0644,root,tomcat) %config(noreplace) %{confdir}/web.xml
+%attr(0644,root,tomcat) %config(noreplace) %{confdir}/jaspic-providers.xml
+%attr(0755,root,tomcat) %dir %{homedir}
+%attr(0644,root,tomcat) %{_tmpfilesdir}/%{name}.conf
+%attr(0644,root,tomcat) %{bindir}/bootstrap.jar
+%attr(0644,root,tomcat) %{bindir}/catalina-tasks.xml
%{homedir}/lib
%{homedir}/temp
%{homedir}/webapps
%{homedir}/work
%{homedir}/logs
%{homedir}/conf
-%{_fillupdir}/sysconfig.%{name}
+%attr(0644,root,tomcat) %{_fillupdir}/sysconfig.%{name}
%files admin-webapps
+%defattr(0644,root,tomcat,0755)
%{tomcatappdir}/host-manager
%config(noreplace) %{tomcatappdir}/host-manager/META-INF/context.xml
%{tomcatappdir}/manager
@@ -786,6 +788,7 @@
%ghost %{_sysconfdir}/alternatives/servlet
%files webapps
+%defattr(0644,tomcat,tomcat,0755)
#bnc#520532
%config(noreplace) %{tomcatappdir}/ROOT
%{tomcatappdir}/examples
++++++ tomcat-9.0.init ++++++
--- /var/tmp/diff_new_pack.S1CdEq/_old 2020-07-31 15:58:54.296451197 +0200
+++ /var/tmp/diff_new_pack.S1CdEq/_new 2020-07-31 15:58:54.300451201 +0200
@@ -77,7 +77,7 @@
# Define the tomcat log file
TOMCAT_LOG="${TOMCAT_LOG:-${CATALINA_HOME}/logs/${NAME}-initd.log}"
# Define the tomcat pid file
-export CATALINA_PID="/var/run/${NAME}.pid"
+export CATALINA_PID="/run/${NAME}.pid"
RETVAL="0"
@@ -193,8 +193,8 @@
function start() {
echo -n "Starting Tomcat ($CATALINA_BASE)"
if [ -f "/var/run/rc${NAME}" ] ; then
- if [ -f "/var/run/${NAME}.pid" ]; then
- read kpid < /var/run/${NAME}.pid
+ if [ -f "/run/${NAME}.pid" ]; then
+ read kpid < /run/${NAME}.pid
if checkpid $kpid 2>&1; then
echo "$NAME process already running"
rc_failed 0
@@ -205,7 +205,7 @@
fi
fi
# fix permissions on the log and pid files
- export CATALINA_PID="/var/run/${NAME}.pid"
+ export CATALINA_PID="/run/${NAME}.pid"
touch $CATALINA_PID
chown --no-dereference ${TOMCAT_USER}:${TOMCAT_USER} $CATALINA_PID
touch $TOMCAT_LOG
@@ -249,8 +249,8 @@
# NOTE: checkproc returns LSB compliant status values.
function status() {
echo -n "Checking for Tomcat ($CATALINA_BASE)"
- if [ -f "/var/run/${NAME}.pid" ]; then
- read kpid < /var/run/${NAME}.pid
+ if [ -f "/run/${NAME}.pid" ]; then
+ read kpid < /run/${NAME}.pid
if checkpid $kpid 2>&1; then
rc_failed 0
else
@@ -278,8 +278,8 @@
RETVAL="$?"
if [ "$RETVAL" -eq "0" ]; then
count="0"
- if [ -f "/var/run/${NAME}.pid" ]; then
- read kpid < /var/run/${NAME}.pid
+ if [ -f "/run/${NAME}.pid" ]; then
+ read kpid < /run/${NAME}.pid
until [ "$(ps --pid $kpid | grep -c $kpid)" -eq "0" ] || \
[ "$count" -gt "$SHUTDOWN_WAIT" ]; do
if [ "$SHUTDOWN_VERBOSE" = "true" ]; then
@@ -301,7 +301,7 @@
echo -n -e "\n"
fi
fi
- rm -f /var/run/rc${NAME} /var/run/${NAME}.pid
+ rm -f /var/run/rc${NAME} /run/${NAME}.pid
if [ "${CLEAR_WORK}" = "true" ]; then
echo -n "Cleaning work directory: "
find ${CATALINA_HOME}/work/{Catalina,temp} -mindepth 2 -type d -print0 | xargs -0 rm -rf
@@ -350,7 +350,7 @@
echo -n "Reload service Tomcat ($CATALINA_BASE)"
## if it supports it:
#killproc -HUP $TOMCAT_BIN
- #touch /var/run/FOO.pid
+ #touch /run/FOO.pid
#rc_status -v
## Otherwise:
@@ -364,7 +364,7 @@
# If it supports signalling:
#echo -n "Reload service FOO"
#killproc -HUP $TOMCAT_BIN
- #touch /var/run/FOO.pid
+ #touch /run/FOO.pid
#rc_status -v
## Otherwise if it does not support reload:
1
0
Hello community,
here is the log from the commit of package assimp for openSUSE:Factory checked in at 2020-07-31 15:54:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/assimp (Old)
and /work/SRC/openSUSE:Factory/.assimp.new.3592 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "assimp"
Fri Jul 31 15:54:53 2020 rev:2 rq:820816 version:5.0.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/assimp/assimp.changes 2017-06-08 14:57:53.994236800 +0200
+++ /work/SRC/openSUSE:Factory/.assimp.new.3592/assimp.changes 2020-07-31 15:57:22.728418573 +0200
@@ -1,0 +2,73 @@
+Thu Jul 9 20:42:17 UTC 2020 - Christophe Giboudeaux <christophe(a)krop.fr>
+
+- Restore the _service file.
+
+Assimp still ships files which are not allowed in openSUSE.
+
+-------------------------------------------------------------------
+Wed Jun 10 09:38:02 UTC 2020 - Christophe Giboudeaux <christophe(a)krop.fr>
+
+- Add upstream patch to fix the broken CMake config files:
+ * 0001-use-GNUInstallDirs-where-possible.patch
+ (adapted for the 5.0.1 release)
+
+-------------------------------------------------------------------
+Wed May 20 13:15:44 UTC 2020 - Ferdinand Thiessen <rpm(a)fthiessen.de>
+
+- Update to 5.0.1
+ * Added texture types: BASE_COLOR, NORMAL_CAMERA, EMISSION_COLOR,
+ METALNESS, DIFFUSE_ROUGHNESS
+ * Fixed various issues and memory leaks
+ * 3DS: Explicitly pass "UNNAMED" as 3DS root node name and fix
+ more thread-safety issue in 3DS loader.
+ * 3MF: Introduce first prototype for basematerial support
+ * AssJSon: Add json export.
+ * Various other file support improvements
+- Dropped viewer subpackage, as it now requires DirectX
+- Removed not needed disable-gitrevision-test.patch
+- Rebased do-not-install-irrXML.patch
+- Removed not needed install-viewer.patch
+- Removed _service
+
+-------------------------------------------------------------------
+Wed Jan 23 20:08:14 UTC 2019 - Jan Engelhardt <jengelh(a)inai.de>
+
+- sanitize_source.sh was removed in the 4.1.0 update; restore its
+ logic with a new _service file and recreate the tarball.
+
+-------------------------------------------------------------------
+Thu Jan 17 15:03:13 UTC 2019 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Fix incorrect summary for libassimp*.
+
+-------------------------------------------------------------------
+Sat Aug 11 16:16:03 UTC 2018 - rpm(a)fthiessen.de
+
+- Update to 4.1.0
+ * Added support for Export 3MF (experimental)
+ * Added supprt for Import / Export glTF 2
+ * Prevent failing stringstream to crash the export process
+ * Fix invalid access to mesh array when the array is
+ empty in Blender, also fixed short overflow.
+ * Fixed memory leak in AMFImporter
+ * Fixed IOStream leak in UnrealLoader:
+ * Fixed out-of-bounds read in MaterialSystem unit test
+ * Added support for SIB models from Silo 2.5
+- Changes from 4.0.1
+ * StreamReader: fix out-of-range exception
+- Changes From 4.0.0
+ * New QT-Widget based assimp-viewer
+ * Open3DGC codec supported by glFT-importer
+ * glTF: Read and write transparency values
+ * Support for X3D, AMF and Lugdunum3D
+ * MDLLoader: fix resource leak.
+ * Fix memory leak in Collada importer
+ * Fixed many FBX bugs
+- Added %check section, run unit tests
+- Added disable-gitrevision-test.patch to fix testsuite as we do
+ not build from git, git rev will test will fail.
+- Added do-not-install-irrXML.patch to prevent cmake from
+ installing the irrXML (static) library.
+- install-viewer.patch: Install viewer component
+
+-------------------------------------------------------------------
Old:
----
assimp-3.3.1-suse.tar.gz
sanitize_source.sh
New:
----
0001-use-GNUInstallDirs-where-possible.patch
_service
assimp-5.0.1.tar.xz
do-not-install-irrXML.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ assimp.spec ++++++
--- /var/tmp/diff_new_pack.XlHePc/_old 2020-07-31 15:57:32.456423309 +0200
+++ /var/tmp/diff_new_pack.XlHePc/_new 2020-07-31 15:57:32.460423311 +0200
@@ -1,7 +1,7 @@
#
# spec file for package assimp
#
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,38 +12,52 @@
# 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/
#
-%define sover 3
+%define sover 5
Name: assimp
-Version: 3.3.1
+Version: 5.0.1
Release: 0
Summary: Library to load and process 3D scenes from various data formats
-License: BSD-3-Clause
+License: BSD-3-Clause AND MIT
Group: Development/Libraries/C and C++
-Url: http://assimp.org/
-#Source: https://github.com/assimp/assimp/archive/v%{version}/%{name}-%{version}.tar…
-Source: %{name}-%{version}-suse.tar.gz
-Source9: sanitize_source.sh
-BuildRequires: boost-devel
+URL: https://assimp.org/
+Source0: %{name}-%{version}.tar.xz
+Patch0: do-not-install-irrXML.patch
+# PATCH-FIX-UPSTREAM -- Don't hardcode the library and binary location
+Patch1: 0001-use-GNUInstallDirs-where-possible.patch
BuildRequires: cmake
BuildRequires: dos2unix
BuildRequires: gcc-c++
+BuildRequires: irrlicht-devel
+BuildRequires: libboost_headers-devel
BuildRequires: pkgconfig
BuildRequires: zlib-devel
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
+BuildRequires: pkgconfig(IL)
+BuildRequires: pkgconfig(Qt5OpenGL)
+BuildRequires: pkgconfig(Qt5Widgets)
+BuildRequires: pkgconfig(glu)
+BuildRequires: pkgconfig(minizip)
%description
-Assimp is a library to load and process geometric scenes from various data formats. It is tailored at typical game scenarios by supporting a node hierarchy, static or skinned meshes, materials, bone animations and potential texture data. The library is not designed for speed, it is primarily useful for importing assets from various sources once and storing it in a engine-specific format for easy and fast every-day-loading.
+Assimp is a library to load and process geometric scenes from various data formats.
+It is tailored at typical game scenarios by supporting a node hierarchy, static or skinned meshes,
+materials, bone animations and potential texture data. The library is not designed for speed,
+it is primarily useful for importing assets from various sources once and storing it in a
+engine-specific format for easy and fast every-day-loading.
%package -n lib%{name}%{sover}
-Summary: Headers, docs and command-line utility for %{name}
+Summary: Library to load and process 3D scenes from various data formats
Group: System/Libraries
%description -n lib%{name}%{sover}
-Assimp is a library to load and process geometric scenes from various data formats. It is tailored at typical game scenarios by supporting a node hierarchy, static or skinned meshes, materials, bone animations and potential texture data. The library is not designed for speed, it is primarily useful for importing assets from various sources once and storing it in a engine-specific format for easy and fast every-day-loading.
+Assimp is a library to load and process geometric scenes from various data formats.
+It is tailored at typical game scenarios by supporting a node hierarchy, static or skinned meshes,
+materials, bone animations and potential texture data. The library is not designed for speed,
+it is primarily useful for importing assets from various sources once and storing it in a
+engine-specific format for easy and fast every-day-loading.
%package devel
Summary: Headers, docs and command-line utility for %{name}
@@ -53,40 +67,38 @@
Requires: libstdc++-devel
%description devel
-Assimp is a library to load and process geometric scenes from various data formats. It is tailored at typical game scenarios by supporting a node hierarchy, static or skinned meshes, materials, bone animations and potential texture data. The library is not designed for speed, it is primarily useful for importing assets from various sources once and storing it in a engine-specific format for easy and fast every-day-loading.
+Assimp is a library to load and process geometric scenes from various data formats.
+It is tailored at typical game scenarios by supporting a node hierarchy, static or skinned meshes,
+materials, bone animations and potential texture data. The library is not designed for speed,
+it is primarily useful for importing assets from various sources once and storing it in a
+engine-specific format for easy and fast every-day-loading.
%prep
-%setup -q
-
-dos2unix LICENSE CREDITS CHANGES README
-find . -type f -name "*.lib" -delete
+%autosetup -p1
%build
-%cmake \
- -DCMAKE_BUILD_TYPE="Release" \
- -DASSIMP_LIB_INSTALL_DIR="%{_libdir}"
-CFLAGS="%{optflags}" make %{?_smp_mflags}
+%cmake
+
+%cmake_build
%install
-rm -rf examples/.deps
%cmake_install
find %{buildroot} -type f -name "*.la" -delete -print
+%check
+pushd build/test
+LD_LIBRARY_PATH=%{buildroot}%{_libdir} ctest --output-on-failure --force-new-ctest-process
+popd
+
%post -n lib%{name}%{sover} -p /sbin/ldconfig
%postun -n lib%{name}%{sover} -p /sbin/ldconfig
%files -n lib%{name}%{sover}
-%defattr(-,root,root)
-%if 0%{?suse_version} > 1320
-%license CREDITS LICENSE
-%else
-%doc CREDITS LICENSE
-%endif
-%{_libdir}/libassimp.so.3*
+%license LICENSE
+%{_libdir}/libassimp.so.%{sover}*
%files devel
-%defattr(-,root,root)
-%doc README CHANGES
+%doc README CHANGES CREDITS
%{_includedir}/assimp/
%{_bindir}/assimp
%{_libdir}/libassimp.so
++++++ 0001-use-GNUInstallDirs-where-possible.patch ++++++
>From b483fbb30ce41786e9a308f1e2fbd41ecd410feb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Victor=20Matar=C3=A9?= <matare(a)fh-aachen.de>
Date: Tue, 31 Mar 2020 21:30:07 +0200
Subject: [PATCH] use GNUInstallDirs where possible
Emulate the CMAKE_INSTALL_FULL_* variables on non-Unix systems and
disable redefining FHS-mandated install locations via user-editable
ASSIMP_*_INSTALL_DIR variables. Instead, if it REALLY proves necessary,
Unix users can edit the advanced, canonical CMAKE_INSTALL_* variables.
---
CMakeLists.txt | 33 ++++++++++++++++++++-------------
assimp.pc.in | 6 ++----
assimpTargets-debug.cmake.in | 20 ++++++++++----------
assimpTargets-release.cmake.in | 20 ++++++++++----------
assimpTargets.cmake.in | 15 +--------------
5 files changed, 43 insertions(+), 51 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index dcafb64..c6109e6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -230,11 +230,6 @@ SET(LIBASSIMP-DEV_COMPONENT "libassimp${ASSIMP_VERSION_MAJOR}.${ASSIMP_VERSION_M
SET(CPACK_COMPONENTS_ALL assimp-bin ${LIBASSIMP_COMPONENT} ${LIBASSIMP-DEV_COMPONENT} assimp-dev)
SET(ASSIMP_LIBRARY_SUFFIX "" CACHE STRING "Suffix to append to library names")
-IF( UNIX )
- # Use GNUInstallDirs for Unix predefined directories
- INCLUDE(GNUInstallDirs)
-ENDIF( UNIX )
-
# Grouped compiler settings
IF ((CMAKE_C_COMPILER_ID MATCHES "GNU") AND NOT CMAKE_COMPILER_IS_MINGW)
IF(NOT HUNTER_ENABLED)
@@ -329,14 +324,6 @@ IF ( CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR )
SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_HOME_DIRECTORY}/bin" )
ENDIF ( CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR )
-# Cache these to allow the user to override them manually.
-SET( ASSIMP_LIB_INSTALL_DIR "lib" CACHE STRING
- "Path the built library files are installed to." )
-SET( ASSIMP_INCLUDE_INSTALL_DIR "include" CACHE STRING
- "Path the header files are installed to." )
-SET( ASSIMP_BIN_INSTALL_DIR "bin" CACHE STRING
- "Path the tool executables are installed to." )
-
get_cmake_property(is_multi_config GENERATOR_IS_MULTI_CONFIG)
IF (INJECT_DEBUG_POSTFIX AND (is_multi_config OR CMAKE_BUILD_TYPE STREQUAL "Debug"))
@@ -390,6 +377,26 @@ IF(HUNTER_ENABLED)
DESTINATION "${CONFIG_INSTALL_DIR}"
)
ELSE(HUNTER_ENABLED)
+ IF( UNIX )
+ # Use GNUInstallDirs for Unix predefined directories
+ INCLUDE(GNUInstallDirs)
+
+ SET( ASSIMP_LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR})
+ SET( ASSIMP_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR})
+ SET( ASSIMP_BIN_INSTALL_DIR ${CMAKE_INSTALL_BINDIR})
+ ELSE()
+ # Cache these to allow the user to override them on non-Unix platforms
+ SET( ASSIMP_LIB_INSTALL_DIR "lib" CACHE STRING
+ "Path the built library files are installed to." )
+ SET( ASSIMP_INCLUDE_INSTALL_DIR "include" CACHE STRING
+ "Path the header files are installed to." )
+ SET( ASSIMP_BIN_INSTALL_DIR "bin" CACHE STRING
+ "Path the tool executables are installed to." )
+
+ SET(CMAKE_INSTALL_FULL_INCLUDEDIR ${CMAKE_INSTALL_PREFIX}/${ASSIMP_INCLUDE_INSTALL_DIR})
+ SET(CMAKE_INSTALL_FULL_LIBDIR ${CMAKE_INSTALL_PREFIX}/${ASSIMP_LIB_INSTALL_DIR})
+ SET(CMAKE_INSTALL_FULL_BINDIR ${CMAKE_INSTALL_PREFIX}/${ASSIMP_BIN_INSTALL_DIR})
+ ENDIF()
# cmake configuration files
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimp-config.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimp-config.cmake" @ONLY IMMEDIATE)
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/assimpTargets.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/assimpTargets.cmake" @ONLY IMMEDIATE)
diff --git a/assimp.pc.in b/assimp.pc.in
index c659e19..555a3a1 100644
--- a/assimp.pc.in
+++ b/assimp.pc.in
@@ -1,7 +1,5 @@
-prefix=@CMAKE_INSTALL_PREFIX@
-exec_prefix=@CMAKE_INSTALL_PREFIX@/
-libdir=@CMAKE_INSTALL_PREFIX@/@ASSIMP_LIB_INSTALL_DIR@
-includedir=@CMAKE_INSTALL_PREFIX@/../include/@ASSIMP_INCLUDE_INSTALL_DIR@
+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
Name: @CMAKE_PROJECT_NAME@
Description: Import various well-known 3D model formats in an uniform manner.
diff --git a/assimpTargets-debug.cmake.in b/assimpTargets-debug.cmake.in
index 1ebe2a6..f5034c9 100644
--- a/assimpTargets-debug.cmake.in
+++ b/assimpTargets-debug.cmake.in
@@ -42,22 +42,22 @@ if(MSVC)
# Import target "assimp::assimp" for configuration "Debug"
set_property(TARGET assimp::assimp APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
set_target_properties(assimp::assimp PROPERTIES
- IMPORTED_IMPLIB_DEBUG "${_IMPORT_PREFIX}/lib/${importLibraryName}"
- IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/bin/${sharedLibraryName}"
+ IMPORTED_IMPLIB_DEBUG "@CMAKE_INSTALL_FULL_LIBDIR@/${importLibraryName}"
+ IMPORTED_LOCATION_DEBUG "@CMAKE_INSTALL_FULL_BINDIR@/${sharedLibraryName}"
)
list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${importLibraryName}")
- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/bin/${sharedLibraryName}" )
+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_LIBDIR@/${importLibraryName}")
+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_BINDIR@/${sharedLibraryName}" )
else()
set(staticLibraryName "assimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_DEBUG_POSTFIX@@CMAKE_STATIC_LIBRARY_SUFFIX@")
# Import target "assimp::assimp" for configuration "Debug"
set_property(TARGET assimp::assimp APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
set_target_properties(assimp::assimp PROPERTIES
- IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/${staticLibraryName}"
+ IMPORTED_LOCATION_DEBUG "@CMAKE_INSTALL_FULL_LIBDIR@/${staticLibraryName}"
)
list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${staticLibraryName}")
+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_LIBDIR@/${staticLibraryName}")
endif()
else()
@@ -66,17 +66,17 @@ else()
set(sharedLibraryName "libassimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_DEBUG_POSTFIX@@CMAKE_SHARED_LIBRARY_SUFFIX@.@ASSIMP_VERSION_MAJOR@")
set_target_properties(assimp::assimp PROPERTIES
IMPORTED_SONAME_DEBUG "${sharedLibraryName}"
- IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/${sharedLibraryName}"
+ IMPORTED_LOCATION_DEBUG "@CMAKE_INSTALL_FULL_LIBDIR@/${sharedLibraryName}"
)
list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${sharedLibraryName}" )
+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_LIBDIR@/${sharedLibraryName}" )
else()
set(staticLibraryName "libassimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_DEBUG_POSTFIX@@CMAKE_STATIC_LIBRARY_SUFFIX@")
set_target_properties(assimp::assimp PROPERTIES
- IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/${staticLibraryName}"
+ IMPORTED_LOCATION_DEBUG "@CMAKE_INSTALL_FULL_LIBDIR@/${staticLibraryName}"
)
list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${staticLibraryName}" )
+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_LIBDIR@/${staticLibraryName}" )
endif()
endif()
diff --git a/assimpTargets-release.cmake.in b/assimpTargets-release.cmake.in
index f3db8f1..89f1a14 100644
--- a/assimpTargets-release.cmake.in
+++ b/assimpTargets-release.cmake.in
@@ -42,22 +42,22 @@ if(MSVC)
# Import target "assimp::assimp" for configuration "Release"
set_property(TARGET assimp::assimp APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
set_target_properties(assimp::assimp PROPERTIES
- IMPORTED_IMPLIB_RELEASE "${_IMPORT_PREFIX}/lib/${importLibraryName}"
- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/bin/${sharedLibraryName}"
+ IMPORTED_IMPLIB_RELEASE "@CMAKE_INSTALL_FULL_LIBDIR@/${importLibraryName}"
+ IMPORTED_LOCATION_RELEASE "@CMAKE_INSTALL_FULL_BINDIR@/${sharedLibraryName}"
)
list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${importLibraryName}")
- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/bin/${sharedLibraryName}" )
+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_LIBDIR@/${importLibraryName}")
+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_BINDIR@/${sharedLibraryName}" )
else()
set(staticLibraryName "assimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_STATIC_LIBRARY_SUFFIX@")
# Import target "assimp::assimp" for configuration "Release"
set_property(TARGET assimp::assimp APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
set_target_properties(assimp::assimp PROPERTIES
- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${staticLibraryName}"
+ IMPORTED_LOCATION_RELEASE "@CMAKE_INSTALL_FULL_LIBDIR@/${staticLibraryName}"
)
list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${staticLibraryName}")
+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_LIBDIR@/${staticLibraryName}")
endif()
else()
@@ -70,17 +70,17 @@ else()
endif()
set_target_properties(assimp::assimp PROPERTIES
IMPORTED_SONAME_RELEASE "${sharedLibraryName}"
- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${sharedLibraryName}"
+ IMPORTED_LOCATION_RELEASE "@CMAKE_INSTALL_FULL_LIBDIR@/${sharedLibraryName}"
)
list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${sharedLibraryName}" )
+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_LIBDIR@/${sharedLibraryName}" )
else()
set(staticLibraryName "libassimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_STATIC_LIBRARY_SUFFIX@")
set_target_properties(assimp::assimp PROPERTIES
- IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${staticLibraryName}"
+ IMPORTED_LOCATION_RELEASE "@CMAKE_INSTALL_FULL_LIBDIR@/${staticLibraryName}"
)
list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "${_IMPORT_PREFIX}/lib/${staticLibraryName}" )
+ list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp "@CMAKE_INSTALL_FULL_LIBDIR@/${staticLibraryName}" )
endif()
endif()
diff --git a/assimpTargets.cmake.in b/assimpTargets.cmake.in
index ab1a8d2..ef90c83 100644
--- a/assimpTargets.cmake.in
+++ b/assimpTargets.cmake.in
@@ -40,16 +40,6 @@ unset(_targetsDefined)
unset(_targetsNotDefined)
unset(_expectedTargets)
-
-# Compute the installation prefix relative to this file.
-get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
-get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
-get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
-get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
-if(_IMPORT_PREFIX STREQUAL "/")
- set(_IMPORT_PREFIX "")
-endif()
-
# Create imported target assimp::assimp
if(@BUILD_SHARED_LIBS@)
add_library(assimp::assimp SHARED IMPORTED)
@@ -60,7 +50,7 @@ endif()
set_target_properties(assimp::assimp PROPERTIES
COMPATIBLE_INTERFACE_STRING "assimp_MAJOR_VERSION"
INTERFACE_assimp_MAJOR_VERSION "1"
- INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include;${_IMPORT_PREFIX}/include"
+ INTERFACE_INCLUDE_DIRECTORIES "@CMAKE_INSTALL_FULL_INCLUDEDIR@"
#INTERFACE_LINK_LIBRARIES "TxtUtils::TxtUtils;MealyMachine::MealyMachine"
)
@@ -75,9 +65,6 @@ foreach(f ${CONFIG_FILES})
include(${f})
endforeach()
-# Cleanup temporary variables.
-set(_IMPORT_PREFIX)
-
# Loop over all imported files and verify that they actually exist
foreach(target ${_IMPORT_CHECK_TARGETS} )
foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} )
--
2.26.2
++++++ _service ++++++
<services>
<service name="tar_scm" mode="disabled">
<param name="scm">git</param>
<param name="url">git://github.com/assimp/assimp</param>
<param name="revision">v5.0.1</param>
<param name="versionformat">5.0.1</param>
<!-- non-OSI media -->
<param name="exclude">test/models-nonbsd</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service name="set_version" mode="disabled"/>
</services>
++++++ do-not-install-irrXML.patch ++++++
diff -Nur assimp-5.0.1/contrib/irrXML/CMakeLists.txt new/contrib/irrXML/CMakeLists.txt
--- assimp-5.0.1/contrib/irrXML/CMakeLists.txt 2020-01-12 12:56:40.000000000 +0100
+++ new/contrib/irrXML/CMakeLists.txt 2020-05-20 01:51:22.652107741 +0200
@@ -21,9 +21,9 @@
set(IRRXML_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}" CACHE INTERNAL "IrrXML_Include" )
set(IRRXML_LIBRARY "IrrXML" CACHE INTERNAL "IrrXML" )
-install(TARGETS IrrXML
- LIBRARY DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
- ARCHIVE DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
- RUNTIME DESTINATION ${ASSIMP_BIN_INSTALL_DIR}
- FRAMEWORK DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
- COMPONENT ${LIBASSIMP_COMPONENT})
+#install(TARGETS IrrXML
+# LIBRARY DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
+# ARCHIVE DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
+# RUNTIME DESTINATION ${ASSIMP_BIN_INSTALL_DIR}
+# FRAMEWORK DESTINATION ${ASSIMP_LIB_INSTALL_DIR}
+# COMPONENT ${LIBASSIMP_COMPONENT})
1
0
Hello community,
here is the log from the commit of package python-progressbar2 for openSUSE:Factory checked in at 2020-07-31 15:54:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-progressbar2 (Old)
and /work/SRC/openSUSE:Factory/.python-progressbar2.new.3592 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-progressbar2"
Fri Jul 31 15:54:43 2020 rev:2 rq:823668 version:3.51.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-progressbar2/python-progressbar2.changes 2020-06-09 00:05:02.801372083 +0200
+++ /work/SRC/openSUSE:Factory/.python-progressbar2.new.3592/python-progressbar2.changes 2020-07-31 15:56:47.308401330 +0200
@@ -1,0 +2,13 @@
+Thu Jul 30 11:06:51 UTC 2020 - Duncan Mac-Vicar <dmacvicar(a)suse.com>
+
+- Remove unnecessary python_module devel BuildRequires
+- Restore conflicts with python-progressbar
+- Restore BuildArch noarch
+
+-------------------------------------------------------------------
+Sat Jul 25 09:43:04 UTC 2020 - Duncan Mac-Vicar <dmacvicar(a)suse.com>
+
+- Update to v3.51.4
+- Fix build (pytest)
+
+-------------------------------------------------------------------
Old:
----
progressbar2-3.51.3.tar.gz
New:
----
progressbar2-3.51.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-progressbar2.spec ++++++
--- /var/tmp/diff_new_pack.xHJ2AA/_old 2020-07-31 15:56:48.604401961 +0200
+++ /var/tmp/diff_new_pack.xHJ2AA/_new 2020-07-31 15:56:48.604401961 +0200
@@ -18,9 +18,9 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-progressbar2
-Version: 3.51.3
+Version: 3.51.4
Release: 0
-Summary: Python progressbar library
+Summary: Python library to provide visual text-based progress to long running operations
License: BSD-3-Clause
Group: Development/Languages/Python
URL: https://github.com/WoLpH/python-progressbar
@@ -33,16 +33,15 @@
Conflicts: python-progressbar
BuildArch: noarch
# SECTION test requirements
-BuildRequires: %{python_module freezegun >= 0.3.11}
-BuildRequires: %{python_module pytest >= 4.3.1}
+BuildRequires: %{python_module freezegun}
+BuildRequires: %{python_module pytest}
BuildRequires: %{python_module python-utils >= 2.3.0}
BuildRequires: %{python_module six}
# /SECTION
%python_subpackages
%description
-A Python Progressbar library to provide visual (yet text based)
-progress to long running operations.
+A Python Progressbar library to provide visual (yet text based) progress to long running operations.
%prep
%setup -q -n progressbar2-%{version}
@@ -56,6 +55,9 @@
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
+# remove problematic section from pytest.ini
+export PYTEST_ADDOPTS="--doctest-modules"
+export PYTHONPATH=$PWD
%pytest
%files %{python_files}
++++++ progressbar2-3.51.3.tar.gz -> progressbar2-3.51.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/progressbar2-3.51.3/MANIFEST.in new/progressbar2-3.51.4/MANIFEST.in
--- old/progressbar2-3.51.3/MANIFEST.in 2020-03-20 01:31:13.000000000 +0100
+++ new/progressbar2-3.51.4/MANIFEST.in 2020-06-25 21:36:57.000000000 +0200
@@ -8,3 +8,5 @@
include Makefile
include pytest.ini
recursive-include tests *
+recursive-exclude *.pyc
+recursive-exclude *.pyo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/progressbar2-3.51.3/PKG-INFO new/progressbar2-3.51.4/PKG-INFO
--- old/progressbar2-3.51.3/PKG-INFO 2020-05-02 16:07:43.000000000 +0200
+++ new/progressbar2-3.51.4/PKG-INFO 2020-06-25 21:37:16.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: progressbar2
-Version: 3.51.3
+Version: 3.51.4
Summary: A Python Progressbar library to provide visual (yet text based) progress to long running operations.
Home-page: https://github.com/WoLpH/python-progressbar
Author: Rick van Hattem (Wolph)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/progressbar2-3.51.3/progressbar/__about__.py new/progressbar2-3.51.4/progressbar/__about__.py
--- old/progressbar2-3.51.3/progressbar/__about__.py 2020-05-02 16:03:35.000000000 +0200
+++ new/progressbar2-3.51.4/progressbar/__about__.py 2020-06-25 21:36:57.000000000 +0200
@@ -19,7 +19,7 @@
long running operations.
'''.strip().split())
__email__ = 'wolph(a)wol.ph'
-__version__ = '3.51.3'
+__version__ = '3.51.4'
__license__ = 'BSD'
__copyright__ = 'Copyright 2015 Rick van Hattem (Wolph)'
__url__ = 'https://github.com/WoLpH/python-progressbar'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/progressbar2-3.51.3/progressbar2.egg-info/PKG-INFO new/progressbar2-3.51.4/progressbar2.egg-info/PKG-INFO
--- old/progressbar2-3.51.3/progressbar2.egg-info/PKG-INFO 2020-05-02 16:07:43.000000000 +0200
+++ new/progressbar2-3.51.4/progressbar2.egg-info/PKG-INFO 2020-06-25 21:37:16.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: progressbar2
-Version: 3.51.3
+Version: 3.51.4
Summary: A Python Progressbar library to provide visual (yet text based) progress to long running operations.
Home-page: https://github.com/WoLpH/python-progressbar
Author: Rick van Hattem (Wolph)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/progressbar2-3.51.3/progressbar2.egg-info/SOURCES.txt new/progressbar2-3.51.4/progressbar2.egg-info/SOURCES.txt
--- old/progressbar2-3.51.3/progressbar2.egg-info/SOURCES.txt 2020-05-02 16:07:43.000000000 +0200
+++ new/progressbar2-3.51.4/progressbar2.egg-info/SOURCES.txt 2020-06-25 21:37:16.000000000 +0200
@@ -50,110 +50,6 @@
tests/test_utils.py
tests/test_widgets.py
tests/test_with.py
-tests/__pycache__/conftest.cpython-27-PYTEST.pyc
-tests/__pycache__/conftest.cpython-37-pytest-5.3.1.pyc
-tests/__pycache__/conftest.cpython-38-pytest-5.3.5.pyc
-tests/__pycache__/conftest.cpython-38-pytest-5.4.1.pyc
-tests/__pycache__/original_examples.cpython-27-PYTEST.pyc
-tests/__pycache__/original_examples.cpython-37-pytest-5.3.1.pyc
-tests/__pycache__/original_examples.cpython-38-pytest-5.3.5.pyc
-tests/__pycache__/original_examples.cpython-38-pytest-5.4.1.pyc
-tests/__pycache__/test_custom_widgets.cpython-27-PYTEST.pyc
-tests/__pycache__/test_custom_widgets.cpython-37-pytest-5.3.1.pyc
-tests/__pycache__/test_custom_widgets.cpython-38-pytest-5.3.5.pyc
-tests/__pycache__/test_custom_widgets.cpython-38-pytest-5.4.1.pyc
-tests/__pycache__/test_data.cpython-27-PYTEST.pyc
-tests/__pycache__/test_data.cpython-37-pytest-5.3.1.pyc
-tests/__pycache__/test_data.cpython-38-pytest-5.3.5.pyc
-tests/__pycache__/test_data.cpython-38-pytest-5.4.1.pyc
-tests/__pycache__/test_data_transfer_bar.cpython-27-PYTEST.pyc
-tests/__pycache__/test_data_transfer_bar.cpython-37-pytest-5.3.1.pyc
-tests/__pycache__/test_data_transfer_bar.cpython-38-pytest-5.3.5.pyc
-tests/__pycache__/test_data_transfer_bar.cpython-38-pytest-5.4.1.pyc
-tests/__pycache__/test_empty.cpython-27-PYTEST.pyc
-tests/__pycache__/test_empty.cpython-37-pytest-5.3.1.pyc
-tests/__pycache__/test_empty.cpython-38-pytest-5.3.5.pyc
-tests/__pycache__/test_empty.cpython-38-pytest-5.4.1.pyc
-tests/__pycache__/test_end.cpython-27-PYTEST.pyc
-tests/__pycache__/test_end.cpython-37-pytest-5.3.1.pyc
-tests/__pycache__/test_end.cpython-38-pytest-5.3.5.pyc
-tests/__pycache__/test_end.cpython-38-pytest-5.4.1.pyc
-tests/__pycache__/test_failure.cpython-27-PYTEST.pyc
-tests/__pycache__/test_failure.cpython-37-pytest-5.3.1.pyc
-tests/__pycache__/test_failure.cpython-38-pytest-5.3.5.pyc
-tests/__pycache__/test_failure.cpython-38-pytest-5.4.1.pyc
-tests/__pycache__/test_flush.cpython-27-PYTEST.pyc
-tests/__pycache__/test_flush.cpython-37-pytest-5.3.1.pyc
-tests/__pycache__/test_flush.cpython-38-pytest-5.3.5.pyc
-tests/__pycache__/test_flush.cpython-38-pytest-5.4.1.pyc
-tests/__pycache__/test_iterators.cpython-27-PYTEST.pyc
-tests/__pycache__/test_iterators.cpython-37-pytest-5.3.1.pyc
-tests/__pycache__/test_iterators.cpython-38-pytest-5.3.5.pyc
-tests/__pycache__/test_iterators.cpython-38-pytest-5.4.1.pyc
-tests/__pycache__/test_large_values.cpython-27-PYTEST.pyc
-tests/__pycache__/test_large_values.cpython-37-pytest-5.3.1.pyc
-tests/__pycache__/test_large_values.cpython-38-pytest-5.3.5.pyc
-tests/__pycache__/test_large_values.cpython-38-pytest-5.4.1.pyc
-tests/__pycache__/test_misc.cpython-27-PYTEST.pyc
-tests/__pycache__/test_misc.cpython-37-pytest-5.3.1.pyc
-tests/__pycache__/test_misc.cpython-38-pytest-5.3.5.pyc
-tests/__pycache__/test_misc.cpython-38-pytest-5.4.1.pyc
-tests/__pycache__/test_monitor_progress.cpython-27-PYTEST.pyc
-tests/__pycache__/test_monitor_progress.cpython-37-pytest-5.3.1.pyc
-tests/__pycache__/test_monitor_progress.cpython-38-pytest-5.3.5.pyc
-tests/__pycache__/test_monitor_progress.cpython-38-pytest-5.4.1.pyc
-tests/__pycache__/test_multibar.cpython-27-PYTEST.pyc
-tests/__pycache__/test_multibar.cpython-37-pytest-5.3.1.pyc
-tests/__pycache__/test_multibar.cpython-38-pytest-5.3.5.pyc
-tests/__pycache__/test_multibar.cpython-38-pytest-5.4.1.pyc
-tests/__pycache__/test_progressbar.cpython-27-PYTEST.pyc
-tests/__pycache__/test_progressbar.cpython-37-pytest-5.3.1.pyc
-tests/__pycache__/test_progressbar.cpython-38-pytest-5.3.5.pyc
-tests/__pycache__/test_progressbar.cpython-38-pytest-5.4.1.pyc
-tests/__pycache__/test_samples.cpython-27-PYTEST.pyc
-tests/__pycache__/test_samples.cpython-37-pytest-5.3.1.pyc
-tests/__pycache__/test_samples.cpython-38-pytest-5.3.5.pyc
-tests/__pycache__/test_samples.cpython-38-pytest-5.4.1.pyc
-tests/__pycache__/test_speed.cpython-27-PYTEST.pyc
-tests/__pycache__/test_speed.cpython-37-pytest-5.3.1.pyc
-tests/__pycache__/test_speed.cpython-38-pytest-5.3.5.pyc
-tests/__pycache__/test_speed.cpython-38-pytest-5.4.1.pyc
-tests/__pycache__/test_stream.cpython-27-PYTEST.pyc
-tests/__pycache__/test_stream.cpython-37-pytest-5.3.1.pyc
-tests/__pycache__/test_stream.cpython-38-pytest-5.3.5.pyc
-tests/__pycache__/test_stream.cpython-38-pytest-5.4.1.pyc
-tests/__pycache__/test_terminal.cpython-27-PYTEST.pyc
-tests/__pycache__/test_terminal.cpython-37-pytest-5.3.1.pyc
-tests/__pycache__/test_terminal.cpython-38-pytest-5.3.5.pyc
-tests/__pycache__/test_terminal.cpython-38-pytest-5.4.1.pyc
-tests/__pycache__/test_timed.cpython-27-PYTEST.pyc
-tests/__pycache__/test_timed.cpython-37-pytest-5.3.1.pyc
-tests/__pycache__/test_timed.cpython-38-pytest-5.3.5.pyc
-tests/__pycache__/test_timed.cpython-38-pytest-5.4.1.pyc
-tests/__pycache__/test_timer.cpython-27-PYTEST.pyc
-tests/__pycache__/test_timer.cpython-37-pytest-5.3.1.pyc
-tests/__pycache__/test_timer.cpython-38-pytest-5.3.5.pyc
-tests/__pycache__/test_timer.cpython-38-pytest-5.4.1.pyc
-tests/__pycache__/test_unicode.cpython-27-PYTEST.pyc
-tests/__pycache__/test_unicode.cpython-37-pytest-5.3.1.pyc
-tests/__pycache__/test_unicode.cpython-38-pytest-5.3.5.pyc
-tests/__pycache__/test_unicode.cpython-38-pytest-5.4.1.pyc
-tests/__pycache__/test_unknown_length.cpython-27-PYTEST.pyc
-tests/__pycache__/test_unknown_length.cpython-37-pytest-5.3.1.pyc
-tests/__pycache__/test_unknown_length.cpython-38-pytest-5.3.5.pyc
-tests/__pycache__/test_unknown_length.cpython-38-pytest-5.4.1.pyc
-tests/__pycache__/test_utils.cpython-27-PYTEST.pyc
-tests/__pycache__/test_utils.cpython-37-pytest-5.3.1.pyc
-tests/__pycache__/test_utils.cpython-38-pytest-5.3.5.pyc
-tests/__pycache__/test_utils.cpython-38-pytest-5.4.1.pyc
-tests/__pycache__/test_widgets.cpython-27-PYTEST.pyc
-tests/__pycache__/test_widgets.cpython-37-pytest-5.3.1.pyc
-tests/__pycache__/test_widgets.cpython-38-pytest-5.3.5.pyc
-tests/__pycache__/test_widgets.cpython-38-pytest-5.4.1.pyc
-tests/__pycache__/test_with.cpython-27-PYTEST.pyc
-tests/__pycache__/test_with.cpython-37-pytest-5.3.1.pyc
-tests/__pycache__/test_with.cpython-38-pytest-5.3.5.pyc
-tests/__pycache__/test_with.cpython-38-pytest-5.4.1.pyc
tests/htmlcov/_Volumes_workspace_python-progressbar__tox_py27_lib_python2_7_site-packages_progressbar___about___py.html
tests/htmlcov/_Volumes_workspace_python-progressbar__tox_py27_lib_python2_7_site-packages_progressbar___init___py.html
tests/htmlcov/_Volumes_workspace_python-progressbar__tox_py27_lib_python2_7_site-packages_progressbar_bar_py.html
Binary files old/progressbar2-3.51.3/tests/__pycache__/conftest.cpython-27-PYTEST.pyc and new/progressbar2-3.51.4/tests/__pycache__/conftest.cpython-27-PYTEST.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/conftest.cpython-37-pytest-5.3.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/conftest.cpython-37-pytest-5.3.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/conftest.cpython-38-pytest-5.3.5.pyc and new/progressbar2-3.51.4/tests/__pycache__/conftest.cpython-38-pytest-5.3.5.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/conftest.cpython-38-pytest-5.4.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/conftest.cpython-38-pytest-5.4.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/original_examples.cpython-27-PYTEST.pyc and new/progressbar2-3.51.4/tests/__pycache__/original_examples.cpython-27-PYTEST.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/original_examples.cpython-37-pytest-5.3.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/original_examples.cpython-37-pytest-5.3.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/original_examples.cpython-38-pytest-5.3.5.pyc and new/progressbar2-3.51.4/tests/__pycache__/original_examples.cpython-38-pytest-5.3.5.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/original_examples.cpython-38-pytest-5.4.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/original_examples.cpython-38-pytest-5.4.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_custom_widgets.cpython-27-PYTEST.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_custom_widgets.cpython-27-PYTEST.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_custom_widgets.cpython-37-pytest-5.3.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_custom_widgets.cpython-37-pytest-5.3.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_custom_widgets.cpython-38-pytest-5.3.5.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_custom_widgets.cpython-38-pytest-5.3.5.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_custom_widgets.cpython-38-pytest-5.4.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_custom_widgets.cpython-38-pytest-5.4.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_data.cpython-27-PYTEST.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_data.cpython-27-PYTEST.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_data.cpython-37-pytest-5.3.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_data.cpython-37-pytest-5.3.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_data.cpython-38-pytest-5.3.5.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_data.cpython-38-pytest-5.3.5.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_data.cpython-38-pytest-5.4.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_data.cpython-38-pytest-5.4.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_data_transfer_bar.cpython-27-PYTEST.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_data_transfer_bar.cpython-27-PYTEST.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_data_transfer_bar.cpython-37-pytest-5.3.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_data_transfer_bar.cpython-37-pytest-5.3.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_data_transfer_bar.cpython-38-pytest-5.3.5.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_data_transfer_bar.cpython-38-pytest-5.3.5.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_data_transfer_bar.cpython-38-pytest-5.4.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_data_transfer_bar.cpython-38-pytest-5.4.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_empty.cpython-27-PYTEST.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_empty.cpython-27-PYTEST.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_empty.cpython-37-pytest-5.3.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_empty.cpython-37-pytest-5.3.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_empty.cpython-38-pytest-5.3.5.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_empty.cpython-38-pytest-5.3.5.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_empty.cpython-38-pytest-5.4.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_empty.cpython-38-pytest-5.4.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_end.cpython-27-PYTEST.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_end.cpython-27-PYTEST.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_end.cpython-37-pytest-5.3.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_end.cpython-37-pytest-5.3.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_end.cpython-38-pytest-5.3.5.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_end.cpython-38-pytest-5.3.5.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_end.cpython-38-pytest-5.4.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_end.cpython-38-pytest-5.4.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_failure.cpython-27-PYTEST.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_failure.cpython-27-PYTEST.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_failure.cpython-37-pytest-5.3.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_failure.cpython-37-pytest-5.3.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_failure.cpython-38-pytest-5.3.5.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_failure.cpython-38-pytest-5.3.5.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_failure.cpython-38-pytest-5.4.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_failure.cpython-38-pytest-5.4.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_flush.cpython-27-PYTEST.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_flush.cpython-27-PYTEST.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_flush.cpython-37-pytest-5.3.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_flush.cpython-37-pytest-5.3.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_flush.cpython-38-pytest-5.3.5.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_flush.cpython-38-pytest-5.3.5.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_flush.cpython-38-pytest-5.4.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_flush.cpython-38-pytest-5.4.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_iterators.cpython-27-PYTEST.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_iterators.cpython-27-PYTEST.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_iterators.cpython-37-pytest-5.3.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_iterators.cpython-37-pytest-5.3.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_iterators.cpython-38-pytest-5.3.5.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_iterators.cpython-38-pytest-5.3.5.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_iterators.cpython-38-pytest-5.4.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_iterators.cpython-38-pytest-5.4.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_large_values.cpython-27-PYTEST.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_large_values.cpython-27-PYTEST.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_large_values.cpython-37-pytest-5.3.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_large_values.cpython-37-pytest-5.3.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_large_values.cpython-38-pytest-5.3.5.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_large_values.cpython-38-pytest-5.3.5.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_large_values.cpython-38-pytest-5.4.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_large_values.cpython-38-pytest-5.4.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_misc.cpython-27-PYTEST.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_misc.cpython-27-PYTEST.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_misc.cpython-37-pytest-5.3.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_misc.cpython-37-pytest-5.3.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_misc.cpython-38-pytest-5.3.5.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_misc.cpython-38-pytest-5.3.5.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_misc.cpython-38-pytest-5.4.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_misc.cpython-38-pytest-5.4.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_monitor_progress.cpython-27-PYTEST.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_monitor_progress.cpython-27-PYTEST.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_monitor_progress.cpython-37-pytest-5.3.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_monitor_progress.cpython-37-pytest-5.3.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_monitor_progress.cpython-38-pytest-5.3.5.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_monitor_progress.cpython-38-pytest-5.3.5.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_monitor_progress.cpython-38-pytest-5.4.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_monitor_progress.cpython-38-pytest-5.4.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_multibar.cpython-27-PYTEST.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_multibar.cpython-27-PYTEST.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_multibar.cpython-37-pytest-5.3.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_multibar.cpython-37-pytest-5.3.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_multibar.cpython-38-pytest-5.3.5.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_multibar.cpython-38-pytest-5.3.5.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_multibar.cpython-38-pytest-5.4.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_multibar.cpython-38-pytest-5.4.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_progressbar.cpython-27-PYTEST.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_progressbar.cpython-27-PYTEST.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_progressbar.cpython-37-pytest-5.3.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_progressbar.cpython-37-pytest-5.3.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_progressbar.cpython-38-pytest-5.3.5.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_progressbar.cpython-38-pytest-5.3.5.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_progressbar.cpython-38-pytest-5.4.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_progressbar.cpython-38-pytest-5.4.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_samples.cpython-27-PYTEST.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_samples.cpython-27-PYTEST.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_samples.cpython-37-pytest-5.3.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_samples.cpython-37-pytest-5.3.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_samples.cpython-38-pytest-5.3.5.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_samples.cpython-38-pytest-5.3.5.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_samples.cpython-38-pytest-5.4.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_samples.cpython-38-pytest-5.4.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_speed.cpython-27-PYTEST.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_speed.cpython-27-PYTEST.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_speed.cpython-37-pytest-5.3.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_speed.cpython-37-pytest-5.3.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_speed.cpython-38-pytest-5.3.5.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_speed.cpython-38-pytest-5.3.5.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_speed.cpython-38-pytest-5.4.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_speed.cpython-38-pytest-5.4.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_stream.cpython-27-PYTEST.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_stream.cpython-27-PYTEST.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_stream.cpython-37-pytest-5.3.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_stream.cpython-37-pytest-5.3.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_stream.cpython-38-pytest-5.3.5.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_stream.cpython-38-pytest-5.3.5.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_stream.cpython-38-pytest-5.4.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_stream.cpython-38-pytest-5.4.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_terminal.cpython-27-PYTEST.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_terminal.cpython-27-PYTEST.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_terminal.cpython-37-pytest-5.3.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_terminal.cpython-37-pytest-5.3.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_terminal.cpython-38-pytest-5.3.5.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_terminal.cpython-38-pytest-5.3.5.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_terminal.cpython-38-pytest-5.4.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_terminal.cpython-38-pytest-5.4.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_timed.cpython-27-PYTEST.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_timed.cpython-27-PYTEST.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_timed.cpython-37-pytest-5.3.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_timed.cpython-37-pytest-5.3.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_timed.cpython-38-pytest-5.3.5.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_timed.cpython-38-pytest-5.3.5.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_timed.cpython-38-pytest-5.4.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_timed.cpython-38-pytest-5.4.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_timer.cpython-27-PYTEST.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_timer.cpython-27-PYTEST.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_timer.cpython-37-pytest-5.3.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_timer.cpython-37-pytest-5.3.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_timer.cpython-38-pytest-5.3.5.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_timer.cpython-38-pytest-5.3.5.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_timer.cpython-38-pytest-5.4.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_timer.cpython-38-pytest-5.4.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_unicode.cpython-27-PYTEST.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_unicode.cpython-27-PYTEST.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_unicode.cpython-37-pytest-5.3.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_unicode.cpython-37-pytest-5.3.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_unicode.cpython-38-pytest-5.3.5.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_unicode.cpython-38-pytest-5.3.5.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_unicode.cpython-38-pytest-5.4.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_unicode.cpython-38-pytest-5.4.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_unknown_length.cpython-27-PYTEST.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_unknown_length.cpython-27-PYTEST.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_unknown_length.cpython-37-pytest-5.3.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_unknown_length.cpython-37-pytest-5.3.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_unknown_length.cpython-38-pytest-5.3.5.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_unknown_length.cpython-38-pytest-5.3.5.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_unknown_length.cpython-38-pytest-5.4.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_unknown_length.cpython-38-pytest-5.4.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_utils.cpython-27-PYTEST.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_utils.cpython-27-PYTEST.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_utils.cpython-37-pytest-5.3.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_utils.cpython-37-pytest-5.3.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_utils.cpython-38-pytest-5.3.5.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_utils.cpython-38-pytest-5.3.5.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_utils.cpython-38-pytest-5.4.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_utils.cpython-38-pytest-5.4.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_widgets.cpython-27-PYTEST.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_widgets.cpython-27-PYTEST.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_widgets.cpython-37-pytest-5.3.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_widgets.cpython-37-pytest-5.3.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_widgets.cpython-38-pytest-5.3.5.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_widgets.cpython-38-pytest-5.3.5.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_widgets.cpython-38-pytest-5.4.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_widgets.cpython-38-pytest-5.4.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_with.cpython-27-PYTEST.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_with.cpython-27-PYTEST.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_with.cpython-37-pytest-5.3.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_with.cpython-37-pytest-5.3.1.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_with.cpython-38-pytest-5.3.5.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_with.cpython-38-pytest-5.3.5.pyc differ
Binary files old/progressbar2-3.51.3/tests/__pycache__/test_with.cpython-38-pytest-5.4.1.pyc and new/progressbar2-3.51.4/tests/__pycache__/test_with.cpython-38-pytest-5.4.1.pyc differ
1
0
Hello community,
here is the log from the commit of package python-python-magic for openSUSE:Factory checked in at 2020-07-31 15:54:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-python-magic (Old)
and /work/SRC/openSUSE:Factory/.python-python-magic.new.3592 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-python-magic"
Fri Jul 31 15:54:33 2020 rev:4 rq:823398 version:0.4.18
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-python-magic/python-python-magic.changes 2019-07-04 15:44:36.326234147 +0200
+++ /work/SRC/openSUSE:Factory/.python-python-magic.new.3592/python-python-magic.changes 2020-07-31 15:56:40.724395737 +0200
@@ -1,0 +2,35 @@
+Sat Jul 25 14:46:39 UTC 2020 - Sebastian Wagner <sebix+novell.com(a)sebix.at>
+
+- remove patches not necessary anymore:
+ - magic-new-mime.patch
+ - magic-pep8.patch
+ - magic-tests.patch
+ - magic-new-file.patch
+- add patch fix-test.patch and fix-test-tumbleweed.patch to adapt the `file` test outputs to OpenSUSE.
+- update to version 0.4.18:
+ - Make bindings for magic_[set|get]param optional, and throw NotImplementedError
+ if they are used but not supported. Only call setparam() in the constructor if
+ it's supported. This prevents breakage on CentOS7 which uses an old version of
+ libmagic.
+- update to version 0.4.16 and 0.4.17 (changelog is combined upstream):
+ - add MAGIC_MIME_TYPE constant, use that in preference to MAGIC_MIME internally.
+ This sets up for a breaking change in a future major version bump where
+ MAGIC_MIME will change to mathch magic.h.
+ - add magic.version() function to return library version
+ - add setparam/getparam to control internal behavior
+ - increase internal limits with setparam to prevent spurious error on some jpeg files
+ - various setup.py improvements to declare modern python support
+ - support MSYS2 magic dlls
+ - fix warning about using 'is' on an int in python 3.8
+ - include tests in source distribution
+ - many test improvements:
+ - tox runner support
+ - remove deprecated test_suite field from setup.py
+ - docker tests that cover all LTS ubuntu versions
+ - add test for snapp file identification
+ - doc improvements
+ - document dependency install process for debian
+ - various typos
+ - document test running process
+
+-------------------------------------------------------------------
Old:
----
0.4.15.tar.gz
magic-new-file.patch
magic-new-mime.patch
magic-pep8.patch
magic-tests.patch
New:
----
0.4.18.tar.gz
fix-test-tumbleweed.patch
fix-test.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-python-magic.spec ++++++
--- /var/tmp/diff_new_pack.N0RB9H/_old 2020-07-31 15:56:43.192398294 +0200
+++ /var/tmp/diff_new_pack.N0RB9H/_new 2020-07-31 15:56:43.196398299 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-python-magic
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,17 +19,16 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define oldpython python
Name: python-python-magic
-Version: 0.4.15
+Version: 0.4.18
Release: 0
Summary: File type identification using libmagic
License: Python-2.0
Group: Development/Languages/Python
URL: https://github.com/ahupp/python-magic
Source: https://github.com/ahupp/python-magic/archive/%{version}.tar.gz
-Patch0: magic-new-mime.patch
-Patch1: magic-pep8.patch
-Patch2: magic-tests.patch
-Patch3: magic-new-file.patch
+#PATCH-FIX-OPENSUSE fix-test.patch -- adapt file outputs to opensuse
+Patch0: fix-test.patch
+Patch1: fix-test-tumbleweed.patch
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: file
@@ -52,7 +51,13 @@
%prep
%setup -q -n python-magic-%{version}
-%autopatch -p1
+%if 0%{?suse_version} > 1500
+# Tumbleweed
+%patch1 -p1
+%elif 0%{?sle_version} < 150300 && 0%{?is_opensuse}
+# Leap 15.2 and older
+%patch0 -p1
+%endif
%build
%python_build
@@ -62,11 +67,12 @@
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
-export LANG=en_US.UTF-8
-%python_exec setup.py test
+export LC_ALL=en_US.UTF-8
+%python_expand PYTHONPATH=. $python test/test.py
%files %{python_files}
%license LICENSE
+%doc README.md
%{python_sitelib}/magic.py*
%pycache_only %{python_sitelib}/__pycache__/magic*.py*
%{python_sitelib}/python_magic-%{version}-py*.egg-info
++++++ 0.4.15.tar.gz -> 0.4.18.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-magic-0.4.15/.gitignore new/python-magic-0.4.18/.gitignore
--- old/python-magic-0.4.15/.gitignore 2017-12-04 07:06:41.000000000 +0100
+++ new/python-magic-0.4.18/.gitignore 2020-05-06 04:25:46.000000000 +0200
@@ -1,2 +1,12 @@
+.coverage*
+.tox/
+bin/
deb_dist
+htmlcov/
+lib/
+__pycache__/
python_magic.egg-info
+pip-selfcheck.json
+pyvenv.cfg
+*.pyc
+*~
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-magic-0.4.15/.travis.yml new/python-magic-0.4.18/.travis.yml
--- old/python-magic-0.4.15/.travis.yml 2017-12-04 07:06:41.000000000 +0100
+++ new/python-magic-0.4.18/.travis.yml 2020-05-06 04:25:46.000000000 +0200
@@ -1,25 +1,20 @@
language: python
-
-# needed to use trusty
-sudo: required
-
dist: xenial
+cache: pip
python:
- - "2.6"
- "2.7"
- - "3.3"
- - "3.4"
- "3.5"
- "3.6"
- - "nightly"
+ - "3.7"
+ - "3.8"
install:
- pip install coverage
- - python setup.py install
+ - pip install .
script:
- - coverage run setup.py test
+ - LC_ALL=en_US.UTF-8 coverage run ./test/test.py
after_success:
- pip install coveralls && coveralls
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-magic-0.4.15/MANIFEST.in new/python-magic-0.4.18/MANIFEST.in
--- old/python-magic-0.4.15/MANIFEST.in 2017-12-04 07:06:41.000000000 +0100
+++ new/python-magic-0.4.18/MANIFEST.in 2020-05-06 04:25:46.000000000 +0200
@@ -1,2 +1,5 @@
include *.py
include LICENSE
+graft tests
+global-exclude __pycache__
+global-exclude *.py[co]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-magic-0.4.15/README.md new/python-magic-0.4.18/README.md
--- old/python-magic-0.4.15/README.md 2017-12-04 07:06:41.000000000 +0100
+++ new/python-magic-0.4.18/README.md 2020-05-06 04:25:46.000000000 +0200
@@ -2,7 +2,7 @@
[![PyPI version](https://badge.fury.io/py/python-magic.svg)](https://badge.fury.io/py/python-magic)
[![Build Status](https://travis-ci.org/ahupp/python-magic.svg?branch=master)](https:…
-python-magic is a python interface to the libmagic file type
+python-magic is a Python interface to the libmagic file type
identification library. libmagic identifies file types by checking
their headers according to a predefined list of file types. This
functionality is exposed to the command line by the Unix command
@@ -14,7 +14,8 @@
>>> import magic
>>> magic.from_file("testdata/test.pdf")
'PDF document, version 1.2'
->>> magic.from_buffer(open("testdata/test.pdf").read(1024))
+# recommend using at least the first 2048 bytes, as less can produce incorrect identification
+>>> magic.from_buffer(open("testdata/test.pdf").read(2048))
'PDF document, version 1.2'
>>> magic.from_file("testdata/test.pdf", mime=True)
'application/pdf'
@@ -41,35 +42,33 @@
'text/plain'
```
-## Versioning
-
-Minor version bumps should be backwards compatible. Major bumps are not.
-
-## Name Conflict
-
-There are, sadly, two libraries which use the module name `magic`. Both have been around for quite a while.If you are using this module and get an error using a method like `open`, your code is expecting the other one. Hopefully one day these will be reconciled.
-
## Installation
-The current stable version of python-magic is available on pypi and
+The current stable version of python-magic is available on PyPI and
can be installed by running `pip install python-magic`.
Other sources:
-- pypi: http://pypi.python.org/pypi/python-magic/
-- github: https://github.com/ahupp/python-magic
+- PyPI: http://pypi.python.org/pypi/python-magic/
+- GitHub: https://github.com/ahupp/python-magic
+
+This module is a simple wrapper around the libmagic C library, and
+that must be installed as well:
+
+### Debian/Ubuntu
+
+ $ sudo apt-get install libmagic1
### Windows
-You'll need DLLs for libmagic. @julian-r has uploaded a versoin of this project that includes binaries to pypi:
+You'll need DLLs for libmagic. @julian-r has uploaded a version of this project that includes binaries to PyPI:
https://pypi.python.org/pypi/python-magic-bin/0.4.14
-Other sources of the libraries in the past have been [File for Windows](http://gnuwin32.sourceforge.net/packages/file.htm) . You will need to copy the file `magic` out of `[binary-zip]\share\misc`, and pass it's location to `Magic(magic_file=...)`.
+Other sources of the libraries in the past have been [File for Windows](http://gnuwin32.sourceforge.net/packages/file.htm) . You will need to copy the file `magic` out of `[binary-zip]\share\misc`, and pass its location to `Magic(magic_file=...)`.
If you are using a 64-bit build of python, you'll need 64-bit libmagic binaries which can be found here: https://github.com/pidydx/libmagicwin64. Newer version can be found here: https://github.com/nscaife/file-windows.
-
### OSX
- When using Homebrew: `brew install libmagic`
@@ -89,6 +88,42 @@
- 'WindowsError: exception: access violation writing 0x00000000 ' This may indicate you are mixing
Windows Python and Cygwin Python. Make sure your libmagic and python builds are consistent.
+
+## Bug Reports
+
+python-magic is a thin layer over the libmagic C library.
+Historically, most bugs that have been reported against python-magic
+are actually bugs in libmagic; libmagic bugs can be reported on their
+tracker here: https://bugs.astron.com/my_view_page.php. If you're not
+sure where the bug lies feel free to file an issue on GitHub and I can
+triage it.
+
+## Running the tests
+
+To run the tests across 3 recent Ubuntu LTS releases (depends on Docker):
+
+ $ ./test_docker.sh
+
+To run tests locally across all available python versions:
+
+ $ ./test/run.py
+
+To run against a specific python version:
+
+ $ LC_ALL=en_US.UTF-8 python3 test/test.py
+
+## Versioning
+
+Minor version bumps should be backwards compatible. Major bumps are not.
+
+## Name Conflict
+
+There are, sadly, two libraries which use the module name `magic`.
+Both have been around for quite a while. If you are using this module
+and get an error using a method like `open`, your code is expecting
+the other one. Hopefully one day these will be reconciled.
+
+
## Author
Written by Adam Hupp in 2001 for a project that never got off the
@@ -96,16 +131,17 @@
switched to ctypes once that was part of the python standard library.
You can contact me via my [website](http://hupp.org/adam) or
-[github](http://github.com/ahupp).
+[GitHub](http://github.com/ahupp).
## Contributors
-Thanks to these folks on github who submitted features and bugfixes.
+Thanks to these folks on github who submitted features and bug fixes.
- Amit Sethi
- [bigben87](https://github.com/bigben87)
- [fallgesetz](https://github.com/fallgesetz)
- [FlaPer87](https://github.com/FlaPer87)
+- [Hugo van Kemenade](https://github.com/hugovk)
- [lukenowak](https://github.com/lukenowak)
- NicolasDelaby
- sacha(a)ssl.co.uk
@@ -117,4 +153,5 @@
python-magic is distributed under the MIT license. See the included
LICENSE file for details.
+I am providing code in the repository to you under an open source license. Because this is my personal repository, the license you receive to my code is from me and not my employer (Facebook).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-magic-0.4.15/magic.py new/python-magic-0.4.18/magic.py
--- old/python-magic-0.4.15/magic.py 2017-12-04 07:06:41.000000000 +0100
+++ new/python-magic-0.4.18/magic.py 2020-05-06 04:25:46.000000000 +0200
@@ -14,17 +14,15 @@
'PDF document, version 1.2'
>>>
-
"""
import sys
import glob
-import os.path
import ctypes
import ctypes.util
import threading
-from ctypes import c_char_p, c_int, c_size_t, c_void_p
+from ctypes import c_char_p, c_int, c_size_t, c_void_p, byref, POINTER
class MagicException(Exception):
@@ -36,11 +34,10 @@
class Magic:
"""
Magic is a wrapper around the libmagic C library.
-
"""
def __init__(self, mime=False, magic_file=None, mime_encoding=False,
- keep_going=False, uncompress=False):
+ keep_going=False, uncompress=False, raw=False):
"""
Create a new libmagic wrapper.
@@ -49,23 +46,35 @@
magic_file - use a mime database other than the system default
keep_going - don't stop at the first match, keep going
uncompress - Try to look inside compressed files.
+ raw - Do not try to decode "non-printable" chars.
"""
self.flags = MAGIC_NONE
if mime:
- self.flags |= MAGIC_MIME
+ self.flags |= MAGIC_MIME_TYPE
if mime_encoding:
self.flags |= MAGIC_MIME_ENCODING
if keep_going:
self.flags |= MAGIC_CONTINUE
-
if uncompress:
self.flags |= MAGIC_COMPRESS
+ if raw:
+ self.flags |= MAGIC_RAW
self.cookie = magic_open(self.flags)
self.lock = threading.Lock()
-
+
magic_load(self.cookie, magic_file)
+
+ # For https://github.com/ahupp/python-magic/issues/190
+ # libmagic has fixed internal limits that some files exceed, causing
+ # an error. We can avoid this (at least for the sample file given)
+ # by bumping the limit up. It's not clear if this is a general solution
+ # or whether other internal limits should be increased, but given
+ # the lack of other reports I'll assume this is rare.
+ if _has_param:
+ self.setparam(MAGIC_PARAM_NAME_MAX, 64)
+
def from_buffer(self, buf):
"""
Identify the contents of `buf`
@@ -76,7 +85,7 @@
# otherwise this string is passed as wchar*
# which is not what libmagic expects
if type(buf) == str and str != bytes:
- buf = buf.encode('utf-8', errors='replace')
+ buf = buf.encode('utf-8', errors='replace')
return maybe_decode(magic_buffer(self.cookie, buf))
except MagicException as e:
return self._handle509Bug(e)
@@ -95,11 +104,17 @@
# libmagic 5.09 has a bug where it might fail to identify the
# mimetype of a file and returns null from magic_file (and
# likely _buffer), but also does not return an error message.
- if e.message is None and (self.flags & MAGIC_MIME):
+ if e.message is None and (self.flags & MAGIC_MIME_TYPE):
return "application/octet-stream"
else:
raise e
-
+
+ def setparam(self, param, val):
+ return magic_setparam(self.cookie, param, val)
+
+ def getparam(self, param):
+ return magic_getparam(self.cookie, param)
+
def __del__(self):
# no _thread_check here because there can be no other
# references to this object at this point.
@@ -117,12 +132,14 @@
_instances = {}
+
def _get_magic_type(mime):
i = _instances.get(mime)
if i is None:
i = _instances[mime] = Magic(mime=mime)
return i
+
def from_file(filename, mime=False):
""""
Accepts a filename and returns the detected filetype. Return
@@ -135,6 +152,7 @@
m = _get_magic_type(mime)
return m.from_file(filename)
+
def from_buffer(buffer, mime=False):
"""
Accepts a binary string and returns the detected filetype. Return
@@ -148,25 +166,27 @@
return m.from_buffer(buffer)
-
-
libmagic = None
# Let's try to find magic or magic1
-dll = ctypes.util.find_library('magic') or ctypes.util.find_library('magic1') or ctypes.util.find_library('cygmagic-1')
+dll = ctypes.util.find_library('magic') \
+ or ctypes.util.find_library('magic1') \
+ or ctypes.util.find_library('cygmagic-1') \
+ or ctypes.util.find_library('libmagic-1') \
+ or ctypes.util.find_library('msys-magic-1') #for MSYS2
-# This is necessary because find_library returns None if it doesn't find the library
+# necessary because find_library returns None if it doesn't find the library
if dll:
libmagic = ctypes.CDLL(dll)
if not libmagic or not libmagic._name:
- windows_dlls = ['magic1.dll','cygmagic-1.dll']
+ windows_dlls = ['magic1.dll', 'cygmagic-1.dll', 'libmagic-1.dll', 'msys-magic-1.dll']
platform_to_lib = {'darwin': ['/opt/local/lib/libmagic.dylib',
'/usr/local/lib/libmagic.dylib'] +
- # Assumes there will only be one version installed
- glob.glob('/usr/local/Cellar/libmagic/*/lib/libmagic.dylib'),
+ # Assumes there will only be one version installed
+ glob.glob('/usr/local/Cellar/libmagic/*/lib/libmagic.dylib'), # flake8:noqa
'win32': windows_dlls,
'cygwin': windows_dlls,
- 'linux': ['libmagic.so.1'], # fallback for some Linuxes (e.g. Alpine) where library search does not work
+ 'linux': ['libmagic.so.1'], # fallback for some Linuxes (e.g. Alpine) where library search does not work # flake8:noqa
}
platform = 'linux' if sys.platform.startswith('linux') else sys.platform
for dll in platform_to_lib.get(platform, []):
@@ -182,6 +202,7 @@
magic_t = ctypes.c_void_p
+
def errorcheck_null(result, func, args):
if result is None:
err = magic_error(args[0])
@@ -189,8 +210,9 @@
else:
return result
+
def errorcheck_negative_one(result, func, args):
- if result is -1:
+ if result == -1:
err = magic_error(args[0])
raise MagicException(err)
else:
@@ -204,13 +226,14 @@
return s
else:
return s.decode('utf-8')
-
+
+
def coerce_filename(filename):
if filename is None:
return None
# ctypes will implicitly convert unicode strings to bytes with
- # .encode('ascii'). If you use the filesystem encoding
+ # .encode('ascii'). If you use the filesystem encoding
# then you'll get inconsistent behavior (crashes) depending on the user's
# LANG environment variable
is_unicode = (sys.version_info[0] <= 2 and
@@ -222,6 +245,7 @@
else:
return filename
+
magic_open = libmagic.magic_open
magic_open.restype = magic_t
magic_open.argtypes = [c_int]
@@ -243,6 +267,7 @@
_magic_file.argtypes = [magic_t, c_char_p]
_magic_file.errcheck = errorcheck_null
+
def magic_file(cookie, filename):
return _magic_file(cookie, coerce_filename(filename))
@@ -251,6 +276,7 @@
_magic_buffer.argtypes = [magic_t, c_void_p, c_size_t]
_magic_buffer.errcheck = errorcheck_null
+
def magic_buffer(cookie, buf):
return _magic_buffer(cookie, buf, len(buf))
@@ -260,6 +286,7 @@
_magic_load.argtypes = [magic_t, c_char_p]
_magic_load.errcheck = errorcheck_negative_one
+
def magic_load(cookie, filename):
return _magic_load(cookie, coerce_filename(filename))
@@ -275,15 +302,55 @@
magic_compile.restype = c_int
magic_compile.argtypes = [magic_t, c_char_p]
-
+_has_param = False
+if hasattr(libmagic, 'magic_setparam') and hasattr(libmagic, 'magic_getparam'):
+ _has_param = True
+ _magic_setparam = libmagic.magic_setparam
+ _magic_setparam.restype = c_int
+ _magic_setparam.argtypes = [magic_t, c_int, POINTER(c_size_t)]
+ _magic_setparam.errcheck = errorcheck_negative_one
+
+ _magic_getparam = libmagic.magic_getparam
+ _magic_getparam.restype = c_int
+ _magic_getparam.argtypes = [magic_t, c_int, POINTER(c_size_t)]
+ _magic_getparam.errcheck = errorcheck_negative_one
+
+def magic_setparam(cookie, param, val):
+ if not _has_param:
+ raise NotImplementedError("magic_setparam not implemented")
+ v = c_size_t(val)
+ return _magic_setparam(cookie, param, byref(v))
+
+def magic_getparam(cookie, param):
+ if not _has_param:
+ raise NotImplementedError("magic_getparam not implemented")
+ val = c_size_t()
+ _magic_getparam(cookie, param, byref(val))
+ return val.value
+
+_has_version = False
+if hasattr(libmagic, "magic_version"):
+ _has_version = True
+ magic_version = libmagic.magic_version
+ magic_version.restype = c_int
+ magic_version.argtypes = []
+
+def version():
+ if not _has_version:
+ raise NotImplementedError("magic_version not implemented")
+ return magic_version()
MAGIC_NONE = 0x000000 # No flags
MAGIC_DEBUG = 0x000001 # Turn on debugging
MAGIC_SYMLINK = 0x000002 # Follow symlinks
MAGIC_COMPRESS = 0x000004 # Check inside compressed files
MAGIC_DEVICES = 0x000008 # Look at the contents of devices
-MAGIC_MIME = 0x000010 # Return a mime string
+MAGIC_MIME_TYPE = 0x000010 # Return a mime string
MAGIC_MIME_ENCODING = 0x000400 # Return the MIME encoding
+# TODO: should be
+# MAGIC_MIME = MAGIC_MIME_TYPE | MAGIC_MIME_ENCODING
+MAGIC_MIME = 0x000010 # Return a mime string
+
MAGIC_CONTINUE = 0x000020 # Return all matches
MAGIC_CHECK = 0x000040 # Print warnings to stderr
MAGIC_PRESERVE_ATIME = 0x000080 # Restore access time on exit
@@ -299,3 +366,11 @@
MAGIC_NO_CHECK_TROFF = 0x040000 # Don't check ascii/troff
MAGIC_NO_CHECK_FORTRAN = 0x080000 # Don't check ascii/fortran
MAGIC_NO_CHECK_TOKENS = 0x100000 # Don't check ascii/tokens
+
+MAGIC_PARAM_INDIR_MAX = 0 # Recursion limit for indirect magic
+MAGIC_PARAM_NAME_MAX = 1 # Use count limit for name/use magic
+MAGIC_PARAM_ELF_PHNUM_MAX = 2 # Max ELF notes processed
+MAGIC_PARAM_ELF_SHNUM_MAX = 3 # Max ELF program sections processed
+MAGIC_PARAM_ELF_NOTES_MAX = 4 # # Max ELF sections processed
+MAGIC_PARAM_REGEX_MAX = 5 # Length limit for regex searches
+MAGIC_PARAM_BYTES_MAX = 6 # Max number of bytes to read from file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-magic-0.4.15/setup.py new/python-magic-0.4.18/setup.py
--- old/python-magic-0.4.15/setup.py 2017-12-04 07:06:41.000000000 +0100
+++ new/python-magic-0.4.18/setup.py 2020-05-06 04:25:46.000000000 +0200
@@ -2,33 +2,39 @@
# -*- coding: utf-8 -*-
from setuptools import setup
+import io
+import os
+
+
+def read(file_name):
+ """Read a text file and return the content as a string."""
+ with io.open(os.path.join(os.path.dirname(__file__), file_name),
+ encoding='utf-8') as f:
+ return f.read()
setup(name='python-magic',
description='File type identification using libmagic',
author='Adam Hupp',
author_email='adam(a)hupp.org',
url="http://github.com/ahupp/python-magic",
- version='0.4.15',
+ version='0.4.18',
py_modules=['magic'],
- long_description="""This module uses ctypes to access the libmagic file type
-identification library. It makes use of the local magic database and
-supports both textual and MIME-type output.
-""",
+ long_description=read('README.md'),
+ long_description_content_type='text/markdown',
keywords="mime magic file",
license="MIT",
- test_suite='test',
+ python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*',
classifiers=[
'Intended Audience :: Developers',
'License :: OSI Approved :: MIT License',
'Programming Language :: Python',
'Programming Language :: Python :: 2',
- 'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
- 'Programming Language :: Python :: 3.3',
- 'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
+ 'Programming Language :: Python :: 3.7',
+ 'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: Implementation :: CPython',
],
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-magic-0.4.15/test/Dockerfile_bionic new/python-magic-0.4.18/test/Dockerfile_bionic
--- old/python-magic-0.4.15/test/Dockerfile_bionic 1970-01-01 01:00:00.000000000 +0100
+++ new/python-magic-0.4.18/test/Dockerfile_bionic 2020-05-06 04:25:46.000000000 +0200
@@ -0,0 +1,8 @@
+FROM ubuntu:bionic
+RUN apt-get update
+RUN apt-get -y install python
+RUN apt-get -y install python3
+RUN apt-get -y install locales
+RUN locale-gen en_US.UTF-8
+COPY . /python-magic
+CMD cd /python-magic/test && python3 ./run.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-magic-0.4.15/test/Dockerfile_centos7 new/python-magic-0.4.18/test/Dockerfile_centos7
--- old/python-magic-0.4.15/test/Dockerfile_centos7 1970-01-01 01:00:00.000000000 +0100
+++ new/python-magic-0.4.18/test/Dockerfile_centos7 2020-05-06 04:25:46.000000000 +0200
@@ -0,0 +1,5 @@
+FROM centos:7
+RUN yum -y update
+RUN yum -y install file-devel python3 python2 which
+COPY . /python-magic
+CMD cd /python-magic/test && python3 ./run.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-magic-0.4.15/test/Dockerfile_centos8 new/python-magic-0.4.18/test/Dockerfile_centos8
--- old/python-magic-0.4.15/test/Dockerfile_centos8 1970-01-01 01:00:00.000000000 +0100
+++ new/python-magic-0.4.18/test/Dockerfile_centos8 2020-05-06 04:25:46.000000000 +0200
@@ -0,0 +1,5 @@
+FROM centos:8
+RUN yum -y update
+RUN yum -y install file-libs python3 python2 which
+COPY . /python-magic
+CMD cd /python-magic/test && python3 ./run.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-magic-0.4.15/test/Dockerfile_focal new/python-magic-0.4.18/test/Dockerfile_focal
--- old/python-magic-0.4.15/test/Dockerfile_focal 1970-01-01 01:00:00.000000000 +0100
+++ new/python-magic-0.4.18/test/Dockerfile_focal 2020-05-06 04:25:46.000000000 +0200
@@ -0,0 +1,8 @@
+FROM ubuntu:focal
+RUN apt-get update
+RUN apt-get -y install python2
+RUN apt-get -y install python3
+RUN apt-get -y install locales
+RUN locale-gen en_US.UTF-8
+COPY . /python-magic
+CMD cd /python-magic/test && python3 ./run.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-magic-0.4.15/test/Dockerfile_xenial new/python-magic-0.4.18/test/Dockerfile_xenial
--- old/python-magic-0.4.15/test/Dockerfile_xenial 1970-01-01 01:00:00.000000000 +0100
+++ new/python-magic-0.4.18/test/Dockerfile_xenial 2020-05-06 04:25:46.000000000 +0200
@@ -0,0 +1,8 @@
+FROM ubuntu:xenial
+RUN apt-get update
+RUN apt-get -y install python
+RUN apt-get -y install python3
+RUN apt-get -y install locales
+RUN locale-gen en_US.UTF-8
+COPY . /python-magic
+CMD cd /python-magic/test && python3 ./run.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-magic-0.4.15/test/README new/python-magic-0.4.18/test/README
--- old/python-magic-0.4.15/test/README 1970-01-01 01:00:00.000000000 +0100
+++ new/python-magic-0.4.18/test/README 2020-05-06 04:25:46.000000000 +0200
@@ -0,0 +1,10 @@
+To run the tests across a selection of Ubuntu LTS versions:
+
+docker build -t "python_magic/xenial:latest" -f test/Dockerfile_xenial .
+docker build -t "python_magic/bionic:latest" -f test/Dockerfile_bionic .
+docker build -t "python_magic/focal:latest" -f test/Dockerfile_focal .
+
+docker run python_magic/xenial:latest
+docker run python_magic/bionic:latest
+docker run python_magic/focal:latest
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-magic-0.4.15/test/run.py new/python-magic-0.4.18/test/run.py
--- old/python-magic-0.4.15/test/run.py 1970-01-01 01:00:00.000000000 +0100
+++ new/python-magic-0.4.18/test/run.py 2020-05-06 04:25:46.000000000 +0200
@@ -0,0 +1,32 @@
+
+import subprocess
+import os.path
+import sys
+
+this_dir = os.path.dirname(sys.argv[0])
+
+new_env = {
+ 'LC_ALL': 'en_US.UTF-8',
+ 'PYTHONPATH': os.path.join(this_dir, ".."),
+}
+
+def has_py(version):
+ ret = subprocess.run("which %s" % version, shell=True, stdout=subprocess.DEVNULL)
+ return ret.returncode == 0
+
+def run_test(versions):
+
+ found = False
+ for i in versions:
+ if not has_py(i):
+ # if this version doesn't exist in path, skip
+ continue
+ found = True
+ print("Testing %s" % i)
+ subprocess.run([i, os.path.join(this_dir, "test.py")], env=new_env, check=True)
+
+ if not found:
+ sys.exit("No versions found: " + str(versions))
+
+run_test(["python2", "python2.7"])
+run_test(["python3.5", "python3.6", "python3.7", "python3.8"])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-magic-0.4.15/test/run.sh new/python-magic-0.4.18/test/run.sh
--- old/python-magic-0.4.15/test/run.sh 2017-12-04 07:06:41.000000000 +0100
+++ new/python-magic-0.4.18/test/run.sh 1970-01-01 01:00:00.000000000 +0100
@@ -1,14 +0,0 @@
-#!/bin/sh
-
-
-# ensure we can use unicode filenames in the test
-export LC_ALL=en_US.UTF-8
-THISDIR=`dirname $0`
-export PYTHONPATH=${THISDIR}/..
-
-echo "python2.6"
-python2.6 ${THISDIR}/test.py
-echo "python2.7"
-python2.7 ${THISDIR}/test.py
-echo "python3.0"
-python3 ${THISDIR}/test.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-magic-0.4.15/test/test.py new/python-magic-0.4.18/test/test.py
--- old/python-magic-0.4.15/test/test.py 2017-12-04 07:06:41.000000000 +0100
+++ new/python-magic-0.4.18/test/test.py 2020-05-06 04:25:46.000000000 +0200
@@ -1,35 +1,60 @@
-import os, sys
+import os
# for output which reports a local time
os.environ['TZ'] = 'GMT'
+
+if os.environ.get('LC_ALL','') != 'en_US.UTF-8':
+ # this ensure we're in a utf-8 default filesystem encoding which is
+ # necessary for some tests
+ raise Exception("must run `export LC_ALL=en_US.UTF-8` before running test suite")
+
import shutil
import os.path
import unittest
import magic
+import sys
class MagicTest(unittest.TestCase):
- TESTDATA_DIR = os.path.join(os.path.dirname(__file__), 'testdata')
+ TESTDATA_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'testdata')
+
+ def test_version(self):
+ try:
+ self.assertTrue(magic.version() > 0)
+ except NotImplementedError:
+ pass
+
+ def test_fs_encoding(self):
+ self.assertEqual('utf-8', sys.getfilesystemencoding().lower())
- def assert_values(self, m, expected_values):
+ def assert_values(self, m, expected_values, buf_equals_file=True):
for filename, expected_value in expected_values.items():
try:
filename = os.path.join(self.TESTDATA_DIR, filename)
except TypeError:
- filename = os.path.join(self.TESTDATA_DIR.encode('utf-8'), filename)
+ filename = os.path.join(
+ self.TESTDATA_DIR.encode('utf-8'), filename)
-
if type(expected_value) is not tuple:
expected_value = (expected_value,)
- for i in expected_value:
- with open(filename, 'rb') as f:
- buf_value = m.from_buffer(f.read())
-
- file_value = m.from_file(filename)
- if buf_value == i and file_value == i:
- break
- else:
- self.assertTrue(False, "no match for " + repr(expected_value))
+ with open(filename, 'rb') as f:
+ buf_value = m.from_buffer(f.read())
+
+ file_value = m.from_file(filename)
+
+ if buf_equals_file:
+ self.assertEqual(buf_value, file_value)
+
+ for value in (buf_value, file_value):
+ self.assertIn(value, expected_value)
+
+ def test_from_file_str_and_bytes(self):
+ filename = os.path.join(self.TESTDATA_DIR, "test.pdf")
+
+ self.assertEqual('application/pdf',
+ magic.from_file(filename, mime=True))
+ self.assertEqual('application/pdf',
+ magic.from_file(filename.encode('utf-8'), mime=True))
def test_from_buffer_str_and_bytes(self):
m = magic.Magic(mime=True)
@@ -37,16 +62,18 @@
self.assertEqual("text/x-python", m.from_buffer(s))
b = b'#!/usr/bin/env python\nprint("foo")'
self.assertEqual("text/x-python", m.from_buffer(b))
-
+
def test_mime_types(self):
- dest = os.path.join(MagicTest.TESTDATA_DIR, b'\xce\xbb'.decode('utf-8'))
+ dest = os.path.join(MagicTest.TESTDATA_DIR,
+ b'\xce\xbb'.decode('utf-8'))
shutil.copyfile(os.path.join(MagicTest.TESTDATA_DIR, 'lambda'), dest)
try:
m = magic.Magic(mime=True)
self.assert_values(m, {
'magic._pyc_': 'application/octet-stream',
'test.pdf': 'application/pdf',
- 'test.gz': 'application/gzip',
+ 'test.gz': ('application/gzip', 'application/x-gzip'),
+ 'test.snappy.parquet': 'application/octet-stream',
'text.txt': 'text/plain',
b'\xce\xbb'.decode('utf-8'): 'text/plain',
b'\xce\xbb': 'text/plain',
@@ -56,19 +83,47 @@
def test_descriptions(self):
m = magic.Magic()
- os.environ['TZ'] = 'UTC' # To get the last modified date of test.gz in UTC
+ os.environ['TZ'] = 'UTC' # To get last modified date of test.gz in UTC
try:
self.assert_values(m, {
'magic._pyc_': 'python 2.4 byte-compiled',
'test.pdf': 'PDF document, version 1.2',
'test.gz':
- ('gzip compressed data, was "test", from Unix, last modified: Sun Jun 29 01:32:52 2008',
- 'gzip compressed data, was "test", last modified: Sun Jun 29 01:32:52 2008, from Unix'),
+ ('gzip compressed data, was "test", from Unix, last '
+ 'modified: Sun Jun 29 01:32:52 2008',
+ 'gzip compressed data, was "test", last modified'
+ ': Sun Jun 29 01:32:52 2008, from Unix',
+ 'gzip compressed data, was "test", last modified'
+ ': Sun Jun 29 01:32:52 2008, from Unix, original size 15',
+ 'gzip compressed data, was "test", '
+ 'last modified: Sun Jun 29 01:32:52 2008, '
+ 'from Unix, original size modulo 2^32 15'
+ ),
'text.txt': 'ASCII text',
- })
+ 'test.snappy.parquet': ('Apache Parquet', 'Par archive data'),
+ }, buf_equals_file=False)
finally:
del os.environ['TZ']
+ def test_unicode_result_nonraw(self):
+ m = magic.Magic(raw=False)
+ src = os.path.join(MagicTest.TESTDATA_DIR, 'pgpunicode')
+ result = m.from_file(src)
+ # NOTE: This check is added as otherwise some magic files don't identify the test case as a PGP key.
+ if 'PGP' in result:
+ assert r"PGP\011Secret Sub-key -" == result
+ else:
+ raise unittest.SkipTest("Magic file doesn't return expected type.")
+
+ def test_unicode_result_raw(self):
+ m = magic.Magic(raw=True)
+ src = os.path.join(MagicTest.TESTDATA_DIR, 'pgpunicode')
+ result = m.from_file(src)
+ if 'PGP' in result:
+ assert b'PGP\tSecret Sub-key -' == result.encode('utf-8')
+ else:
+ raise unittest.SkipTest("Magic file doesn't return expected type.")
+
def test_mime_encodings(self):
m = magic.Magic(mime_encoding=True)
self.assert_values(m, {
@@ -92,20 +147,41 @@
m = magic.Magic(mime=True)
self.assertEqual(m.from_file(filename), 'image/jpeg')
-
- m = magic.Magic(mime=True, keep_going=True)
- self.assertEqual(m.from_file(filename), 'image/jpeg')
+ try:
+ # this will throw if you have an "old" version of the library
+ # I'm otherwise not sure how to query if keep_going is supported
+ magic.version()
+ m = magic.Magic(mime=True, keep_going=True)
+ self.assertEqual(m.from_file(filename),
+ 'image/jpeg\\012- application/octet-stream')
+ except NotImplementedError:
+ pass
def test_rethrow(self):
old = magic.magic_buffer
try:
- def t(x,y):
+ def t(x, y):
raise magic.MagicException("passthrough")
magic.magic_buffer = t
-
- self.assertRaises(magic.MagicException, magic.from_buffer, "hello", True)
+
+ with self.assertRaises(magic.MagicException):
+ magic.from_buffer("hello", True)
finally:
magic.magic_buffer = old
+
+ def test_getparam(self):
+ m = magic.Magic(mime=True)
+ try:
+ m.setparam(magic.MAGIC_PARAM_INDIR_MAX, 1)
+ self.assertEqual(m.getparam(magic.MAGIC_PARAM_INDIR_MAX), 1)
+ except NotImplementedError:
+ pass
+
+ def test_name_count(self):
+ m = magic.Magic()
+ with open(os.path.join(self.TESTDATA_DIR, 'name_use.jpg'), 'rb') as f:
+ m.from_buffer(f.read())
+
if __name__ == '__main__':
unittest.main()
Binary files old/python-magic-0.4.15/test/testdata/name_use.jpg and new/python-magic-0.4.18/test/testdata/name_use.jpg differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-magic-0.4.15/test/testdata/pgpunicode new/python-magic-0.4.18/test/testdata/pgpunicode
--- old/python-magic-0.4.15/test/testdata/pgpunicode 1970-01-01 01:00:00.000000000 +0100
+++ new/python-magic-0.4.18/test/testdata/pgpunicode 2020-05-06 04:25:46.000000000 +0200
@@ -0,0 +1 @@
+qÊ
\ No newline at end of file
Binary files old/python-magic-0.4.15/test/testdata/test.snappy.parquet and new/python-magic-0.4.18/test/testdata/test.snappy.parquet differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-magic-0.4.15/test.ps1 new/python-magic-0.4.18/test.ps1
--- old/python-magic-0.4.15/test.ps1 1970-01-01 01:00:00.000000000 +0100
+++ new/python-magic-0.4.18/test.ps1 2020-05-06 04:25:46.000000000 +0200
@@ -0,0 +1,11 @@
+
+
+function TestInContainer($name) {
+ $TAG="python_magic/${name}:latest"
+ docker build -t $TAG -f "test/Dockerfile_${name}" .
+ docker run "python_magic/${name}:latest"
+}
+
+TestInContainer "xenial"
+TestInContainer "bionic"
+TestInContainer "focal"
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-magic-0.4.15/test_docker.sh new/python-magic-0.4.18/test_docker.sh
--- old/python-magic-0.4.15/test_docker.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/python-magic-0.4.18/test_docker.sh 2020-05-06 04:25:46.000000000 +0200
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+# Test with various versions of ubuntu. This more or less re-creates the
+# Travis CI test environment
+
+set -e
+
+function TestInContainer {
+ local name="$1"
+ local TAG="python_magic/${name}:latest"
+ docker build -t $TAG -f "test/Dockerfile_${name}" .
+ docker run "python_magic/${name}:latest"
+}
+
+TestInContainer "xenial"
+TestInContainer "bionic"
+TestInContainer "focal"
+TestInContainer "centos7"
+TestInContainer "centos8"
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-magic-0.4.15/tox.ini new/python-magic-0.4.18/tox.ini
--- old/python-magic-0.4.15/tox.ini 1970-01-01 01:00:00.000000000 +0100
+++ new/python-magic-0.4.18/tox.ini 2020-05-06 04:25:46.000000000 +0200
@@ -0,0 +1,39 @@
+[tox]
+envlist =
+ coverage-clean,
+ py27,
+ py35,
+ py36,
+ py37,
+ py38,
+ coverage-report
+
+[testenv]
+commands =
+ coverage run --source=magic ./test/test.py
+
+setenv =
+ COVERAGE_FILE=.coverage.{envname}
+ LC_ALL=en_US.UTF-8
+deps =
+ .[test]
+ zope.testrunner
+ coverage
+
+[testenv:coverage-clean]
+deps = coverage
+setenv =
+ COVERAGE_FILE=.coverage
+skip_install = true
+commands = coverage erase
+
+[testenv:coverage-report]
+deps = coverage
+setenv =
+ COVERAGE_FILE=.coverage
+skip_install = true
+commands =
+ coverage combine
+ coverage report
+ coverage html
+ coverage
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-magic-0.4.15/upload.sh new/python-magic-0.4.18/upload.sh
--- old/python-magic-0.4.15/upload.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/python-magic-0.4.18/upload.sh 2020-05-06 04:25:46.000000000 +0200
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+python setup.py sdist bdist_wheel upload
++++++ fix-test-tumbleweed.patch ++++++
--- python-magic-0.4.18/test/test.py 2020-05-06 04:25:46.000000000 +0200
+++ python-magic-0.4.18/test/test.py 2020-07-25 19:51:08.263172240 +0200
@@ -59,9 +59,9 @@
def test_from_buffer_str_and_bytes(self):
m = magic.Magic(mime=True)
s = '#!/usr/bin/env python\nprint("foo")'
- self.assertEqual("text/x-python", m.from_buffer(s))
+ self.assertEqual("text/x-script.python", m.from_buffer(s))
b = b'#!/usr/bin/env python\nprint("foo")'
- self.assertEqual("text/x-python", m.from_buffer(b))
+ self.assertEqual("text/x-script.python", m.from_buffer(b))
def test_mime_types(self):
dest = os.path.join(MagicTest.TESTDATA_DIR,
@@ -70,7 +70,7 @@
try:
m = magic.Magic(mime=True)
self.assert_values(m, {
- 'magic._pyc_': 'application/octet-stream',
+ 'magic._pyc_': 'text/x-bytecode.python',
'test.pdf': 'application/pdf',
'test.gz': ('application/gzip', 'application/x-gzip'),
'test.snappy.parquet': 'application/octet-stream',
@@ -97,7 +97,9 @@
': Sun Jun 29 01:32:52 2008, from Unix, original size 15',
'gzip compressed data, was "test", '
'last modified: Sun Jun 29 01:32:52 2008, '
- 'from Unix, original size modulo 2^32 15'
+ 'from Unix, original size modulo 2^32 15',
+ 'gzip compressed data, was "test", last modified: '
+ 'Sun Jun 29 01:32:52 2008, from Unix, truncated',
),
'text.txt': 'ASCII text',
'test.snappy.parquet': ('Apache Parquet', 'Par archive data'),
++++++ fix-test.patch ++++++
--- python-magic-0.4.18/test/test.py 2020-05-06 04:25:46.000000000 +0200
+++ python-magic-0.4.18/test/test.py 2020-07-25 20:02:37.988452945 +0200
@@ -97,7 +97,9 @@
': Sun Jun 29 01:32:52 2008, from Unix, original size 15',
'gzip compressed data, was "test", '
'last modified: Sun Jun 29 01:32:52 2008, '
- 'from Unix, original size modulo 2^32 15'
+ 'from Unix, original size modulo 2^32 15',
+ 'gzip compressed data, was "test", last modified: '
+ 'Sun Jun 29 01:32:52 2008, from Unix, truncated',
),
'text.txt': 'ASCII text',
'test.snappy.parquet': ('Apache Parquet', 'Par archive data'),
1
0
Hello community,
here is the log from the commit of package grub2 for openSUSE:Factory checked in at 2020-07-31 15:54:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/grub2 (Old)
and /work/SRC/openSUSE:Factory/.grub2.new.3592 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "grub2"
Fri Jul 31 15:54:21 2020 rev:223 rq:823470 version:2.04
Changes:
--------
--- /work/SRC/openSUSE:Factory/grub2/grub2.changes 2020-07-28 17:22:15.957689250 +0200
+++ /work/SRC/openSUSE:Factory/.grub2.new.3592/grub2.changes 2020-07-31 15:56:22.228376572 +0200
@@ -1,0 +2,28 @@
+Mon Jul 27 10:04:49 UTC 2020 - Michael Chang <mchang(a)suse.com>
+
+- Fix for CVE-2020-10713 (bsc#1168994)
+ * 0001-yylex-Make-lexer-fatal-errors-actually-be-fatal.patch
+- Fix for CVE-2020-14308 CVE-2020-14309, CVE-2020-14310, CVE-2020-14311
+ (bsc#1173812)
+ * 0002-safemath-Add-some-arithmetic-primitives-that-check-f.patch
+ * 0003-calloc-Make-sure-we-always-have-an-overflow-checking.patch
+ * 0004-calloc-Use-calloc-at-most-places.patch
+ * 0005-malloc-Use-overflow-checking-primitives-where-we-do-.patch
+ * 0006-iso9660-Don-t-leak-memory-on-realloc-failures.patch
+ * 0007-font-Do-not-load-more-than-one-NAME-section.patch
+- Fix CVE-2020-15706 (bsc#1174463)
+ * 0008-script-Remove-unused-fields-from-grub_script_functio.patch
+ * 0009-script-Avoid-a-use-after-free-when-redefining-a-func.patch
+- Fix CVE-2020-15707 (bsc#1174570)
+ * 0010-linux-Fix-integer-overflows-in-initrd-size-handling.patch
+- Use overflow checking primitives where the arithmetic expression for buffer
+ allocations may include unvalidated data
+- Use grub_calloc for overflow check and return NULL when it would occur
+ * 0001-add-support-for-UEFI-network-protocols.patch
+ * 0003-bootp-New-net_bootp6-command.patch
+ * grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch
+ * grub2-btrfs-09-get-default-subvolume.patch
+ * grub2-gfxmenu-support-scrolling-menu-entry-s-text.patch
+ * grub2-grubenv-in-btrfs-header.patch
+
+-------------------------------------------------------------------
New:
----
0001-yylex-Make-lexer-fatal-errors-actually-be-fatal.patch
0002-safemath-Add-some-arithmetic-primitives-that-check-f.patch
0003-calloc-Make-sure-we-always-have-an-overflow-checking.patch
0004-calloc-Use-calloc-at-most-places.patch
0005-malloc-Use-overflow-checking-primitives-where-we-do-.patch
0006-iso9660-Don-t-leak-memory-on-realloc-failures.patch
0007-font-Do-not-load-more-than-one-NAME-section.patch
0008-script-Remove-unused-fields-from-grub_script_functio.patch
0009-script-Avoid-a-use-after-free-when-redefining-a-func.patch
0010-linux-Fix-integer-overflows-in-initrd-size-handling.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ grub2.spec ++++++
--- /var/tmp/diff_new_pack.84M0bi/_old 2020-07-31 15:56:25.472379933 +0200
+++ /var/tmp/diff_new_pack.84M0bi/_new 2020-07-31 15:56:25.476379937 +0200
@@ -302,6 +302,24 @@
Patch701: 0002-kern-Add-X-option-to-printf-functions.patch
Patch702: 0003-normal-main-Search-for-specific-config-files-for-net.patch
Patch703: 0004-datetime-Enable-the-datetime-module-for-the-emu-plat.patch
+# bsc#1168994 VUL-0: EMBARGOED: CVE-2020-10713: grub2: parsing overflows can
+# bypass secure boot restrictions
+Patch704: 0001-yylex-Make-lexer-fatal-errors-actually-be-fatal.patch
+# bsc#1173812 VUL-0: EMBARGOED: CVE-2020-14308, CVE-2020-14309, CVE-2020-14310,
+# CVE-2020-14311: grub2: avoid integer overflows
+Patch705: 0002-safemath-Add-some-arithmetic-primitives-that-check-f.patch
+Patch706: 0003-calloc-Make-sure-we-always-have-an-overflow-checking.patch
+Patch707: 0004-calloc-Use-calloc-at-most-places.patch
+Patch708: 0005-malloc-Use-overflow-checking-primitives-where-we-do-.patch
+Patch709: 0006-iso9660-Don-t-leak-memory-on-realloc-failures.patch
+Patch710: 0007-font-Do-not-load-more-than-one-NAME-section.patch
+# bsc#1174463 VUL-0: EMBARGOED: CVE-2020-15706: grub2: script: Avoid a
+# use-after-free when redefining a function during execution
+Patch711: 0008-script-Remove-unused-fields-from-grub_script_functio.patch
+Patch712: 0009-script-Avoid-a-use-after-free-when-redefining-a-func.patch
+# bsc#1174570 VUL-0: EMBARGOED: CVE-2020-15707: grub2: linux: Fix integer
+# overflows in initrd size handling
+Patch713: 0010-linux-Fix-integer-overflows-in-initrd-size-handling.patch
Requires: gettext-runtime
%if 0%{?suse_version} >= 1140
@@ -607,6 +625,16 @@
%patch701 -p1
%patch702 -p1
%patch703 -p1
+%patch704 -p1
+%patch705 -p1
+%patch706 -p1
+%patch707 -p1
+%patch708 -p1
+%patch709 -p1
+%patch710 -p1
+%patch711 -p1
+%patch712 -p1
+%patch713 -p1
%build
# collect evidence to debug spurious build failure on SLE15
++++++ 0001-add-support-for-UEFI-network-protocols.patch ++++++
--- /var/tmp/diff_new_pack.84M0bi/_old 2020-07-31 15:56:25.500379962 +0200
+++ /var/tmp/diff_new_pack.84M0bi/_new 2020-07-31 15:56:25.504379966 +0200
@@ -23,10 +23,16 @@
* Finish HTTP transaction in one go
* Fix bsc#1076132
-V4
+V4:
* Add fs_ prefix with upstream commit
ad4bfeec5 Change fs functions to add fs_ prefix
+V5:
+ * Use overflow checking primitives where the arithmetic expression for
+ buffer allocations may include unvalidated data
+ * Use grub_calloc for overflow check and return NULL when it would
+ occur.
+
---
grub-core/Makefile.core.def | 18 +
grub-core/io/bufio.c | 2 +-
@@ -57,10 +63,10 @@
create mode 100644 include/grub/efi/http.h
create mode 100644 include/grub/net/efi.h
-Index: grub-2.04~rc1/grub-core/Makefile.core.def
+Index: grub-2.04/grub-core/Makefile.core.def
===================================================================
---- grub-2.04~rc1.orig/grub-core/Makefile.core.def
-+++ grub-2.04~rc1/grub-core/Makefile.core.def
+--- grub-2.04.orig/grub-core/Makefile.core.def
++++ grub-2.04/grub-core/Makefile.core.def
@@ -1854,7 +1854,6 @@ module = {
module = {
name = linuxefi;
@@ -82,10 +88,10 @@
};
module = {
-Index: grub-2.04~rc1/grub-core/io/bufio.c
+Index: grub-2.04/grub-core/io/bufio.c
===================================================================
---- grub-2.04~rc1.orig/grub-core/io/bufio.c
-+++ grub-2.04~rc1/grub-core/io/bufio.c
+--- grub-2.04.orig/grub-core/io/bufio.c
++++ grub-2.04/grub-core/io/bufio.c
@@ -139,7 +139,7 @@ grub_bufio_read (grub_file_t file, char
return res;
@@ -95,10 +101,10 @@
/* Now read between file->offset + res and bufio->buffer_at. */
if (file->offset + res < next_buf)
{
-Index: grub-2.04~rc1/grub-core/kern/efi/efi.c
+Index: grub-2.04/grub-core/kern/efi/efi.c
===================================================================
---- grub-2.04~rc1.orig/grub-core/kern/efi/efi.c
-+++ grub-2.04~rc1/grub-core/kern/efi/efi.c
+--- grub-2.04.orig/grub-core/kern/efi/efi.c
++++ grub-2.04/grub-core/kern/efi/efi.c
@@ -722,7 +722,7 @@ grub_efi_print_device_path (grub_efi_dev
{
grub_efi_ipv4_device_path_t *ipv4
@@ -226,10 +232,10 @@
default:
grub_printf ("/UnknownMessaging(%x)", (unsigned) subtype);
break;
-Index: grub-2.04~rc1/grub-core/net/drivers/efi/efinet.c
+Index: grub-2.04/grub-core/net/drivers/efi/efinet.c
===================================================================
---- grub-2.04~rc1.orig/grub-core/net/drivers/efi/efinet.c
-+++ grub-2.04~rc1/grub-core/net/drivers/efi/efinet.c
+--- grub-2.04.orig/grub-core/net/drivers/efi/efinet.c
++++ grub-2.04/grub-core/net/drivers/efi/efinet.c
@@ -24,6 +24,7 @@
#include <grub/efi/efi.h>
#include <grub/i18n.h>
@@ -298,11 +304,11 @@
+ grub_efi_net_config = NULL;
}
-Index: grub-2.04~rc1/grub-core/net/efi/dhcp.c
+Index: grub-2.04/grub-core/net/efi/dhcp.c
===================================================================
--- /dev/null
-+++ grub-2.04~rc1/grub-core/net/efi/dhcp.c
-@@ -0,0 +1,397 @@
++++ grub-2.04/grub-core/net/efi/dhcp.c
+@@ -0,0 +1,399 @@
+#include <grub/mm.h>
+#include <grub/command.h>
+#include <grub/efi/api.h>
@@ -385,7 +391,7 @@
+ if (status != GRUB_EFI_BUFFER_TOO_SMALL)
+ return NULL;
+
-+ option_list = grub_malloc (option_count * sizeof(*option_list));
++ option_list = grub_calloc (option_count, sizeof(*option_list));
+ if (!option_list)
+ return NULL;
+
@@ -665,7 +671,9 @@
+
+ if (status == GRUB_EFI_BUFFER_TOO_SMALL && count)
+ {
-+ options = grub_malloc (count * sizeof(*options));
++ options = grub_calloc (count, sizeof(*options));
++ if (!options)
++ return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
+ status = efi_call_4 (dev->dhcp6->parse, dev->dhcp6, mode.ia->reply_packet, &count, options);
+ }
+
@@ -700,17 +708,18 @@
+
+grub_command_func_t grub_efi_net_bootp = grub_cmd_efi_bootp;
+grub_command_func_t grub_efi_net_bootp6 = grub_cmd_efi_bootp6;
-Index: grub-2.04~rc1/grub-core/net/efi/http.c
+Index: grub-2.04/grub-core/net/efi/http.c
===================================================================
--- /dev/null
-+++ grub-2.04~rc1/grub-core/net/efi/http.c
-@@ -0,0 +1,419 @@
++++ grub-2.04/grub-core/net/efi/http.c
+@@ -0,0 +1,424 @@
+
+#include <grub/efi/api.h>
+#include <grub/efi/efi.h>
+#include <grub/misc.h>
+#include <grub/net/efi.h>
+#include <grub/charset.h>
++#include <grub/safemath.h>
+
+static void
+http_configure (struct grub_efi_net_device *dev, int prefer_ip6)
@@ -835,6 +844,7 @@
+ grub_efi_char16_t *ucs2_url;
+ grub_size_t url_len, ucs2_url_len;
+ const char *protocol = (use_https == 1) ? "https" : "http";
++ grub_size_t sz;
+
+ if (grub_efi_string_to_ip6_address (server, &address, &rest) && *rest == 0)
+ url = grub_xasprintf ("%s://[%s]%s", protocol, server, name);
@@ -847,8 +857,11 @@
+ }
+
+ url_len = grub_strlen (url);
-+ ucs2_url_len = url_len * GRUB_MAX_UTF16_PER_UTF8;
-+ ucs2_url = grub_malloc ((ucs2_url_len + 1) * sizeof (ucs2_url[0]));
++ if (grub_mul (url_len, GRUB_MAX_UTF16_PER_UTF8, &ucs2_url_len) ||
++ grub_add (ucs2_url_len, 1, &sz))
++ return GRUB_ERR_OUT_OF_RANGE;
++
++ ucs2_url = grub_calloc (sz, sizeof (ucs2_url[0]));
+
+ if (!ucs2_url)
+ {
@@ -1124,26 +1137,30 @@
+ .read = grub_efihttp_read,
+ .close = grub_efihttp_close
+ };
-Index: grub-2.04~rc1/grub-core/net/efi/ip4_config.c
+Index: grub-2.04/grub-core/net/efi/ip4_config.c
===================================================================
--- /dev/null
-+++ grub-2.04~rc1/grub-core/net/efi/ip4_config.c
-@@ -0,0 +1,398 @@
++++ grub-2.04/grub-core/net/efi/ip4_config.c
+@@ -0,0 +1,409 @@
+
+#include <grub/efi/api.h>
+#include <grub/efi/efi.h>
+#include <grub/misc.h>
+#include <grub/net/efi.h>
+#include <grub/charset.h>
++#include <grub/safemath.h>
+
+char *
+grub_efi_hw_address_to_string (grub_efi_uint32_t hw_address_size, grub_efi_mac_address_t hw_address)
+{
+ char *hw_addr, *p;
-+ int sz, s;
++ int s;
+ int i;
++ grub_size_t sz;
+
-+ sz = (int)hw_address_size * (sizeof ("XX:") - 1) + 1;
++ if (grub_mul (hw_address_size, sizeof ("XX:") - 1, &sz) ||
++ grub_add (sz, 1, &sz))
++ return NULL;
+
+ hw_addr = grub_malloc (sz);
+ if (!hw_addr)
@@ -1359,12 +1376,19 @@
+ grub_efi_ip4_config2_interface_info_t *interface_info;
+ char **ret;
+ int i, id;
++ grub_size_t sz;
+
+ interface_info = efi_ip4_config_interface_info (dev->ip4_config);
+ if (!interface_info)
+ return NULL;
+
-+ ret = grub_malloc (sizeof (*ret) * (interface_info->route_table_size + 1));
++ if (grub_add (interface_info->route_table_size, 1, &sz))
++ {
++ grub_free (interface_info);
++ return NULL;
++ }
++
++ ret = grub_calloc (sz, sizeof (*ret));
+
+ if (!ret)
+ {
@@ -1527,16 +1551,17 @@
+ .set_gateway = grub_efi_ip4_interface_set_gateway,
+ .set_dns = grub_efi_ip4_interface_set_dns
+ };
-Index: grub-2.04~rc1/grub-core/net/efi/ip6_config.c
+Index: grub-2.04/grub-core/net/efi/ip6_config.c
===================================================================
--- /dev/null
-+++ grub-2.04~rc1/grub-core/net/efi/ip6_config.c
-@@ -0,0 +1,422 @@
++++ grub-2.04/grub-core/net/efi/ip6_config.c
+@@ -0,0 +1,430 @@
+#include <grub/efi/api.h>
+#include <grub/efi/efi.h>
+#include <grub/misc.h>
+#include <grub/net/efi.h>
+#include <grub/charset.h>
++#include <grub/safemath.h>
+
+char *
+grub_efi_ip6_address_to_string (grub_efi_pxe_ipv6_address_t *address)
@@ -1763,12 +1788,19 @@
+ grub_efi_ip6_config_interface_info_t *interface_info;
+ char **ret;
+ int i, id;
++ grub_size_t sz;
+
+ interface_info = efi_ip6_config_interface_info (dev->ip6_config);
+ if (!interface_info)
+ return NULL;
+
-+ ret = grub_malloc (sizeof (*ret) * (interface_info->route_count + 1));
++ if (grub_add (interface_info->route_count, 1, &sz))
++ {
++ grub_free (interface_info);
++ return NULL;
++ }
++
++ ret = grub_calloc (sz, sizeof (*ret));
+
+ if (!ret)
+ {
@@ -1954,11 +1986,11 @@
+ .set_gateway = grub_efi_ip6_interface_set_gateway,
+ .set_dns = grub_efi_ip6_interface_set_dns
+ };
-Index: grub-2.04~rc1/grub-core/net/efi/net.c
+Index: grub-2.04/grub-core/net/efi/net.c
===================================================================
--- /dev/null
-+++ grub-2.04~rc1/grub-core/net/efi/net.c
-@@ -0,0 +1,1428 @@
++++ grub-2.04/grub-core/net/efi/net.c
+@@ -0,0 +1,1437 @@
+#include <grub/net.h>
+#include <grub/env.h>
+#include <grub/mm.h>
@@ -1973,6 +2005,7 @@
+#include <grub/efi/dhcp.h>
+#include <grub/net/efi.h>
+#include <grub/charset.h>
++#include <grub/safemath.h>
+
+GRUB_MOD_LICENSE ("GPLv3+");
+
@@ -2198,7 +2231,15 @@
+
+ if (code == GRUB_NET_DHCP6_OPTION_BOOTFILE_URL)
+ {
-+ char *url = grub_malloc (len + 1);
++ char *url;
++ grub_size_t sz;
++
++ if (grub_add (len, 1, &sz))
++ return;
++
++ url = grub_malloc (sz);
++ if (!url)
++ return;
+
+ grub_memcpy (url, dhcp_opt->data, len);
+ url[len] = 0;
@@ -3387,10 +3428,10 @@
+ grub_net_open = NULL;
+ grub_fs_unregister (&grub_efi_netfs);
+}
-Index: grub-2.04~rc1/grub-core/net/efi/pxe.c
+Index: grub-2.04/grub-core/net/efi/pxe.c
===================================================================
--- /dev/null
-+++ grub-2.04~rc1/grub-core/net/efi/pxe.c
++++ grub-2.04/grub-core/net/efi/pxe.c
@@ -0,0 +1,424 @@
+
+#include <grub/efi/api.h>
@@ -3816,10 +3857,10 @@
+ .close = pxe_close
+ };
+
-Index: grub-2.04~rc1/grub-core/net/net.c
+Index: grub-2.04/grub-core/net/net.c
===================================================================
---- grub-2.04~rc1.orig/grub-core/net/net.c
-+++ grub-2.04~rc1/grub-core/net/net.c
+--- grub-2.04.orig/grub-core/net/net.c
++++ grub-2.04/grub-core/net/net.c
@@ -32,6 +32,9 @@
#include <grub/loader.h>
#include <grub/bufio.h>
@@ -3926,10 +3967,10 @@
+ init_mode = INIT_MODE_NONE;
+#endif
}
-Index: grub-2.04~rc1/include/grub/efi/api.h
+Index: grub-2.04/include/grub/efi/api.h
===================================================================
---- grub-2.04~rc1.orig/include/grub/efi/api.h
-+++ grub-2.04~rc1/include/grub/efi/api.h
+--- grub-2.04.orig/include/grub/efi/api.h
++++ grub-2.04/include/grub/efi/api.h
@@ -588,6 +588,23 @@ typedef grub_uint16_t grub_efi_ipv6_addr
typedef grub_uint8_t grub_efi_ip_address_t[8] __attribute__ ((aligned(4)));
typedef grub_efi_uint64_t grub_efi_physical_address_t;
@@ -4177,10 +4218,10 @@
#if (GRUB_TARGET_SIZEOF_VOID_P == 4) || defined (__ia64__) \
|| defined (__aarch64__) || defined (__MINGW64__) || defined (__CYGWIN__) \
|| defined(__riscv)
-Index: grub-2.04~rc1/include/grub/efi/dhcp.h
+Index: grub-2.04/include/grub/efi/dhcp.h
===================================================================
--- /dev/null
-+++ grub-2.04~rc1/include/grub/efi/dhcp.h
++++ grub-2.04/include/grub/efi/dhcp.h
@@ -0,0 +1,343 @@
+#ifndef GRUB_EFI_DHCP_HEADER
+#define GRUB_EFI_DHCP_HEADER 1
@@ -4525,10 +4566,10 @@
+};
+
+#endif /* ! GRUB_EFI_DHCP_HEADER */
-Index: grub-2.04~rc1/include/grub/efi/http.h
+Index: grub-2.04/include/grub/efi/http.h
===================================================================
--- /dev/null
-+++ grub-2.04~rc1/include/grub/efi/http.h
++++ grub-2.04/include/grub/efi/http.h
@@ -0,0 +1,215 @@
+/*
+ * GRUB -- GRand Unified Bootloader
@@ -4745,10 +4786,10 @@
+typedef struct grub_efi_http grub_efi_http_t;
+
+#endif /* !GRUB_EFI_HTTP_HEADER */
-Index: grub-2.04~rc1/include/grub/net/efi.h
+Index: grub-2.04/include/grub/net/efi.h
===================================================================
--- /dev/null
-+++ grub-2.04~rc1/include/grub/net/efi.h
++++ grub-2.04/include/grub/net/efi.h
@@ -0,0 +1,144 @@
+#ifndef GRUB_NET_EFI_HEADER
+#define GRUB_NET_EFI_HEADER 1
++++++ 0001-yylex-Make-lexer-fatal-errors-actually-be-fatal.patch ++++++
>From a948ac01744f3490fa5af4b38039f7dade68bb3e Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones(a)redhat.com>
Date: Wed, 15 Apr 2020 15:45:02 -0400
Subject: [PATCH EMBARGOED CVE-2020-10713] yylex: Make lexer fatal errors
actually be fatal
When presented with a command that can't be tokenized to anything
smaller than YYLMAX characters, the parser calls YY_FATAL_ERROR(errmsg),
expecting that will stop further processing, as such:
#define YY_DO_BEFORE_ACTION \
yyg->yytext_ptr = yy_bp; \
yyleng = (int) (yy_cp - yy_bp); \
yyg->yy_hold_char = *yy_cp; \
*yy_cp = '\0'; \
if ( yyleng >= YYLMAX ) \
YY_FATAL_ERROR( "token too large, exceeds YYLMAX" ); \
yy_flex_strncpy( yytext, yyg->yytext_ptr, yyleng + 1 , yyscanner); \
yyg->yy_c_buf_p = yy_cp;
The code flex generates expects that YY_FATAL_ERROR() will either return
for it or do some form of longjmp(), or handle the error in some way at
least, and so the strncpy() call isn't in an "else" clause, and thus if
YY_FATAL_ERROR() is *not* actually fatal, it does the call with the
questionable limit, and predictable results ensue.
Unfortunately, our implementation of YY_FATAL_ERROR() is:
#define YY_FATAL_ERROR(msg) \
do { \
grub_printf (_("fatal error: %s\n"), _(msg)); \
} while (0)
The same pattern exists in yyless(), and similar problems exist in users
of YY_INPUT(), several places in the main parsing loop,
yy_get_next_buffer(), yy_load_buffer_state(), yyensure_buffer_stack,
yy_scan_buffer(), etc.
All of these callers expect YY_FATAL_ERROR() to actually be fatal, and
the things they do if it returns after calling it are wildly unsafe.
Signed-off-by: Peter Jones <pjones(a)redhat.com>
Reviewed-by: Daniel Kiper <daniel.kiper(a)oracle.com>
---
grub-core/script/yylex.l | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/grub-core/script/yylex.l b/grub-core/script/yylex.l
index 7b44c37b7..b7203c823 100644
--- a/grub-core/script/yylex.l
+++ b/grub-core/script/yylex.l
@@ -37,11 +37,11 @@
/*
* As we don't have access to yyscanner, we cannot do much except to
- * print the fatal error.
+ * print the fatal error and exit.
*/
#define YY_FATAL_ERROR(msg) \
do { \
- grub_printf (_("fatal error: %s\n"), _(msg)); \
+ grub_fatal (_("fatal error: %s\n"), _(msg));\
} while (0)
#define COPY(str, hint) \
--
2.11.0
++++++ 0002-safemath-Add-some-arithmetic-primitives-that-check-f.patch ++++++
>From de1c315841aa6f37357c72e196810484013291d6 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones(a)redhat.com>
Date: Mon, 15 Jun 2020 10:58:42 -0400
Subject: [PATCH 2/7] safemath: Add some arithmetic primitives that check for
overflow
This adds a new header, include/grub/safemath.h, that includes easy to
use wrappers for __builtin_{add,sub,mul}_overflow() declared like:
bool OP(a, b, res)
where OP is grub_add, grub_sub or grub_mul. OP() returns true in the
case where the operation would overflow and res is not modified.
Otherwise, false is returned and the operation is executed.
These arithmetic primitives require newer compiler versions. So, bump
these requirements in the INSTALL file too.
Signed-off-by: Peter Jones <pjones(a)redhat.com>
Reviewed-by: Daniel Kiper <daniel.kiper(a)oracle.com>
---
INSTALL | 22 ++--------------------
include/grub/compiler.h | 8 ++++++++
include/grub/safemath.h | 37 +++++++++++++++++++++++++++++++++++++
3 files changed, 47 insertions(+), 20 deletions(-)
create mode 100644 include/grub/safemath.h
diff --git a/INSTALL b/INSTALL
index dedf236a8..79a0af7d9 100644
--- a/INSTALL
+++ b/INSTALL
@@ -11,27 +11,9 @@ GRUB depends on some software packages installed into your system. If
you don't have any of them, please obtain and install them before
configuring the GRUB.
-* GCC 4.1.3 or later
- Note: older versions may work but support is limited
-
- Experimental support for clang 3.3 or later (results in much bigger binaries)
+* GCC 5.1.0 or later
+ Experimental support for clang 3.8.0 or later (results in much bigger binaries)
for i386, x86_64, arm (including thumb), arm64, mips(el), powerpc, sparc64
- Note: clang 3.2 or later works for i386 and x86_64 targets but results in
- much bigger binaries.
- earlier versions not tested
- Note: clang 3.2 or later works for arm
- earlier versions not tested
- Note: clang on arm64 is not supported due to
- https://llvm.org/bugs/show_bug.cgi?id=26030
- Note: clang 3.3 or later works for mips(el)
- earlier versions fail to generate .reginfo and hence gprel relocations
- fail.
- Note: clang 3.2 or later works for powerpc
- earlier versions not tested
- Note: clang 3.5 or later works for sparc64
- earlier versions return "error: unable to interface with target machine"
- Note: clang has no support for ia64 and hence you can't compile GRUB
- for ia64 with clang
* GNU Make
* GNU Bison 2.3 or later
* GNU gettext 0.17 or later
diff --git a/include/grub/compiler.h b/include/grub/compiler.h
index c9e1d7a73..8f3be3ae7 100644
--- a/include/grub/compiler.h
+++ b/include/grub/compiler.h
@@ -48,4 +48,12 @@
# define WARN_UNUSED_RESULT
#endif
+#if defined(__clang__) && defined(__clang_major__) && defined(__clang_minor__)
+# define CLANG_PREREQ(maj,min) \
+ ((__clang_major__ > (maj)) || \
+ (__clang_major__ == (maj) && __clang_minor__ >= (min)))
+#else
+# define CLANG_PREREQ(maj,min) 0
+#endif
+
#endif /* ! GRUB_COMPILER_HEADER */
diff --git a/include/grub/safemath.h b/include/grub/safemath.h
new file mode 100644
index 000000000..c17b89bba
--- /dev/null
+++ b/include/grub/safemath.h
@@ -0,0 +1,37 @@
+/*
+ * GRUB -- GRand Unified Bootloader
+ * Copyright (C) 2020 Free Software Foundation, Inc.
+ *
+ * GRUB is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * GRUB 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 GRUB. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Arithmetic operations that protect against overflow.
+ */
+
+#ifndef GRUB_SAFEMATH_H
+#define GRUB_SAFEMATH_H 1
+
+#include <grub/compiler.h>
+
+/* These appear in gcc 5.1 and clang 3.8. */
+#if GNUC_PREREQ(5, 1) || CLANG_PREREQ(3, 8)
+
+#define grub_add(a, b, res) __builtin_add_overflow(a, b, res)
+#define grub_sub(a, b, res) __builtin_sub_overflow(a, b, res)
+#define grub_mul(a, b, res) __builtin_mul_overflow(a, b, res)
+
+#else
+#error gcc 5.1 or newer or clang 3.8 or newer is required
+#endif
+
+#endif /* GRUB_SAFEMATH_H */
--
2.27.0
++++++ 0003-bootp-New-net_bootp6-command.patch ++++++
--- /var/tmp/diff_new_pack.84M0bi/_old 2020-07-31 15:56:25.560380024 +0200
+++ /var/tmp/diff_new_pack.84M0bi/_new 2020-07-31 15:56:25.560380024 +0200
@@ -8,16 +8,21 @@
Signed-off-by: Michael Chang <mchang(a)suse.com>
Signed-off-by: Ken Lin <ken.lin(a)hpe.com>
+
+V1:
+ * Use grub_calloc for overflow check and return NULL when it would
+ occur.
+
---
grub-core/net/bootp.c | 908 +++++++++++++++++++++++++++++++++++++++++++++++++-
grub-core/net/ip.c | 39 +++
include/grub/net.h | 72 ++++
3 files changed, 1018 insertions(+), 1 deletion(-)
-Index: grub-2.04~rc1/grub-core/net/bootp.c
+Index: grub-2.04/grub-core/net/bootp.c
===================================================================
---- grub-2.04~rc1.orig/grub-core/net/bootp.c
-+++ grub-2.04~rc1/grub-core/net/bootp.c
+--- grub-2.04.orig/grub-core/net/bootp.c
++++ grub-2.04/grub-core/net/bootp.c
@@ -24,6 +24,98 @@
#include <grub/net/netbuff.h>
#include <grub/net/udp.h>
@@ -265,7 +270,7 @@
+ break;
+ }
+ dhcp6->num_dns_server = ln = len >> 4;
-+ dhcp6->dns_server_addrs = la = grub_zalloc (ln * sizeof (*la));
++ dhcp6->dns_server_addrs = la = grub_calloc (ln, sizeof (*la));
+
+ for (po = opt->data; ln > 0; po += 0x10, la++, ln--)
+ {
@@ -966,10 +971,10 @@
grub_unregister_command (cmd_dhcp);
+ grub_unregister_command (cmd_bootp6);
}
-Index: grub-2.04~rc1/grub-core/net/ip.c
+Index: grub-2.04/grub-core/net/ip.c
===================================================================
---- grub-2.04~rc1.orig/grub-core/net/ip.c
-+++ grub-2.04~rc1/grub-core/net/ip.c
+--- grub-2.04.orig/grub-core/net/ip.c
++++ grub-2.04/grub-core/net/ip.c
@@ -239,6 +239,45 @@ handle_dgram (struct grub_net_buff *nb,
{
struct udphdr *udph;
@@ -1016,10 +1021,10 @@
if (proto == GRUB_NET_IP_UDP && grub_be_to_cpu16 (udph->dst) == 68)
{
const struct grub_net_bootp_packet *bootp;
-Index: grub-2.04~rc1/include/grub/net.h
+Index: grub-2.04/include/grub/net.h
===================================================================
---- grub-2.04~rc1.orig/include/grub/net.h
-+++ grub-2.04~rc1/include/grub/net.h
+--- grub-2.04.orig/include/grub/net.h
++++ grub-2.04/include/grub/net.h
@@ -448,6 +448,66 @@ struct grub_net_bootp_packet
grub_uint8_t vendor[0];
} GRUB_PACKED;
++++++ 0003-calloc-Make-sure-we-always-have-an-overflow-checking.patch ++++++
>From 79e51ab7a9a56f60a14f89ef047fd669977b99d1 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones(a)redhat.com>
Date: Mon, 15 Jun 2020 12:15:29 -0400
Subject: [PATCH 3/7] calloc: Make sure we always have an overflow-checking
calloc() available
This tries to make sure that everywhere in this source tree, we always have
an appropriate version of calloc() (i.e. grub_calloc(), xcalloc(), etc.)
available, and that they all safely check for overflow and return NULL when
it would occur.
Signed-off-by: Peter Jones <pjones(a)redhat.com>
Reviewed-by: Daniel Kiper <daniel.kiper(a)oracle.com>
---
grub-core/kern/emu/misc.c | 12 +++++++++
grub-core/kern/emu/mm.c | 10 ++++++++
grub-core/kern/mm.c | 40 ++++++++++++++++++++++++++++++
grub-core/lib/libgcrypt_wrap/mem.c | 11 ++++++--
grub-core/lib/posix_wrap/stdlib.h | 8 +++++-
include/grub/emu/misc.h | 1 +
include/grub/mm.h | 6 +++++
7 files changed, 85 insertions(+), 3 deletions(-)
Index: grub-2.04/grub-core/kern/emu/misc.c
===================================================================
--- grub-2.04.orig/grub-core/kern/emu/misc.c
+++ grub-2.04/grub-core/kern/emu/misc.c
@@ -87,6 +87,18 @@ grub_util_error (const char *fmt, ...)
}
void *
+xcalloc (grub_size_t nmemb, grub_size_t size)
+{
+ void *p;
+
+ p = calloc (nmemb, size);
+ if (!p)
+ grub_util_error ("%s", _("out of memory"));
+
+ return p;
+}
+
+void *
xmalloc (grub_size_t size)
{
void *p;
Index: grub-2.04/grub-core/kern/emu/mm.c
===================================================================
--- grub-2.04.orig/grub-core/kern/emu/mm.c
+++ grub-2.04/grub-core/kern/emu/mm.c
@@ -26,6 +26,16 @@
#include <grub/i18n.h>
void *
+grub_calloc (grub_size_t nmemb, grub_size_t size)
+{
+ void *ret;
+ ret = calloc (nmemb, size);
+ if (!ret)
+ grub_error (GRUB_ERR_OUT_OF_MEMORY, N_("out of memory"));
+ return ret;
+}
+
+void *
grub_malloc (grub_size_t size)
{
void *ret;
Index: grub-2.04/grub-core/kern/mm.c
===================================================================
--- grub-2.04.orig/grub-core/kern/mm.c
+++ grub-2.04/grub-core/kern/mm.c
@@ -67,8 +67,10 @@
#include <grub/dl.h>
#include <grub/i18n.h>
#include <grub/mm_private.h>
+#include <grub/safemath.h>
#ifdef MM_DEBUG
+# undef grub_calloc
# undef grub_malloc
# undef grub_zalloc
# undef grub_realloc
@@ -375,6 +377,30 @@ grub_memalign (grub_size_t align, grub_s
return 0;
}
+/*
+ * Allocate NMEMB instances of SIZE bytes and return the pointer, or error on
+ * integer overflow.
+ */
+void *
+grub_calloc (grub_size_t nmemb, grub_size_t size)
+{
+ void *ret;
+ grub_size_t sz = 0;
+
+ if (grub_mul (nmemb, size, &sz))
+ {
+ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
+ return NULL;
+ }
+
+ ret = grub_memalign (0, sz);
+ if (!ret)
+ return NULL;
+
+ grub_memset (ret, 0, sz);
+ return ret;
+}
+
/* Allocate SIZE bytes and return the pointer. */
void *
grub_malloc (grub_size_t size)
@@ -562,6 +588,20 @@ grub_mm_dump (unsigned lineno)
}
void *
+grub_debug_calloc (const char *file, int line, grub_size_t nmemb, grub_size_t size)
+{
+ void *ptr;
+
+ if (grub_mm_debug)
+ grub_printf ("%s:%d: calloc (0x%" PRIxGRUB_SIZE ", 0x%" PRIxGRUB_SIZE ") = ",
+ file, line, size);
+ ptr = grub_calloc (nmemb, size);
+ if (grub_mm_debug)
+ grub_printf ("%p\n", ptr);
+ return ptr;
+}
+
+void *
grub_debug_malloc (const char *file, int line, grub_size_t size)
{
void *ptr;
Index: grub-2.04/grub-core/lib/libgcrypt_wrap/mem.c
===================================================================
--- grub-2.04.orig/grub-core/lib/libgcrypt_wrap/mem.c
+++ grub-2.04/grub-core/lib/libgcrypt_wrap/mem.c
@@ -4,6 +4,7 @@
#include <grub/crypto.h>
#include <grub/dl.h>
#include <grub/env.h>
+#include <grub/safemath.h>
GRUB_MOD_LICENSE ("GPLv3+");
@@ -36,7 +37,10 @@ void *
gcry_xcalloc (size_t n, size_t m)
{
void *ret;
- ret = grub_zalloc (n * m);
+ size_t sz;
+ if (grub_mul (n, m, &sz))
+ grub_fatal ("gcry_xcalloc would overflow");
+ ret = grub_zalloc (sz);
if (!ret)
grub_fatal ("gcry_xcalloc failed");
return ret;
@@ -56,7 +60,10 @@ void *
gcry_xcalloc_secure (size_t n, size_t m)
{
void *ret;
- ret = grub_zalloc (n * m);
+ size_t sz;
+ if (grub_mul (n, m, &sz))
+ grub_fatal ("gcry_xcalloc would overflow");
+ ret = grub_zalloc (sz);
if (!ret)
grub_fatal ("gcry_xcalloc failed");
return ret;
Index: grub-2.04/grub-core/lib/posix_wrap/stdlib.h
===================================================================
--- grub-2.04.orig/grub-core/lib/posix_wrap/stdlib.h
+++ grub-2.04/grub-core/lib/posix_wrap/stdlib.h
@@ -21,6 +21,7 @@
#include <grub/mm.h>
#include <grub/misc.h>
+#include <grub/safemath.h>
static inline void
free (void *ptr)
@@ -37,7 +38,12 @@ malloc (grub_size_t size)
static inline void *
calloc (grub_size_t size, grub_size_t nelem)
{
- return grub_zalloc (size * nelem);
+ grub_size_t sz;
+
+ if (grub_mul (size, nelem, &sz))
+ return NULL;
+
+ return grub_zalloc (sz);
}
static inline void *
Index: grub-2.04/include/grub/emu/misc.h
===================================================================
--- grub-2.04.orig/include/grub/emu/misc.h
+++ grub-2.04/include/grub/emu/misc.h
@@ -47,6 +47,7 @@ grub_util_device_is_mapped (const char *
#define GRUB_HOST_PRIuLONG_LONG "llu"
#define GRUB_HOST_PRIxLONG_LONG "llx"
+void * EXPORT_FUNC(xcalloc) (grub_size_t nmemb, grub_size_t size) WARN_UNUSED_RESULT;
void * EXPORT_FUNC(xmalloc) (grub_size_t size) WARN_UNUSED_RESULT;
void * EXPORT_FUNC(xrealloc) (void *ptr, grub_size_t size) WARN_UNUSED_RESULT;
char * EXPORT_FUNC(xstrdup) (const char *str) WARN_UNUSED_RESULT;
Index: grub-2.04/include/grub/mm.h
===================================================================
--- grub-2.04.orig/include/grub/mm.h
+++ grub-2.04/include/grub/mm.h
@@ -29,6 +29,7 @@
#endif
void grub_mm_init_region (void *addr, grub_size_t size);
+void *EXPORT_FUNC(grub_calloc) (grub_size_t nmemb, grub_size_t size);
void *EXPORT_FUNC(grub_malloc) (grub_size_t size);
void *EXPORT_FUNC(grub_zalloc) (grub_size_t size);
void EXPORT_FUNC(grub_free) (void *ptr);
@@ -48,6 +49,9 @@ extern int EXPORT_VAR(grub_mm_debug);
void grub_mm_dump_free (void);
void grub_mm_dump (unsigned lineno);
+#define grub_calloc(nmemb, size) \
+ grub_debug_calloc (GRUB_FILE, __LINE__, nmemb, size)
+
#define grub_malloc(size) \
grub_debug_malloc (GRUB_FILE, __LINE__, size)
@@ -63,6 +67,8 @@ void grub_mm_dump (unsigned lineno);
#define grub_free(ptr) \
grub_debug_free (GRUB_FILE, __LINE__, ptr)
+void *EXPORT_FUNC(grub_debug_calloc) (const char *file, int line,
+ grub_size_t nmemb, grub_size_t size);
void *EXPORT_FUNC(grub_debug_malloc) (const char *file, int line,
grub_size_t size);
void *EXPORT_FUNC(grub_debug_zalloc) (const char *file, int line,
++++++ 0004-calloc-Use-calloc-at-most-places.patch ++++++
++++ 1825 lines (skipped)
++++++ 0005-malloc-Use-overflow-checking-primitives-where-we-do-.patch ++++++
++++ 1319 lines (skipped)
++++++ 0006-iso9660-Don-t-leak-memory-on-realloc-failures.patch ++++++
>From 30508bd4692d2e022eff2e7f9c4be9f8abf57977 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones(a)redhat.com>
Date: Sat, 4 Jul 2020 12:25:09 -0400
Subject: [PATCH 6/7] iso9660: Don't leak memory on realloc() failures
Signed-off-by: Peter Jones <pjones(a)redhat.com>
Reviewed-by: Daniel Kiper <daniel.kiper(a)oracle.com>
---
grub-core/fs/iso9660.c | 24 ++++++++++++++++++++----
1 file changed, 20 insertions(+), 4 deletions(-)
diff --git a/grub-core/fs/iso9660.c b/grub-core/fs/iso9660.c
index 7ba5b300b..5ec4433b8 100644
--- a/grub-core/fs/iso9660.c
+++ b/grub-core/fs/iso9660.c
@@ -533,14 +533,20 @@ add_part (struct iterate_dir_ctx *ctx,
{
int size = ctx->symlink ? grub_strlen (ctx->symlink) : 0;
grub_size_t sz;
+ char *new;
if (grub_add (size, len2, &sz) ||
grub_add (sz, 1, &sz))
return;
- ctx->symlink = grub_realloc (ctx->symlink, sz);
- if (! ctx->symlink)
- return;
+ new = grub_realloc (ctx->symlink, sz);
+ if (!new)
+ {
+ grub_free (ctx->symlink);
+ ctx->symlink = NULL;
+ return;
+ }
+ ctx->symlink = new;
grub_memcpy (ctx->symlink + size, part, len2);
ctx->symlink[size + len2] = 0;
@@ -634,7 +640,12 @@ susp_iterate_dir (struct grub_iso9660_susp_entry *entry,
is the length. Both are part of the `Component
Record'. */
if (ctx->symlink && !ctx->was_continue)
- add_part (ctx, "/", 1);
+ {
+ add_part (ctx, "/", 1);
+ if (grub_errno)
+ return grub_errno;
+ }
+
add_part (ctx, (char *) &entry->data[pos + 2],
entry->data[pos + 1]);
ctx->was_continue = (entry->data[pos] & 1);
@@ -653,6 +664,11 @@ susp_iterate_dir (struct grub_iso9660_susp_entry *entry,
add_part (ctx, "/", 1);
break;
}
+
+ /* Check if grub_realloc() failed in add_part(). */
+ if (grub_errno)
+ return grub_errno;
+
/* In pos + 1 the length of the `Component Record' is
stored. */
pos += entry->data[pos + 1] + 2;
--
2.27.0
++++++ 0007-font-Do-not-load-more-than-one-NAME-section.patch ++++++
>From e2b5230126b340e1d88a079cd6a5c22dd4c00682 Mon Sep 17 00:00:00 2001
From: Daniel Kiper <daniel.kiper(a)oracle.com>
Date: Tue, 7 Jul 2020 15:36:26 +0200
Subject: [PATCH 7/7] font: Do not load more than one NAME section
The GRUB font file can have one NAME section only. Though if somebody
crafts a broken font file with many NAME sections and loads it then the
GRUB leaks memory. So, prevent against that by loading first NAME
section and failing in controlled way on following one.
Reported-by: Chris Coulson <chris.coulson(a)canonical.com>
Signed-off-by: Daniel Kiper <daniel.kiper(a)oracle.com>
---
grub-core/font/font.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/grub-core/font/font.c b/grub-core/font/font.c
index 5edb477ac..d09bb38d8 100644
--- a/grub-core/font/font.c
+++ b/grub-core/font/font.c
@@ -532,6 +532,12 @@ grub_font_load (const char *filename)
if (grub_memcmp (section.name, FONT_FORMAT_SECTION_NAMES_FONT_NAME,
sizeof (FONT_FORMAT_SECTION_NAMES_FONT_NAME) - 1) == 0)
{
+ if (font->name != NULL)
+ {
+ grub_error (GRUB_ERR_BAD_FONT, "invalid font file: too many NAME sections");
+ goto fail;
+ }
+
font->name = read_section_as_string (§ion);
if (!font->name)
goto fail;
--
2.27.0
++++++ 0008-script-Remove-unused-fields-from-grub_script_functio.patch ++++++
>From 1804acfd35cff2aab9ec9dc586f74f5e3aa83ef2 Mon Sep 17 00:00:00 2001
From: Chris Coulson <chris.coulson(a)canonical.com>
Date: Fri, 10 Jul 2020 11:21:14 +0100
Subject: [PATCH 18/27] script: Remove unused fields from grub_script_function
struct
Signed-off-by: Chris Coulson <chris.coulson(a)canonical.com>
Reviewed-by: Daniel Kiper <daniel.kiper(a)oracle.com>
---
include/grub/script_sh.h | 5 -----
1 file changed, 5 deletions(-)
diff --git a/include/grub/script_sh.h b/include/grub/script_sh.h
index 360c2be1f..b382bcf09 100644
--- a/include/grub/script_sh.h
+++ b/include/grub/script_sh.h
@@ -359,13 +359,8 @@ struct grub_script_function
/* The script function. */
struct grub_script *func;
- /* The flags. */
- unsigned flags;
-
/* The next element. */
struct grub_script_function *next;
-
- int references;
};
typedef struct grub_script_function *grub_script_function_t;
--
2.27.0
++++++ 0009-script-Avoid-a-use-after-free-when-redefining-a-func.patch ++++++
>From 809f3a26897f5f648325c5741e72dc1b3db828ee Mon Sep 17 00:00:00 2001
From: Chris Coulson <chris.coulson(a)canonical.com>
Date: Fri, 10 Jul 2020 14:41:45 +0100
Subject: [PATCH 19/27] script: Avoid a use-after-free when redefining a
function during execution
Defining a new function with the same name as a previously defined
function causes the grub_script and associated resources for the
previous function to be freed. If the previous function is currently
executing when a function with the same name is defined, this results
in use-after-frees when processing subsequent commands in the original
function.
Instead, reject a new function definition if it has the same name as
a previously defined function, and that function is currently being
executed. Although a behavioural change, this should be backwards
compatible with existing configurations because they can't be
dependent on the current behaviour without being broken.
Signed-off-by: Chris Coulson <chris.coulson(a)canonical.com>
Reviewed-by: Daniel Kiper <daniel.kiper(a)oracle.com>
---
grub-core/script/execute.c | 2 ++
grub-core/script/function.c | 16 +++++++++++++---
grub-core/script/parser.y | 3 ++-
include/grub/script_sh.h | 2 ++
4 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/grub-core/script/execute.c b/grub-core/script/execute.c
index 8a9161cc8..ce83edd4b 100644
--- a/grub-core/script/execute.c
+++ b/grub-core/script/execute.c
@@ -838,7 +838,9 @@ grub_script_function_call (grub_script_function_t func, int argc, char **args)
old_scope = scope;
scope = &new_scope;
+ func->executing++;
ret = grub_script_execute (func->func);
+ func->executing--;
function_return = 0;
active_loops = loops;
diff --git a/grub-core/script/function.c b/grub-core/script/function.c
index d36655e51..3aad04bf9 100644
--- a/grub-core/script/function.c
+++ b/grub-core/script/function.c
@@ -34,6 +34,7 @@ grub_script_function_create (struct grub_script_arg *functionname_arg,
func = (grub_script_function_t) grub_malloc (sizeof (*func));
if (! func)
return 0;
+ func->executing = 0;
func->name = grub_strdup (functionname_arg->str);
if (! func->name)
@@ -60,10 +61,19 @@ grub_script_function_create (struct grub_script_arg *functionname_arg,
grub_script_function_t q;
q = *p;
- grub_script_free (q->func);
- q->func = cmd;
grub_free (func);
- func = q;
+ if (q->executing > 0)
+ {
+ grub_error (GRUB_ERR_BAD_ARGUMENT,
+ N_("attempt to redefine a function being executed"));
+ func = NULL;
+ }
+ else
+ {
+ grub_script_free (q->func);
+ q->func = cmd;
+ func = q;
+ }
}
else
{
diff --git a/grub-core/script/parser.y b/grub-core/script/parser.y
index 4f0ab8319..f80b86b6f 100644
--- a/grub-core/script/parser.y
+++ b/grub-core/script/parser.y
@@ -289,7 +289,8 @@ function: "function" "name"
grub_script_mem_free (state->func_mem);
else {
script->children = state->scripts;
- grub_script_function_create ($2, script);
+ if (!grub_script_function_create ($2, script))
+ grub_script_free (script);
}
state->scripts = $<scripts>3;
diff --git a/include/grub/script_sh.h b/include/grub/script_sh.h
index b382bcf09..6c48e0751 100644
--- a/include/grub/script_sh.h
+++ b/include/grub/script_sh.h
@@ -361,6 +361,8 @@ struct grub_script_function
/* The next element. */
struct grub_script_function *next;
+
+ unsigned executing;
};
typedef struct grub_script_function *grub_script_function_t;
--
2.27.0
++++++ 0010-linux-Fix-integer-overflows-in-initrd-size-handling.patch ++++++
commit a59b854381d1148d32f74fbb9cf0f384972a5b4b
Author: Colin Watson <cjwatson(a)debian.org>
Date: Sat Jul 25 12:15:37 2020 +0100
linux: Fix integer overflows in initrd size handling
These could be triggered by a crafted filesystem with very large files.
Fixes: CVE-2020-15707
Signed-off-by: Colin Watson <cjwatson(a)debian.org>
Reviewed-by: Jan Setje-Eilers <jan.setjeeilers(a)oracle.com>
diff --git a/grub-core/loader/linux.c b/grub-core/loader/linux.c
index 25624ebc1..e9f819ee9 100644
--- a/grub-core/loader/linux.c
+++ b/grub-core/loader/linux.c
@@ -4,6 +4,7 @@
#include <grub/misc.h>
#include <grub/file.h>
#include <grub/mm.h>
+#include <grub/safemath.h>
struct newc_head
{
@@ -98,13 +99,13 @@ free_dir (struct dir *root)
grub_free (root);
}
-static grub_size_t
+static grub_err_t
insert_dir (const char *name, struct dir **root,
- grub_uint8_t *ptr)
+ grub_uint8_t *ptr, grub_size_t *size)
{
struct dir *cur, **head = root;
const char *cb, *ce = name;
- grub_size_t size = 0;
+ *size = 0;
while (1)
{
for (cb = ce; *cb == '/'; cb++);
@@ -130,14 +131,22 @@ insert_dir (const char *name, struct dir **root,
ptr = make_header (ptr, name, ce - name,
040777, 0);
}
- size += ALIGN_UP ((ce - (char *) name)
- + sizeof (struct newc_head), 4);
+ if (grub_add (*size,
+ ALIGN_UP ((ce - (char *) name)
+ + sizeof (struct newc_head), 4),
+ size))
+ {
+ grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
+ grub_free (n->name);
+ grub_free (n);
+ return grub_errno;
+ }
*head = n;
cur = n;
}
root = &cur->next;
}
- return size;
+ return GRUB_ERR_NONE;
}
grub_err_t
@@ -173,26 +182,33 @@ grub_initrd_init (int argc, char *argv[],
eptr = grub_strchr (ptr, ':');
if (eptr)
{
+ grub_size_t dir_size, name_len;
+
initrd_ctx->components[i].newc_name = grub_strndup (ptr, eptr - ptr);
- if (!initrd_ctx->components[i].newc_name)
+ if (!initrd_ctx->components[i].newc_name ||
+ insert_dir (initrd_ctx->components[i].newc_name, &root, 0,
+ &dir_size))
{
grub_initrd_close (initrd_ctx);
return grub_errno;
}
- initrd_ctx->size
- += ALIGN_UP (sizeof (struct newc_head)
- + grub_strlen (initrd_ctx->components[i].newc_name),
- 4);
- initrd_ctx->size += insert_dir (initrd_ctx->components[i].newc_name,
- &root, 0);
+ name_len = grub_strlen (initrd_ctx->components[i].newc_name);
+ if (grub_add (initrd_ctx->size,
+ ALIGN_UP (sizeof (struct newc_head) + name_len, 4),
+ &initrd_ctx->size) ||
+ grub_add (initrd_ctx->size, dir_size, &initrd_ctx->size))
+ goto overflow;
newc = 1;
fname = eptr + 1;
}
}
else if (newc)
{
- initrd_ctx->size += ALIGN_UP (sizeof (struct newc_head)
- + sizeof ("TRAILER!!!") - 1, 4);
+ if (grub_add (initrd_ctx->size,
+ ALIGN_UP (sizeof (struct newc_head)
+ + sizeof ("TRAILER!!!") - 1, 4),
+ &initrd_ctx->size))
+ goto overflow;
free_dir (root);
root = 0;
newc = 0;
@@ -208,19 +224,29 @@ grub_initrd_init (int argc, char *argv[],
initrd_ctx->nfiles++;
initrd_ctx->components[i].size
= grub_file_size (initrd_ctx->components[i].file);
- initrd_ctx->size += initrd_ctx->components[i].size;
+ if (grub_add (initrd_ctx->size, initrd_ctx->components[i].size,
+ &initrd_ctx->size))
+ goto overflow;
}
if (newc)
{
initrd_ctx->size = ALIGN_UP (initrd_ctx->size, 4);
- initrd_ctx->size += ALIGN_UP (sizeof (struct newc_head)
- + sizeof ("TRAILER!!!") - 1, 4);
+ if (grub_add (initrd_ctx->size,
+ ALIGN_UP (sizeof (struct newc_head)
+ + sizeof ("TRAILER!!!") - 1, 4),
+ &initrd_ctx->size))
+ goto overflow;
free_dir (root);
root = 0;
}
return GRUB_ERR_NONE;
+
+overflow:
+ free_dir (root);
+ grub_initrd_close (initrd_ctx);
+ return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
}
grub_size_t
@@ -261,8 +287,16 @@ grub_initrd_load (struct grub_linux_initrd_context *initrd_ctx,
if (initrd_ctx->components[i].newc_name)
{
- ptr += insert_dir (initrd_ctx->components[i].newc_name,
- &root, ptr);
+ grub_size_t dir_size;
+
+ if (insert_dir (initrd_ctx->components[i].newc_name, &root, ptr,
+ &dir_size))
+ {
+ free_dir (root);
+ grub_initrd_close (initrd_ctx);
+ return grub_errno;
+ }
+ ptr += dir_size;
ptr = make_header (ptr, initrd_ctx->components[i].newc_name,
grub_strlen (initrd_ctx->components[i].newc_name),
0100777,
++++++ grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch ++++++
--- /var/tmp/diff_new_pack.84M0bi/_old 2020-07-31 15:56:25.760380232 +0200
+++ /var/tmp/diff_new_pack.84M0bi/_new 2020-07-31 15:56:25.764380235 +0200
@@ -16,15 +16,20 @@
variable and loading the config file from the subvolume.
Signed-off-by: Jeff Mahoney <jeffm(a)suse.com>
+
+V1:
+ * Use overflow checking primitives where the arithmetic expression for
+ buffer allocations may include unvalidated data
+
---
grub-core/fs/btrfs.c | 529 +++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 518 insertions(+), 11 deletions(-)
-Index: grub-2.04~rc1/grub-core/fs/btrfs.c
+Index: grub-2.04/grub-core/fs/btrfs.c
===================================================================
---- grub-2.04~rc1.orig/grub-core/fs/btrfs.c
-+++ grub-2.04~rc1/grub-core/fs/btrfs.c
+--- grub-2.04.orig/grub-core/fs/btrfs.c
++++ grub-2.04/grub-core/fs/btrfs.c
@@ -40,6 +40,9 @@
#include <grub/btrfs.h>
#include <grub/crypto.h>
@@ -164,7 +169,7 @@
return data;
}
-@@ -1654,6 +1739,91 @@ get_root (struct grub_btrfs_data *data,
+@@ -1654,6 +1739,98 @@ get_root (struct grub_btrfs_data *data,
}
static grub_err_t
@@ -207,8 +212,12 @@
+ key_out.object_id != key_out.offset) {
+ struct grub_btrfs_inode_ref *inode_ref;
+ char *new;
++ grub_size_t sz;
+
-+ inode_ref = grub_malloc(elemsize + 1);
++ if (grub_add (elemsize, 1, &sz))
++ return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
++
++ inode_ref = grub_malloc(sz);
+ if (!inode_ref)
+ return grub_error(GRUB_ERR_OUT_OF_MEMORY,
+ "couldn't allocate memory for inode_ref (%"PRIuGRUB_SIZE")\n", elemsize);
@@ -217,7 +226,10 @@
+ if (err)
+ return grub_error(err, "read_logical caught %d\n", err);
+
-+ alloc += grub_le_to_cpu16 (inode_ref->n) + 2;
++ if (grub_add (grub_le_to_cpu16 (inode_ref->n), 2, &sz) ||
++ grub_add (alloc, sz, &alloc))
++ return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
++
+ new = grub_malloc(alloc);
+ if (!new)
+ return grub_error(GRUB_ERR_OUT_OF_MEMORY,
@@ -256,7 +268,7 @@
find_path (struct grub_btrfs_data *data,
const char *path, struct grub_btrfs_key *key,
grub_uint64_t *tree, grub_uint8_t *type)
-@@ -1671,14 +1841,26 @@ find_path (struct grub_btrfs_data *data,
+@@ -1671,14 +1848,26 @@ find_path (struct grub_btrfs_data *data,
char *origpath = NULL;
unsigned symlinks_max = 32;
@@ -287,7 +299,7 @@
while (1)
{
while (path[0] == '/')
-@@ -1851,9 +2033,21 @@ find_path (struct grub_btrfs_data *data,
+@@ -1851,9 +2040,21 @@ find_path (struct grub_btrfs_data *data,
path = path_alloc = tmp;
if (path[0] == '/')
{
@@ -312,7 +324,7 @@
}
continue;
}
-@@ -2094,6 +2288,20 @@ grub_btrfs_read (grub_file_t file, char
+@@ -2094,6 +2295,20 @@ grub_btrfs_read (grub_file_t file, char
data->tree, file->offset, buf, len);
}
@@ -333,7 +345,7 @@
static grub_err_t
grub_btrfs_uuid (grub_device_t device, char **uuid)
{
-@@ -2105,15 +2313,7 @@ grub_btrfs_uuid (grub_device_t device, c
+@@ -2105,15 +2320,7 @@ grub_btrfs_uuid (grub_device_t device, c
if (!data)
return grub_errno;
@@ -350,7 +362,7 @@
grub_btrfs_unmount (data);
-@@ -2170,6 +2370,242 @@ grub_btrfs_embed (grub_device_t device _
+@@ -2170,6 +2377,248 @@ grub_btrfs_embed (grub_device_t device _
}
#endif
@@ -531,9 +543,15 @@
+
+ if (elemsize > allocated)
+ {
++ grub_size_t sz;
++
+ grub_free(buf);
-+ allocated = 2 * elemsize;
-+ buf = grub_malloc(allocated + 1);
++
++ if (grub_mul (elemsize, 2, &allocated) ||
++ grub_add (allocated, 1, &sz))
++ return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
++
++ buf = grub_malloc(sz);
+ if (!buf)
+ {
+ r = -grub_errno;
@@ -593,7 +611,7 @@
static struct grub_fs grub_btrfs_fs = {
.name = "btrfs",
.fs_dir = grub_btrfs_dir,
-@@ -2185,12 +2621,88 @@ static struct grub_fs grub_btrfs_fs = {
+@@ -2185,12 +2634,88 @@ static struct grub_fs grub_btrfs_fs = {
#endif
};
@@ -682,10 +700,10 @@
}
+
+// vim: si et sw=2:
-Index: grub-2.04~rc1/include/grub/btrfs.h
+Index: grub-2.04/include/grub/btrfs.h
===================================================================
---- grub-2.04~rc1.orig/include/grub/btrfs.h
-+++ grub-2.04~rc1/include/grub/btrfs.h
+--- grub-2.04.orig/include/grub/btrfs.h
++++ grub-2.04/include/grub/btrfs.h
@@ -29,6 +29,7 @@ enum
GRUB_BTRFS_ITEM_TYPE_ROOT_ITEM = 0x84,
GRUB_BTRFS_ITEM_TYPE_ROOT_BACKREF = 0x90,
++++++ grub2-btrfs-09-get-default-subvolume.patch ++++++
--- /var/tmp/diff_new_pack.84M0bi/_old 2020-07-31 15:56:25.792380265 +0200
+++ /var/tmp/diff_new_pack.84M0bi/_new 2020-07-31 15:56:25.792380265 +0200
@@ -1,8 +1,13 @@
-Index: grub-2.04~rc1/grub-core/fs/btrfs.c
+
+V1:
+ * Use overflow checking primitives where the arithmetic expression for
+ buffer allocations may include unvalidated data
+
+Index: grub-2.04/grub-core/fs/btrfs.c
===================================================================
---- grub-2.04~rc1.orig/grub-core/fs/btrfs.c
-+++ grub-2.04~rc1/grub-core/fs/btrfs.c
-@@ -2867,6 +2867,242 @@ out:
+--- grub-2.04.orig/grub-core/fs/btrfs.c
++++ grub-2.04/grub-core/fs/btrfs.c
+@@ -2880,6 +2880,254 @@ out:
return 0;
}
@@ -26,6 +31,7 @@
+ grub_disk_addr_t elemaddr;
+ grub_err_t err;
+ char *parent_path;
++ grub_size_t sz;
+
+ *parent_id = 0;
+ *path_out = 0;
@@ -44,7 +50,10 @@
+ return grub_error(GRUB_ERR_FILE_NOT_FOUND, N_("can't find root backrefs"));
+ }
+
-+ buf = grub_malloc(elemsize + 1);
++ if (grub_add (elemsize, 1, &sz))
++ return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
++
++ buf = grub_malloc(sz);
+ if (!buf)
+ {
+ free_iterator(&desc);
@@ -98,6 +107,7 @@
+ struct grub_btrfs_dir_item *direl = NULL;
+ const char *ctoken = "default";
+ grub_size_t ctokenlen = sizeof ("default") - 1;
++ grub_size_t sz;
+
+ *id = 0;
+ key.object_id = data->sblock.root_dir_objectid;
@@ -112,7 +122,14 @@
+ return grub_error (GRUB_ERR_FILE_NOT_FOUND, N_("file not found"));
+
+ struct grub_btrfs_dir_item *cdirel;
-+ direl = grub_malloc (elemsize + 1);
++
++ if (grub_add (elemsize, 1, &sz))
++ return grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
++
++ direl = grub_malloc (sz);
++ if (!direl)
++ return grub_errno;
++
+ err = grub_btrfs_read_logical (data, elemaddr, direl, elemsize, 0);
+ if (err)
+ {
@@ -245,7 +262,7 @@
static struct grub_fs grub_btrfs_fs = {
.name = "btrfs",
.fs_dir = grub_btrfs_dir,
-@@ -2885,6 +3121,7 @@ static struct grub_fs grub_btrfs_fs = {
+@@ -2898,6 +3146,7 @@ static struct grub_fs grub_btrfs_fs = {
static grub_command_t cmd_info;
static grub_command_t cmd_mount_subvol;
static grub_extcmd_t cmd_list_subvols;
@@ -253,7 +270,7 @@
static char *
subvolid_set_env (struct grub_env_var *var __attribute__ ((unused)),
-@@ -2955,6 +3192,11 @@ GRUB_MOD_INIT (btrfs)
+@@ -2968,6 +3217,11 @@ GRUB_MOD_INIT (btrfs)
"[-p|-n] [-o var] DEVICE",
"Print list of BtrFS subvolumes on "
"DEVICE.", options);
++++++ grub2-gfxmenu-support-scrolling-menu-entry-s-text.patch ++++++
--- /var/tmp/diff_new_pack.84M0bi/_old 2020-07-31 15:56:25.872380347 +0200
+++ /var/tmp/diff_new_pack.84M0bi/_new 2020-07-31 15:56:25.872380347 +0200
@@ -14,6 +14,10 @@
the ctrl+l and ctrl+r to scroll the highlighted text left and right. The
scrolled result will remain in place to help memorizing it after
changing highlight to other entry.
+
+V1:
+ * Use grub_calloc for overflow check and return NULL when it would
+ occur.
---
grub-core/gfxmenu/gfxmenu.c | 3 +++
grub-core/gfxmenu/gui_label.c | 2 ++
@@ -24,20 +28,27 @@
include/grub/menu_viewer.h | 1 +
7 files changed, 112 insertions(+)
-diff --git a/grub-core/gfxmenu/gfxmenu.c b/grub-core/gfxmenu/gfxmenu.c
-index 8a17dda2c..e834895fb 100644
---- a/grub-core/gfxmenu/gfxmenu.c
-+++ b/grub-core/gfxmenu/gfxmenu.c
-@@ -108,6 +108,8 @@ grub_gfxmenu_try (int entry, grub_menu_t menu, int nested)
+Index: grub-2.04/grub-core/gfxmenu/gfxmenu.c
+===================================================================
+--- grub-2.04.orig/grub-core/gfxmenu/gfxmenu.c
++++ grub-2.04/grub-core/gfxmenu/gfxmenu.c
+@@ -108,6 +108,15 @@ grub_gfxmenu_try (int entry, grub_menu_t
view->menu = menu;
view->nested = nested;
view->first_timeout = -1;
+ if (menu->size)
-+ view->menu_title_offset = grub_zalloc (sizeof (*view->menu_title_offset) * menu->size);
++ {
++ view->menu_title_offset = grub_calloc (menu->size, sizeof (*view->menu_title_offset));
++ if (!view->menu_title_offset)
++ {
++ grub_free (instance);
++ return grub_errno;
++ }
++ }
grub_video_set_viewport (0, 0, mode_info.width, mode_info.height);
if (view->double_repaint)
-@@ -123,6 +125,7 @@ grub_gfxmenu_try (int entry, grub_menu_t menu, int nested)
+@@ -123,6 +132,7 @@ grub_gfxmenu_try (int entry, grub_menu_t
instance->fini = grub_gfxmenu_viewer_fini;
instance->print_timeout = grub_gfxmenu_print_timeout;
instance->clear_timeout = grub_gfxmenu_clear_timeout;
@@ -45,11 +56,11 @@
grub_menu_register_viewer (instance);
-diff --git a/grub-core/gfxmenu/gui_label.c b/grub-core/gfxmenu/gui_label.c
-index a4c817891..8b1358dd4 100644
---- a/grub-core/gfxmenu/gui_label.c
-+++ b/grub-core/gfxmenu/gui_label.c
-@@ -192,6 +192,8 @@ label_set_property (void *vself, const char *name, const char *value)
+Index: grub-2.04/grub-core/gfxmenu/gui_label.c
+===================================================================
+--- grub-2.04.orig/grub-core/gfxmenu/gui_label.c
++++ grub-2.04/grub-core/gfxmenu/gui_label.c
+@@ -192,6 +192,8 @@ label_set_property (void *vself, const c
"or `c' for a command-line.");
else if (grub_strcmp (value, "@KEYMAP_SHORT@") == 0)
value = _("enter: boot, `e': options, `c': cmd-line");
@@ -58,10 +69,10 @@
/* FIXME: Add more templates here if needed. */
self->template = grub_strdup (value);
self->text = grub_xasprintf (value, self->value);
-diff --git a/grub-core/gfxmenu/gui_list.c b/grub-core/gfxmenu/gui_list.c
-index 01477cdf2..90487aef4 100644
---- a/grub-core/gfxmenu/gui_list.c
-+++ b/grub-core/gfxmenu/gui_list.c
+Index: grub-2.04/grub-core/gfxmenu/gui_list.c
+===================================================================
+--- grub-2.04.orig/grub-core/gfxmenu/gui_list.c
++++ grub-2.04/grub-core/gfxmenu/gui_list.c
@@ -24,6 +24,7 @@
#include <grub/gfxmenu_view.h>
#include <grub/gfxwidgets.h>
@@ -104,7 +115,7 @@
/* Draw the list of items. */
static void
draw_menu (list_impl_t self, int num_shown_items)
-@@ -433,6 +461,16 @@ draw_menu (list_impl_t self, int num_shown_items)
+@@ -433,6 +461,16 @@ draw_menu (list_impl_t self, int num_sho
const char *item_title =
grub_menu_get_entry (self->view->menu, menu_index)->title;
@@ -121,10 +132,10 @@
sviewport.y = item_top + top_pad;
sviewport.width = viewport_width;
grub_gui_set_viewport (&sviewport, &svpsave);
-diff --git a/grub-core/gfxmenu/view.c b/grub-core/gfxmenu/view.c
-index ad5e82b81..7aed7faa1 100644
---- a/grub-core/gfxmenu/view.c
-+++ b/grub-core/gfxmenu/view.c
+Index: grub-2.04/grub-core/gfxmenu/view.c
+===================================================================
+--- grub-2.04.orig/grub-core/gfxmenu/view.c
++++ grub-2.04/grub-core/gfxmenu/view.c
@@ -37,6 +37,7 @@
#include <grub/gui_string_util.h>
#include <grub/icon_manager.h>
@@ -133,7 +144,7 @@
static void
init_terminal (grub_gfxmenu_view_t view);
-@@ -142,6 +143,7 @@ grub_gfxmenu_view_destroy (grub_gfxmenu_view_t view)
+@@ -142,6 +143,7 @@ grub_gfxmenu_view_destroy (grub_gfxmenu_
grub_free (view->title_text);
grub_free (view->progress_message_text);
grub_free (view->theme_path);
@@ -141,7 +152,7 @@
if (view->canvas)
view->canvas->component.ops->destroy (view->canvas);
grub_free (view);
-@@ -410,6 +412,52 @@ grub_gfxmenu_set_chosen_entry (int entry, void *data)
+@@ -410,6 +412,52 @@ grub_gfxmenu_set_chosen_entry (int entry
grub_gfxmenu_redraw_menu (view);
}
@@ -194,15 +205,14 @@
static void
grub_gfxmenu_draw_terminal_box (void)
{
-diff --git a/grub-core/normal/menu.c b/grub-core/normal/menu.c
-index e7a83c2d6..0af20d052 100644
---- a/grub-core/normal/menu.c
-+++ b/grub-core/normal/menu.c
-@@ -376,6 +376,15 @@ menu_set_chosen_entry (int entry)
- cur->set_chosen_entry (entry, cur->data);
+Index: grub-2.04/grub-core/normal/menu.c
+===================================================================
+--- grub-2.04.orig/grub-core/normal/menu.c
++++ grub-2.04/grub-core/normal/menu.c
+@@ -401,6 +401,15 @@ menu_set_chosen_entry (int entry)
}
-+static void
+ static void
+menu_scroll_chosen_entry (int diren)
+{
+ struct grub_menu_viewer *cur;
@@ -211,10 +221,11 @@
+ cur->scroll_chosen_entry (cur->data, diren);
+}
+
- static void
++static void
menu_print_timeout (int timeout)
{
-@@ -755,6 +764,13 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot)
+ struct grub_menu_viewer *cur;
+@@ -828,6 +837,13 @@ run_menu (grub_menu_t menu, int nested,
menu_set_chosen_entry (current_entry);
break;
@@ -228,10 +239,10 @@
case '\n':
case '\r':
case GRUB_TERM_KEY_RIGHT:
-diff --git a/include/grub/gfxmenu_view.h b/include/grub/gfxmenu_view.h
-index 4203c8fb9..56c0d17ae 100644
---- a/include/grub/gfxmenu_view.h
-+++ b/include/grub/gfxmenu_view.h
+Index: grub-2.04/include/grub/gfxmenu_view.h
+===================================================================
+--- grub-2.04.orig/include/grub/gfxmenu_view.h
++++ grub-2.04/include/grub/gfxmenu_view.h
@@ -61,6 +61,8 @@ void
grub_gfxmenu_print_timeout (int timeout, void *data);
void
@@ -250,10 +261,10 @@
};
#endif /* ! GRUB_GFXMENU_VIEW_HEADER */
-diff --git a/include/grub/menu_viewer.h b/include/grub/menu_viewer.h
-index c6513c4e8..5f2a39dc9 100644
---- a/include/grub/menu_viewer.h
-+++ b/include/grub/menu_viewer.h
+Index: grub-2.04/include/grub/menu_viewer.h
+===================================================================
+--- grub-2.04.orig/include/grub/menu_viewer.h
++++ grub-2.04/include/grub/menu_viewer.h
@@ -33,6 +33,7 @@ struct grub_menu_viewer
void (*set_chosen_entry) (int entry, void *data);
void (*print_timeout) (int timeout, void *data);
@@ -262,6 +273,3 @@
void (*fini) (void *fini);
};
---
-2.16.4
-
++++++ grub2-grubenv-in-btrfs-header.patch ++++++
--- /var/tmp/diff_new_pack.84M0bi/_old 2020-07-31 15:56:25.884380360 +0200
+++ /var/tmp/diff_new_pack.84M0bi/_new 2020-07-31 15:56:25.884380360 +0200
@@ -4,11 +4,16 @@
block.
v2: export env_block and make sure to use the device of grubenv
+
+v3:
+ * Use xcalloc for overflow check and return NULL when it would
+ occur.
+
---
-Index: grub-2.02/grub-core/kern/fs.c
+Index: grub-2.04/grub-core/kern/fs.c
===================================================================
---- grub-2.02.orig/grub-core/kern/fs.c
-+++ grub-2.02/grub-core/kern/fs.c
+--- grub-2.04.orig/grub-core/kern/fs.c
++++ grub-2.04/grub-core/kern/fs.c
@@ -27,6 +27,7 @@
#include <grub/mm.h>
#include <grub/term.h>
@@ -31,10 +36,10 @@
ret += size;
len -= size;
sector -= ((size + offset) >> GRUB_DISK_SECTOR_BITS);
-Index: grub-2.02/util/grub-editenv.c
+Index: grub-2.04/util/grub-editenv.c
===================================================================
---- grub-2.02.orig/util/grub-editenv.c
-+++ grub-2.02/util/grub-editenv.c
+--- grub-2.04.orig/util/grub-editenv.c
++++ grub-2.04/util/grub-editenv.c
@@ -23,8 +23,11 @@
#include <grub/util/misc.h>
#include <grub/lib/envblk.h>
@@ -207,7 +212,7 @@
}
static void
-@@ -202,6 +346,38 @@ write_envblk (const char *name, grub_env
+@@ -203,6 +347,38 @@ write_envblk (const char *name, grub_env
}
static void
@@ -246,7 +251,7 @@
set_variables (const char *name, int argc, char *argv[])
{
grub_envblk_t envblk;
-@@ -217,8 +393,27 @@ set_variables (const char *name, int arg
+@@ -218,8 +394,27 @@ set_variables (const char *name, int arg
*(p++) = 0;
@@ -276,7 +281,7 @@
argc--;
argv++;
-@@ -226,26 +421,158 @@ set_variables (const char *name, int arg
+@@ -227,26 +422,158 @@ set_variables (const char *name, int arg
write_envblk (name, envblk);
grub_envblk_close (envblk);
@@ -371,7 +376,7 @@
+ ndev++;
+ }
+
-+ grub_drives = xmalloc (sizeof (grub_drives[0]) * (ndev + 1));
++ grub_drives = xcalloc ((ndev + 1), sizeof (grub_drives[0]));
+
+ for (curdev = grub_devices, curdrive = grub_drives; *curdev; curdev++,
+ curdrive++)
@@ -435,7 +440,7 @@
int
main (int argc, char *argv[])
{
-@@ -277,6 +604,9 @@ main (int argc, char *argv[])
+@@ -278,6 +605,9 @@ main (int argc, char *argv[])
command = argv[curindex++];
}
@@ -445,10 +450,10 @@
if (strcmp (command, "create") == 0)
grub_util_create_envblk_file (filename);
else if (strcmp (command, "list") == 0)
-Index: grub-2.02/util/grub.d/00_header.in
+Index: grub-2.04/util/grub.d/00_header.in
===================================================================
---- grub-2.02.orig/util/grub.d/00_header.in
-+++ grub-2.02/util/grub.d/00_header.in
+--- grub-2.04.orig/util/grub.d/00_header.in
++++ grub-2.04/util/grub.d/00_header.in
@@ -46,6 +46,13 @@ cat << EOF
if [ -s \$prefix/grubenv ]; then
load_env
1
0
Hello community,
here is the log from the commit of package kernel-source for openSUSE:Factory checked in at 2020-07-31 15:54:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kernel-source (Old)
and /work/SRC/openSUSE:Factory/.kernel-source.new.3592 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kernel-source"
Fri Jul 31 15:54:10 2020 rev:549 rq:823353 version:5.7.11
Changes:
--------
--- /work/SRC/openSUSE:Factory/kernel-source/dtb-aarch64.changes 2020-07-20 20:58:22.364910641 +0200
+++ /work/SRC/openSUSE:Factory/.kernel-source.new.3592/dtb-aarch64.changes 2020-07-31 15:54:48.264295827 +0200
@@ -1,0 +2,760 @@
+Wed Jul 29 11:32:21 CEST 2020 - jslaby(a)suse.cz
+
+- Refresh
+ patches.suse/vgacon-fix-out-of-bounds-write-to-the-scrollback-buf.patch.
+ Update according to the latest findings.
+- commit 5015994
+
+-------------------------------------------------------------------
+Wed Jul 29 10:55:18 CEST 2020 - jslaby(a)suse.cz
+
+- Linux 5.7.11 (bnc#1012628).
+- gpio: arizona: handle pm_runtime_get_sync failure case
+ (bnc#1012628).
+- gpio: arizona: put pm_runtime in case of failure (bnc#1012628).
+- pinctrl: amd: fix npins for uart0 in kerncz_groups
+ (bnc#1012628).
+- bpf: Set the number of exception entries properly for
+ subprograms (bnc#1012628).
+- mac80211: allow rx of mesh eapol frames with default rx key
+ (bnc#1012628).
+- scsi: scsi_transport_spi: Fix function pointer check
+ (bnc#1012628).
+- xtensa: fix __sync_fetch_and_{and,or}_4 declarations
+ (bnc#1012628).
+- xtensa: update *pos in cpuinfo_op.next (bnc#1012628).
+- scsi: mpt3sas: Fix unlock imbalance (bnc#1012628).
+- drivers/net/wan/lapbether: Fixed the value of hard_header_len
+ (bnc#1012628).
+- ALSA: hda/hdmi: fix failures at PCM open on Intel ICL and later
+ (bnc#1012628).
+- net: sky2: initialize return of gm_phy_read (bnc#1012628).
+- drm/nouveau/i2c/g94-: increase NV_PMGR_DP_AUXCTL_TRANSACTREQ
+ timeout (bnc#1012628).
+- scsi: mpt3sas: Fix error returns in BRM_status_show
+ (bnc#1012628).
+- scsi: dh: Add Fujitsu device to devinfo and dh lists
+ (bnc#1012628).
+- dm: use bio_uninit instead of bio_disassociate_blkg
+ (bnc#1012628).
+- drivers/firmware/psci: Fix memory leakage in
+ alloc_init_cpu_groups() (bnc#1012628).
+- fuse: fix weird page warning (bnc#1012628).
+- irqdomain/treewide: Keep firmware node unconditionally allocated
+ (bnc#1012628).
+- drm/nouveau/nouveau: fix page fault on device private memory
+ (bnc#1012628).
+- drm/amd/display: Check DMCU Exists Before Loading (bnc#1012628).
+- drm/amd/display: add dmcub check on RENOIR (bnc#1012628).
+- SUNRPC reverting d03727b248d0 ("NFSv4 fix CLOSE not waiting
+ for direct IO compeletion") (bnc#1012628).
+- exfat: fix overflow issue in exfat_cluster_to_sector()
+ (bnc#1012628).
+- exfat: fix wrong hint_stat initialization in
+ exfat_find_dir_entry() (bnc#1012628).
+- exfat: fix wrong size update of stream entry by typo
+ (bnc#1012628).
+- exfat: fix name_hash computation on big endian systems
+ (bnc#1012628).
+- btrfs: reloc: clear DEAD_RELOC_TREE bit for orphan roots to
+ prevent runaway balance (bnc#1012628).
+- uprobes: Change handle_swbp() to send SIGTRAP with
+ si_code=SI_KERNEL, to fix GDB regression (bnc#1012628).
+- ALSA: hda/realtek: Fixed ALC298 sound bug by adding quirk for
+ Samsung Notebook Pen S (bnc#1012628).
+- ALSA: info: Drop WARN_ON() from buffer NULL sanity check
+ (bnc#1012628).
+- ASoC: rt5670: Correct RT5670_LDO_SEL_MASK (bnc#1012628).
+- ASoC: Intel: cht_bsw_rt5672: Change bus format to I2S 2 channel
+ (bnc#1012628).
+- s390/cpum_cf,perf: change DFLT_CCERROR counter name
+ (bnc#1012628).
+- btrfs: fix double free on ulist after backref resolution failure
+ (bnc#1012628).
+- btrfs: fix mount failure caused by race with umount
+ (bnc#1012628).
+- btrfs: fix page leaks after failure to lock page for delalloc
+ (bnc#1012628).
+- mt76: mt76x02: fix handling MCU timeouts during hw restart
+ (bnc#1012628).
+- efi/efivars: Expose RT service availability via efivars
+ abstraction (bnc#1012628).
+- bnxt_en: Fix race when modifying pause settings (bnc#1012628).
+- bnxt_en: Init ethtool link settings after reading updated PHY
+ configuration (bnc#1012628).
+- bnxt_en: Fix completion ring sizing with TPA enabled
+ (bnc#1012628).
+- fpga: dfl: pci: reduce the scope of variable 'ret'
+ (bnc#1012628).
+- fpga: dfl: fix bug in port reset handshake (bnc#1012628).
+- hippi: Fix a size used in a 'pci_free_consistent()' in an
+ error handling path (bnc#1012628).
+- netfilter: nf_tables: fix nat hook table deletion (bnc#1012628).
+- dpaa2-eth: check fsl_mc_get_endpoint for IS_ERR_OR_NULL()
+ (bnc#1012628).
+- vsock/virtio: annotate 'the_virtio_vsock' RCU pointer
+ (bnc#1012628).
+- ax88172a: fix ax88172a_unbind() failures (bnc#1012628).
+- RDMA/mlx5: Use xa_lock_irq when access to SRQ table
+ (bnc#1012628).
+- RDMA/core: Fix race in rdma_alloc_commit_uobject()
+ (bnc#1012628).
+- RDMA/cm: Protect access to remote_sidr_table (bnc#1012628).
+- net: fec: fix hardware time stamping by external devices
+ (bnc#1012628).
+- ASoC: Intel: bytcht_es8316: Add missed put_device()
+ (bnc#1012628).
+- net: dp83640: fix SIOCSHWTSTAMP to update the struct with
+ actual configuration (bnc#1012628).
+- ieee802154: fix one possible memleak in adf7242_probe
+ (bnc#1012628).
+- drm: sun4i: hdmi: Fix inverted HPD result (bnc#1012628).
+- net: smc91x: Fix possible memory leak in smc_drv_probe()
+ (bnc#1012628).
+- mlxsw: core: Fix wrong SFP EEPROM reading for upper pages 1-3
+ (bnc#1012628).
+- net: dsa: mv88e6xxx: fix in-band AN link establishment
+ (bnc#1012628).
+- arm64: dts: clearfog-gt-8k: fix switch link configuration
+ (bnc#1012628).
+- bonding: check error value of register_netdevice() immediately
+ (bnc#1012628).
+- iwlwifi: Make some Killer Wireless-AC 1550 cards work again
+ (bnc#1012628).
+- net: bcmgenet: fix error returns in bcmgenet_probe()
+ (bnc#1012628).
+- dpaa_eth: Fix one possible memleak in dpaa_eth_probe
+ (bnc#1012628).
+- mlxsw: destroy workqueue when trap_register in mlxsw_emad_init
+ (bnc#1012628).
+- ionic: use offset for ethtool regs data (bnc#1012628).
+- ionic: fix up filter locks and debug msgs (bnc#1012628).
+- ionic: update filter id after replay (bnc#1012628).
+- ionic: keep rss hash after fw update (bnc#1012628).
+- ionic: use mutex to protect queue operations (bnc#1012628).
+- crypto/chtls: fix tls alert messages corrupted by tls data
+ (bnc#1012628).
+- net: ag71xx: add missed clk_disable_unprepare in error path
+ of probe (bnc#1012628).
+- RDMA/mlx5: Prevent prefetch from racing with implicit
+ destruction (bnc#1012628).
+- net: hns3: fix for not calculating TX BD send size correctly
+ (bnc#1012628).
+- net: hns3: fix error handling for desc filling (bnc#1012628).
+- net: hns3: fix return value error when query MAC link status
+ fail (bnc#1012628).
+- net: dsa: microchip: call phy_remove_link_mode during probe
+ (bnc#1012628).
+- netdevsim: fix unbalaced locking in nsim_create() (bnc#1012628).
+- qed: suppress "don't support RoCE & iWARP" flooding on HW init
+ (bnc#1012628).
+- qed: suppress false-positives interrupt error messages on HW
+ init (bnc#1012628).
+- ipvs: fix the connection sync failed in some cases
+ (bnc#1012628).
+- net: ethernet: ave: Fix error returns in ave_init (bnc#1012628).
+- iommu/qcom: Use domain rather than dev as tlb cookie
+ (bnc#1012628).
+- Revert "PCI/PM: Assume ports without DLL Link Active train
+ links in 100 ms" (bnc#1012628).
+- nfsd4: fix NULL dereference in nfsd/clients display code
+ (bnc#1012628).
+- enetc: Remove the mdio bus on PF probe bailout (bnc#1012628).
+- i2c: rcar: always clear ICSAR to avoid side effects
+ (bnc#1012628).
+- i2c: i2c-qcom-geni: Fix DMA transfer race (bnc#1012628).
+- bonding: check return value of register_netdevice() in
+ bond_newlink() (bnc#1012628).
+- geneve: fix an uninitialized value in geneve_changelink()
+ (bnc#1012628).
+- serial: exar: Fix GPIO configuration for Sealevel cards based
+ on XR17V35X (bnc#1012628).
+- scripts/decode_stacktrace: strip basepath from all paths
+ (bnc#1012628).
+- scripts/gdb: fix lx-symbols 'gdb.error' while loading modules
+ (bnc#1012628).
+- RISC-V: Do not rely on initrd_start/end computed during early
+ dt parsing (bnc#1012628).
+- kbuild: fix single target builds for external modules
+ (bnc#1012628).
+- HID: i2c-hid: add Mediacom FlexBook edge13 to descriptor
+ override (bnc#1012628).
+- HID: alps: support devices with report id 2 (bnc#1012628).
+- dmaengine: ti: k3-udma: Fix cleanup code for
+ alloc_chan_resources (bnc#1012628).
+- dmaengine: ti: k3-udma: Fix the running channel handling in
+ alloc_chan_resources (bnc#1012628).
+- HID: steam: fixes race in handling device list (bnc#1012628).
+- dmaengine: ti: k3-udma: add missing put_device() call in
+ of_xudma_dev_get() (bnc#1012628).
+- dmaengine: idxd: fix hw descriptor fields for delta record
+ (bnc#1012628).
+- HID: apple: Disable Fn-key key-re-mapping on clone keyboards
+ (bnc#1012628).
+- dmaengine: tegra210-adma: Fix runtime PM imbalance on error
+ (bnc#1012628).
+- soc: amlogic: meson-gx-socinfo: Fix S905X3 and S905D3 ID's
+ (bnc#1012628).
++++ 589 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/kernel-source/dtb-aarch64.changes
++++ and /work/SRC/openSUSE:Factory/.kernel-source.new.3592/dtb-aarch64.changes
dtb-armv6l.changes: same change
dtb-armv7l.changes: same change
dtb-riscv64.changes: same change
kernel-64kb.changes: same change
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
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dtb-aarch64.spec ++++++
--- /var/tmp/diff_new_pack.QqrQoZ/_old 2020-07-31 15:55:50.516343713 +0200
+++ /var/tmp/diff_new_pack.QqrQoZ/_new 2020-07-31 15:55:50.520343717 +0200
@@ -17,7 +17,7 @@
%define srcversion 5.7
-%define patchversion 5.7.9
+%define patchversion 5.7.11
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -29,9 +29,9 @@
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: dtb-aarch64
-Version: 5.7.9
+Version: 5.7.11
%if 0%{?is_kotd}
-Release: <RELEASE>.ga010166
+Release: <RELEASE>.g5015994
%else
Release: 0
%endif
dtb-armv6l.spec: same change
dtb-armv7l.spec: same change
dtb-riscv64.spec: same change
++++++ kernel-64kb.spec ++++++
--- /var/tmp/diff_new_pack.QqrQoZ/_old 2020-07-31 15:55:50.608343808 +0200
+++ /var/tmp/diff_new_pack.QqrQoZ/_new 2020-07-31 15:55:50.612343812 +0200
@@ -18,7 +18,7 @@
%define srcversion 5.7
-%define patchversion 5.7.9
+%define patchversion 5.7.11
%define variant %{nil}
%define vanilla_only 0
%define compress_modules xz
@@ -54,6 +54,9 @@
%define config_vars CONFIG_MODULES CONFIG_MODULE_SIG CONFIG_KMSG_IDS CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB
%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar -xjf %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
%define split_extra (%CONFIG_MODULES == "y" && %CONFIG_SUSE_KERNEL_SUPPORTED == "y")
+%if %CONFIG_MODULES != "y"
+ %define klp_symbols 0
+%endif
%ifarch %ix86 x86_64
%define install_vdso 1
@@ -65,9 +68,9 @@
Summary: Kernel with 64kb PAGE_SIZE
License: GPL-2.0
Group: System/Kernel
-Version: 5.7.9
+Version: 5.7.11
%if 0%{?is_kotd}
-Release: <RELEASE>.ga010166
+Release: <RELEASE>.g5015994
%else
Release: 0
%endif
@@ -176,10 +179,10 @@
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
-Provides: kernel-%build_flavor-base-srchash-a010166ebb50275ce822855b1f8891ce1fd75291
-Provides: kernel-srchash-a010166ebb50275ce822855b1f8891ce1fd75291
+Provides: kernel-%build_flavor-base-srchash-501599469bceacc25b7494a8c45b87fefd7ea51a
+Provides: kernel-srchash-501599469bceacc25b7494a8c45b87fefd7ea51a
# END COMMON DEPS
-Provides: %name-srchash-a010166ebb50275ce822855b1f8891ce1fd75291
+Provides: %name-srchash-501599469bceacc25b7494a8c45b87fefd7ea51a
%obsolete_rebuilds %name
Source0: http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz
Source2: source-post.sh
++++++ kernel-debug.spec ++++++
--- /var/tmp/diff_new_pack.QqrQoZ/_old 2020-07-31 15:55:50.632343833 +0200
+++ /var/tmp/diff_new_pack.QqrQoZ/_new 2020-07-31 15:55:50.636343837 +0200
@@ -18,7 +18,7 @@
%define srcversion 5.7
-%define patchversion 5.7.9
+%define patchversion 5.7.11
%define variant %{nil}
%define vanilla_only 0
%define compress_modules xz
@@ -54,6 +54,9 @@
%define config_vars CONFIG_MODULES CONFIG_MODULE_SIG CONFIG_KMSG_IDS CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB
%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar -xjf %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
%define split_extra (%CONFIG_MODULES == "y" && %CONFIG_SUSE_KERNEL_SUPPORTED == "y")
+%if %CONFIG_MODULES != "y"
+ %define klp_symbols 0
+%endif
%ifarch %ix86 x86_64
%define install_vdso 1
@@ -65,9 +68,9 @@
Summary: A Debug Version of the Kernel
License: GPL-2.0
Group: System/Kernel
-Version: 5.7.9
+Version: 5.7.11
%if 0%{?is_kotd}
-Release: <RELEASE>.ga010166
+Release: <RELEASE>.g5015994
%else
Release: 0
%endif
@@ -176,10 +179,10 @@
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
-Provides: kernel-%build_flavor-base-srchash-a010166ebb50275ce822855b1f8891ce1fd75291
-Provides: kernel-srchash-a010166ebb50275ce822855b1f8891ce1fd75291
+Provides: kernel-%build_flavor-base-srchash-501599469bceacc25b7494a8c45b87fefd7ea51a
+Provides: kernel-srchash-501599469bceacc25b7494a8c45b87fefd7ea51a
# END COMMON DEPS
-Provides: %name-srchash-a010166ebb50275ce822855b1f8891ce1fd75291
+Provides: %name-srchash-501599469bceacc25b7494a8c45b87fefd7ea51a
%ifarch ppc64
Provides: kernel-kdump = 2.6.28
Obsoletes: kernel-kdump <= 2.6.28
++++++ kernel-default.spec ++++++
--- /var/tmp/diff_new_pack.QqrQoZ/_old 2020-07-31 15:55:50.660343862 +0200
+++ /var/tmp/diff_new_pack.QqrQoZ/_new 2020-07-31 15:55:50.664343866 +0200
@@ -18,7 +18,7 @@
%define srcversion 5.7
-%define patchversion 5.7.9
+%define patchversion 5.7.11
%define variant %{nil}
%define vanilla_only 0
%define compress_modules xz
@@ -54,6 +54,9 @@
%define config_vars CONFIG_MODULES CONFIG_MODULE_SIG CONFIG_KMSG_IDS CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB
%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar -xjf %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
%define split_extra (%CONFIG_MODULES == "y" && %CONFIG_SUSE_KERNEL_SUPPORTED == "y")
+%if %CONFIG_MODULES != "y"
+ %define klp_symbols 0
+%endif
%ifarch %ix86 x86_64
%define install_vdso 1
@@ -65,9 +68,9 @@
Summary: The Standard Kernel
License: GPL-2.0
Group: System/Kernel
-Version: 5.7.9
+Version: 5.7.11
%if 0%{?is_kotd}
-Release: <RELEASE>.ga010166
+Release: <RELEASE>.g5015994
%else
Release: 0
%endif
@@ -176,10 +179,10 @@
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
-Provides: kernel-%build_flavor-base-srchash-a010166ebb50275ce822855b1f8891ce1fd75291
-Provides: kernel-srchash-a010166ebb50275ce822855b1f8891ce1fd75291
+Provides: kernel-%build_flavor-base-srchash-501599469bceacc25b7494a8c45b87fefd7ea51a
+Provides: kernel-srchash-501599469bceacc25b7494a8c45b87fefd7ea51a
# END COMMON DEPS
-Provides: %name-srchash-a010166ebb50275ce822855b1f8891ce1fd75291
+Provides: %name-srchash-501599469bceacc25b7494a8c45b87fefd7ea51a
%ifarch %ix86
Provides: kernel-smp = 2.6.17
Obsoletes: kernel-smp <= 2.6.17
++++++ kernel-docs.spec ++++++
--- /var/tmp/diff_new_pack.QqrQoZ/_old 2020-07-31 15:55:50.680343883 +0200
+++ /var/tmp/diff_new_pack.QqrQoZ/_new 2020-07-31 15:55:50.684343887 +0200
@@ -17,7 +17,7 @@
%define srcversion 5.7
-%define patchversion 5.7.9
+%define patchversion 5.7.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.7.9
+Version: 5.7.11
%if 0%{?is_kotd}
-Release: <RELEASE>.ga010166
+Release: <RELEASE>.g5015994
%else
Release: 0
%endif
@@ -63,7 +63,7 @@
%endif
Url: http://www.kernel.org/
Provides: %name = %version-%source_rel
-Provides: %name-srchash-a010166ebb50275ce822855b1f8891ce1fd75291
+Provides: %name-srchash-501599469bceacc25b7494a8c45b87fefd7ea51a
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.QqrQoZ/_old 2020-07-31 15:55:50.700343903 +0200
+++ /var/tmp/diff_new_pack.QqrQoZ/_new 2020-07-31 15:55:50.704343907 +0200
@@ -18,7 +18,7 @@
%define srcversion 5.7
-%define patchversion 5.7.9
+%define patchversion 5.7.11
%define variant %{nil}
%define vanilla_only 0
%define compress_modules xz
@@ -54,6 +54,9 @@
%define config_vars CONFIG_MODULES CONFIG_MODULE_SIG CONFIG_KMSG_IDS CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB
%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar -xjf %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
%define split_extra (%CONFIG_MODULES == "y" && %CONFIG_SUSE_KERNEL_SUPPORTED == "y")
+%if %CONFIG_MODULES != "y"
+ %define klp_symbols 0
+%endif
%ifarch %ix86 x86_64
%define install_vdso 1
@@ -65,9 +68,9 @@
Summary: The Small Developer Kernel for KVM
License: GPL-2.0
Group: System/Kernel
-Version: 5.7.9
+Version: 5.7.11
%if 0%{?is_kotd}
-Release: <RELEASE>.ga010166
+Release: <RELEASE>.g5015994
%else
Release: 0
%endif
@@ -176,10 +179,10 @@
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
-Provides: kernel-%build_flavor-base-srchash-a010166ebb50275ce822855b1f8891ce1fd75291
-Provides: kernel-srchash-a010166ebb50275ce822855b1f8891ce1fd75291
+Provides: kernel-%build_flavor-base-srchash-501599469bceacc25b7494a8c45b87fefd7ea51a
+Provides: kernel-srchash-501599469bceacc25b7494a8c45b87fefd7ea51a
# END COMMON DEPS
-Provides: %name-srchash-a010166ebb50275ce822855b1f8891ce1fd75291
+Provides: %name-srchash-501599469bceacc25b7494a8c45b87fefd7ea51a
%obsolete_rebuilds %name
Source0: http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz
Source2: source-post.sh
kernel-lpae.spec: same change
++++++ kernel-obs-build.spec ++++++
--- /var/tmp/diff_new_pack.QqrQoZ/_old 2020-07-31 15:55:50.744343949 +0200
+++ /var/tmp/diff_new_pack.QqrQoZ/_new 2020-07-31 15:55:50.748343953 +0200
@@ -19,7 +19,7 @@
#!BuildIgnore: post-build-checks
-%define patchversion 5.7.9
+%define patchversion 5.7.11
%define variant %{nil}
%define vanilla_only 0
@@ -45,7 +45,7 @@
%endif
%endif
%endif
-BuildRequires: kernel%kernel_flavor-srchash-a010166ebb50275ce822855b1f8891ce1fd75291
+BuildRequires: kernel%kernel_flavor-srchash-501599469bceacc25b7494a8c45b87fefd7ea51a
%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.7.9
+Version: 5.7.11
%if 0%{?is_kotd}
-Release: <RELEASE>.ga010166
+Release: <RELEASE>.g5015994
%else
Release: 0
%endif
++++++ kernel-obs-qa.spec ++++++
--- /var/tmp/diff_new_pack.QqrQoZ/_old 2020-07-31 15:55:50.768343974 +0200
+++ /var/tmp/diff_new_pack.QqrQoZ/_new 2020-07-31 15:55:50.772343978 +0200
@@ -17,7 +17,7 @@
# needsrootforbuild
-%define patchversion 5.7.9
+%define patchversion 5.7.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.7.9
+Version: 5.7.11
%if 0%{?is_kotd}
-Release: <RELEASE>.ga010166
+Release: <RELEASE>.g5015994
%else
Release: 0
%endif
++++++ kernel-pae.spec ++++++
--- /var/tmp/diff_new_pack.QqrQoZ/_old 2020-07-31 15:55:50.792343998 +0200
+++ /var/tmp/diff_new_pack.QqrQoZ/_new 2020-07-31 15:55:50.796344003 +0200
@@ -18,7 +18,7 @@
%define srcversion 5.7
-%define patchversion 5.7.9
+%define patchversion 5.7.11
%define variant %{nil}
%define vanilla_only 0
%define compress_modules xz
@@ -54,6 +54,9 @@
%define config_vars CONFIG_MODULES CONFIG_MODULE_SIG CONFIG_KMSG_IDS CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB
%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar -xjf %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
%define split_extra (%CONFIG_MODULES == "y" && %CONFIG_SUSE_KERNEL_SUPPORTED == "y")
+%if %CONFIG_MODULES != "y"
+ %define klp_symbols 0
+%endif
%ifarch %ix86 x86_64
%define install_vdso 1
@@ -65,9 +68,9 @@
Summary: Kernel with PAE Support
License: GPL-2.0
Group: System/Kernel
-Version: 5.7.9
+Version: 5.7.11
%if 0%{?is_kotd}
-Release: <RELEASE>.ga010166
+Release: <RELEASE>.g5015994
%else
Release: 0
%endif
@@ -176,10 +179,10 @@
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
-Provides: kernel-%build_flavor-base-srchash-a010166ebb50275ce822855b1f8891ce1fd75291
-Provides: kernel-srchash-a010166ebb50275ce822855b1f8891ce1fd75291
+Provides: kernel-%build_flavor-base-srchash-501599469bceacc25b7494a8c45b87fefd7ea51a
+Provides: kernel-srchash-501599469bceacc25b7494a8c45b87fefd7ea51a
# END COMMON DEPS
-Provides: %name-srchash-a010166ebb50275ce822855b1f8891ce1fd75291
+Provides: %name-srchash-501599469bceacc25b7494a8c45b87fefd7ea51a
%ifarch %ix86
Provides: kernel-bigsmp = 2.6.17
Obsoletes: kernel-bigsmp <= 2.6.17
++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.QqrQoZ/_old 2020-07-31 15:55:50.816344024 +0200
+++ /var/tmp/diff_new_pack.QqrQoZ/_new 2020-07-31 15:55:50.816344024 +0200
@@ -18,7 +18,7 @@
%define srcversion 5.7
-%define patchversion 5.7.9
+%define patchversion 5.7.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.7.9
+Version: 5.7.11
%if 0%{?is_kotd}
-Release: <RELEASE>.ga010166
+Release: <RELEASE>.g5015994
%else
Release: 0
%endif
@@ -43,7 +43,7 @@
BuildRequires: sed
Requires(post): coreutils sed
Provides: %name = %version-%source_rel
-Provides: %name-srchash-a010166ebb50275ce822855b1f8891ce1fd75291
+Provides: %name-srchash-501599469bceacc25b7494a8c45b87fefd7ea51a
Provides: linux
Provides: multiversion(kernel)
Source0: http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz
@@ -262,6 +262,7 @@
-L "%src_install_dir"
popd
+find %{buildroot}/usr/src/linux* -type f -name '*.[ch]' -perm /0111 -exec chmod -v a-x {} +
# kernel-source and kernel-$flavor-devel are built independently, but the
# shipped sources (/usr/src/linux/) need to be older than generated files
# (/usr/src/linux-obj). We rely on the git commit timestamp to not point into
++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.QqrQoZ/_old 2020-07-31 15:55:50.840344049 +0200
+++ /var/tmp/diff_new_pack.QqrQoZ/_new 2020-07-31 15:55:50.844344052 +0200
@@ -24,10 +24,10 @@
Summary: Kernel Symbol Versions (modversions)
License: GPL-2.0
Group: Development/Sources
-Version: 5.7.9
+Version: 5.7.11
%if %using_buildservice
%if 0%{?is_kotd}
-Release: <RELEASE>.ga010166
+Release: <RELEASE>.g5015994
%else
Release: 0
%endif
@@ -52,7 +52,7 @@
%endif
Requires: pesign-obs-integration
Provides: %name = %version-%source_rel
-Provides: %name-srchash-a010166ebb50275ce822855b1f8891ce1fd75291
+Provides: %name-srchash-501599469bceacc25b7494a8c45b87fefd7ea51a
Provides: multiversion(kernel)
Source: README.KSYMS
Requires: kernel-devel%variant = %version-%source_rel
++++++ kernel-vanilla.spec ++++++
--- /var/tmp/diff_new_pack.QqrQoZ/_old 2020-07-31 15:55:50.860344069 +0200
+++ /var/tmp/diff_new_pack.QqrQoZ/_new 2020-07-31 15:55:50.860344069 +0200
@@ -18,7 +18,7 @@
%define srcversion 5.7
-%define patchversion 5.7.9
+%define patchversion 5.7.11
%define variant %{nil}
%define vanilla_only 0
%define compress_modules xz
@@ -54,6 +54,9 @@
%define config_vars CONFIG_MODULES CONFIG_MODULE_SIG CONFIG_KMSG_IDS CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB
%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar -xjf %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
%define split_extra (%CONFIG_MODULES == "y" && %CONFIG_SUSE_KERNEL_SUPPORTED == "y")
+%if %CONFIG_MODULES != "y"
+ %define klp_symbols 0
+%endif
%ifarch %ix86 x86_64
%define install_vdso 1
@@ -65,9 +68,9 @@
Summary: The Standard Kernel - without any SUSE patches
License: GPL-2.0
Group: System/Kernel
-Version: 5.7.9
+Version: 5.7.11
%if 0%{?is_kotd}
-Release: <RELEASE>.ga010166
+Release: <RELEASE>.g5015994
%else
Release: 0
%endif
@@ -176,10 +179,10 @@
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
-Provides: kernel-%build_flavor-base-srchash-a010166ebb50275ce822855b1f8891ce1fd75291
-Provides: kernel-srchash-a010166ebb50275ce822855b1f8891ce1fd75291
+Provides: kernel-%build_flavor-base-srchash-501599469bceacc25b7494a8c45b87fefd7ea51a
+Provides: kernel-srchash-501599469bceacc25b7494a8c45b87fefd7ea51a
# END COMMON DEPS
-Provides: %name-srchash-a010166ebb50275ce822855b1f8891ce1fd75291
+Provides: %name-srchash-501599469bceacc25b7494a8c45b87fefd7ea51a
%obsolete_rebuilds %name
Source0: http://www.kernel.org/pub/linux/kernel/v5.x/linux-%srcversion.tar.xz
Source2: source-post.sh
kernel-zfcpdump.spec: same change
++++++ kernel-binary.spec.in ++++++
--- /var/tmp/diff_new_pack.QqrQoZ/_old 2020-07-31 15:55:51.212344434 +0200
+++ /var/tmp/diff_new_pack.QqrQoZ/_new 2020-07-31 15:55:51.212344434 +0200
@@ -54,6 +54,9 @@
%define config_vars CONFIG_MODULES CONFIG_MODULE_SIG CONFIG_KMSG_IDS CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB
%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar -xjf %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
%define split_extra (%CONFIG_MODULES == "y" && %CONFIG_SUSE_KERNEL_SUPPORTED == "y")
+%if %CONFIG_MODULES != "y"
+ %define klp_symbols 0
+%endif
%ifarch %ix86 x86_64
%define install_vdso 1
++++++ kernel-source.spec.in ++++++
--- /var/tmp/diff_new_pack.QqrQoZ/_old 2020-07-31 15:55:51.368344595 +0200
+++ /var/tmp/diff_new_pack.QqrQoZ/_new 2020-07-31 15:55:51.372344600 +0200
@@ -262,6 +262,7 @@
-L "%src_install_dir"
popd
+find %{buildroot}/usr/src/linux* -type f -name '*.[ch]' -perm /0111 -exec chmod -v a-x {} +
# kernel-source and kernel-$flavor-devel are built independently, but the
# shipped sources (/usr/src/linux/) need to be older than generated files
# (/usr/src/linux-obj). We rely on the git commit timestamp to not point into
++++++ patches.kernel.org.tar.bz2 ++++++
++++ 33058 lines of diff (skipped)
++++++ patches.suse.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/Bluetooth-Consolidate-encryption-handling-in-hci_enc.patch new/patches.suse/Bluetooth-Consolidate-encryption-handling-in-hci_enc.patch
--- old/patches.suse/Bluetooth-Consolidate-encryption-handling-in-hci_enc.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.suse/Bluetooth-Consolidate-encryption-handling-in-hci_enc.patch 2020-07-29 11:32:21.000000000 +0200
@@ -0,0 +1,101 @@
+From: Luiz Augusto von Dentz <luiz.von.dentz(a)intel.com>
+Date: Tue, 19 May 2020 13:25:19 -0700
+Subject: [PATCH 1/3] Bluetooth: Consolidate encryption handling in
+ hci_encrypt_cfm
+Patch-mainline: v5.8-rc1
+Git-commit: 3ca44c16b0dcc764b641ee4ac226909f5c421aa3
+References: bsc#1171988 CVE-2020-10135
+
+This makes hci_encrypt_cfm calls hci_connect_cfm in case the connection
+state is BT_CONFIG so callers don't have to check the state.
+
+Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz(a)intel.com>
+Signed-off-by: Marcel Holtmann <marcel(a)holtmann.org>
+Acked-by: Cho, Yu-Chen <acho(a)suse.com>
+---
+ include/net/bluetooth/hci_core.h | 20 ++++++++++++++++++--
+ net/bluetooth/hci_event.c | 28 +++-------------------------
+ 2 files changed, 21 insertions(+), 27 deletions(-)
+
+--- a/include/net/bluetooth/hci_core.h
++++ b/include/net/bluetooth/hci_core.h
+@@ -1364,10 +1364,26 @@ static inline void hci_auth_cfm(struct h
+ conn->security_cfm_cb(conn, status);
+ }
+
+-static inline void hci_encrypt_cfm(struct hci_conn *conn, __u8 status,
+- __u8 encrypt)
++static inline void hci_encrypt_cfm(struct hci_conn *conn, __u8 status)
+ {
+ struct hci_cb *cb;
++ __u8 encrypt;
++
++ if (conn->state == BT_CONFIG) {
++ if (status)
++ conn->state = BT_CONNECTED;
++
++ hci_connect_cfm(conn, status);
++ hci_conn_drop(conn);
++ return;
++ }
++
++ if (!test_bit(HCI_CONN_ENCRYPT, &conn->flags))
++ encrypt = 0x00;
++ else if (test_bit(HCI_CONN_AES_CCM, &conn->flags))
++ encrypt = 0x02;
++ else
++ encrypt = 0x01;
+
+ if (conn->sec_level == BT_SECURITY_SDP)
+ conn->sec_level = BT_SECURITY_LOW;
+--- a/net/bluetooth/hci_event.c
++++ b/net/bluetooth/hci_event.c
+@@ -2890,7 +2890,7 @@ static void hci_auth_complete_evt(struct
+ &cp);
+ } else {
+ clear_bit(HCI_CONN_ENCRYPT_PEND, &conn->flags);
+- hci_encrypt_cfm(conn, ev->status, 0x00);
++ hci_encrypt_cfm(conn, ev->status);
+ }
+ }
+
+@@ -2975,22 +2975,7 @@ static void read_enc_key_size_complete(s
+ conn->enc_key_size = rp->key_size;
+ }
+
+- if (conn->state == BT_CONFIG) {
+- conn->state = BT_CONNECTED;
+- hci_connect_cfm(conn, 0);
+- hci_conn_drop(conn);
+- } else {
+- u8 encrypt;
+-
+- if (!test_bit(HCI_CONN_ENCRYPT, &conn->flags))
+- encrypt = 0x00;
+- else if (test_bit(HCI_CONN_AES_CCM, &conn->flags))
+- encrypt = 0x02;
+- else
+- encrypt = 0x01;
+-
+- hci_encrypt_cfm(conn, 0, encrypt);
+- }
++ hci_encrypt_cfm(conn, 0);
+
+ unlock:
+ hci_dev_unlock(hdev);
+@@ -3108,14 +3093,7 @@ static void hci_encrypt_change_evt(struc
+ }
+
+ notify:
+- if (conn->state == BT_CONFIG) {
+- if (!ev->status)
+- conn->state = BT_CONNECTED;
+-
+- hci_connect_cfm(conn, ev->status);
+- hci_conn_drop(conn);
+- } else
+- hci_encrypt_cfm(conn, ev->status, ev->encrypt);
++ hci_encrypt_cfm(conn, ev->status);
+
+ unlock:
+ hci_dev_unlock(hdev);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/Bluetooth-Disconnect-if-E0-is-used-for-Level-4.patch new/patches.suse/Bluetooth-Disconnect-if-E0-is-used-for-Level-4.patch
--- old/patches.suse/Bluetooth-Disconnect-if-E0-is-used-for-Level-4.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.suse/Bluetooth-Disconnect-if-E0-is-used-for-Level-4.patch 2020-07-29 11:32:21.000000000 +0200
@@ -0,0 +1,141 @@
+From: Luiz Augusto von Dentz <luiz.von.dentz(a)intel.com>
+Date: Wed, 20 May 2020 14:20:14 -0700
+Subject: [PATCH 2/3] Bluetooth: Disconnect if E0 is used for Level 4
+Patch-mainline: Queued in subsystem maintainer repository
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git
+Git-commit: 8746f135bb01872ff412d408ea1aa9ebd328c1f5
+References: bsc#1171988 CVE-2020-10135
+
+E0 is not allowed with Level 4:
+
+BLUETOOTH CORE SPECIFICATION Version 5.2 | Vol 3, Part C page 1319:
+
+ '128-bit equivalent strength for link and encryption keys
+ required using FIPS approved algorithms (E0 not allowed,
+ SAFER+ not allowed, and P-192 not allowed; encryption key
+ not shortened'
+
+SC enabled:
+
+> HCI Event: Read Remote Extended Features (0x23) plen 13
+ Status: Success (0x00)
+ Handle: 256
+ Page: 1/2
+ Features: 0x0b 0x00 0x00 0x00 0x00 0x00 0x00 0x00
+ Secure Simple Pairing (Host Support)
+ LE Supported (Host)
+ Secure Connections (Host Support)
+> HCI Event: Encryption Change (0x08) plen 4
+ Status: Success (0x00)
+ Handle: 256
+ Encryption: Enabled with AES-CCM (0x02)
+
+SC disabled:
+
+> HCI Event: Read Remote Extended Features (0x23) plen 13
+ Status: Success (0x00)
+ Handle: 256
+ Page: 1/2
+ Features: 0x03 0x00 0x00 0x00 0x00 0x00 0x00 0x00
+ Secure Simple Pairing (Host Support)
+ LE Supported (Host)
+> HCI Event: Encryption Change (0x08) plen 4
+ Status: Success (0x00)
+ Handle: 256
+ Encryption: Enabled with E0 (0x01)
+[May 8 20:23] Bluetooth: hci0: Invalid security: expect AES but E0 was used
+< HCI Command: Disconnect (0x01|0x0006) plen 3
+ Handle: 256
+ Reason: Authentication Failure (0x05)
+
+Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz(a)intel.com>
+Acked-by: Cho, Yu-Chen <acho(a)suse.com>
+---
+ include/net/bluetooth/hci_core.h | 10 ++++++----
+ net/bluetooth/hci_conn.c | 17 +++++++++++++++++
+ net/bluetooth/hci_event.c | 20 ++++++++------------
+ 3 files changed, 31 insertions(+), 16 deletions(-)
+
+--- a/include/net/bluetooth/hci_core.h
++++ b/include/net/bluetooth/hci_core.h
+@@ -1385,11 +1385,13 @@ static inline void hci_encrypt_cfm(struc
+ else
+ encrypt = 0x01;
+
+- if (conn->sec_level == BT_SECURITY_SDP)
+- conn->sec_level = BT_SECURITY_LOW;
++ if (!status) {
++ if (conn->sec_level == BT_SECURITY_SDP)
++ conn->sec_level = BT_SECURITY_LOW;
+
+- if (conn->pending_sec_level > conn->sec_level)
+- conn->sec_level = conn->pending_sec_level;
++ if (conn->pending_sec_level > conn->sec_level)
++ conn->sec_level = conn->pending_sec_level;
++ }
+
+ mutex_lock(&hci_cb_list_lock);
+ list_for_each_entry(cb, &hci_cb_list, list) {
+--- a/net/bluetooth/hci_conn.c
++++ b/net/bluetooth/hci_conn.c
+@@ -1308,6 +1308,23 @@ int hci_conn_check_link_mode(struct hci_
+ return 0;
+ }
+
++ /* AES encryption is required for Level 4:
++ *
++ * BLUETOOTH CORE SPECIFICATION Version 5.2 | Vol 3, Part C
++ * page 1319:
++ *
++ * 128-bit equivalent strength for link and encryption keys
++ * required using FIPS approved algorithms (E0 not allowed,
++ * SAFER+ not allowed, and P-192 not allowed; encryption key
++ * not shortened)
++ */
++ if (conn->sec_level == BT_SECURITY_FIPS &&
++ !test_bit(HCI_CONN_AES_CCM, &conn->flags)) {
++ bt_dev_err(conn->hdev,
++ "Invalid security: Missing AES-CCM usage");
++ return 0;
++ }
++
+ if (hci_conn_ssp_enabled(conn) &&
+ !test_bit(HCI_CONN_ENCRYPT, &conn->flags))
+ return 0;
+--- a/net/bluetooth/hci_event.c
++++ b/net/bluetooth/hci_event.c
+@@ -3024,26 +3024,22 @@ static void hci_encrypt_change_evt(struc
+
+ clear_bit(HCI_CONN_ENCRYPT_PEND, &conn->flags);
+
++ /* Check link security requirements are met */
++ if (!hci_conn_check_link_mode(conn))
++ ev->status = HCI_ERROR_AUTH_FAILURE;
++
+ if (ev->status && conn->state == BT_CONNECTED) {
+ if (ev->status == HCI_ERROR_PIN_OR_KEY_MISSING)
+ set_bit(HCI_CONN_AUTH_FAILURE, &conn->flags);
+
++ /* Notify upper layers so they can cleanup before
++ * disconnecting.
++ */
++ hci_encrypt_cfm(conn, ev->status);
+ hci_disconnect(conn, HCI_ERROR_AUTH_FAILURE);
+ hci_conn_drop(conn);
+ goto unlock;
+ }
+-
+- /* In Secure Connections Only mode, do not allow any connections
+- * that are not encrypted with AES-CCM using a P-256 authenticated
+- * combination key.
+- */
+- if (hci_dev_test_flag(hdev, HCI_SC_ONLY) &&
+- (!test_bit(HCI_CONN_AES_CCM, &conn->flags) ||
+- conn->key_type != HCI_LK_AUTH_COMBINATION_P256)) {
+- hci_connect_cfm(conn, HCI_ERROR_AUTH_FAILURE);
+- hci_conn_drop(conn);
+- goto unlock;
+- }
+
+ /* Try reading the encryption key size for encrypted ACL links */
+ if (!ev->status && ev->encrypt && conn->type == ACL_LINK) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/btrfs-btrfs-use-the-new-VFS-super_block_dev.patch new/patches.suse/btrfs-btrfs-use-the-new-VFS-super_block_dev.patch
--- old/patches.suse/btrfs-btrfs-use-the-new-VFS-super_block_dev.patch 2020-07-16 11:40:08.000000000 +0200
+++ new/patches.suse/btrfs-btrfs-use-the-new-VFS-super_block_dev.patch 2020-07-29 11:32:21.000000000 +0200
@@ -12,15 +12,15 @@
Signed-off-by: Filipe Manana <fdmanana(a)suse.com>
fdmanana: fix for running qgroup sanity tests
---
- fs/btrfs/ctree.h | 7 ++-----
- fs/btrfs/disk-io.c | 7 +++----
- fs/btrfs/inode.c | 2 +-
- fs/btrfs/super.c | 2 +-
+ fs/btrfs/ctree.h | 7 ++-----
+ fs/btrfs/disk-io.c | 7 +++----
+ fs/btrfs/inode.c | 2 +-
+ fs/btrfs/super.c | 2 +-
4 files changed, 7 insertions(+), 11 deletions(-)
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
-@@ -1075,11 +1075,8 @@ struct btrfs_root {
+@@ -1077,11 +1077,8 @@ struct btrfs_root {
* protected by inode_lock
*/
struct radix_tree_root delayed_nodes_tree;
@@ -36,7 +36,7 @@
refcount_t refs;
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
-@@ -1149,9 +1149,9 @@ static void __setup_root(struct btrfs_root *root, struct btrfs_fs_info *fs_info,
+@@ -1152,9 +1152,9 @@ static void __setup_root(struct btrfs_ro
else
root->defrag_trans_start = 0;
root->root_key.objectid = objectid;
@@ -47,7 +47,7 @@
btrfs_qgroup_init_swapped_blocks(&root->swapped_blocks);
#ifdef CONFIG_BTRFS_DEBUG
INIT_LIST_HEAD(&root->leak_list);
-@@ -1429,7 +1429,7 @@ static int btrfs_init_fs_root(struct btrfs_root *root)
+@@ -1432,7 +1432,7 @@ static int btrfs_init_fs_root(struct btr
spin_lock_init(&root->ino_cache_lock);
init_waitqueue_head(&root->ino_cache_wait);
@@ -56,10 +56,10 @@
if (ret)
goto fail;
-@@ -1995,8 +1995,7 @@ void btrfs_put_root(struct btrfs_root *root)
-
+@@ -1999,8 +1999,7 @@ void btrfs_put_root(struct btrfs_root *r
if (refcount_dec_and_test(&root->refs)) {
WARN_ON(!RB_EMPTY_ROOT(&root->inode_tree));
+ WARN_ON(test_bit(BTRFS_ROOT_DEAD_RELOC_TREE, &root->state));
- if (root->anon_dev)
- free_anon_bdev(root->anon_dev);
+ remove_anon_sbdev(&root->sbdev);
@@ -68,7 +68,7 @@
free_extent_buffer(root->commit_root);
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
-@@ -9027,7 +9027,7 @@ static int btrfs_getattr(const struct path *path, struct kstat *stat,
+@@ -9102,7 +9102,7 @@ static int btrfs_getattr(const struct pa
STATX_ATTR_NODUMP);
generic_fillattr(inode, stat);
@@ -79,7 +79,7 @@
delalloc_bytes = BTRFS_I(inode)->new_delalloc_bytes;
--- a/fs/btrfs/super.c
+++ b/fs/btrfs/super.c
-@@ -2330,7 +2330,7 @@ static int btrfs_show_devname(struct seq_file *m, struct dentry *root)
+@@ -2330,7 +2330,7 @@ static int btrfs_show_devname(struct seq
static dev_t btrfs_get_inode_dev(const struct inode *inode)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/net-ethernet-mvneta-Add-back-interface-mode-validati.patch new/patches.suse/net-ethernet-mvneta-Add-back-interface-mode-validati.patch
--- old/patches.suse/net-ethernet-mvneta-Add-back-interface-mode-validati.patch 2020-07-16 11:40:08.000000000 +0200
+++ new/patches.suse/net-ethernet-mvneta-Add-back-interface-mode-validati.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,74 +0,0 @@
-From: Sascha Hauer <s.hauer(a)pengutronix.de>
-Date: Wed, 24 Jun 2020 09:00:45 +0200
-Subject: net: ethernet: mvneta: Add back interface mode validation
-Git-commit: 41c2b6b4f0f807803bb49f65835d136941a70f85
-Patch-mainline: 5.8-rc3
-References: git-fixes
-
-When writing the serdes configuration register was moved to
-mvneta_config_interface() the whole code block was removed from
-mvneta_port_power_up() in the assumption that its only purpose was to
-write the serdes configuration register. As mentioned by Russell King
-its purpose was also to check for valid interface modes early so that
-later in the driver we do not have to care for unexpected interface
-modes.
-Add back the test to let the driver bail out early on unhandled
-interface modes.
-
-Fixes: b4748553f53f ("net: ethernet: mvneta: Fix Serdes configuration for SoCs without comphy")
-Signed-off-by: Sascha Hauer <s.hauer(a)pengutronix.de>
-Reviewed-by: Russell King <rmk+kernel(a)armlinux.org.uk>
-Signed-off-by: David S. Miller <davem(a)davemloft.net>
-Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
----
- drivers/net/ethernet/marvell/mvneta.c | 22 +++++++++++++++++++---
- 1 file changed, 19 insertions(+), 3 deletions(-)
-
---- a/drivers/net/ethernet/marvell/mvneta.c
-+++ b/drivers/net/ethernet/marvell/mvneta.c
-@@ -5003,10 +5003,18 @@ static void mvneta_conf_mbus_windows(str
- }
-
- /* Power up the port */
--static void mvneta_port_power_up(struct mvneta_port *pp, int phy_mode)
-+static int mvneta_port_power_up(struct mvneta_port *pp, int phy_mode)
- {
- /* MAC Cause register should be cleared */
- mvreg_write(pp, MVNETA_UNIT_INTR_CAUSE, 0);
-+
-+ if (phy_mode != PHY_INTERFACE_MODE_QSGMII &&
-+ phy_mode != PHY_INTERFACE_MODE_SGMII &&
-+ !phy_interface_mode_is_8023z(phy_mode) &&
-+ !phy_interface_mode_is_rgmii(phy_mode))
-+ return -EINVAL;
-+
-+ return 0;
- }
-
- /* Device initialization routine */
-@@ -5192,7 +5200,11 @@ static int mvneta_probe(struct platform_
- if (err < 0)
- goto err_netdev;
-
-- mvneta_port_power_up(pp, phy_mode);
-+ err = mvneta_port_power_up(pp, pp->phy_interface);
-+ if (err < 0) {
-+ dev_err(&pdev->dev, "can't power up port\n");
-+ return err;
-+ }
-
- /* Armada3700 network controller does not support per-cpu
- * operation, so only single NAPI should be initialized.
-@@ -5346,7 +5358,11 @@ static int mvneta_resume(struct device *
- }
- }
- mvneta_defaults_set(pp);
-- mvneta_port_power_up(pp, pp->phy_interface);
-+ err = mvneta_port_power_up(pp, pp->phy_interface);
-+ if (err < 0) {
-+ dev_err(device, "can't power up port\n");
-+ return err;
-+ }
-
- netif_device_attach(dev);
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/net-ethernet-mvneta-Do-not-error-out-in-non-serdes-m.patch new/patches.suse/net-ethernet-mvneta-Do-not-error-out-in-non-serdes-m.patch
--- old/patches.suse/net-ethernet-mvneta-Do-not-error-out-in-non-serdes-m.patch 2020-07-16 11:40:08.000000000 +0200
+++ new/patches.suse/net-ethernet-mvneta-Do-not-error-out-in-non-serdes-m.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,37 +0,0 @@
-From: Sascha Hauer <s.hauer(a)pengutronix.de>
-Date: Wed, 24 Jun 2020 09:00:44 +0200
-Subject: net: ethernet: mvneta: Do not error out in non serdes modes
-Git-commit: d3d239dcb8aae6d7b10642d292b404e57604f7ea
-Patch-mainline: 5.8-rc3
-References: git-fixes
-
-In mvneta_config_interface() the RGMII modes are catched by the default
-case which is an error return. The RGMII modes are valid modes for the
-driver, so instead of returning an error add a break statement to return
-successfully.
-
-This avoids this warning for non comphy SoCs which use RGMII, like
-SolidRun Clearfog:
-
-WARNING: CPU: 0 PID: 268 at drivers/net/ethernet/marvell/mvneta.c:3512 mvneta_start_dev+0x220/0x23c
-
-Fixes: b4748553f53f ("net: ethernet: mvneta: Fix Serdes configuration for SoCs without comphy")
-Signed-off-by: Sascha Hauer <s.hauer(a)pengutronix.de>
-Reviewed-by: Russell King <rmk+kernel(a)armlinux.org.uk>
-Signed-off-by: David S. Miller <davem(a)davemloft.net>
-Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
----
- drivers/net/ethernet/marvell/mvneta.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/drivers/net/ethernet/marvell/mvneta.c
-+++ b/drivers/net/ethernet/marvell/mvneta.c
-@@ -3565,7 +3565,7 @@ static int mvneta_config_interface(struc
- MVNETA_HSGMII_SERDES_PROTO);
- break;
- default:
-- return -EINVAL;
-+ break;
- }
- }
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/scsi-qla2xxx-make-1-bit-bit-fields-unsigned-int.patch new/patches.suse/scsi-qla2xxx-make-1-bit-bit-fields-unsigned-int.patch
--- old/patches.suse/scsi-qla2xxx-make-1-bit-bit-fields-unsigned-int.patch 2020-07-16 11:40:08.000000000 +0200
+++ new/patches.suse/scsi-qla2xxx-make-1-bit-bit-fields-unsigned-int.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,35 +0,0 @@
-From: Colin Ian King <colin.king(a)canonical.com>
-Date: Tue, 28 Apr 2020 11:20:13 +0100
-Subject: scsi: qla2xxx: make 1-bit bit-fields unsigned int
-Git-commit: 78b874b7cbf09fbfadfa5f18a347ebef7bbb49fe
-Patch-mainline: 5.8-rc1
-References: git-fixes
-
-The bitfields mpi_fw_dump_reading and mpi_fw_dumped are currently signed
-which is not recommended as the representation is an implementation defined
-behaviour. Fix this by making the bit-fields unsigned ints.
-
-Link: https://lore.kernel.org/r/20200428102013.1040598-1-colin.king@canonical.com
-Fixes: cbb01c2f2f63 ("scsi: qla2xxx: Fix MPI failure AEN (8200) handling")
-Reviewed-by: Bart Van Assche <bvanassche(a)acm.org>
-Reviewed-by: Himanshu Madhani <himanshu.madhani(a)oracle.com>
-Signed-off-by: Colin Ian King <colin.king(a)canonical.com>
-Signed-off-by: Martin K. Petersen <martin.petersen(a)oracle.com>
-Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
----
- drivers/scsi/qla2xxx/qla_def.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/drivers/scsi/qla2xxx/qla_def.h
-+++ b/drivers/scsi/qla2xxx/qla_def.h
-@@ -4248,8 +4248,8 @@ struct qla_hw_data {
- int fw_dump_reading;
- void *mpi_fw_dump;
- u32 mpi_fw_dump_len;
-- int mpi_fw_dump_reading:1;
-- int mpi_fw_dumped:1;
-+ unsigned int mpi_fw_dump_reading:1;
-+ unsigned int mpi_fw_dumped:1;
- int prev_minidump_failed;
- dma_addr_t eft_dma;
- void *eft;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/spi-spi-fsl-dspi-Fix-lockup-if-device-is-shutdown-du.patch new/patches.suse/spi-spi-fsl-dspi-Fix-lockup-if-device-is-shutdown-du.patch
--- old/patches.suse/spi-spi-fsl-dspi-Fix-lockup-if-device-is-shutdown-du.patch 2020-07-16 11:40:08.000000000 +0200
+++ new/patches.suse/spi-spi-fsl-dspi-Fix-lockup-if-device-is-shutdown-du.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,53 +0,0 @@
-From: Krzysztof Kozlowski <krzk(a)kernel.org>
-Date: Mon, 22 Jun 2020 13:05:41 +0200
-Subject: spi: spi-fsl-dspi: Fix lockup if device is shutdown during SPI
- transfer
-Git-commit: 3c525b69e8c1a9a6944e976603c7a1a713e728f9
-Patch-mainline: 5.8-rc4
-References: git-fixes
-
-During shutdown, the driver should unregister the SPI controller
-and stop the hardware. Otherwise the dspi_transfer_one_message() could
-wait on completion infinitely.
-
-Additionally, calling spi_unregister_controller() first in device
-shutdown reverse-matches the probe function, where SPI controller is
-registered at the end.
-
-Fixes: dc234825997e ("spi: spi-fsl-dspi: Adding shutdown hook")
-Reported-by: Vladimir Oltean <olteanv(a)gmail.com>
-Signed-off-by: Krzysztof Kozlowski <krzk(a)kernel.org>
-Tested-by: Vladimir Oltean <vladimir.oltean(a)nxp.com>
-Reviewed-by: Vladimir Oltean <vladimir.oltean(a)nxp.com>
-Cc: <stable(a)vger.kernel.org>
-Link: https://lore.kernel.org/r/20200622110543.5035-2-krzk@kernel.org
-Signed-off-by: Mark Brown <broonie(a)kernel.org>
-Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
----
- drivers/spi/spi-fsl-dspi.c | 15 +--------------
- 1 file changed, 1 insertion(+), 14 deletions(-)
-
---- a/drivers/spi/spi-fsl-dspi.c
-+++ b/drivers/spi/spi-fsl-dspi.c
-@@ -1461,20 +1461,7 @@ static int dspi_remove(struct platform_d
-
- static void dspi_shutdown(struct platform_device *pdev)
- {
-- struct spi_controller *ctlr = platform_get_drvdata(pdev);
-- struct fsl_dspi *dspi = spi_controller_get_devdata(ctlr);
--
-- /* Disable RX and TX */
-- regmap_update_bits(dspi->regmap, SPI_MCR,
-- SPI_MCR_DIS_TXF | SPI_MCR_DIS_RXF,
-- SPI_MCR_DIS_TXF | SPI_MCR_DIS_RXF);
--
-- /* Stop Running */
-- regmap_update_bits(dspi->regmap, SPI_MCR, SPI_MCR_HALT, SPI_MCR_HALT);
--
-- dspi_release_dma(dspi);
-- clk_disable_unprepare(dspi->clk);
-- spi_unregister_controller(dspi->ctlr);
-+ dspi_remove(pdev);
- }
-
- static struct platform_driver fsl_dspi_driver = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/vgacon-fix-out-of-bounds-write-to-the-scrollback-buf.patch new/patches.suse/vgacon-fix-out-of-bounds-write-to-the-scrollback-buf.patch
--- old/patches.suse/vgacon-fix-out-of-bounds-write-to-the-scrollback-buf.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.suse/vgacon-fix-out-of-bounds-write-to-the-scrollback-buf.patch 2020-07-29 11:32:21.000000000 +0200
@@ -0,0 +1,94 @@
+From: Jiri Slaby <jslaby(a)suse.cz>
+Date: Tue, 28 Jul 2020 10:47:06 +0200
+Subject: vgacon: fix out of bounds write to the scrollback buffer
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+Patch-mainline: submitted 2020/07/28
+References: bsc#1174205 CVE-2020-14331
+
+The current vgacon's scroll up implementation uses a circural buffer
+in vgacon_scrollback_cur. It always advances tail to prepare it for the
+next write and caps it to zero if the next ->vc_size_row bytes won't fit.
+
+But when we change the VT size (e.g. by VT_RESIZE) in the meantime, the new
+line might not fit to the end of the scrollback buffer in the next
+attempt to scroll. This leads to various crashes as
+vgacon_scrollback_update writes out of the buffer:
+ BUG: unable to handle page fault for address: ffffc900001752a0
+ #PF: supervisor write access in kernel mode
+ #PF: error_code(0x0002) - not-present page
+ RIP: 0010:mutex_unlock+0x13/0x30
+...
+ Call Trace:
+ n_tty_write+0x1a0/0x4d0
+ tty_write+0x1a0/0x2e0
+
+Or to KASAN reports:
+BUG: KASAN: slab-out-of-bounds in vgacon_scroll+0x57a/0x8ed
+
+So check whether the line fits in the buffer and wrap if needed. Do it
+in the loop as the tail is checked there, but too late.
+
+Also, we do not split the write of a line into chunks as that would
+break the consumers of the buffer. They expect ->cnt, ->tail and ->size
+to be in harmony and advanced by ->vc_size_row.
+
+I found few reports of this in the past, some with patches included,
+some even 2 years old:
+https://lore.kernel.org/lkml/CAEAjamsJnG-=TSOwgRbbb3B9Z-PA63oWmNPoKYWQ=Z=+X49akg@mail.gmail.com/
+https://lore.kernel.org/lkml/1589336932-35508-1-git-send-email-yangyingliang@huawei.com/
+
+This fixes CVE-2020-14331.
+
+Big thanks to guys mentioned in the Reported-and-debugged-by lines below
+who actually found the root cause.
+
+Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
+Reported-and-debugged-by: 张云海 <zhangyunhai(a)nsfocus.com>
+Reported-and-debugged-by: Yang Yingliang <yangyingliang(a)huawei.com>
+Reported-by: Kyungtae Kim <kt0755(a)gmail.com>
+Fixes: 15bdab959c9b ([PATCH] vgacon: Add support for soft scrollback)
+Cc: Linus Torvalds <torvalds(a)linux-foundation.org>
+Cc: Greg KH <greg(a)kroah.com>
+Cc: Solar Designer <solar(a)openwall.com>
+Cc: "Srivatsa S. Bhat" <srivatsa(a)csail.mit.edu>
+Cc: Anthony Liguori <aliguori(a)amazon.com>
+Cc: Security Officers <security(a)kernel.org>
+Cc: linux-distros(a)vs.openwall.org
+Cc: Yang Yingliang <yangyingliang(a)huawei.com>
+Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie(a)samsung.com>
+Cc: dri-devel(a)lists.freedesktop.org
+Cc: linux-fbdev(a)vger.kernel.org
+---
+ drivers/video/console/vgacon.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/video/console/vgacon.c b/drivers/video/console/vgacon.c
+index f0f3d573f848..3fdafe7115db 100644
+--- a/drivers/video/console/vgacon.c
++++ b/drivers/video/console/vgacon.c
+@@ -251,6 +251,10 @@ static void vgacon_scrollback_update(struct vc_data *c, int t, int count)
+ p = (void *) (c->vc_origin + t * c->vc_size_row);
+
+ while (count--) {
++ if ((vgacon_scrollback_cur->tail + c->vc_size_row) >
++ vgacon_scrollback_cur->size)
++ vgacon_scrollback_cur->tail = 0;
++
+ scr_memcpyw(vgacon_scrollback_cur->data +
+ vgacon_scrollback_cur->tail,
+ p, c->vc_size_row);
+@@ -259,9 +263,6 @@ static void vgacon_scrollback_update(struct vc_data *c, int t, int count)
+ p += c->vc_size_row;
+ vgacon_scrollback_cur->tail += c->vc_size_row;
+
+- if (vgacon_scrollback_cur->tail >= vgacon_scrollback_cur->size)
+- vgacon_scrollback_cur->tail = 0;
+-
+ if (vgacon_scrollback_cur->cnt > vgacon_scrollback_cur->rows)
+ vgacon_scrollback_cur->cnt = vgacon_scrollback_cur->rows;
+
+--
+2.28.0
+
++++++ series.conf ++++++
--- /var/tmp/diff_new_pack.QqrQoZ/_old 2020-07-31 15:55:52.784346063 +0200
+++ /var/tmp/diff_new_pack.QqrQoZ/_new 2020-07-31 15:55:52.784346063 +0200
@@ -1623,6 +1623,428 @@
patches.kernel.org/5.7.9-166-s390-Change-s390_kernel_write-return-type-to-m…
patches.kernel.org/5.7.9-167-s390-maccess-add-no-DAT-mode-to-kernel_write.p…
patches.kernel.org/5.7.9-168-Linux-5.7.9.patch
+ patches.kernel.org/5.7.10-001-bridge-mcast-Fix-MLD2-Report-IPv6-payload-len…
+ patches.kernel.org/5.7.10-002-genetlink-remove-genl_bind.patch
+ patches.kernel.org/5.7.10-003-ipv4-fill-fl4_icmp_-type-code-in-ping_v4_send…
+ patches.kernel.org/5.7.10-004-ipv6-fib6_select_path-can-not-use-out-path-fo…
+ patches.kernel.org/5.7.10-005-ipv6-Fix-use-of-anycast-address-with-loopback…
+ patches.kernel.org/5.7.10-006-l2tp-remove-skb_dst_set-from-l2tp_xmit_skb.pa…
+ patches.kernel.org/5.7.10-007-llc-make-sure-applications-use-ARPHRD_ETHER.p…
+ patches.kernel.org/5.7.10-008-net-Added-pointer-check-for-dst-ops-neigh_loo…
+ patches.kernel.org/5.7.10-009-net-dsa-microchip-set-the-correct-number-of-p…
+ patches.kernel.org/5.7.10-010-net-qrtr-free-flow-in-__qrtr_node_release.pat…
+ patches.kernel.org/5.7.10-011-net_sched-fix-a-memory-leak-in-atm_tc_init.pa…
+ patches.kernel.org/5.7.10-012-net-usb-qmi_wwan-add-support-for-Quectel-EG95…
+ patches.kernel.org/5.7.10-013-sched-consistently-handle-layer3-header-acces…
+ patches.kernel.org/5.7.10-014-tcp-fix-SO_RCVLOWAT-possible-hangs-under-high…
+ patches.kernel.org/5.7.10-015-tcp-make-sure-listeners-don-t-initialize-cong…
+ patches.kernel.org/5.7.10-016-tcp-md5-add-missing-memory-barriers-in-tcp_md…
+ patches.kernel.org/5.7.10-017-tcp-md5-do-not-send-silly-options-in-SYNCOOKI…
+ patches.kernel.org/5.7.10-018-vlan-consolidate-VLAN-parsing-code-and-limit-…
+ patches.kernel.org/5.7.10-019-tcp-md5-refine-tcp_md5_do_add-tcp_md5_hash_ke…
+ patches.kernel.org/5.7.10-020-tcp-md5-allow-changing-MD5-keys-in-all-socket…
+ patches.kernel.org/5.7.10-021-cgroup-fix-cgroup_sk_alloc-for-sk_clone_lock.…
+ patches.kernel.org/5.7.10-022-cgroup-Fix-sock_cgroup_data-on-big-endian.pat…
+ patches.kernel.org/5.7.10-023-net-ipa-always-check-for-stopped-channel.patch
+ patches.kernel.org/5.7.10-024-net-ipa-introduce-ipa_cmd_tag_process.patch
+ patches.kernel.org/5.7.10-025-ip-Fix-SO_MARK-in-RST-ACK-and-ICMP-packets.pa…
+ patches.kernel.org/5.7.10-026-genetlink-get-rid-of-family-attrbuf.patch
+ patches.kernel.org/5.7.10-027-net-ipv4-Fix-wrong-type-conversion-from-hint-…
+ patches.kernel.org/5.7.10-028-ethtool-fix-genlmsg_put-failure-handling-in-e…
+ patches.kernel.org/5.7.10-029-mptcp-fix-DSS-map-generation-on-fin-retransmi…
+ patches.kernel.org/5.7.10-030-net-rmnet-do-not-allow-to-add-multiple-bridge…
+ patches.kernel.org/5.7.10-031-hsr-fix-interface-leak-in-error-path-of-hsr_d…
+ patches.kernel.org/5.7.10-032-drm-msm-fix-potential-memleak-in-error-branch…
+ patches.kernel.org/5.7.10-033-drm-msm-dpu-allow-initialization-of-encoder-l…
+ patches.kernel.org/5.7.10-034-drm-exynos-Properly-propagate-return-value-in…
+ patches.kernel.org/5.7.10-035-drm-exynos-fix-ref-count-leak-in-mic_pre_enab…
+ patches.kernel.org/5.7.10-036-x86-fpu-Reset-MXCSR-to-default-in-kernel_fpu_…
+ patches.kernel.org/5.7.10-037-thermal-drivers-imx-Fix-missing-of_node_put-a…
+ patches.kernel.org/5.7.10-038-ACPI-DPTF-Add-battery-participant-for-TigerLa…
+ patches.kernel.org/5.7.10-039-blk-mq-debugfs-update-blk_queue_flag_name-acc…
+ patches.kernel.org/5.7.10-040-m68k-nommu-register-start-of-the-memory-with-…
+ patches.kernel.org/5.7.10-041-m68k-mm-fix-node-memblock-init.patch
+ patches.kernel.org/5.7.10-042-dt-bindings-bus-uniphier-system-bus-fix-warni…
+ patches.kernel.org/5.7.10-043-dt-bindings-mailbox-zynqmp_ipi-fix-unit-addre…
+ patches.kernel.org/5.7.10-044-dt-bindings-fix-error-in-make-clean-after-mak…
+ patches.kernel.org/5.7.10-045-cifs-prevent-truncation-from-long-to-int-in-w…
+ patches.kernel.org/5.7.10-046-arm64-alternatives-use-subsections-for-replac…
+ patches.kernel.org/5.7.10-047-tpm_tis-extra-chip-ops-check-on-error-path-in…
+ patches.kernel.org/5.7.10-048-xen-xenbus-avoid-large-structs-and-arrays-on-…
+ patches.kernel.org/5.7.10-049-xen-xenbus-let-xenbus_map_ring_valloc-return-…
+ patches.kernel.org/5.7.10-050-gfs2-eliminate-GIF_ORDERED-in-favor-of-list_e…
+ patches.kernel.org/5.7.10-051-gfs2-freeze-should-work-on-read-only-mounts.p…
+ patches.kernel.org/5.7.10-052-gfs2-read-only-mounts-should-grab-the-sd_free…
+ patches.kernel.org/5.7.10-053-gfs2-When-freezing-gfs2-use-GL_EXACT-and-not-…
+ patches.kernel.org/5.7.10-054-gfs2-The-freeze-glock-should-never-be-frozen.…
+ patches.kernel.org/5.7.10-055-arm64-Add-MIDR-value-for-KRYO4XX-gold-CPU-cor…
+ patches.kernel.org/5.7.10-056-arm64-Add-KRYO4XX-gold-CPU-cores-to-erratum-l…
+ patches.kernel.org/5.7.10-057-arm64-Add-KRYO4XX-silver-CPU-cores-to-erratum…
+ patches.kernel.org/5.7.10-058-i2c-eg20t-Load-module-automatically-if-ID-mat…
+ patches.kernel.org/5.7.10-059-arm64-alternatives-don-t-patch-up-internal-br…
+ patches.kernel.org/5.7.10-060-iio-magnetometer-ak8974-Fix-alignment-and-dat…
+ patches.kernel.org/5.7.10-061-iio-humidity-hdc100x-Fix-alignment-and-data-l…
+ patches.kernel.org/5.7.10-062-iio-magnetometer-ak8974-Fix-runtime-PM-imbala…
+ patches.kernel.org/5.7.10-063-iio-core-add-missing-IIO_MOD_H2-ETHANOL-strin…
+ patches.kernel.org/5.7.10-064-iio-mma8452-Add-missed-iio_device_unregister-…
+ patches.kernel.org/5.7.10-065-iio-pressure-zpa2326-handle-pm_runtime_get_sy…
+ patches.kernel.org/5.7.10-066-iio-humidity-hts221-Fix-alignment-and-data-le…
+ patches.kernel.org/5.7.10-067-iio-pressure-ms5611-Fix-buffer-element-alignm…
+ patches.kernel.org/5.7.10-068-iio-health-afe4403-Fix-timestamp-alignment-an…
+ patches.kernel.org/5.7.10-069-arm64-Add-missing-sentinel-to-erratum_1463225…
+ patches.kernel.org/5.7.10-070-xen-xenbus-Fix-a-double-free-in-xenbus_map_ri…
+ patches.kernel.org/5.7.10-071-net-ethernet-mvneta-Do-not-error-out-in-non-s…
+ patches.kernel.org/5.7.10-072-net-ethernet-mvneta-Add-back-interface-mode-v…
+ patches.kernel.org/5.7.10-073-scsi-qla2xxx-make-1-bit-bit-fields-unsigned-i…
+ patches.kernel.org/5.7.10-074-spi-spi-fsl-dspi-Fix-lockup-if-device-is-shut…
+ patches.kernel.org/5.7.10-075-io_uring-fix-recvmsg-memory-leak-with-buffer-…
+ patches.kernel.org/5.7.10-076-Input-mms114-add-extra-compatible-for-mms345l…
+ patches.kernel.org/5.7.10-077-iio-health-afe4404-Fix-timestamp-alignment-an…
+ patches.kernel.org/5.7.10-078-counter-104-quad-8-Add-lock-guards-differenti…
+ patches.kernel.org/5.7.10-079-counter-104-quad-8-Add-lock-guards-filter-clo…
+ patches.kernel.org/5.7.10-080-dmaengine-ti-k3-udma-Use-correct-node-to-read…
+ patches.kernel.org/5.7.10-081-soundwire-intel-fix-memory-leak-with-devm_kas…
+ patches.kernel.org/5.7.10-082-dmaengine-idxd-fix-cdev-locking-for-open-and-…
+ patches.kernel.org/5.7.10-083-dmaengine-ti-k3-udma-Fix-delayed_work-usage-f…
+ patches.kernel.org/5.7.10-084-dmaengine-sh-usb-dmac-set-tx_result-parameter…
+ patches.kernel.org/5.7.10-085-phy-rockchip-Fix-return-value-of-inno_dsidphy…
+ patches.kernel.org/5.7.10-086-phy-sun4i-usb-fix-dereference-of-pointer-phy0…
+ patches.kernel.org/5.7.10-087-arm64-dts-meson-add-missing-gxl-rng-clock.pat…
+ patches.kernel.org/5.7.10-088-arm64-dts-meson-gxl-s805x-reduce-initial-Mali…
+ patches.kernel.org/5.7.10-089-dmaengine-idxd-cleanup-workqueue-config-after…
+ patches.kernel.org/5.7.10-090-dmaengine-idxd-fix-misc-interrupt-handler-thr…
+ patches.kernel.org/5.7.10-091-bus-ti-sysc-Fix-wakeirq-sleeping-function-cal…
+ patches.kernel.org/5.7.10-092-bus-ti-sysc-Fix-sleeping-function-called-from…
+ patches.kernel.org/5.7.10-093-bus-ti-sysc-Do-not-disable-on-suspend-for-no-…
+ patches.kernel.org/5.7.10-094-iio-adc-ad7780-Fix-a-resource-handling-path-i…
+ patches.kernel.org/5.7.10-095-dmaengine-dw-Initialize-channel-before-each-t…
+ patches.kernel.org/5.7.10-096-dmaengine-dmatest-stop-completed-threads-when…
+ patches.kernel.org/5.7.10-097-spi-spi-sun6i-sun6i_spi_transfer_one-fix-sett…
+ patches.kernel.org/5.7.10-098-usb-gadget-udc-atmel-fix-uninitialized-read-i…
+ patches.kernel.org/5.7.10-099-staging-comedi-verify-array-index-is-correct-…
+ patches.kernel.org/5.7.10-100-serial-core-Initialise-spin-lock-before-use-i…
+ patches.kernel.org/5.7.10-101-clk-mvebu-ARMADA_AP_CPU_CLK-needs-to-select-A…
+ patches.kernel.org/5.7.10-102-clk-AST2600-Add-mux-for-EMMC-clock.patch
+ patches.kernel.org/5.7.10-103-xprtrdma-Fix-double-free-in-rpcrdma_ep_create…
+ patches.kernel.org/5.7.10-104-xprtrdma-Fix-recursion-into-rpcrdma_xprt_disc…
+ patches.kernel.org/5.7.10-105-xprtrdma-Fix-return-code-from-rpcrdma_xprt_co…
+ patches.kernel.org/5.7.10-106-xprtrdma-Fix-handling-of-connect-errors.patch
+ patches.kernel.org/5.7.10-107-NFS-Fix-interrupted-slots-by-sending-a-solo-S…
+ patches.kernel.org/5.7.10-108-fuse-don-t-ignore-errors-from-fuse_writepages…
+ patches.kernel.org/5.7.10-109-ARM-dts-Fix-dcan-driver-probe-failed-on-am437…
+ patches.kernel.org/5.7.10-110-Revert-thermal-mediatek-fix-register-index-er…
+ patches.kernel.org/5.7.10-111-xprtrdma-fix-incorrect-header-size-calculatio…
+ patches.kernel.org/5.7.10-112-ARM-dts-socfpga-Align-L2-cache-controller-nod…
+ patches.kernel.org/5.7.10-113-arm64-dts-spcfpga-Align-GIC-NAND-and-UART-nod…
+ patches.kernel.org/5.7.10-114-keys-asymmetric-fix-error-return-code-in-soft…
+ patches.kernel.org/5.7.10-115-nvme-explicitly-update-mpath-disk-capacity-on…
+ patches.kernel.org/5.7.10-116-regmap-debugfs-Don-t-sleep-while-atomic-for-f…
+ patches.kernel.org/5.7.10-117-copy_xstate_to_kernel-Fix-typo-which-caused-G…
+ patches.kernel.org/5.7.10-118-arm-dts-mt7623-add-phy-mode-property-for-gmac…
+ patches.kernel.org/5.7.10-119-soc-qcom-socinfo-add-missing-soc_id-sysfs-ent…
+ patches.kernel.org/5.7.10-120-dmaengine-ti-k3-udma-Disable-memcopy-via-MCU-…
+ patches.kernel.org/5.7.10-121-apparmor-ensure-that-dfa-state-tables-have-en…
+ patches.kernel.org/5.7.10-122-habanalabs-Align-protection-bits-configuratio…
+ patches.kernel.org/5.7.10-123-RDMA-rxe-Set-default-vendor-ID.patch
+ patches.kernel.org/5.7.10-124-PCI-PM-Call-.bridge_d3-hook-only-if-non-NULL.…
+ patches.kernel.org/5.7.10-125-perf-stat-Zero-all-the-ena-and-run-array-slot…
+ patches.kernel.org/5.7.10-126-soc-qcom-rpmh-Update-dirty-flag-only-when-dat…
+ patches.kernel.org/5.7.10-127-soc-qcom-rpmh-Invalidate-SLEEP-and-WAKE-TCSes…
+ patches.kernel.org/5.7.10-128-soc-qcom-rpmh-rsc-Clear-active-mode-configura…
+ patches.kernel.org/5.7.10-129-soc-qcom-rpmh-rsc-Allow-using-free-WAKE-TCS-f…
+ patches.kernel.org/5.7.10-130-RDMA-mlx5-Verify-that-QP-is-created-with-RQ-o…
+ patches.kernel.org/5.7.10-131-clk-qcom-Add-missing-msm8998-ufs_unipro_core_…
+ patches.kernel.org/5.7.10-132-mtd-spi-nor-winbond-Fix-4-byte-opcode-support…
+ patches.kernel.org/5.7.10-133-mtd-spi-nor-spansion-fix-writes-on-S25FS512S.…
+ patches.kernel.org/5.7.10-134-mtd-rawnand-marvell-Fix-the-condition-on-a-re…
+ patches.kernel.org/5.7.10-135-mtd-rawnand-marvell-Use-nand_cleanup-when-the…
+ patches.kernel.org/5.7.10-136-mtd-rawnand-marvell-Fix-probe-error-path.patch
+ patches.kernel.org/5.7.10-137-mtd-rawnand-timings-Fix-default-tR_max-and-tC…
+ patches.kernel.org/5.7.10-138-mtd-rawnand-brcmnand-correctly-verify-erased-…
+ patches.kernel.org/5.7.10-139-mtd-rawnand-brcmnand-fix-CS0-layout.patch
+ patches.kernel.org/5.7.10-140-mtd-rawnand-oxnas-Keep-track-of-registered-de…
+ patches.kernel.org/5.7.10-141-mtd-rawnand-oxnas-Unregister-all-devices-on-e…
+ patches.kernel.org/5.7.10-142-mtd-rawnand-oxnas-Release-all-devices-in-the-…
+ patches.kernel.org/5.7.10-143-clk-qcom-gcc-Add-GPU-and-NPU-clocks-for-SM815…
+ patches.kernel.org/5.7.10-144-clk-qcom-gcc-Add-missing-UFS-clocks-for-SM815…
+ patches.kernel.org/5.7.10-145-clk-qcom-gcc-Add-support-for-a-new-frequency-…
+ patches.kernel.org/5.7.10-146-slimbus-core-Fix-mismatch-in-of_node_get-put.…
+ patches.kernel.org/5.7.10-147-HID-logitech-hidpp-avoid-repeated-multiplier-…
+ patches.kernel.org/5.7.10-148-HID-magicmouse-do-not-set-up-autorepeat.patch
+ patches.kernel.org/5.7.10-149-HID-quirks-Always-poll-Obins-Anne-Pro-2-keybo…
+ patches.kernel.org/5.7.10-150-HID-quirks-Ignore-Simply-Automated-UPB-PIM.pa…
+ patches.kernel.org/5.7.10-151-ALSA-line6-Perform-sanity-check-for-each-URB-…
+ patches.kernel.org/5.7.10-152-ALSA-line6-Sync-the-pending-work-cancel-at-di…
+ patches.kernel.org/5.7.10-153-ALSA-usb-audio-Fix-race-against-the-error-rec…
+ patches.kernel.org/5.7.10-154-ALSA-hda-realtek-change-to-suitable-link-mode…
+ patches.kernel.org/5.7.10-155-ALSA-hda-realtek-enable-headset-mic-of-ASUS-R…
+ patches.kernel.org/5.7.10-156-ALSA-hda-realtek-Enable-headset-mic-of-Acer-T…
+ patches.kernel.org/5.7.10-157-ALSA-hda-realtek-Enable-Speaker-for-ASUS-UX53…
+ patches.kernel.org/5.7.10-158-ALSA-hda-realtek-Enable-Speaker-for-ASUS-UX56…
+ patches.kernel.org/5.7.10-159-thunderbolt-Fix-path-indices-used-in-USB3-tun…
+ patches.kernel.org/5.7.10-160-USB-c67x00-fix-use-after-free-in-c67x00_giveb…
+ patches.kernel.org/5.7.10-161-usb-dwc2-Fix-shutdown-callback-in-platform.pa…
+ patches.kernel.org/5.7.10-162-usb-chipidea-core-add-wakeup-support-for-extc…
+ patches.kernel.org/5.7.10-163-usb-gadget-function-fix-missing-spinlock-in-f…
+ patches.kernel.org/5.7.10-164-USB-serial-iuu_phoenix-fix-memory-corruption.…
+ patches.kernel.org/5.7.10-165-USB-serial-cypress_m8-enable-Simply-Automated…
+ patches.kernel.org/5.7.10-166-USB-serial-ch341-add-new-Product-ID-for-CH340…
+ patches.kernel.org/5.7.10-167-USB-serial-option-add-GosunCn-GM500-series.pa…
+ patches.kernel.org/5.7.10-168-USB-serial-option-add-Quectel-EG95-LTE-modem.…
+ patches.kernel.org/5.7.10-169-virt-vbox-Fix-VBGL_IOCTL_VMMDEV_REQUEST_BIG-a…
+ patches.kernel.org/5.7.10-170-virt-vbox-Fix-guest-capabilities-mask-check.p…
+ patches.kernel.org/5.7.10-171-Revert-tty-xilinx_uartps-Fix-missing-id-assig…
+ patches.kernel.org/5.7.10-172-tty-serial-cpm_uart-Fix-behaviour-for-non-exi…
+ patches.kernel.org/5.7.10-173-virtio-virtio_console-add-missing-MODULE_DEVI…
+ patches.kernel.org/5.7.10-174-serial-sh-sci-Initialize-spinlock-for-uart-co…
+ patches.kernel.org/5.7.10-175-serial-mxs-auart-add-missed-iounmap-in-probe-…
+ patches.kernel.org/5.7.10-176-Revert-serial-core-Refactor-uart_unlock_and_c…
+ patches.kernel.org/5.7.10-177-serial-core-fix-sysrq-overhead-regression.pat…
+ patches.kernel.org/5.7.10-178-ovl-fix-regression-with-re-formatted-lower-sq…
+ patches.kernel.org/5.7.10-179-ovl-inode-reference-leak-in-ovl_is_inuse-true…
+ patches.kernel.org/5.7.10-180-ovl-relax-WARN_ON-when-decoding-lower-directo…
+ patches.kernel.org/5.7.10-181-ovl-fix-unneeded-call-to-ovl_change_flags.pat…
+ patches.kernel.org/5.7.10-182-fuse-ignore-data-argument-of-mount-.-MS_REMOU…
+ patches.kernel.org/5.7.10-183-fuse-use-reconfigure-instead-of-remount_fs.pa…
+ patches.kernel.org/5.7.10-184-fuse-Fix-parameter-for-FS_IOC_-GET-SET-FLAGS.…
+ patches.kernel.org/5.7.10-185-Revert-zram-convert-remaining-CLASS_ATTR-to-C…
+ patches.kernel.org/5.7.10-186-mei-bus-don-t-clean-driver-pointer.patch
+ patches.kernel.org/5.7.10-187-Revert-Input-elants_i2c-report-resolution-inf…
+ patches.kernel.org/5.7.10-188-Input-i8042-add-Lenovo-XiaoXin-Air-12-to-i804…
+ patches.kernel.org/5.7.10-189-Input-elan_i2c-add-more-hardware-ID-for-Lenov…
+ patches.kernel.org/5.7.10-190-coresight-etmv4-Fix-CPU-power-management-setu…
+ patches.kernel.org/5.7.10-191-uio_pdrv_genirq-Remove-warning-when-irq-is-no…
+ patches.kernel.org/5.7.10-192-uio_pdrv_genirq-fix-use-without-device-tree-a…
+ patches.kernel.org/5.7.10-193-scsi-megaraid_sas-Remove-undefined-ENABLE_IRQ…
+ patches.kernel.org/5.7.10-194-timer-Prevent-base-clk-from-moving-backward.p…
+ patches.kernel.org/5.7.10-195-timer-Fix-wheel-index-calculation-on-last-lev…
+ patches.kernel.org/5.7.10-196-riscv-use-16KB-kernel-stack-on-64-bit.patch
+ patches.kernel.org/5.7.10-197-hwmon-emc2103-fix-unable-to-change-fan-pwm1_e…
+ patches.kernel.org/5.7.10-198-hwmon-drivetemp-Avoid-SCT-usage-on-Toshiba-DT…
+ patches.kernel.org/5.7.10-199-powerpc-book3s64-pkeys-Fix-pkey_access_permit…
+ patches.kernel.org/5.7.10-200-powerpc-pseries-svm-Fix-incorrect-check-for-s…
+ patches.kernel.org/5.7.10-201-intel_th-pci-Add-Jasper-Lake-CPU-support.patch
+ patches.kernel.org/5.7.10-202-intel_th-pci-Add-Tiger-Lake-PCH-H-support.pat…
+ patches.kernel.org/5.7.10-203-intel_th-pci-Add-Emmitsburg-PCH-support.patch
+ patches.kernel.org/5.7.10-204-intel_th-Fix-a-NULL-dereference-when-hub-driv…
+ patches.kernel.org/5.7.10-205-opp-Increase-parsed_static_opps-in-_of_add_op…
+ patches.kernel.org/5.7.10-206-dmaengine-fsl-edma-Fix-NULL-pointer-exception…
+ patches.kernel.org/5.7.10-207-dmaengine-mcf-edma-Fix-NULL-pointer-exception…
+ patches.kernel.org/5.7.10-208-dmaengine-fsl-edma-common-correct-DSIZE_32BYT…
+ patches.kernel.org/5.7.10-209-misc-atmel-ssc-lock-with-mutex-instead-of-spi…
+ patches.kernel.org/5.7.10-210-dmabuf-use-spinlock-to-access-dmabuf-name.pat…
+ patches.kernel.org/5.7.10-211-thermal-int3403_thermal-Downgrade-error-messa…
+ patches.kernel.org/5.7.10-212-ARM-dts-imx6qdl-gw551x-fix-audio-SSI.patch
+ patches.kernel.org/5.7.10-213-arm64-dts-agilex-add-status-to-qspi-dts-node.…
+ patches.kernel.org/5.7.10-214-arm64-dts-stratix10-add-status-to-qspi-dts-no…
+ patches.kernel.org/5.7.10-215-arm64-dts-stratix10-increase-QSPI-reg-address…
+ patches.kernel.org/5.7.10-216-arm64-ptrace-Override-SPSR.SS-when-single-ste…
+ patches.kernel.org/5.7.10-217-arm64-ptrace-Consistently-use-pseudo-singlest…
+ patches.kernel.org/5.7.10-218-arm64-compat-Ensure-upper-32-bits-of-x0-are-z…
+ patches.kernel.org/5.7.10-219-sched-Fix-unreliable-rseq-cpu_id-for-new-task…
+ patches.kernel.org/5.7.10-220-sched-fair-handle-case-of-task_h_load-returni…
+ patches.kernel.org/5.7.10-221-x86-ioperm-Fix-io-bitmap-invalidation-on-Xen-…
+ patches.kernel.org/5.7.10-222-genirq-affinity-Handle-affinity-setting-on-in…
+ patches.kernel.org/5.7.10-223-drm-vmwgfx-fix-update-of-display-surface-when…
+ patches.kernel.org/5.7.10-224-drm-amdgpu-powerplay-Modify-SMC-message-name-…
+ patches.kernel.org/5.7.10-225-drm-amdgpu-sdma5-fix-wptr-overwritten-in-get_…
+ patches.kernel.org/5.7.10-226-drm-amd-display-handle-failed-allocation-duri…
+ patches.kernel.org/5.7.10-227-drm-amd-display-OLED-panel-backlight-adjust-n…
+ patches.kernel.org/5.7.10-228-drm-amdgpu-display-create-fake-mst-encoders-a…
+ patches.kernel.org/5.7.10-229-drm-i915-Move-cec_notifier-to-intel_hdmi_conn…
+ patches.kernel.org/5.7.10-230-drm-i915-gt-Ignore-irq-enabling-on-the-virtua…
+ patches.kernel.org/5.7.10-231-drm-i915-gt-Only-swap-to-a-random-sibling-onc…
+ patches.kernel.org/5.7.10-232-libceph-don-t-omit-recovery_deletes-in-target…
+ patches.kernel.org/5.7.10-233-rxrpc-Fix-trace-string.patch
+ patches.kernel.org/5.7.10-234-spi-sprd-switch-the-sequence-of-setting-WDG_L…
+ patches.kernel.org/5.7.10-235-ionic-no-link-check-while-resetting-queues.pa…
+ patches.kernel.org/5.7.10-236-ionic-export-features-for-vlans-to-use.patch
+ patches.kernel.org/5.7.10-237-iommu-vt-d-Make-Intel-SVM-code-64-bit-only.pa…
+ patches.kernel.org/5.7.10-238-mm-memory.c-properly-pte_offset_map_lock-unlo…
+ patches.kernel.org/5.7.10-239-drm-i915-gvt-Fix-two-CFL-MMIO-handling-caused…
+ patches.kernel.org/5.7.10-240-gpio-pca953x-disable-regmap-locking-for-autom…
+ patches.kernel.org/5.7.10-241-bpf-sockmap-Check-value-of-unused-args-to-BPF…
+ patches.kernel.org/5.7.10-242-bpf-sockmap-Require-attach_bpf_fd-when-detach…
+ patches.kernel.org/5.7.10-243-drm-i915-perf-Use-GTT-when-saving-restoring-e…
+ patches.kernel.org/5.7.10-244-Linux-5.7.10.patch
+ patches.kernel.org/5.7.11-001-soc-qcom-rpmh-Dirt-can-only-make-you-dirtier-…
+ patches.kernel.org/5.7.11-002-gpio-arizona-handle-pm_runtime_get_sync-failu…
+ patches.kernel.org/5.7.11-003-gpio-arizona-put-pm_runtime-in-case-of-failur…
+ patches.kernel.org/5.7.11-004-pinctrl-amd-fix-npins-for-uart0-in-kerncz_gro…
+ patches.kernel.org/5.7.11-005-bpf-Set-the-number-of-exception-entries-prope…
+ patches.kernel.org/5.7.11-006-mac80211-allow-rx-of-mesh-eapol-frames-with-d…
+ patches.kernel.org/5.7.11-007-scsi-scsi_transport_spi-Fix-function-pointer-…
+ patches.kernel.org/5.7.11-008-xtensa-fix-__sync_fetch_and_-and-or-_4-declar…
+ patches.kernel.org/5.7.11-009-xtensa-update-pos-in-cpuinfo_op.next.patch
+ patches.kernel.org/5.7.11-010-scsi-mpt3sas-Fix-unlock-imbalance.patch
+ patches.kernel.org/5.7.11-011-drivers-net-wan-lapbether-Fixed-the-value-of-…
+ patches.kernel.org/5.7.11-012-ALSA-hda-hdmi-fix-failures-at-PCM-open-on-Int…
+ patches.kernel.org/5.7.11-013-net-sky2-initialize-return-of-gm_phy_read.pat…
+ patches.kernel.org/5.7.11-014-drm-nouveau-i2c-g94-increase-NV_PMGR_DP_AUXCT…
+ patches.kernel.org/5.7.11-015-scsi-mpt3sas-Fix-error-returns-in-BRM_status_…
+ patches.kernel.org/5.7.11-016-scsi-dh-Add-Fujitsu-device-to-devinfo-and-dh-…
+ patches.kernel.org/5.7.11-017-dm-use-bio_uninit-instead-of-bio_disassociate…
+ patches.kernel.org/5.7.11-018-drivers-firmware-psci-Fix-memory-leakage-in-a…
+ patches.kernel.org/5.7.11-019-fuse-fix-weird-page-warning.patch
+ patches.kernel.org/5.7.11-020-irqdomain-treewide-Keep-firmware-node-uncondi…
+ patches.kernel.org/5.7.11-021-drm-nouveau-nouveau-fix-page-fault-on-device-…
+ patches.kernel.org/5.7.11-022-drm-amd-display-Check-DMCU-Exists-Before-Load…
+ patches.kernel.org/5.7.11-023-drm-amd-display-add-dmcub-check-on-RENOIR.pat…
+ patches.kernel.org/5.7.11-024-SUNRPC-reverting-d03727b248d0-NFSv4-fix-CLOSE…
+ patches.kernel.org/5.7.11-025-exfat-fix-overflow-issue-in-exfat_cluster_to_…
+ patches.kernel.org/5.7.11-026-exfat-fix-wrong-hint_stat-initialization-in-e…
+ patches.kernel.org/5.7.11-027-exfat-fix-wrong-size-update-of-stream-entry-b…
+ patches.kernel.org/5.7.11-028-exfat-fix-name_hash-computation-on-big-endian…
+ patches.kernel.org/5.7.11-029-btrfs-reloc-clear-DEAD_RELOC_TREE-bit-for-orp…
+ patches.kernel.org/5.7.11-030-uprobes-Change-handle_swbp-to-send-SIGTRAP-wi…
+ patches.kernel.org/5.7.11-031-ALSA-hda-realtek-Fixed-ALC298-sound-bug-by-ad…
+ patches.kernel.org/5.7.11-032-ALSA-info-Drop-WARN_ON-from-buffer-NULL-sanit…
+ patches.kernel.org/5.7.11-033-ASoC-rt5670-Correct-RT5670_LDO_SEL_MASK.patch
+ patches.kernel.org/5.7.11-034-ASoC-Intel-cht_bsw_rt5672-Change-bus-format-t…
+ patches.kernel.org/5.7.11-035-s390-cpum_cf-perf-change-DFLT_CCERROR-counter…
+ patches.kernel.org/5.7.11-036-btrfs-fix-double-free-on-ulist-after-backref-…
+ patches.kernel.org/5.7.11-037-btrfs-fix-mount-failure-caused-by-race-with-u…
+ patches.kernel.org/5.7.11-038-btrfs-fix-page-leaks-after-failure-to-lock-pa…
+ patches.kernel.org/5.7.11-039-mt76-mt76x02-fix-handling-MCU-timeouts-during…
+ patches.kernel.org/5.7.11-040-efi-efivars-Expose-RT-service-availability-vi…
+ patches.kernel.org/5.7.11-041-bnxt_en-Fix-race-when-modifying-pause-setting…
+ patches.kernel.org/5.7.11-042-bnxt_en-Init-ethtool-link-settings-after-read…
+ patches.kernel.org/5.7.11-043-bnxt_en-Fix-completion-ring-sizing-with-TPA-e…
+ patches.kernel.org/5.7.11-044-fpga-dfl-pci-reduce-the-scope-of-variable-ret…
+ patches.kernel.org/5.7.11-045-fpga-dfl-fix-bug-in-port-reset-handshake.patch
+ patches.kernel.org/5.7.11-046-hippi-Fix-a-size-used-in-a-pci_free_consisten…
+ patches.kernel.org/5.7.11-047-netfilter-nf_tables-fix-nat-hook-table-deleti…
+ patches.kernel.org/5.7.11-048-dpaa2-eth-check-fsl_mc_get_endpoint-for-IS_ER…
+ patches.kernel.org/5.7.11-049-vsock-virtio-annotate-the_virtio_vsock-RCU-po…
+ patches.kernel.org/5.7.11-050-ax88172a-fix-ax88172a_unbind-failures.patch
+ patches.kernel.org/5.7.11-051-RDMA-mlx5-Use-xa_lock_irq-when-access-to-SRQ-…
+ patches.kernel.org/5.7.11-052-RDMA-core-Fix-race-in-rdma_alloc_commit_uobje…
+ patches.kernel.org/5.7.11-053-RDMA-cm-Protect-access-to-remote_sidr_table.p…
+ patches.kernel.org/5.7.11-054-net-fec-fix-hardware-time-stamping-by-externa…
+ patches.kernel.org/5.7.11-055-ASoC-Intel-bytcht_es8316-Add-missed-put_devic…
+ patches.kernel.org/5.7.11-056-net-dp83640-fix-SIOCSHWTSTAMP-to-update-the-s…
+ patches.kernel.org/5.7.11-057-ieee802154-fix-one-possible-memleak-in-adf724…
+ patches.kernel.org/5.7.11-058-drm-sun4i-hdmi-Fix-inverted-HPD-result.patch
+ patches.kernel.org/5.7.11-059-net-smc91x-Fix-possible-memory-leak-in-smc_dr…
+ patches.kernel.org/5.7.11-060-mlxsw-core-Fix-wrong-SFP-EEPROM-reading-for-u…
+ patches.kernel.org/5.7.11-061-net-dsa-mv88e6xxx-fix-in-band-AN-link-establi…
+ patches.kernel.org/5.7.11-062-arm64-dts-clearfog-gt-8k-fix-switch-link-conf…
+ patches.kernel.org/5.7.11-063-bonding-check-error-value-of-register_netdevi…
+ patches.kernel.org/5.7.11-064-iwlwifi-Make-some-Killer-Wireless-AC-1550-car…
+ patches.kernel.org/5.7.11-065-net-bcmgenet-fix-error-returns-in-bcmgenet_pr…
+ patches.kernel.org/5.7.11-066-dpaa_eth-Fix-one-possible-memleak-in-dpaa_eth…
+ patches.kernel.org/5.7.11-067-mlxsw-destroy-workqueue-when-trap_register-in…
+ patches.kernel.org/5.7.11-068-ionic-use-offset-for-ethtool-regs-data.patch
+ patches.kernel.org/5.7.11-069-ionic-fix-up-filter-locks-and-debug-msgs.patch
+ patches.kernel.org/5.7.11-070-ionic-update-filter-id-after-replay.patch
+ patches.kernel.org/5.7.11-071-ionic-keep-rss-hash-after-fw-update.patch
+ patches.kernel.org/5.7.11-072-ionic-use-mutex-to-protect-queue-operations.p…
+ patches.kernel.org/5.7.11-073-crypto-chtls-fix-tls-alert-messages-corrupted…
+ patches.kernel.org/5.7.11-074-net-ag71xx-add-missed-clk_disable_unprepare-i…
+ patches.kernel.org/5.7.11-075-RDMA-mlx5-Prevent-prefetch-from-racing-with-i…
+ patches.kernel.org/5.7.11-076-net-hns3-fix-for-not-calculating-TX-BD-send-s…
+ patches.kernel.org/5.7.11-077-net-hns3-fix-error-handling-for-desc-filling.…
+ patches.kernel.org/5.7.11-078-net-hns3-fix-return-value-error-when-query-MA…
+ patches.kernel.org/5.7.11-079-net-dsa-microchip-call-phy_remove_link_mode-d…
+ patches.kernel.org/5.7.11-080-netdevsim-fix-unbalaced-locking-in-nsim_creat…
+ patches.kernel.org/5.7.11-081-qed-suppress-don-t-support-RoCE-iWARP-floodin…
+ patches.kernel.org/5.7.11-082-qed-suppress-false-positives-interrupt-error-…
+ patches.kernel.org/5.7.11-083-ipvs-fix-the-connection-sync-failed-in-some-c…
+ patches.kernel.org/5.7.11-084-net-ethernet-ave-Fix-error-returns-in-ave_ini…
+ patches.kernel.org/5.7.11-085-iommu-qcom-Use-domain-rather-than-dev-as-tlb-…
+ patches.kernel.org/5.7.11-086-Revert-PCI-PM-Assume-ports-without-DLL-Link-A…
+ patches.kernel.org/5.7.11-087-nfsd4-fix-NULL-dereference-in-nfsd-clients-di…
+ patches.kernel.org/5.7.11-088-enetc-Remove-the-mdio-bus-on-PF-probe-bailout…
+ patches.kernel.org/5.7.11-089-i2c-rcar-always-clear-ICSAR-to-avoid-side-eff…
+ patches.kernel.org/5.7.11-090-i2c-i2c-qcom-geni-Fix-DMA-transfer-race.patch
+ patches.kernel.org/5.7.11-091-bonding-check-return-value-of-register_netdev…
+ patches.kernel.org/5.7.11-092-geneve-fix-an-uninitialized-value-in-geneve_c…
+ patches.kernel.org/5.7.11-093-serial-exar-Fix-GPIO-configuration-for-Sealev…
+ patches.kernel.org/5.7.11-094-scripts-decode_stacktrace-strip-basepath-from…
+ patches.kernel.org/5.7.11-095-scripts-gdb-fix-lx-symbols-gdb.error-while-lo…
+ patches.kernel.org/5.7.11-096-RISC-V-Do-not-rely-on-initrd_start-end-comput…
+ patches.kernel.org/5.7.11-097-kbuild-fix-single-target-builds-for-external-…
+ patches.kernel.org/5.7.11-098-HID-i2c-hid-add-Mediacom-FlexBook-edge13-to-d…
+ patches.kernel.org/5.7.11-099-HID-alps-support-devices-with-report-id-2.pat…
+ patches.kernel.org/5.7.11-100-dmaengine-ti-k3-udma-Fix-cleanup-code-for-all…
+ patches.kernel.org/5.7.11-101-dmaengine-ti-k3-udma-Fix-the-running-channel-…
+ patches.kernel.org/5.7.11-102-HID-steam-fixes-race-in-handling-device-list.…
+ patches.kernel.org/5.7.11-103-dmaengine-ti-k3-udma-add-missing-put_device-c…
+ patches.kernel.org/5.7.11-104-dmaengine-idxd-fix-hw-descriptor-fields-for-d…
+ patches.kernel.org/5.7.11-105-HID-apple-Disable-Fn-key-key-re-mapping-on-cl…
+ patches.kernel.org/5.7.11-106-dmaengine-tegra210-adma-Fix-runtime-PM-imbala…
+ patches.kernel.org/5.7.11-107-soc-amlogic-meson-gx-socinfo-Fix-S905X3-and-S…
+ patches.kernel.org/5.7.11-108-Input-add-SW_MACHINE_COVER.patch
+ patches.kernel.org/5.7.11-109-ARM-dts-n900-remove-mmc1-card-detect-gpio.pat…
+ patches.kernel.org/5.7.11-110-spi-mediatek-use-correct-SPI_CFG2_REG-MACRO.p…
+ patches.kernel.org/5.7.11-111-regmap-dev_get_regmap_match-fix-string-compar…
+ patches.kernel.org/5.7.11-112-hwmon-aspeed-pwm-tacho-Avoid-possible-buffer-…
+ patches.kernel.org/5.7.11-113-dmaengine-fsl-edma-fix-wrong-tcd-endianness-f…
+ patches.kernel.org/5.7.11-114-dmaengine-ioat-setting-ioat-timeout-as-module…
+ patches.kernel.org/5.7.11-115-Input-synaptics-enable-InterTouch-for-ThinkPa…
+ patches.kernel.org/5.7.11-116-Input-elan_i2c-only-increment-wakeup-count-on…
+ patches.kernel.org/5.7.11-117-usb-dwc3-pci-add-support-for-the-Intel-Tiger-…
+ patches.kernel.org/5.7.11-118-usb-dwc3-pci-add-support-for-the-Intel-Jasper…
+ patches.kernel.org/5.7.11-119-usb-gadget-udc-gr_udc-fix-memleak-on-error-ha…
+ patches.kernel.org/5.7.11-120-usb-cdns3-ep0-fix-some-endian-issues.patch
+ patches.kernel.org/5.7.11-121-usb-cdns3-trace-fix-some-endian-issues.patch
+ patches.kernel.org/5.7.11-122-hwmon-adm1275-Make-sure-we-are-reading-enough…
+ patches.kernel.org/5.7.11-123-drm-amdgpu-gfx10-fix-race-condition-for-kiq.p…
+ patches.kernel.org/5.7.11-124-drm-amdgpu-fix-preemption-unit-test.patch
+ patches.kernel.org/5.7.11-125-hwmon-nct6775-Accept-PECI-Calibration-as-temp…
+ patches.kernel.org/5.7.11-126-platform-x86-ISST-Add-new-PCI-device-ids.patch
+ patches.kernel.org/5.7.11-127-platform-x86-asus-wmi-allow-BAT1-battery-name…
+ patches.kernel.org/5.7.11-128-hwmon-scmi-Fix-potential-buffer-overflow-in-s…
+ patches.kernel.org/5.7.11-129-ALSA-hda-realtek-fixup-for-yet-another-Intel-…
+ patches.kernel.org/5.7.11-130-drivers-perf-Fix-kernel-panic-when-rmmod-PMU-…
+ patches.kernel.org/5.7.11-131-arm64-Use-test_tsk_thread_flag-for-checking-T…
+ patches.kernel.org/5.7.11-132-x86-math-emu-Fix-up-cmp-insn-for-clang-ias.pa…
+ patches.kernel.org/5.7.11-133-asm-generic-mmiowb-Allow-mmiowb_set_pending-w…
+ patches.kernel.org/5.7.11-134-drivers-perf-Prevent-forced-unbinding-of-PMU-…
+ patches.kernel.org/5.7.11-135-RISC-V-Upgrade-smp_mb__after_spinlock-to-iorw…
+ patches.kernel.org/5.7.11-136-x86-boot-Don-t-add-the-EFI-stub-to-targets.pa…
+ patches.kernel.org/5.7.11-137-binder-Don-t-use-mmput-from-shrinker-function…
+ patches.kernel.org/5.7.11-138-usb-xhci-mtk-fix-the-failure-of-bandwidth-all…
+ patches.kernel.org/5.7.11-139-usb-tegra-Fix-allocation-for-the-FPCI-context…
+ patches.kernel.org/5.7.11-140-usb-xhci-Fix-ASM2142-ASM3142-DMA-addressing.p…
+ patches.kernel.org/5.7.11-141-Revert-cifs-Fix-the-target-file-was-deleted-w…
+ patches.kernel.org/5.7.11-142-iwlwifi-mvm-don-t-call-iwl_mvm_free_inactive_…
+ patches.kernel.org/5.7.11-143-tty-xilinx_uartps-Really-fix-id-assignment.pa…
+ patches.kernel.org/5.7.11-144-staging-wlan-ng-properly-check-endpoint-types…
+ patches.kernel.org/5.7.11-145-staging-comedi-addi_apci_1032-check-INSN_CONF…
+ patches.kernel.org/5.7.11-146-staging-comedi-ni_6527-fix-INSN_CONFIG_DIGITA…
+ patches.kernel.org/5.7.11-147-staging-comedi-addi_apci_1500-check-INSN_CONF…
+ patches.kernel.org/5.7.11-148-staging-comedi-addi_apci_1564-check-INSN_CONF…
+ patches.kernel.org/5.7.11-149-serial-tegra-fix-CREAD-handling-for-PIO.patch
+ patches.kernel.org/5.7.11-150-serial-8250-fix-null-ptr-deref-in-serial8250_…
+ patches.kernel.org/5.7.11-151-serial-8250_mtk-Fix-high-speed-baud-rates-cla…
+ patches.kernel.org/5.7.11-152-interconnect-msm8916-Fix-buswidth-of-pcnoc_s-…
+ patches.kernel.org/5.7.11-153-dev-mem-Add-missing-memory-barriers-for-devme…
+ patches.kernel.org/5.7.11-154-fbdev-Detect-integer-underflow-at-struct-fbco…
+ patches.kernel.org/5.7.11-155-vt-Reject-zero-sized-screen-buffer-size.patch
+ patches.kernel.org/5.7.11-156-Makefile-Fix-GCC_TOOLCHAIN_DIR-prefix-for-Cla…
+ patches.kernel.org/5.7.11-157-mm-mmap.c-close-race-between-munmap-and-expan…
+ patches.kernel.org/5.7.11-158-vfs-xattr-mm-shmem-kernfs-release-simple-xatt…
+ patches.kernel.org/5.7.11-159-mm-memcg-fix-refcount-error-while-moving-and-…
+ patches.kernel.org/5.7.11-160-mm-memcg-slab-fix-memory-leak-at-non-root-kme…
+ patches.kernel.org/5.7.11-161-mm-hugetlb-avoid-hardcoding-while-checking-if…
+ patches.kernel.org/5.7.11-162-khugepaged-fix-null-pointer-dereference-due-t…
+ patches.kernel.org/5.7.11-163-io-mapping-indicate-mapping-failure.patch
+ patches.kernel.org/5.7.11-164-mmc-sdhci-of-aspeed-Fix-clock-divider-calcula…
+ patches.kernel.org/5.7.11-165-drm-amdgpu-Fix-NULL-dereference-in-dpm-sysfs-…
+ patches.kernel.org/5.7.11-166-drm-amd-powerplay-fix-a-crash-when-overclocki…
+ patches.kernel.org/5.7.11-167-arm64-vdso32-Fix-prefix-value-for-newer-versi…
+ patches.kernel.org/5.7.11-168-parisc-Add-atomic64_set_release-define-to-avo…
+ patches.kernel.org/5.7.11-169-x86-vmlinux.lds-Page-align-end-of-.page_align…
+ patches.kernel.org/5.7.11-170-ASoC-rt5670-Add-new-gpio1_is_ext_spk_en-quirk…
+ patches.kernel.org/5.7.11-171-ASoC-qcom-Drop-HAS_DMA-dependency-to-fix-link…
+ patches.kernel.org/5.7.11-172-ASoC-topology-fix-kernel-oops-on-route-additi…
+ patches.kernel.org/5.7.11-173-ASoC-topology-fix-tlvs-in-error-handling-for-…
+ patches.kernel.org/5.7.11-174-ASoC-Intel-bdw-rt5677-fix-non-BE-conversion.p…
+ patches.kernel.org/5.7.11-175-dm-integrity-fix-integrity-recalculation-that…
+ patches.kernel.org/5.7.11-176-ath9k-Fix-general-protection-fault-in-ath9k_h…
+ patches.kernel.org/5.7.11-177-ath9k-Fix-regression-with-Atheros-9271.patch
+ patches.kernel.org/5.7.11-178-Linux-5.7.11.patch
########################################################
# Build fixes that apply to the vanilla kernel too.
@@ -1651,11 +2073,10 @@
patches.suse/Revert-Revert-ALSA-usb-audio-Improve-frames-size-com.patch
patches.suse/ALSA-usb-audio-Fix-packet-size-calculation.patch
patches.suse/brcmfmac-Transform-compatible-string-for-FW-loading.patch
- patches.suse/net-ethernet-mvneta-Add-back-interface-mode-validati.patch
patches.suse/scsi-qla2xxx-Simplify-the-functions-for-dumping-firm.patch
- patches.suse/scsi-qla2xxx-make-1-bit-bit-fields-unsigned-int.patch
- patches.suse/spi-spi-fsl-dspi-Fix-lockup-if-device-is-shutdown-du.patch
- patches.suse/net-ethernet-mvneta-Do-not-error-out-in-non-serdes-m.patch
+ patches.suse/vgacon-fix-out-of-bounds-write-to-the-scrollback-buf.patch
+ patches.suse/Bluetooth-Consolidate-encryption-handling-in-hci_enc.patch
+ patches.suse/Bluetooth-Disconnect-if-E0-is-used-for-Level-4.patch
########################################################
# kbuild/module infrastructure fixes
++++++ source-timestamp ++++++
--- /var/tmp/diff_new_pack.QqrQoZ/_old 2020-07-31 15:55:52.816346096 +0200
+++ /var/tmp/diff_new_pack.QqrQoZ/_new 2020-07-31 15:55:52.816346096 +0200
@@ -1,3 +1,3 @@
-2020-07-16 09:40:08 +0000
-GIT Revision: a010166ebb50275ce822855b1f8891ce1fd75291
+2020-07-29 09:32:21 +0000
+GIT Revision: 501599469bceacc25b7494a8c45b87fefd7ea51a
GIT Branch: stable
1
0