openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
November 2019
- 1 participants
- 2390 discussions
Hello community,
here is the log from the commit of package python-pytest-django for openSUSE:Factory checked in at 2019-11-03 11:39:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pytest-django (Old)
and /work/SRC/openSUSE:Factory/.python-pytest-django.new.2990 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pytest-django"
Sun Nov 3 11:39:21 2019 rev:8 rq:744143 version:3.6.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pytest-django/python-pytest-django.changes 2019-08-23 11:08:01.286471160 +0200
+++ /work/SRC/openSUSE:Factory/.python-pytest-django.new.2990/python-pytest-django.changes 2019-11-03 11:39:22.634007607 +0100
@@ -1,0 +2,7 @@
+Wed Oct 30 11:54:08 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 3.6.0:
+ * Rename test databases when running parallel Tox (#678, #680)
+ * Django unittests: restore "debug" function (#769, #771)
+
+-------------------------------------------------------------------
Old:
----
pytest-django-3.5.1.tar.gz
New:
----
pytest-django-3.6.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pytest-django.spec ++++++
--- /var/tmp/diff_new_pack.pfsLgA/_old 2019-11-03 11:39:23.090008177 +0100
+++ /var/tmp/diff_new_pack.pfsLgA/_new 2019-11-03 11:39:23.094008182 +0100
@@ -18,11 +18,10 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-pytest-django
-Version: 3.5.1
+Version: 3.6.0
Release: 0
Summary: A Django plugin for py.test
License: BSD-3-Clause
-Group: Development/Languages/Python
URL: https://github.com/pytest-dev/pytest-django
Source: https://files.pythonhosted.org/packages/source/p/pytest-django/pytest-djang…
BuildRequires: %{python_module Django}
++++++ pytest-django-3.5.1.tar.gz -> pytest-django-3.6.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-django-3.5.1/.gitignore new/pytest-django-3.6.0/.gitignore
--- old/pytest-django-3.5.1/.gitignore 2019-06-29 18:28:26.000000000 +0200
+++ new/pytest-django-3.6.0/.gitignore 2019-10-17 03:07:43.000000000 +0200
@@ -9,6 +9,7 @@
.env
/.coverage.*
/.coverage
+/coverage.xml
/htmlcov/
.cache
.pytest_cache/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-django-3.5.1/.travis.yml new/pytest-django-3.6.0/.travis.yml
--- old/pytest-django-3.5.1/.travis.yml 2019-06-29 18:28:26.000000000 +0200
+++ new/pytest-django-3.6.0/.travis.yml 2019-10-17 03:07:43.000000000 +0200
@@ -6,7 +6,10 @@
include:
- stage: baseline
python: 3.6
- env: TOXENV=py36-dj20-postgres-xdist-coverage
+ env:
+ - TOXENV=py36-dj20-postgres-xdist-coverage
+ # Test in verbose mode.
+ - PYTEST_ADDOPTS=-vv
services:
- postgresql
- python: 3.6
@@ -23,6 +26,8 @@
env: TOXENV=py37-dj21-sqlite-coverage
- python: 3.7
env: TOXENV=py37-dj22-sqlite-xdist-coverage
+ - python: 3.8-dev
+ env: TOXENV=py38-dj30-sqlite-xdist-coverage
# Explicitly test (older) pytest 4.1.
- python: 3.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-django-3.5.1/PKG-INFO new/pytest-django-3.6.0/PKG-INFO
--- old/pytest-django-3.5.1/PKG-INFO 2019-06-29 18:28:42.000000000 +0200
+++ new/pytest-django-3.6.0/PKG-INFO 2019-10-17 03:07:59.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: pytest-django
-Version: 3.5.1
+Version: 3.6.0
Summary: A Django plugin for pytest.
Home-page: https://pytest-django.readthedocs.io/
Author: Andreas Pelme
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-django-3.5.1/codecov.yml new/pytest-django-3.6.0/codecov.yml
--- old/pytest-django-3.5.1/codecov.yml 1970-01-01 01:00:00.000000000 +0100
+++ new/pytest-django-3.6.0/codecov.yml 2019-10-17 03:07:43.000000000 +0200
@@ -0,0 +1,6 @@
+coverage:
+ status:
+ project: true
+ patch: true
+ changes: true
+comment: false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-django-3.5.1/docs/changelog.rst new/pytest-django-3.6.0/docs/changelog.rst
--- old/pytest-django-3.5.1/docs/changelog.rst 2019-06-29 18:28:26.000000000 +0200
+++ new/pytest-django-3.6.0/docs/changelog.rst 2019-10-17 03:07:43.000000000 +0200
@@ -1,6 +1,25 @@
Changelog
=========
+3.6.0 (2019-10-17)
+------------------
+
+Features
+^^^^^^^^
+
+* Rename test databases when running parallel Tox (#678, #680)
+
+Bugfixes
+^^^^^^^^
+
+* Django unittests: restore "debug" function (#769, #771)
+
+Misc
+^^^^
+
+* Improve/harden internal tests / infrastructure.
+
+
3.5.1 (2019-06-29)
------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-django-3.5.1/docs/database.rst new/pytest-django-3.6.0/docs/database.rst
--- old/pytest-django-3.5.1/docs/database.rst 2019-06-29 18:28:26.000000000 +0200
+++ new/pytest-django-3.6.0/docs/database.rst 2019-10-17 03:07:43.000000000 +0200
@@ -191,21 +191,43 @@
fixture you want to override.
The default implementation of this fixture requests the
-:fixture:`django_db_modify_db_settings_xdist_suffix` to provide compatibility
+:fixture:`django_db_modify_db_settings_parallel_suffix` to provide compatibility
with pytest-xdist.
This fixture is by default requested from :fixture:`django_db_setup`.
+django_db_modify_db_settings_parallel_suffix
+""""""""""""""""""""""""""""""""""""""""""""
+
+.. fixture:: django_db_modify_db_settings_parallel_suffix
+
+Requesting this fixture will add a suffix to the database name when the tests
+are run via `pytest-xdist`, or via `tox` in parallel mode.
+
+This fixture is by default requested from
+:fixture:`django_db_modify_db_settings`.
+
+django_db_modify_db_settings_tox_suffix
+"""""""""""""""""""""""""""""""""""""""
+
+.. fixture:: django_db_modify_db_settings_tox_suffix
+
+Requesting this fixture will add a suffix to the database name when the tests
+are run via `tox` in parallel mode.
+
+This fixture is by default requested from
+:fixture:`django_db_modify_db_settings_parallel_suffix`.
+
django_db_modify_db_settings_xdist_suffix
"""""""""""""""""""""""""""""""""""""""""
.. fixture:: django_db_modify_db_settings_xdist_suffix
Requesting this fixture will add a suffix to the database name when the tests
-are run via pytest-xdist.
+are run via `pytest-xdist`.
This fixture is by default requested from
-:fixture:`django_db_modify_db_settings`.
+:fixture:`django_db_modify_db_settings_parallel_suffix`.
django_db_use_migrations
""""""""""""""""""""""""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-django-3.5.1/docs/tutorial.rst new/pytest-django-3.6.0/docs/tutorial.rst
--- old/pytest-django-3.5.1/docs/tutorial.rst 2019-06-29 18:28:26.000000000 +0200
+++ new/pytest-django-3.6.0/docs/tutorial.rst 2019-10-17 03:07:43.000000000 +0200
@@ -19,7 +19,7 @@
* Blog post: `Django Projects to Django Apps: Converting the Unit Tests, by
John Costa
- <http://www.johnmcostaiii.net/2013/django-projects-to-django-apps-converting…>`_.
+ <https://www.johnmcostaiii.net/post/2013-04-21-django-projects-to-django-app…>`_.
For general information and tutorials on pytest, see the `pytest tutorial page <https://pytest.org/en/latest/getting-started.html>`_.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-django-3.5.1/pytest_django/fixtures.py new/pytest-django-3.6.0/pytest_django/fixtures.py
--- old/pytest-django-3.5.1/pytest_django/fixtures.py 2019-06-29 18:28:26.000000000 +0200
+++ new/pytest-django-3.6.0/pytest_django/fixtures.py 2019-10-17 03:07:43.000000000 +0200
@@ -33,35 +33,35 @@
@pytest.fixture(scope="session")
-def django_db_modify_db_settings_xdist_suffix(request):
+def django_db_modify_db_settings_tox_suffix(request):
skip_if_no_django()
- from django.conf import settings
-
- for db_settings in settings.DATABASES.values():
-
- try:
- test_name = db_settings["TEST"]["NAME"]
- except KeyError:
- test_name = None
+ tox_environment = os.getenv("TOX_PARALLEL_ENV")
+ if tox_environment:
+ # Put a suffix like _py27-django21 on tox workers
+ _set_suffix_to_test_databases(suffix=tox_environment)
- if not test_name:
- if db_settings["ENGINE"] == "django.db.backends.sqlite3":
- continue
- test_name = "test_{}".format(db_settings["NAME"])
+(a)pytest.fixture(scope="session")
+def django_db_modify_db_settings_xdist_suffix(request):
+ skip_if_no_django()
+ xdist_suffix = getattr(request.config, "slaveinput", {}).get("slaveid")
+ if xdist_suffix:
# Put a suffix like _gw0, _gw1 etc on xdist processes
- xdist_suffix = getattr(request.config, "slaveinput", {}).get("slaveid")
- if test_name != ":memory:" and xdist_suffix is not None:
- test_name = "{}_{}".format(test_name, xdist_suffix)
+ _set_suffix_to_test_databases(suffix=xdist_suffix)
- db_settings.setdefault("TEST", {})
- db_settings["TEST"]["NAME"] = test_name
+
+(a)pytest.fixture(scope="session")
+def django_db_modify_db_settings_parallel_suffix(
+ django_db_modify_db_settings_tox_suffix,
+ django_db_modify_db_settings_xdist_suffix,
+):
+ skip_if_no_django()
@pytest.fixture(scope="session")
-def django_db_modify_db_settings(django_db_modify_db_settings_xdist_suffix):
+def django_db_modify_db_settings(django_db_modify_db_settings_parallel_suffix):
skip_if_no_django()
@@ -169,6 +169,24 @@
migrate.Command = MigrateSilentCommand
+def _set_suffix_to_test_databases(suffix):
+ from django.conf import settings
+
+ for db_settings in settings.DATABASES.values():
+ test_name = db_settings.get("TEST", {}).get("NAME")
+
+ if not test_name:
+ if db_settings["ENGINE"] == "django.db.backends.sqlite3":
+ continue
+ test_name = "test_{}".format(db_settings["NAME"])
+
+ if test_name == ":memory:":
+ continue
+
+ db_settings.setdefault("TEST", {})
+ db_settings["TEST"]["NAME"] = "{}_{}".format(test_name, suffix)
+
+
# ############### User visible fixtures ################
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-django-3.5.1/pytest_django/plugin.py new/pytest-django-3.6.0/pytest_django/plugin.py
--- old/pytest-django-3.5.1/pytest_django/plugin.py 2019-06-29 18:28:26.000000000 +0200
+++ new/pytest-django-3.6.0/pytest_django/plugin.py 2019-10-17 03:07:43.000000000 +0200
@@ -22,6 +22,8 @@
from .fixtures import django_db_keepdb # noqa
from .fixtures import django_db_createdb # noqa
from .fixtures import django_db_modify_db_settings # noqa
+from .fixtures import django_db_modify_db_settings_parallel_suffix # noqa
+from .fixtures import django_db_modify_db_settings_tox_suffix # noqa
from .fixtures import django_db_modify_db_settings_xdist_suffix # noqa
from .fixtures import _live_server_helper # noqa
from .fixtures import admin_client # noqa
@@ -520,8 +522,9 @@
cls = request.node.cls
- # implement missing (as of 1.10) debug() method for django's TestCase
- # see pytest-dev/pytest-django#406
+ # Implement missing (as of 2.2) debug() wrapper/method for Django's TestCase.
+ # See pytest-dev/pytest-django#406.
+ # Pending PR for Django: https://github.com/django/django/pull/7436.
def _cleaning_debug(self):
testMethod = getattr(self, self._testMethodName)
skipped = getattr(self.__class__, "__unittest_skip__", False) or getattr(
@@ -534,6 +537,7 @@
if not skipped:
self._post_teardown()
+ orig_debug = cls.debug
cls.debug = _cleaning_debug
with django_db_blocker.unblock():
@@ -549,6 +553,8 @@
else:
yield
+ cls.debug = orig_debug
+
@pytest.fixture(scope="function", autouse=True)
def _dj_autoclear_mailbox():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-django-3.5.1/pytest_django.egg-info/PKG-INFO new/pytest-django-3.6.0/pytest_django.egg-info/PKG-INFO
--- old/pytest-django-3.5.1/pytest_django.egg-info/PKG-INFO 2019-06-29 18:28:42.000000000 +0200
+++ new/pytest-django-3.6.0/pytest_django.egg-info/PKG-INFO 2019-10-17 03:07:59.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: pytest-django
-Version: 3.5.1
+Version: 3.6.0
Summary: A Django plugin for pytest.
Home-page: https://pytest-django.readthedocs.io/
Author: Andreas Pelme
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-django-3.5.1/pytest_django.egg-info/SOURCES.txt new/pytest-django-3.6.0/pytest_django.egg-info/SOURCES.txt
--- old/pytest-django-3.5.1/pytest_django.egg-info/SOURCES.txt 2019-06-29 18:28:42.000000000 +0200
+++ new/pytest-django-3.6.0/pytest_django.egg-info/SOURCES.txt 2019-10-17 03:07:59.000000000 +0200
@@ -6,6 +6,7 @@
MANIFEST.in
Makefile
README.rst
+codecov.yml
requirements.txt
setup.cfg
setup.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-django-3.5.1/pytest_django_test/compat.py new/pytest-django-3.6.0/pytest_django_test/compat.py
--- old/pytest-django-3.5.1/pytest_django_test/compat.py 2019-06-29 18:28:26.000000000 +0200
+++ new/pytest-django-3.6.0/pytest_django_test/compat.py 2019-10-17 03:07:43.000000000 +0200
@@ -1,13 +1,4 @@
try:
- from urllib2 import urlopen, HTTPError # noqa
+ from urllib2 import urlopen, HTTPError
except ImportError:
- from urllib.request import urlopen, HTTPError # noqa
-
-# Django 1.10 removes patterns, instead it is just a list
-try:
- from django.conf.urls import patterns
-except ImportError:
-
- def patterns(prefix, *urls):
- assert prefix == ""
- return urls
+ from urllib.request import urlopen, HTTPError # noqa: F401
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-django-3.5.1/pytest_django_test/urls.py new/pytest-django-3.6.0/pytest_django_test/urls.py
--- old/pytest-django-3.5.1/pytest_django_test/urls.py 2019-06-29 18:28:26.000000000 +0200
+++ new/pytest-django-3.6.0/pytest_django_test/urls.py 2019-10-17 03:07:43.000000000 +0200
@@ -1,10 +1,8 @@
from django.conf.urls import url
from .app import views
-from .compat import patterns
-urlpatterns = patterns(
- "",
+urlpatterns = [
url(r"^item_count/$", views.item_count),
url(r"^admin-required/$", views.admin_required_view),
-)
+]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-django-3.5.1/pytest_django_test/urls_overridden.py new/pytest-django-3.6.0/pytest_django_test/urls_overridden.py
--- old/pytest-django-3.5.1/pytest_django_test/urls_overridden.py 2019-06-29 18:28:26.000000000 +0200
+++ new/pytest-django-3.6.0/pytest_django_test/urls_overridden.py 2019-10-17 03:07:43.000000000 +0200
@@ -1,8 +1,6 @@
from django.conf.urls import url
from django.http import HttpResponse
-from .compat import patterns
-
-urlpatterns = patterns(
- "", url(r"^overridden_url/$", lambda r: HttpResponse("Overridden urlconf works!"))
-)
+urlpatterns = [
+ url(r"^overridden_url/$", lambda r: HttpResponse("Overridden urlconf works!"))
+]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-django-3.5.1/tests/test_db_setup.py new/pytest-django-3.6.0/tests/test_db_setup.py
--- old/pytest-django-3.5.1/tests/test_db_setup.py 2019-06-29 18:28:26.000000000 +0200
+++ new/pytest-django-3.6.0/tests/test_db_setup.py 2019-10-17 03:07:43.000000000 +0200
@@ -288,7 +288,135 @@
assert conn_db2.vendor == 'sqlite'
db_name = conn_db2.creation._get_test_db_name()
- assert 'test_custom_db_name_gw' in db_name
+ assert db_name.startswith('test_custom_db_name_gw')
+ """
+ )
+
+ result = django_testdir.runpytest_subprocess("--tb=short", "-vv", "-n1")
+ assert result.ret == 0
+ result.stdout.fnmatch_lines(["*PASSED*test_a*"])
+
+
+class TestSqliteWithTox:
+
+ db_settings = {
+ "default": {
+ "ENGINE": "django.db.backends.sqlite3",
+ "NAME": "db_name",
+ "TEST": {"NAME": "test_custom_db_name"},
+ }
+ }
+
+ def test_db_with_tox_suffix(self, django_testdir, monkeypatch):
+ "A test to check that Tox DB suffix works when running in parallel."
+ monkeypatch.setenv("TOX_PARALLEL_ENV", "py37-django22")
+
+ django_testdir.create_test_module(
+ """
+ import pytest
+ from django.db import connections
+
+ @pytest.mark.django_db
+ def test_inner():
+
+ (conn, ) = connections.all()
+
+ assert conn.vendor == 'sqlite'
+ db_name = conn.creation._get_test_db_name()
+ assert db_name == 'test_custom_db_name_py37-django22'
+ """
+ )
+
+ result = django_testdir.runpytest_subprocess("--tb=short", "-vv")
+ assert result.ret == 0
+ result.stdout.fnmatch_lines(["*test_inner*PASSED*"])
+
+ def test_db_with_empty_tox_suffix(self, django_testdir, monkeypatch):
+ "A test to check that Tox DB suffix is not used when suffix would be empty."
+ monkeypatch.setenv("TOX_PARALLEL_ENV", "")
+
+ django_testdir.create_test_module(
+ """
+ import pytest
+ from django.db import connections
+
+ @pytest.mark.django_db
+ def test_inner():
+
+ (conn,) = connections.all()
+
+ assert conn.vendor == 'sqlite'
+ db_name = conn.creation._get_test_db_name()
+ assert db_name == 'test_custom_db_name'
+ """
+ )
+
+ result = django_testdir.runpytest_subprocess("--tb=short", "-vv")
+ assert result.ret == 0
+ result.stdout.fnmatch_lines(["*test_inner*PASSED*"])
+
+
+class TestSqliteWithToxAndXdist:
+
+ db_settings = {
+ "default": {
+ "ENGINE": "django.db.backends.sqlite3",
+ "NAME": "db_name",
+ "TEST": {"NAME": "test_custom_db_name"},
+ }
+ }
+
+ def test_db_with_tox_suffix(self, django_testdir, monkeypatch):
+ "A test to check that both Tox and xdist suffixes work together."
+ pytest.importorskip("xdist")
+ monkeypatch.setenv("TOX_PARALLEL_ENV", "py37-django22")
+
+ django_testdir.create_test_module(
+ """
+ import pytest
+ from django.db import connections
+
+ @pytest.mark.django_db
+ def test_inner():
+
+ (conn, ) = connections.all()
+
+ assert conn.vendor == 'sqlite'
+ db_name = conn.creation._get_test_db_name()
+ assert db_name.startswith('test_custom_db_name_py37-django22_gw')
+ """
+ )
+
+ result = django_testdir.runpytest_subprocess("--tb=short", "-vv", "-n1")
+ assert result.ret == 0
+ result.stdout.fnmatch_lines(["*PASSED*test_inner*"])
+
+
+class TestSqliteInMemoryWithXdist:
+
+ db_settings = {
+ "default": {
+ "ENGINE": "django.db.backends.sqlite3",
+ "NAME": ":memory:",
+ "TEST": {"NAME": ":memory:"},
+ }
+ }
+
+ def test_sqlite_in_memory_used(self, django_testdir):
+ pytest.importorskip("xdist")
+
+ django_testdir.create_test_module(
+ """
+ import pytest
+ from django.db import connections
+
+ @pytest.mark.django_db
+ def test_a():
+ (conn, ) = connections.all()
+
+ assert conn.vendor == 'sqlite'
+ db_name = conn.creation._get_test_db_name()
+ assert 'file:memorydb' in db_name or db_name == ':memory:'
"""
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-django-3.5.1/tests/test_django_configurations.py new/pytest-django-3.6.0/tests/test_django_configurations.py
--- old/pytest-django-3.5.1/tests/test_django_configurations.py 2019-06-29 18:28:26.000000000 +0200
+++ new/pytest-django-3.6.0/tests/test_django_configurations.py 2019-10-17 03:07:43.000000000 +0200
@@ -40,7 +40,7 @@
"""
)
result = testdir.runpytest_subprocess()
- result.stdout.fnmatch_lines(["*1 passed*"])
+ result.stdout.fnmatch_lines(["* 1 passed in*"])
assert result.ret == 0
@@ -68,7 +68,7 @@
"""
)
result = testdir.runpytest_subprocess()
- result.stdout.fnmatch_lines(["*1 passed*"])
+ result.stdout.fnmatch_lines(["* 1 passed in*"])
assert result.ret == 0
@@ -96,5 +96,5 @@
"""
)
result = testdir.runpytest_subprocess("--ds=tpkg.settings_opt", "--dc=MySettings")
- result.stdout.fnmatch_lines(["*1 passed*"])
+ result.stdout.fnmatch_lines(["* 1 passed in*"])
assert result.ret == 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-django-3.5.1/tests/test_django_settings_module.py new/pytest-django-3.6.0/tests/test_django_settings_module.py
--- old/pytest-django-3.5.1/tests/test_django_settings_module.py 2019-06-29 18:28:26.000000000 +0200
+++ new/pytest-django-3.6.0/tests/test_django_settings_module.py 2019-10-17 03:07:43.000000000 +0200
@@ -138,7 +138,7 @@
testdir.makepyfile(settings_after_conftest="SECRET_KEY='secret'")
# testdir.makeconftest("import sys; print(sys.path)")
result = testdir.runpytest_subprocess("-v")
- result.stdout.fnmatch_lines(["*1 passed*"])
+ result.stdout.fnmatch_lines(["* 1 passed in*"])
assert result.ret == 0
@@ -226,7 +226,7 @@
"""
)
result = testdir.runpython(p)
- result.stdout.fnmatch_lines(["*4 passed*"])
+ result.stdout.fnmatch_lines(["* 4 passed in*"])
def test_settings_in_hook(testdir, monkeypatch):
@@ -275,7 +275,7 @@
"""
)
result = testdir.runpytest_subprocess()
- result.stdout.fnmatch_lines(["*1 passed*"])
+ result.stdout.fnmatch_lines(["* 1 passed in*"])
assert result.ret == 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-django-3.5.1/tests/test_environment.py new/pytest-django-3.6.0/tests/test_environment.py
--- old/pytest-django-3.5.1/tests/test_environment.py 2019-06-29 18:28:26.000000000 +0200
+++ new/pytest-django-3.6.0/tests/test_environment.py 2019-10-17 03:07:43.000000000 +0200
@@ -58,14 +58,10 @@
django_testdir.create_app_file(
"""
from django.conf.urls import url
- from pytest_django_test.compat import patterns
from tpkg.app import views
- urlpatterns = patterns(
- '',
- url(r'invalid_template/', views.invalid_template),
- )
+ urlpatterns = [url(r'invalid_template/', views.invalid_template)]
""",
"urls.py",
)
@@ -168,14 +164,10 @@
django_testdir.create_app_file(
"""
from django.conf.urls import url
- from pytest_django_test.compat import patterns
from tpkg.app import views
- urlpatterns = patterns(
- '',
- url(r'invalid_template/', views.invalid_template),
- )
+ urlpatterns = [url(r'invalid_template/', views.invalid_template)]
""",
"urls.py",
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-django-3.5.1/tests/test_fixtures.py new/pytest-django-3.6.0/tests/test_fixtures.py
--- old/pytest-django-3.5.1/tests/test_fixtures.py 2019-06-29 18:28:26.000000000 +0200
+++ new/pytest-django-3.6.0/tests/test_fixtures.py 2019-10-17 03:07:43.000000000 +0200
@@ -7,12 +7,12 @@
from __future__ import with_statement
import socket
+from contextlib import contextmanager
import pytest
-
-from django.db import connection, transaction
from django.conf import settings as real_settings
from django.core import mail
+from django.db import connection, transaction
from django.test.client import Client, RequestFactory
from django.test.testcases import connections_support_transactions
from django.utils.encoding import force_text
@@ -22,6 +22,18 @@
from pytest_django_test.compat import HTTPError, urlopen
+@contextmanager
+def nonverbose_config(config):
+ """Ensure that pytest's config.option.verbose is <= 0."""
+ if config.option.verbose <= 0:
+ yield
+ else:
+ saved = config.option.verbose
+ config.option.verbose = 0
+ yield
+ config.option.verbose = saved
+
+
def test_client(client):
assert isinstance(client, Client)
@@ -53,56 +65,58 @@
@pytest.mark.django_db
-def test_django_assert_num_queries_db(django_assert_num_queries):
- with django_assert_num_queries(3):
- Item.objects.create(name="foo")
- Item.objects.create(name="bar")
- Item.objects.create(name="baz")
+def test_django_assert_num_queries_db(request, django_assert_num_queries):
+ with nonverbose_config(request.config):
+ with django_assert_num_queries(3):
+ Item.objects.create(name="foo")
+ Item.objects.create(name="bar")
+ Item.objects.create(name="baz")
- with pytest.raises(pytest.fail.Exception) as excinfo:
- with django_assert_num_queries(2) as captured:
- Item.objects.create(name="quux")
- assert excinfo.value.args == (
- "Expected to perform 2 queries but 1 was done "
- "(add -v option to show queries)",
- )
- assert len(captured.captured_queries) == 1
+ with pytest.raises(pytest.fail.Exception) as excinfo:
+ with django_assert_num_queries(2) as captured:
+ Item.objects.create(name="quux")
+ assert excinfo.value.args == (
+ "Expected to perform 2 queries but 1 was done "
+ "(add -v option to show queries)",
+ )
+ assert len(captured.captured_queries) == 1
@pytest.mark.django_db
-def test_django_assert_max_num_queries_db(django_assert_max_num_queries):
- with django_assert_max_num_queries(2):
- Item.objects.create(name="1-foo")
- Item.objects.create(name="2-bar")
-
- with pytest.raises(pytest.fail.Exception) as excinfo:
- with django_assert_max_num_queries(2) as captured:
+def test_django_assert_max_num_queries_db(request, django_assert_max_num_queries):
+ with nonverbose_config(request.config):
+ with django_assert_max_num_queries(2):
Item.objects.create(name="1-foo")
Item.objects.create(name="2-bar")
- Item.objects.create(name="3-quux")
- assert excinfo.value.args == (
- "Expected to perform 2 queries or less but 3 were done "
- "(add -v option to show queries)",
- )
- assert len(captured.captured_queries) == 3
- assert "1-foo" in captured.captured_queries[0]["sql"]
+ with pytest.raises(pytest.fail.Exception) as excinfo:
+ with django_assert_max_num_queries(2) as captured:
+ Item.objects.create(name="1-foo")
+ Item.objects.create(name="2-bar")
+ Item.objects.create(name="3-quux")
+
+ assert excinfo.value.args == (
+ "Expected to perform 2 queries or less but 3 were done "
+ "(add -v option to show queries)",
+ )
+ assert len(captured.captured_queries) == 3
+ assert "1-foo" in captured.captured_queries[0]["sql"]
@pytest.mark.django_db(transaction=True)
def test_django_assert_num_queries_transactional_db(
- transactional_db, django_assert_num_queries
+ request, transactional_db, django_assert_num_queries
):
- with transaction.atomic():
-
- with django_assert_num_queries(3):
- Item.objects.create(name="foo")
- Item.objects.create(name="bar")
- Item.objects.create(name="baz")
-
- with pytest.raises(pytest.fail.Exception):
- with django_assert_num_queries(2):
- Item.objects.create(name="quux")
+ with nonverbose_config(request.config):
+ with transaction.atomic():
+ with django_assert_num_queries(3):
+ Item.objects.create(name="foo")
+ Item.objects.create(name="bar")
+ Item.objects.create(name="baz")
+
+ with pytest.raises(pytest.fail.Exception):
+ with django_assert_num_queries(2):
+ Item.objects.create(name="quux")
def test_django_assert_num_queries_output(django_testdir):
@@ -504,13 +518,9 @@
django_testdir.create_app_file(
"""
from django.conf.urls import url
- from pytest_django_test.compat import patterns
from tpkg.app import views
- urlpatterns = patterns(
- '',
- url(r'admin-required/', views.admin_required_view),
- )
+ urlpatterns = [url(r'admin-required/', views.admin_required_view)]
""",
"urls.py",
)
@@ -529,12 +539,12 @@
)
django_testdir.makepyfile(
"""
- from django.utils.encoding import force_text
+ from django.utils.encoding import force_str
from tpkg.app.models import MyCustomUser
def test_custom_user_model(admin_client):
resp = admin_client.get('/admin-required/')
- assert force_text(resp.content) == 'You are an admin'
+ assert force_str(resp.content) == 'You are an admin'
"""
)
@@ -564,7 +574,7 @@
('password', models.CharField(max_length=128, verbose_name='password')),
('last_login', models.DateTimeField(null=True, verbose_name='last login', blank=True)),
('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
- ('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, max_length=30, validators=[django.core.validators.RegexValidator('^[\\w.@+-]+$', 'Enter a valid username. This value may contain only letters, numbers and @/./+/-/_ characters.', 'invalid')], help_text='Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only.', unique=True, verbose_name='username')),
+ ('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, max_length=30, validators=[django.core.validators.RegexValidator(r'^[\\w.@+-]+$', 'Enter a valid username. This value may contain only letters, numbers and @/./+/-/_ characters.', 'invalid')], help_text='Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only.', unique=True, verbose_name='username')),
('first_name', models.CharField(max_length=30, verbose_name='first name', blank=True)),
('last_name', models.CharField(max_length=30, verbose_name='last name', blank=True)),
('email', models.EmailField(max_length=254, verbose_name='email address', blank=True)),
@@ -588,7 +598,7 @@
)
result = django_testdir.runpytest_subprocess("-s")
- result.stdout.fnmatch_lines(["*1 passed*"])
+ result.stdout.fnmatch_lines(["* 1 passed in*"])
assert result.ret == 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-django-3.5.1/tests/test_initialization.py new/pytest-django-3.6.0/tests/test_initialization.py
--- old/pytest-django-3.5.1/tests/test_initialization.py 2019-06-29 18:28:26.000000000 +0200
+++ new/pytest-django-3.6.0/tests/test_initialization.py 2019-10-17 03:07:43.000000000 +0200
@@ -54,7 +54,7 @@
"conftest",
"pytest_configure: conftest",
"pytest_configure: plugin",
- "*1 passed*",
+ "* 1 passed in*",
]
)
assert result.ret == 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-django-3.5.1/tests/test_unittest.py new/pytest-django-3.6.0/tests/test_unittest.py
--- old/pytest-django-3.5.1/tests/test_unittest.py 2019-06-29 18:28:26.000000000 +0200
+++ new/pytest-django-3.6.0/tests/test_unittest.py 2019-10-17 03:07:43.000000000 +0200
@@ -392,7 +392,7 @@
result = django_testdir.runpytest_subprocess("-q", "-s")
result.stdout.fnmatch_lines(
- ["*FooBarTestCase.setUpClass*", "*test_noop*", "1 passed*"]
+ ["*FooBarTestCase.setUpClass*", "*test_noop*", "1 passed in*"]
)
assert result.ret == 0
@@ -456,3 +456,34 @@
result = django_testdir.runpytest_subprocess("-v", "--pdb")
assert result.ret == 0
+
+
+def test_debug_restored(django_testdir):
+ django_testdir.create_test_module(
+ """
+ from django.test import TestCase
+
+ pre_setup_count = 0
+
+
+ class TestClass1(TestCase):
+
+ def test_method(self):
+ pass
+
+
+ class TestClass2(TestClass1):
+
+ def _pre_setup(self):
+ global pre_setup_count
+ pre_setup_count += 1
+ super(TestClass2, self)._pre_setup()
+
+ def test_method(self):
+ assert pre_setup_count == 1
+ """
+ )
+
+ result = django_testdir.runpytest_subprocess("--pdb")
+ result.stdout.fnmatch_lines(["*= 2 passed in *"])
+ assert result.ret == 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-django-3.5.1/tests/test_urls.py new/pytest-django-3.6.0/tests/test_urls.py
--- old/pytest-django-3.5.1/tests/test_urls.py 2019-06-29 18:28:26.000000000 +0200
+++ new/pytest-django-3.6.0/tests/test_urls.py 2019-10-17 03:07:43.000000000 +0200
@@ -23,12 +23,11 @@
testdir.makepyfile(
myurls="""
from django.conf.urls import url
- from pytest_django_test.compat import patterns
def fake_view(request):
pass
- urlpatterns = patterns('', url(r'first/$', fake_view, name='first'))
+ urlpatterns = [url(r'first/$', fake_view, name='first')]
"""
)
@@ -60,24 +59,22 @@
testdir.makepyfile(
myurls="""
from django.conf.urls import url
- from pytest_django_test.compat import patterns
def fake_view(request):
pass
- urlpatterns = patterns('', url(r'first/$', fake_view, name='first'))
+ urlpatterns = [url(r'first/$', fake_view, name='first')]
"""
)
testdir.makepyfile(
myurls2="""
from django.conf.urls import url
- from pytest_django_test.compat import patterns
def fake_view(request):
pass
- urlpatterns = patterns('', url(r'second/$', fake_view, name='second'))
+ urlpatterns = [url(r'second/$', fake_view, name='second')]
"""
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pytest-django-3.5.1/tox.ini new/pytest-django-3.6.0/tox.ini
--- old/pytest-django-3.5.1/tox.ini 2019-06-29 18:28:26.000000000 +0200
+++ new/pytest-django-3.6.0/tox.ini 2019-10-17 03:07:43.000000000 +0200
@@ -1,7 +1,8 @@
[tox]
envlist =
- py{37}-dj{22,21,20,111}-postgres
- py{35,36}-dj{22,21,20,111,110,19,18}-postgres
+ py37-dj{30,22,21,20,111}-postgres
+ py36-dj{30,22,21,20,111,110,19,18}-postgres
+ py35-dj{22,21,20,111,110,19,18}-postgres
py34-dj{20,111,110}-postgres
py27-dj{111,110}-{mysql_innodb,mysql_myisam,postgres}
py27-dj{111,110,19,18}-postgres
@@ -11,6 +12,7 @@
extras = testing
deps =
djmaster: https://github.com/django/django/archive/master.tar.gz
+ dj30: Django>=3.0a1,<3.1
dj22: Django>=2.2a1,<2.3
dj21: Django>=2.1,<2.2
dj20: Django>=2.0,<2.1
@@ -26,6 +28,7 @@
coverage: coverage-enable-subprocess
pytest41: pytest>=4.1,<4.2
+ pytest41: attrs==17.4.0
xdist: pytest-xdist>=1.15
setenv =
@@ -42,7 +45,7 @@
coverage: COVERAGE_FILE={toxinidir}/.coverage
coverage: PYTESTDJANGO_COVERAGE_SRC={toxinidir}/
-passenv = PYTEST_ADDOPTS
+passenv = PYTEST_ADDOPTS TERM
usedevelop = True
commands =
coverage: coverage erase
1
0
Hello community,
here is the log from the commit of package mailutils for openSUSE:Factory checked in at 2019-11-03 11:37:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mailutils (Old)
and /work/SRC/openSUSE:Factory/.mailutils.new.2990 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mailutils"
Sun Nov 3 11:37:15 2019 rev:5 rq:744091 version:3.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/mailutils/mailutils.changes 2018-12-05 09:37:32.065089858 +0100
+++ /work/SRC/openSUSE:Factory/.mailutils.new.2990/mailutils.changes 2019-11-03 11:37:18.181851971 +0100
@@ -1,0 +2,15 @@
+Wed Oct 30 10:27:43 UTC 2019 - Ondřej Súkup <mimi.vx(a)gmail.com>
+
+- update to 3.7
+- enable python3 instead of python2
+ * Support for the new mailbox format - dotmail
+ * Improve automatic mailbox format detection
+ * Rewrite mailcap (RFC1524) support
+ * imap4d: SEARCH command
+ * Improved SEARCH BODY and SEARCH TEXT commands
+ * Fixes in the 'mail' utility
+ * New mailbox notation @
+ * Sender addresses in message sets
+ * Fixes in IMAP client library
+
+-------------------------------------------------------------------
Old:
----
mailutils-3.5.tar.xz
New:
----
mailutils-3.7.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mailutils.spec ++++++
--- /var/tmp/diff_new_pack.drF5W0/_old 2019-11-03 11:37:19.073853087 +0100
+++ /var/tmp/diff_new_pack.drF5W0/_new 2019-11-03 11:37:19.073853087 +0100
@@ -1,7 +1,7 @@
#
# spec file for package mailutils
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# 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/
#
@@ -24,14 +24,14 @@
%define somajor 5
Name: mailutils
-Version: 3.5
+Version: 3.7
Release: 0
Summary: GNU Mailutils
License: LGPL-3.0-or-later AND GPL-3.0-or-later
Group: Productivity/Networking/Email/Clients
Url: https://mailutils.org/
Source: ftp://ftp.gnu.org/gnu/mailutils/%{name}-%{version}.tar.xz
-Source1: %{name}-%{version}-guile-2.0.tar.xz
+Source1: %{name}-3.5-guile-2.0.tar.xz
Source2: %{name}-rpmlintrc
Patch0: lisp-load-silent.patch
Patch2: silent-rpmlint-with_initgroups.patch
@@ -61,15 +61,11 @@
BuildRequires: pkgconfig(krb5-gssapi)
BuildRequires: pkgconfig(kyotocabinet)
BuildRequires: pkgconfig(libgsasl)
-%if 0
# Does not compile due API changes
-BuildRequires: pkgconfig(python3)
-%else
-BuildRequires: pkgconfig(python)
-%endif
BuildRequires: readline-devel
BuildRequires: tcpd-devel
BuildRequires: update-alternatives
+BuildRequires: pkgconfig(python3)
Requires: guile = %(rpm -q --queryformat '%%{VERSION}' guile-devel)
Requires(post): update-alternatives
Requires(preun): update-alternatives
@@ -399,11 +395,12 @@
%{_libexecdir}/mailutils/mailutils-*
%dir %{_libexecdir}/python*/site-packages/mailutils/
%{_libexecdir}/python*/site-packages/mailutils/*.p*
+%dir %{_libexecdir}/python*/site-packages/mailutils/__pycache__/
+%{_libexecdir}/python*/site-packages/mailutils/__pycache__/*
%dir %{_libdir}/mailutils/
%{_libdir}/mailutils/*.so
%dir %{_libdir}/python*/site-packages/mailutils/
%{_libdir}/python*/site-packages/mailutils/c_api.so
-
%files mh
%defattr(-,root,root)
%dir %{_bindir}/mu-mh/
++++++ mailutils-3.5.tar.xz -> mailutils-3.7.tar.xz ++++++
++++ 244649 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package metallb for openSUSE:Factory checked in at 2019-11-03 11:35:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/metallb (Old)
and /work/SRC/openSUSE:Factory/.metallb.new.2990 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "metallb"
Sun Nov 3 11:35:08 2019 rev:5 rq:744083 version:0.8.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/metallb/metallb.changes 2019-08-27 15:54:17.607668152 +0200
+++ /work/SRC/openSUSE:Factory/.metallb.new.2990/metallb.changes 2019-11-03 11:35:13.433695966 +0100
@@ -1,0 +2,9 @@
+Wed Oct 30 10:35:06 UTC 2019 - Thorsten Kukuk <kukuk(a)suse.com>
+
+- Update to version 0.8.2
+ - Fix layer2 node selection when healthy and unhealthy replicas
+ are colocated on a single node. (#474)
+ - Drop support for helm chart installation
+- Refresh vendor.tar.gz
+
+-------------------------------------------------------------------
Old:
----
metallb-0.8.1.tar.gz
New:
----
metallb-0.8.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ metallb.spec ++++++
--- /var/tmp/diff_new_pack.0gAPzP/_old 2019-11-03 11:35:14.833697716 +0100
+++ /var/tmp/diff_new_pack.0gAPzP/_new 2019-11-03 11:35:14.837697722 +0100
@@ -14,13 +14,10 @@
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
-# nodebuginfo
-# Project name when using go tooling.
-%define project go.universe.tf/metallb
Name: metallb
-Version: 0.8.1
+Version: 0.8.2
Release: 0
Summary: Load Balancer for bare metal Kubernetes clusters
License: Apache-2.0
++++++ metallb-0.8.1.tar.gz -> metallb-0.8.2.tar.gz ++++++
/work/SRC/openSUSE:Factory/metallb/metallb-0.8.1.tar.gz /work/SRC/openSUSE:Factory/.metallb.new.2990/metallb-0.8.2.tar.gz differ: char 26, line 1
++++++ vendor.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/go.mod new/go.mod
--- old/go.mod 2019-07-22 11:53:03.806525822 +0200
+++ new/go.mod 1970-01-01 01:00:00.000000000 +0100
@@ -1,37 +0,0 @@
-module go.universe.tf/metallb
-
-go 1.12
-
-require (
- github.com/armon/go-radix v1.0.0 // indirect
- github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 // indirect
- github.com/eapache/channels v1.1.0 // indirect
- github.com/eapache/queue v1.1.0 // indirect
- github.com/go-kit/kit v0.9.0
- github.com/golang/protobuf v1.3.1
- github.com/google/go-cmp v0.3.0
- github.com/googleapis/gnostic v0.2.0 // indirect
- github.com/imdario/mergo v0.3.6 // indirect
- github.com/kr/pretty v0.1.0 // indirect
- github.com/mdlayher/arp v0.0.0-20190313224443-98a83c8a2717
- github.com/mdlayher/ethernet v0.0.0-20190606142754-0394541c37b7
- github.com/mdlayher/ndp v0.0.0-20190419144644-012988d57f9a
- github.com/mikioh/ipaddr v0.0.0-20190404000644-d465c8ab6721
- github.com/osrg/gobgp v2.0.0+incompatible
- github.com/prometheus/client_golang v1.0.0
- github.com/satori/go.uuid v1.2.0 // indirect
- github.com/spf13/cobra v0.0.5
- github.com/vishvananda/netlink v1.0.0 // indirect
- github.com/vishvananda/netns v0.0.0-20190625233234-7109fa855b0f // indirect
- go.universe.tf/virtuakube v0.0.0-20190708182722-512c11153571
- golang.org/x/sys v0.0.0-20190606122018-79a91cf218c4
- golang.org/x/time v0.0.0-20181108054448-85acf8d2951c // indirect
- google.golang.org/grpc v1.22.0 // indirect
- gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect
- gopkg.in/inf.v0 v0.9.1 // indirect
- gopkg.in/yaml.v2 v2.2.2
- k8s.io/api v0.0.0-20190620084959-7cf5895f2711
- k8s.io/apimachinery v0.0.0-20190612205821-1799e75a0719
- k8s.io/client-go v0.0.0-20190620085101-78d2af792bab
- k8s.io/klog v0.3.1
-)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/go.sum new/go.sum
--- old/go.sum 2019-07-21 11:07:29.000000000 +0200
+++ new/go.sum 1970-01-01 01:00:00.000000000 +0100
@@ -1,257 +0,0 @@
-cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-github.com/Azure/go-autorest v11.1.2+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24=
-github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
-github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
-github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
-github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
-github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
-github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI=
-github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
-github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
-github.com/beorn7/perks v1.0.0 h1:HWo1m869IqiPhD389kmkxeTalrjNbbJTC8LXupb+sl0=
-github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
-github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
-github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
-github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
-github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
-github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
-github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
-github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/dgrijalva/jwt-go v0.0.0-20160705203006-01aeca54ebda/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
-github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 h1:tdlZCpZ/P9DhczCTSixgIKmwPv6+wP5DGjqLYw5SUiA=
-github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw=
-github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM=
-github.com/eapache/channels v1.1.0 h1:F1taHcn7/F0i8DYqKXJnyhJcVpp2kgFcNePxXtnyu4k=
-github.com/eapache/channels v1.1.0/go.mod h1:jMm2qB5Ubtg9zLd+inMZd2/NUvXgzmWXsDaLyQIGfH0=
-github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc=
-github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I=
-github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc=
-github.com/evanphx/json-patch v0.0.0-20190203023257-5858425f7550/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
-github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
-github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
-github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
-github.com/go-kit/kit v0.9.0 h1:wDJmvq38kDhkVxi50ni9ykkdUr1PKgqKOoi01fa0Mdk=
-github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
-github.com/go-logfmt/logfmt v0.3.0 h1:8HUsc87TaSWLKwrnumgC8/YconD2fJQsRJAsWaPg2ic=
-github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
-github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
-github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
-github.com/gogo/protobuf v0.0.0-20171007142547-342cbe0a0415 h1:WSBJMqJbLxsn+bTCPyPYZfqHdJmc8MK4wrBjMft6BAM=
-github.com/gogo/protobuf v0.0.0-20171007142547-342cbe0a0415/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
-github.com/gogo/protobuf v1.1.1 h1:72R+M5VuhED/KujmZVcIquuo8mBgX4oVda//DQb3PXo=
-github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
-github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
-github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
-github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903 h1:LbsanbbD6LieFkXbj9YNNBupiGHJgFeLpO0j0Fza1h8=
-github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
-github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM=
-github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg=
-github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/google/btree v0.0.0-20160524151835-7d79101e329e/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
-github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
-github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY=
-github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
-github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf h1:+RRA9JqSOZFfKrOeqr2z77+8R2RKyh8PG66dcu1V0ck=
-github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
-github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d h1:7XGaL1e6bYS1yIonGp9761ExpPPV1ui0SAC59Yube9k=
-github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
-github.com/googleapis/gnostic v0.2.0 h1:l6N3VoaVzTncYYW+9yOz2LJJammFZGBO13sqgEhpy9g=
-github.com/googleapis/gnostic v0.2.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
-github.com/gophercloud/gophercloud v0.0.0-20190126172459-c818fa66e4c8/go.mod h1:3WdhXV3rUYy9p6AUW8d94kr+HS62Y4VL9mBnFxsD8q4=
-github.com/gregjones/httpcache v0.0.0-20170728041850-787624de3eb7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
-github.com/hashicorp/golang-lru v0.5.0 h1:CL2msUPvZTLb5O648aiLNJw3hnBxN2+1Jq8rCOH9wdo=
-github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
-github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
-github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
-github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
-github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
-github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
-github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28=
-github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
-github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
-github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
-github.com/json-iterator/go v0.0.0-20180701071628-ab8a2e0c74be h1:AHimNtVIpiBjPUhEF5KNCkrUyqTSA5zWUl8sQ2bfGBE=
-github.com/json-iterator/go v0.0.0-20180701071628-ab8a2e0c74be/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
-github.com/json-iterator/go v1.1.6 h1:MrUvLMLTMxbqFJ9kzlvat/rYZqZnW3u4wkLzWTaFwKs=
-github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
-github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
-github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk=
-github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
-github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515 h1:T+h1c/A9Gawja4Y9mFVWj2vyii2bbUNDw3kt9VxK2EY=
-github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
-github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
-github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
-github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
-github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
-github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
-github.com/magiconair/properties v1.8.0 h1:LLgXmsheXeRoUOBOjtwPQCWIYqM/LU1ayDtDePerRcY=
-github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
-github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
-github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
-github.com/mdlayher/arp v0.0.0-20190313224443-98a83c8a2717 h1:lAsTIRVOYxE/LwrMmSAVfV/HDndBEvHaAEkjbwhqsJ4=
-github.com/mdlayher/arp v0.0.0-20190313224443-98a83c8a2717/go.mod h1:eOj1DDj3NAZ6yv+WafaKzY37MFZ58TdfIhQ+8nQbiis=
-github.com/mdlayher/ethernet v0.0.0-20190313224307-5b5fc417d966/go.mod h1:5s5p/sMJ6sNsFl6uCh85lkFGV8kLuIYJCRJLavVJwvg=
-github.com/mdlayher/ethernet v0.0.0-20190606142754-0394541c37b7 h1:lez6TS6aAau+8wXUP3G9I3TGlmPFEq2CTxBaRqY6AGE=
-github.com/mdlayher/ethernet v0.0.0-20190606142754-0394541c37b7/go.mod h1:U6ZQobyTjI/tJyq2HG+i/dfSoFUt8/aZCM+GKtmFk/Y=
-github.com/mdlayher/ndp v0.0.0-20190419144644-012988d57f9a h1:Zxv0cbPnawjB/+/mWXGnPlCGa6HH4GY7QBcvjrKGpJc=
-github.com/mdlayher/ndp v0.0.0-20190419144644-012988d57f9a/go.mod h1:KcNh3mzU4B90fthp1xbbYGrdpDyoU/qJHJMR/0gLueU=
-github.com/mdlayher/raw v0.0.0-20190313224157-43dbcdd7739d/go.mod h1:r1fbeITl2xL/zLbVnNHFyOzQJTgr/3fpf1lJX/cjzR8=
-github.com/mdlayher/raw v0.0.0-20190606142536-fef19f00fc18 h1:zwOa3e/13D6veNIz6zzuqrd3eZEMF0dzD0AQWKcYSs4=
-github.com/mdlayher/raw v0.0.0-20190606142536-fef19f00fc18/go.mod h1:7EpbotpCmVZcu+KCX4g9WaRNuu11uyhiW7+Le1dKawg=
-github.com/mikioh/ipaddr v0.0.0-20190404000644-d465c8ab6721 h1:RlZweED6sbSArvlE924+mUcZuXKLBHA35U7LN621Bws=
-github.com/mikioh/ipaddr v0.0.0-20190404000644-d465c8ab6721/go.mod h1:Ickgr2WtCLZ2MDGd4Gr0geeCH5HybhRJbonOgQpvSxc=
-github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
-github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
-github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
-github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
-github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
-github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
-github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
-github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
-github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw=
-github.com/onsi/ginkgo v1.6.0 h1:Ix8l273rp3QzYgXSR+c8d1fTG7UPgYkOSELPhiY/YGw=
-github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
-github.com/onsi/gomega v0.0.0-20190113212917-5533ce8a0da3 h1:EooPXg51Tn+xmWPXJUGCnJhJSpeuMlBmfJVcqIRmmv8=
-github.com/onsi/gomega v0.0.0-20190113212917-5533ce8a0da3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
-github.com/osrg/gobgp v2.0.0+incompatible h1:91ARQbE1AtO0U4TIxHPJ7wYVZIqduyBwS1+FjlHlmrY=
-github.com/osrg/gobgp v2.0.0+incompatible/go.mod h1:vGVJPLW6JFDD7WA1vJsjB8OKmbbC2TKwHtr90CZS/u4=
-github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc=
-github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
-github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI=
-github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
-github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
-github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
-github.com/prometheus/client_golang v1.0.0 h1:vrDKnkGzuGvhNAL56c7DBz29ZL+KxnoR0x7enabFceM=
-github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
-github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
-github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90 h1:S/YWwWx/RA8rT8tKFRuGUZhuA90OyIBpPCXkcbwU8DE=
-github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
-github.com/prometheus/common v0.4.1 h1:K0MGApIoQvMw27RTdJkPbr3JZ7DNbtxQNyi5STVM6Kw=
-github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
-github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
-github.com/prometheus/procfs v0.0.2 h1:6LJUbpNm42llc4HRCuvApCSWB/WfhuNo9K98Q9sNGfs=
-github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
-github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
-github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww=
-github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
-github.com/sirupsen/logrus v1.2.0 h1:juTguoYk5qI21pwyTXY3B3Y5cOTH3ZUyZCg1v/mihuo=
-github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
-github.com/spf13/afero v1.1.2 h1:m8/z1t7/fwjysjQRYbP0RD+bUIF/8tJwPdEZsI83ACI=
-github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
-github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8=
-github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
-github.com/spf13/cobra v0.0.5 h1:f0B+LkLX6DtmRH1isoNA9VTtNUK9K8xYd28JNNfOv/s=
-github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
-github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk=
-github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
-github.com/spf13/pflag v1.0.1 h1:aCvUg6QPl3ibpQUxyLkrEkCHtPqYJL4x9AuhqVqFis4=
-github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
-github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg=
-github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
-github.com/spf13/viper v1.3.2 h1:VUFqw5KcqRf7i70GOzW7N+Q7+gxVBkSSqiXB12+JQ4M=
-github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
-github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
-github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
-github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
-github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
-github.com/vishvananda/netlink v1.0.0 h1:bqNY2lgheFIu1meHUFSH3d7vG93AFyqg3oGbJCOJgSM=
-github.com/vishvananda/netlink v1.0.0/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk=
-github.com/vishvananda/netns v0.0.0-20190625233234-7109fa855b0f h1:nBX3nTcmxEtHSERBJaIo1Qa26VwRaopnZmfDQUXsF4I=
-github.com/vishvananda/netns v0.0.0-20190625233234-7109fa855b0f/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI=
-github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
-gitlab.com/golang-commonmark/puny v0.0.0-20180912090636-2cd490539afe h1:5kUPFAF52umOUPH12MuNUmyVTseJRNBftDl/KfsvX3I=
-gitlab.com/golang-commonmark/puny v0.0.0-20180912090636-2cd490539afe/go.mod h1:P9LSM1KVzrIstFgUaveuwiAm8PK5VTB3yJEU8kqlbrU=
-go.universe.tf/virtuakube v0.0.0-20190708182722-512c11153571 h1:SNPfXM3jBvs3gbtK3Wu9r6rSxLkd7ipGkBDGbiHk0RY=
-go.universe.tf/virtuakube v0.0.0-20190708182722-512c11153571/go.mod h1:+cR3Ho+tlNjpSEukR6sjpfz8hWHdt5JGh0hkFGgTf8A=
-golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
-golang.org/x/crypto v0.0.0-20181025213731-e84da0312774/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
-golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
-golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 h1:VklqNMn3ovrHsnt90PveolxSbWFaJdECFbxSq0Mqo2M=
-golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190206173232-65e2d4e15006 h1:bfLnR+k0tq5Lqt6dflRLcZiz6UaXCMt3vhYJ1l4FQ80=
-golang.org/x/net v0.0.0-20190206173232-65e2d4e15006/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190313220215-9f648a60d977/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190419010253-1f3472d942ba/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190603091049-60506f45cf65 h1:+rhAzEzT3f4JtomfC371qB+0Ola2caSKcY69NUBZrRQ=
-golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
-golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
-golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a h1:tImsplftrFpALCYumobsd0K86vlAs/eXGFms2txfJfA=
-golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190312061237-fead79001313 h1:pczuHS43Cp2ktBEEmLwScxgjWsBSzdaQiKzUyf3DTTc=
-golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190418153312-f0ce4c0180be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190606122018-79a91cf218c4 h1:3i7qG/aA9NUAzdnJHfhgxSKSmxbAebomYR5IZgFbC5Y=
-golang.org/x/sys v0.0.0-20190606122018-79a91cf218c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db h1:6/JqlYfC1CCaLnGceQTI+sDGhC9UBSPAsBqI0Gun6kU=
-golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
-golang.org/x/time v0.0.0-20161028155119-f51c12702a4d/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/time v0.0.0-20181108054448-85acf8d2951c h1:fqgJT0MGcGpPgpWU7VRdRjuArfcOvC4AoJmILihzhDg=
-golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
-google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
-google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
-google.golang.org/appengine v1.5.0 h1:KxkO13IPW4Lslp2bz+KHP2E3gtFlrIGNThxkZQ3g+4c=
-google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
-google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8 h1:Nw54tB0rB7hY/N0NQvRW8DG4Yk3Q6T9cu9RcFQDu1tc=
-google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
-google.golang.org/grpc v1.22.0 h1:J0UbZOIrCAl+fpTOf8YLs4dJo8L/owV4LYVtAXQoPkw=
-google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
-gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
-gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
-gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
-gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
-gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
-gopkg.in/inf.v0 v0.9.0 h1:3zYtXIO92bvsdS3ggAdA8Gb4Azj0YU+TVY1uGYNFA8o=
-gopkg.in/inf.v0 v0.9.0/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
-gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
-gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
-gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
-gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
-gopkg.in/yaml.v2 v2.2.1 h1:mUhvW9EsL+naU5Q3cakzfE91YhliOondGd6ZrsDBHQE=
-gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
-gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-k8s.io/api v0.0.0-20190620084959-7cf5895f2711 h1:BblVYz/wE5WtBsD/Gvu54KyBUTJMflolzc5I2DTvh50=
-k8s.io/api v0.0.0-20190620084959-7cf5895f2711/go.mod h1:TBhBqb1AWbBQbW3XRusr7n7E4v2+5ZY8r8sAMnyFC5A=
-k8s.io/apimachinery v0.0.0-20190612205821-1799e75a0719 h1:uV4S5IB5g4Nvi+TBVNf3e9L4wrirlwYJ6w88jUQxTUw=
-k8s.io/apimachinery v0.0.0-20190612205821-1799e75a0719/go.mod h1:I4A+glKBHiTgiEjQiCCQfCAIcIMFGt291SmsvcrFzJA=
-k8s.io/client-go v0.0.0-20190620085101-78d2af792bab h1:E8Fecph0qbNsAbijJJQryKu4Oi9QTp5cVpjTE+nqg6g=
-k8s.io/client-go v0.0.0-20190620085101-78d2af792bab/go.mod h1:E95RaSlHr79aHaX0aGSwcPNfygDiPKOVXdmivCIZT0k=
-k8s.io/klog v0.3.1 h1:RVgyDHY/kFKtLqh67NvEWIgkMneNoIrdkN0CxDSQc68=
-k8s.io/klog v0.3.1/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
-k8s.io/kube-openapi v0.0.0-20190228160746-b3a7cee44a30 h1:TRb4wNWoBVrH9plmkp2q86FIDppkbrEXdXlxU3a3BMI=
-k8s.io/kube-openapi v0.0.0-20190228160746-b3a7cee44a30/go.mod h1:BXM9ceUBTj2QnfH2MK1odQs778ajze1RxcmP6S8RVVc=
-k8s.io/utils v0.0.0-20190221042446-c2654d5206da h1:ElyM7RPonbKnQqOcw7dG2IK5uvQQn3b/WPHqD5mBvP4=
-k8s.io/utils v0.0.0-20190221042446-c2654d5206da/go.mod h1:8k8uAuAQ0rXslZKaEWd0c3oVhZz7sSzSiPnVZayjIX0=
-sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=
-sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
1
0
Hello community,
here is the log from the commit of package ImageMagick for openSUSE:Factory checked in at 2019-11-03 11:33:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ImageMagick (Old)
and /work/SRC/openSUSE:Factory/.ImageMagick.new.2990 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ImageMagick"
Sun Nov 3 11:33:01 2019 rev:189 rq:744072 version:7.0.9.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ImageMagick/ImageMagick.changes 2019-10-11 17:14:26.597662813 +0200
+++ /work/SRC/openSUSE:Factory/.ImageMagick.new.2990/ImageMagick.changes 2019-11-03 11:33:09.457540926 +0100
@@ -1,0 +2,10 @@
+Wed Oct 30 09:51:39 UTC 2019 - pgajdos(a)suse.com
+
+- version update to 7.0.9.1
+ * Fixed numerous issues posted to GitHub (reference
+ https://github.com/ImageMagick/ImageMagick/issues)
+ * Support trim:background-color define for -trim option.
+- modified sources
+ % baselibs.conf
+
+-------------------------------------------------------------------
Old:
----
ImageMagick-7.0.8-68.tar.bz2
ImageMagick-7.0.8-68.tar.bz2.asc
New:
----
ImageMagick-7.0.9-1.tar.bz2
ImageMagick-7.0.9-1.tar.bz2.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ImageMagick.spec ++++++
--- /var/tmp/diff_new_pack.tU7xWi/_old 2019-11-03 11:33:10.649542417 +0100
+++ /var/tmp/diff_new_pack.tU7xWi/_new 2019-11-03 11:33:10.649542417 +0100
@@ -19,12 +19,12 @@
%define debug_build 0
%define asan_build 0
%define maj 7
-%define mfr_version %{maj}.0.8
-%define mfr_revision 68
+%define mfr_version %{maj}.0.9
+%define mfr_revision 1
%define quantum_depth 16
%define source_version %{mfr_version}-%{mfr_revision}
-%define clibver 6
-%define cwandver 6
+%define clibver 7
+%define cwandver 7
%define cxxlibver 4
%define libspec -%{maj}_Q%{quantum_depth}HDRI
%define config_dir ImageMagick-7
++++++ ImageMagick-7.0.8-68.tar.bz2 -> ImageMagick-7.0.9-1.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/ImageMagick/ImageMagick-7.0.8-68.tar.bz2 /work/SRC/openSUSE:Factory/.ImageMagick.new.2990/ImageMagick-7.0.9-1.tar.bz2 differ: char 11, line 1
++++++ baselibs.conf ++++++
--- /var/tmp/diff_new_pack.tU7xWi/_old 2019-11-03 11:33:10.717542502 +0100
+++ /var/tmp/diff_new_pack.tU7xWi/_new 2019-11-03 11:33:10.721542507 +0100
@@ -1,10 +1,10 @@
-libMagickCore-7_Q16HDRI6
-libMagickWand-7_Q16HDRI6
+libMagickCore-7_Q16HDRI7
+libMagickWand-7_Q16HDRI7
libMagick++-7_Q16HDRI4
ImageMagick-devel
requires -ImageMagick-<targettype>
- requires "libMagickCore-7_Q16HDRI6-<targettype> = <version>"
- requires "libMagickWand-7_Q16HDRI6-<targettype> = <version>"
+ requires "libMagickCore-7_Q16HDRI7-<targettype> = <version>"
+ requires "libMagickWand-7_Q16HDRI7-<targettype> = <version>"
libMagick++-devel
requires -ImageMagick-<targettype>
requires "libMagick++-7_Q16HDRI4-<targettype> = <version>"
1
0
Hello community,
here is the log from the commit of package twolame for openSUSE:Factory checked in at 2019-11-03 11:30:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/twolame (Old)
and /work/SRC/openSUSE:Factory/.twolame.new.2990 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "twolame"
Sun Nov 3 11:30:57 2019 rev:2 rq:744071 version:0.4.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/twolame/twolame.changes 2017-08-24 18:47:06.926056660 +0200
+++ /work/SRC/openSUSE:Factory/.twolame.new.2990/twolame.changes 2019-11-03 11:30:58.653377348 +0100
@@ -1,0 +2,46 @@
+Mon Oct 28 15:50:40 CET 2019 - tiwai(a)suse.de
+
+- Drop sourceforge download URL that doesn't work any longer...
+
+-------------------------------------------------------------------
+Sat Oct 26 16:13:04 UTC 2019 - Luigi Baldoni <aloisio(a)gmx.com>
+
+- Update to version 0.4.0
+ * Added free format encoding (now up to 450 kbps)
+ * Added DAB utility methods for ScF-CRC handling
+ * Added `twolame_get_original()` and `twolame_set_original()`
+ * Added `twolame_get_extension()` and `twolame_set_extension()`
+ * Bundled .spec file in tarball for building RPM for twolame
+ * Make libsndfile dependency (and therefore the frontend)
+ optional
+ * Fixed VBR encoding
+ * Fixed setting for error protection flag
+ * New check for invalid bitrate/channel encoder settings
+ * New checks against failed memory allocations
+ * Fixed padding policy (now adding an empty slot)
+ * Fixed build when maintainer mode is disabled
+ * Fixed scaling of floating point input source through
+ libsndfile
+ * Removed `slotinfo` global variables to fix thread safety bug
+ * Switched to handling reading from STDIN using libsndfile
+ * Fix for potential buffer overrun relating to `MAX_NAME_SIZE`
+ in CLI tool
+ * Install AUTHORS, COPYING, README, NEWS in
+ `$prefix/share/doc/twolame/`
+ * Zero the whole of the data structure when calling
+ `twolame_init()`
+ * Prefixed all global symbols with `twolame_` to prevent
+ symbol conflicts
+ * Fix for `twolame_get_framelength()` returning the correct
+ frame size when padding is enabled
+ * Fix progress counter in twolame CLI
+ * Fix compilation on mingw or mxe cross compiler
+ * Fix symbols visibility on Windows
+ * Add `-no-undefined` for compilation on Windows
+ * Added `win32-dll` option to `LT_INIT`
+ * Compiler and Valgrind warning fixes
+ * Various other minor fixes
+
+- Spec cleanup
+
+-------------------------------------------------------------------
Old:
----
twolame-0.3.13.tar.gz
New:
----
twolame-0.4.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ twolame.spec ++++++
--- /var/tmp/diff_new_pack.D4Ilh3/_old 2019-11-03 11:30:59.301378158 +0100
+++ /var/tmp/diff_new_pack.D4Ilh3/_new 2019-11-03 11:30:59.309378168 +0100
@@ -1,8 +1,8 @@
#
# spec file for package twolame
#
+# Copyright (c) 2019 SUSE LLC
# Copyright (c) 2006-2008 oc2pus
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -13,23 +13,21 @@
# 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/
#
-Name: twolame
-Version: 0.3.13
%define sonum 0
+Name: twolame
+Version: 0.4.0
Release: 0
Summary: An optimised MPEG Audio Layer 2 (MP2) encoder
-License: LGPL-2.1
-Group: Productivity/Multimedia/Sound/Utilities
-Url: http://www.twolame.org/
-Source0: http://prdownloads.sourceforge.net/twolame/%{name}-%{version}.tar.gz
+License: LGPL-2.1-only
+URL: http://www.twolame.org/
+Source0: %{name}-%{version}.tar.gz
Source1: baselibs.conf
BuildRequires: pkgconfig
BuildRequires: pkgconfig(sndfile) >= 1.0.0
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
TwoLAME is an optimised MPEG Audio Layer 2 (MP2) encoder based on
@@ -39,7 +37,6 @@
%package -n lib%{name}%{sonum}
Summary: Shared libraries for TwoLame
-Group: System/Libraries
%description -n lib%{name}%{sonum}
TwoLAME is an optimised MPEG Audio Layer 2 (MP2) encoder based on
@@ -51,7 +48,6 @@
%package -n lib%{name}-devel
Summary: Include Files and Libraries mandatory for Development
-Group: Development/Libraries/C and C++
Requires: lib%{name}%{sonum} = %{version}
Provides: %{name}-devel = 0.3.10
Obsoletes: %{name}-devel < 0.3.10
@@ -63,11 +59,7 @@
%prep
%setup -q
-sed -i 's|\r||g' doc/html/*.html
-chmod 644 doc/html/*.html
-
%build
-export CFLAGS="%optflags -fno-strict-aliasing"
%configure --disable-static
make %{?_smp_mflags}
@@ -76,28 +68,26 @@
install -dm 755 %{buildroot}%{_docdir}
mv %{buildroot}%{_datadir}/doc/%{name} \
- %{buildroot}%{_docdir}/%{name}-devel
+ %{buildroot}%{_docdir}/lib%{name}-devel
+rm %{buildroot}%{_docdir}/lib%{name}-devel/COPYING
-find %{buildroot}%{_libdir} -name '*.la' -type f -delete -print
+find %{buildroot} -type f -name "*.la" -delete -print
%post -n lib%{name}%{sonum} -p /sbin/ldconfig
%postun -n lib%{name}%{sonum} -p /sbin/ldconfig
%files
-%defattr(-,root,root)
-%doc COPYING
+%license COPYING
%{_bindir}/%{name}
-%{_mandir}/man1/%{name}.1*
+%{_mandir}/man1/%{name}.1%{?ext_man}
%files -n lib%{name}%{sonum}
-%defattr(-,root,root)
%{_libdir}/lib%{name}.so.%{sonum}*
%{_libdir}/lib%{name}.so.%{sonum}
%files -n lib%{name}-devel
-%defattr(-,root,root)
-%doc AUTHORS ChangeLog README TODO
-%doc %{_docdir}/%{name}-devel
+%doc ChangeLog
+%doc %{_docdir}/lib%{name}-devel
%{_includedir}/*
%{_libdir}/lib%{name}.so
%{_libdir}/pkgconfig/%{name}.pc
++++++ twolame-0.3.13.tar.gz -> twolame-0.4.0.tar.gz ++++++
++++ 72265 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package myspell-dictionaries for openSUSE:Factory checked in at 2019-11-03 11:28:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/myspell-dictionaries (Old)
and /work/SRC/openSUSE:Factory/.myspell-dictionaries.new.2990 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "myspell-dictionaries"
Sun Nov 3 11:28:49 2019 rev:57 rq:743962 version:20191016
Changes:
--------
--- /work/SRC/openSUSE:Factory/myspell-dictionaries/myspell-dictionaries.changes 2019-04-26 22:42:30.381703111 +0200
+++ /work/SRC/openSUSE:Factory/.myspell-dictionaries.new.2990/myspell-dictionaries.changes 2019-11-03 11:28:58.425226994 +0100
@@ -1,0 +2,10 @@
+Wed Oct 16 12:14:40 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 20191016:
+ * Updated Slovenian thesaurus
+ * Update the da_DK dictionary
+ * Remove abbreviations from Thai hunspell dictionary
+ * Updated the English dictionaries: GB
+ * Fix logo management for "ca"
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ myspell-dictionaries.spec ++++++
++++ 2915 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/myspell-dictionaries/myspell-dictionaries.spec
++++ and /work/SRC/openSUSE:Factory/.myspell-dictionaries.new.2990/myspell-dictionaries.spec
++++++ dictionaries.tar.xz ++++++
/work/SRC/openSUSE:Factory/myspell-dictionaries/dictionaries.tar.xz /work/SRC/openSUSE:Factory/.myspell-dictionaries.new.2990/dictionaries.tar.xz differ: char 25, line 1
++++++ myspell-dictionaries.spec.in ++++++
--- /var/tmp/diff_new_pack.IdvZ7a/_old 2019-11-03 11:29:01.489230826 +0100
+++ /var/tmp/diff_new_pack.IdvZ7a/_new 2019-11-03 11:29:01.505230846 +0100
@@ -1,7 +1,7 @@
#
# spec file for package myspell-dictionaries.spec
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# 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/
#
@@ -25,8 +25,7 @@
Release: 0
Summary: A Source Package for Dictionaries Used by MySpell
License: AGPL-3.0-only AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND CC-BY-SA-1.0 AND CC-BY-SA-3.0 AND GFDL-1.1-only AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND GPL-3.0-or-later AND LGPL-2.0-only AND LGPL-2.1-only AND LGPL-2.1-or-later AND LGPL-3.0-only AND LGPL-3.0-or-later AND MPL-1.1
-Group: Productivity/Text/Spell
-URL: http://cgit.freedesktop.org/libreoffice/dictionaries/
+URL: https://cgit.freedesktop.org/libreoffice/dictionaries/
Source0: dictionaries.tar.xz
Source1: update.sh
Source2: myspell-dictionaries.spec.in
1
0
Hello community,
here is the log from the commit of package tcpdump for openSUSE:Factory checked in at 2019-11-03 11:26:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tcpdump (Old)
and /work/SRC/openSUSE:Factory/.tcpdump.new.2990 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tcpdump"
Sun Nov 3 11:26:45 2019 rev:40 rq:743961 version:4.9.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/tcpdump/tcpdump.changes 2019-10-11 15:11:43.221026732 +0200
+++ /work/SRC/openSUSE:Factory/.tcpdump.new.2990/tcpdump.changes 2019-11-03 11:26:47.457061330 +0100
@@ -1,0 +2,5 @@
+Tue Oct 15 07:53:47 UTC 2019 - Martin Pluskal <mpluskal(a)suse.com>
+
+- Trim CFLAGS
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ tcpdump.spec ++++++
--- /var/tmp/diff_new_pack.QIHYTs/_old 2019-11-03 11:26:48.481062638 +0100
+++ /var/tmp/diff_new_pack.QIHYTs/_new 2019-11-03 11:26:48.485062643 +0100
@@ -22,8 +22,7 @@
Release: 0
Summary: A Packet Sniffer
License: BSD-3-Clause
-Group: Productivity/Networking/Diagnostic
-Url: https://www.tcpdump.org/
+URL: https://www.tcpdump.org/
Source: https://www.tcpdump.org/release/%{name}-%{version}.tar.gz
Source1: tcpdump-qeth
Source2: https://www.tcpdump.org/release/%{name}-%{version}.tar.gz.sig
@@ -44,10 +43,11 @@
%patch0 -p1
%build
-export CFLAGS="%{optflags} -Wall -DGUESS_TSO -fstack-protector -fno-strict-aliasing"
+# guessing TSO needed in print-ip.c
+export CFLAGS="%{optflags} -DGUESS_TSO"
%configure \
--enable-ipv6
-make %{?_smp_mflags}
+%make_build
%install
%make_install
1
0
Hello community,
here is the log from the commit of package grub2 for openSUSE:Factory checked in at 2019-11-03 11:24:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/grub2 (Old)
and /work/SRC/openSUSE:Factory/.grub2.new.2990 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "grub2"
Sun Nov 3 11:24:40 2019 rev:212 rq:743954 version:2.04
Changes:
--------
--- /work/SRC/openSUSE:Factory/grub2/grub2.changes 2019-10-23 08:49:02.316609060 +0200
+++ /work/SRC/openSUSE:Factory/.grub2.new.2990/grub2.changes 2019-11-03 11:24:43.328902797 +0100
@@ -1,0 +2,110 @@
+Wed Oct 30 06:26:33 UTC 2019 - Michael Chang <mchang(a)suse.com>
+
+- Disable btrfs zstd support for i386-pc to workaround core.img too large to be
+ embedded in btrfs bootloader area or MBR gap (boo#1154809)
+ * 0001-btrfs-disable-zstd-support-for-i386-pc.patch
+
+-------------------------------------------------------------------
+Mon Oct 28 11:52:19 UTC 2019 - Bernhard Wiedemann <bwiedemann(a)suse.com>
+
+- Fix grub2.sleep to load old kernel after hibernation (boo#1154783)
+
+-------------------------------------------------------------------
+Tue Oct 22 08:05:19 UTC 2019 - Andreas Schwab <schwab(a)suse.de>
+
+- Enable support for riscv64
+- Backports from upstream:
+ * risc-v-fix-computation-of-pc-relative-relocation-offset.patch
+ * risc-v-add-clzdi2-symbol.patch
+ * grub-install-define-default-platform-for-risc-v.patch
+
+-------------------------------------------------------------------
+Thu Oct 17 06:34:52 UTC 2019 - Michael Chang <mchang(a)suse.com>
+
+- Version bump to 2.04
+ * removed
+ - translations-20170427.tar.xz
+ * grub2.spec
+ - Make signed grub-tpm.efi specific to x86_64-efi build, the platform
+ currently shipped with tpm module from upstream codebase
+ - Add shim_lock to signed grub.efi in x86_64-efi build
+ - x86_64: linuxefi now depends on linux, both will verify kernel via
+ shim_lock
+ - Remove translation tarball and po file hacks as it's been included in
+ upstream tarball
+ * rediff
+ - grub2-setup-try-fs-embed-if-mbr-gap-too-small.patch
+ - grub2-commands-introduce-read_file-subcommand.patch
+ - grub2-secureboot-add-linuxefi.patch
+ - 0001-add-support-for-UEFI-network-protocols.patch
+ - grub2-efi-HP-workaround.patch
+ - grub2-secureboot-install-signed-grub.patch
+ - grub2-linux.patch
+ - use-grub2-as-a-package-name.patch
+ - grub2-pass-corret-root-for-nfsroot.patch
+ - grub2-secureboot-use-linuxefi-on-uefi.patch
+ - grub2-secureboot-no-insmod-on-sb.patch
+ - grub2-secureboot-provide-linuxefi-config.patch
+ - grub2-secureboot-chainloader.patch
+ - grub2-s390x-01-Changes-made-and-files-added-in-order-to-allow-s390x.patch
+ - grub2-s390x-02-kexec-module-added-to-emu.patch
+ - grub2-s390x-04-grub2-install.patch
+ - grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch
+ - grub2-efi-chainloader-root.patch
+ - grub2-ppc64le-disable-video.patch
+ - grub2-ppc64-cas-reboot-support.patch
+ - grub2-Fix-incorrect-netmask-on-ppc64.patch
+ - 0003-bootp-New-net_bootp6-command.patch
+ - 0006-bootp-Add-processing-DHCPACK-packet-from-HTTP-Boot.patch
+ - 0012-tpm-Build-tpm-as-module.patch
+ - grub2-emu-4-all.patch
+ - grub2-btrfs-09-get-default-subvolume.patch
+ - grub2-ppc64le-memory-map.patch
+ - grub2-ppc64-cas-fix-double-free.patch
+ - 0008-efinet-Setting-DNS-server-from-UEFI-protocol.patch
+ * drop upstream patches
+ - grub2-fix-locale-en.mo.gz-not-found-error-message.patch
+ - grub2-fix-build-with-flex-2.6.4.patch
+ - grub2-accept-empty-module.patch
+ - 0001-Fix-packed-not-aligned-error-on-GCC-8.patch
+ - 0001-Fix-PCIe-LER-when-GRUB2-accesses-non-enabled-MMIO-da.patch
+ - unix-exec-avoid-atexit-handlers-when-child-exits.patch
+ - 0001-xfs-Accept-filesystem-with-sparse-inodes.patch
+ - grub2-binutils2.31.patch
+ - grub2-msdos-fix-overflow.patch
+ - 0001-tsc-Change-default-tsc-calibration-method-to-pmtimer.patch
+ - grub2-efi-Move-grub_reboot-into-kernel.patch
+ - grub2-efi-Free-malloc-regions-on-exit.patch
+ - grub2-move-initrd-upper.patch
+ - 0002-Add-Virtual-LAN-support.patch
+ - 0001-ofnet-Initialize-structs-in-bootpath-parser.patch
+ - 0001-misc-fix-invalid-character-recongition-in-strto-l.patch
+ - 0001-tpm-Core-TPM-support.patch
+ - 0002-tpm-Measure-kernel-initrd.patch
+ - 0003-tpm-Add-BIOS-boot-measurement.patch
+ - 0004-tpm-Rework-linux-command.patch
+ - 0005-tpm-Rework-linux16-command.patch
+ - 0006-tpm-Measure-kernel-and-initrd-on-BIOS-systems.patch
+ - 0007-tpm-Measure-the-kernel-commandline.patch
+ - 0008-tpm-Measure-commands.patch
+ - 0009-tpm-Measure-multiboot-images-and-modules.patch
+ - 0010-tpm-Fix-boot-when-there-s-no-TPM.patch
+ - 0011-tpm-Fix-build-error.patch
+ - 0013-tpm-i386-pc-diskboot-img.patch
+ - grub2-freetype-pkgconfig.patch
+ - 0001-cpio-Disable-gcc9-Waddress-of-packed-member.patch
+ - 0002-jfs-Disable-gcc9-Waddress-of-packed-member.patch
+ - 0003-hfs-Fix-gcc9-error-Waddress-of-packed-member.patch
+ - 0004-hfsplus-Fix-gcc9-error-with-Waddress-of-packed-membe.patch
+ - 0005-acpi-Fix-gcc9-error-Waddress-of-packed-member.patch
+ - 0006-usbtest-Disable-gcc9-Waddress-of-packed-member.patch
+ - 0007-chainloader-Fix-gcc9-error-Waddress-of-packed-member.patch
+ - 0008-efi-Fix-gcc9-error-Waddress-of-packed-member.patch
+
+-------------------------------------------------------------------
+Tue Oct 15 13:29:14 UTC 2019 - rw(a)suse.com
+
+- Consistently find btrfs snapshots on s390x. (bsc#1136970)
+ * grub2-s390x-04-grub2-install.patch
+
+-------------------------------------------------------------------
Old:
----
0001-Fix-PCIe-LER-when-GRUB2-accesses-non-enabled-MMIO-da.patch
0001-Fix-packed-not-aligned-error-on-GCC-8.patch
0001-cpio-Disable-gcc9-Waddress-of-packed-member.patch
0001-misc-fix-invalid-character-recongition-in-strto-l.patch
0001-ofnet-Initialize-structs-in-bootpath-parser.patch
0001-tpm-Core-TPM-support.patch
0001-tsc-Change-default-tsc-calibration-method-to-pmtimer.patch
0001-xfs-Accept-filesystem-with-sparse-inodes.patch
0002-Add-Virtual-LAN-support.patch
0002-jfs-Disable-gcc9-Waddress-of-packed-member.patch
0002-tpm-Measure-kernel-initrd.patch
0003-hfs-Fix-gcc9-error-Waddress-of-packed-member.patch
0003-tpm-Add-BIOS-boot-measurement.patch
0004-hfsplus-Fix-gcc9-error-with-Waddress-of-packed-membe.patch
0004-tpm-Rework-linux-command.patch
0005-acpi-Fix-gcc9-error-Waddress-of-packed-member.patch
0005-tpm-Rework-linux16-command.patch
0006-tpm-Measure-kernel-and-initrd-on-BIOS-systems.patch
0006-usbtest-Disable-gcc9-Waddress-of-packed-member.patch
0007-chainloader-Fix-gcc9-error-Waddress-of-packed-member.patch
0007-tpm-Measure-the-kernel-commandline.patch
0008-efi-Fix-gcc9-error-Waddress-of-packed-member.patch
0008-tpm-Measure-commands.patch
0009-tpm-Measure-multiboot-images-and-modules.patch
0010-tpm-Fix-boot-when-there-s-no-TPM.patch
0011-tpm-Fix-build-error.patch
0013-tpm-i386-pc-diskboot-img.patch
grub-2.02.tar.xz
grub2-accept-empty-module.patch
grub2-binutils2.31.patch
grub2-efi-Free-malloc-regions-on-exit.patch
grub2-efi-Move-grub_reboot-into-kernel.patch
grub2-fix-build-with-flex-2.6.4.patch
grub2-fix-locale-en.mo.gz-not-found-error-message.patch
grub2-freetype-pkgconfig.patch
grub2-move-initrd-upper.patch
grub2-msdos-fix-overflow.patch
translations-20170427.tar.xz
unix-exec-avoid-atexit-handlers-when-child-exits.patch
New:
----
0001-btrfs-disable-zstd-support-for-i386-pc.patch
grub-2.04.tar.xz
grub-install-define-default-platform-for-risc-v.patch
risc-v-add-clzdi2-symbol.patch
risc-v-fix-computation-of-pc-relative-relocation-offset.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ grub2.spec ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:45.780905928 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:45.784905933 +0100
@@ -101,11 +101,17 @@
%define only_efi 1
%endif
+%ifarch riscv64
+%define grubcpu riscv64
+%define platform efi
+%define only_efi 1
+%endif
+
%define grubarch %{grubcpu}-%{platform}
# build efi bootloader on some platforms only:
%if ! 0%{?efi:1}
-%global efi %{ix86} x86_64 ia64 aarch64 %{arm}
+%global efi %{ix86} x86_64 ia64 aarch64 %{arm} riscv64
%endif
%ifarch %{efi}
@@ -142,19 +148,16 @@
%define only_x86_64 %{nil}
%endif
-Version: 2.02
+Version: 2.04
Release: 0
Summary: Bootloader with support for Linux, Multiboot and more
License: GPL-3.0-or-later
Group: System/Boot
Url: http://www.gnu.org/software/grub/
-%define rev 20120622
-Source0: grub-%{version}.tar.xz
+Source0: https://ftp.gnu.org/gnu/grub/grub-%{version}.tar.xz
Source1: 90_persistent
Source2: grub.default
Source4: grub2.rpmlintrc
-# rsync -Lrtvz translationproject.org::tp/latest/grub/ po
-Source5: translations-20170427.tar.xz
Source6: grub2-once
Source7: 20_memtest86+
Source8: README.ibm3215
@@ -176,11 +179,9 @@
Patch8: grub2-ppc-terminfo.patch
Patch9: grub2-GRUB_CMDLINE_LINUX_RECOVERY-for-recovery-mode.patch
Patch10: grub2-fix-error-terminal-gfxterm-isn-t-found.patch
-Patch11: grub2-fix-build-with-flex-2.6.4.patch
Patch12: grub2-fix-menu-in-xen-host-server.patch
Patch15: not-display-menu-when-boot-once.patch
Patch17: grub2-pass-corret-root-for-nfsroot.patch
-Patch18: grub2-fix-locale-en.mo.gz-not-found-error-message.patch
Patch19: grub2-efi-HP-workaround.patch
Patch21: grub2-secureboot-add-linuxefi.patch
Patch22: grub2-secureboot-use-linuxefi-on-uefi.patch
@@ -208,7 +209,6 @@
Patch70: grub2-default-distributor.patch
Patch71: grub2-menu-unrestricted.patch
Patch72: grub2-mkconfig-arm.patch
-Patch74: grub2-accept-empty-module.patch
Patch75: grub2-s390x-06-loadparm.patch
Patch76: grub2-s390x-07-add-image-param-for-zipl-setup.patch
Patch77: grub2-s390x-08-workaround-part-to-disk.patch
@@ -220,15 +220,8 @@
Patch83: grub2-efi-uga-64bit-fb.patch
Patch84: grub2-s390x-09-improve-zipl-setup.patch
Patch85: grub2-getroot-scan-disk-pv.patch
-Patch86: 0001-Fix-packed-not-aligned-error-on-GCC-8.patch
-Patch87: 0001-Fix-PCIe-LER-when-GRUB2-accesses-non-enabled-MMIO-da.patch
-Patch88: unix-exec-avoid-atexit-handlers-when-child-exits.patch
-Patch89: 0001-xfs-Accept-filesystem-with-sparse-inodes.patch
-Patch90: grub2-binutils2.31.patch
-Patch91: grub2-msdos-fix-overflow.patch
Patch92: grub2-util-30_os-prober-multiple-initrd.patch
Patch93: grub2-getroot-support-nvdimm.patch
-Patch94: 0001-tsc-Change-default-tsc-calibration-method-to-pmtimer.patch
# Btrfs snapshot booting related patches
Patch101: grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch
Patch102: grub2-btrfs-02-export-subvolume-envvars.patch
@@ -240,6 +233,7 @@
Patch108: grub2-btrfs-08-workaround-snapshot-menu-default-entry.patch
Patch109: grub2-btrfs-09-get-default-subvolume.patch
Patch110: grub2-btrfs-10-config-directory.patch
+Patch111: 0001-btrfs-disable-zstd-support-for-i386-pc.patch
# Support EFI xen loader
Patch120: grub2-efi-xen-chainload.patch
Patch121: grub2-efi-chainloader-root.patch
@@ -249,30 +243,22 @@
# Hidden menu entry and hotkey "t" for text console
Patch140: grub2-Add-hidden-menu-entries.patch
Patch141: grub2-SUSE-Add-the-t-hotkey.patch
-# EFI free memory on exit fix (bsc#980739)
-Patch150: grub2-efi-Move-grub_reboot-into-kernel.patch
-Patch151: grub2-efi-Free-malloc-regions-on-exit.patch
# Linux root device related patches
Patch163: grub2-zipl-setup-fix-btrfs-multipledev.patch
Patch164: grub2-suse-remove-linux-root-param.patch
-# ARM patches - boo#1123350
-Patch180: grub2-move-initrd-upper.patch
# PPC64 LE support
Patch205: grub2-ppc64le-disable-video.patch
Patch207: grub2-ppc64le-memory-map.patch
# PPC
-Patch210: 0002-Add-Virtual-LAN-support.patch
Patch211: grub2-ppc64-cas-reboot-support.patch
Patch212: grub2-install-remove-useless-check-PReP-partition-is-empty.patch
Patch213: grub2-Fix-incorrect-netmask-on-ppc64.patch
Patch215: grub2-ppc64-cas-new-scope.patch
-Patch216: 0001-ofnet-Initialize-structs-in-bootpath-parser.patch
Patch218: grub2-ppc64-cas-fix-double-free.patch
Patch233: grub2-use-stat-instead-of-udevadm-for-partition-lookup.patch
Patch234: fix-grub2-use-stat-instead-of-udevadm-for-partition-lookup-with-new-glibc.patch
Patch236: grub2-efi_gop-avoid-low-resolution.patch
# Support HTTP Boot IPv4 and IPv6 (fate#320129)
-Patch280: 0001-misc-fix-invalid-character-recongition-in-strto-l.patch
Patch281: 0002-net-read-bracketed-ipv6-addrs-and-port-numbers.patch
Patch282: 0003-bootp-New-net_bootp6-command.patch
Patch283: 0004-efinet-UEFI-IPv6-PXE-support.patch
@@ -283,19 +269,7 @@
# Fix GOP BLT support (FATE#322332)
Patch311: grub2-efi-gop-add-blt.patch
# TPM Support (FATE#315831)
-Patch400: 0001-tpm-Core-TPM-support.patch
-Patch401: 0002-tpm-Measure-kernel-initrd.patch
-Patch402: 0003-tpm-Add-BIOS-boot-measurement.patch
-Patch403: 0004-tpm-Rework-linux-command.patch
-Patch404: 0005-tpm-Rework-linux16-command.patch
-Patch405: 0006-tpm-Measure-kernel-and-initrd-on-BIOS-systems.patch
-Patch406: 0007-tpm-Measure-the-kernel-commandline.patch
-Patch407: 0008-tpm-Measure-commands.patch
-Patch408: 0009-tpm-Measure-multiboot-images-and-modules.patch
-Patch409: 0010-tpm-Fix-boot-when-there-s-no-TPM.patch
-Patch410: 0011-tpm-Fix-build-error.patch
Patch411: 0012-tpm-Build-tpm-as-module.patch
-Patch412: 0013-tpm-i386-pc-diskboot-img.patch
# UEFI HTTP and related network protocol support (FATE#320130)
Patch420: 0001-add-support-for-UEFI-network-protocols.patch
Patch421: 0002-AUDIT-0-http-boot-tracker-bug.patch
@@ -305,22 +279,15 @@
Patch431: grub2-s390x-10-keep-network-at-kexec.patch
# Support for UEFI Secure Boot on AArch64 (FATE#326541)
Patch450: grub2-secureboot-install-signed-grub.patch
-# Use pkg-config to find Freetype2
-Patch500: grub2-freetype-pkgconfig.patch
Patch501: grub2-btrfs-help-on-snapper-rollback.patch
# Improved hiDPI device support (FATE#326680)
Patch510: grub2-video-limit-the-resolution-for-fixed-bimap-font.patch
# Support long menuentries (FATE#325760)
Patch511: grub2-gfxmenu-support-scrolling-menu-entry-s-text.patch
-# Fix GCC 9 build failure (bsc#1121208)
-Patch520: 0001-cpio-Disable-gcc9-Waddress-of-packed-member.patch
-Patch521: 0002-jfs-Disable-gcc9-Waddress-of-packed-member.patch
-Patch522: 0003-hfs-Fix-gcc9-error-Waddress-of-packed-member.patch
-Patch523: 0004-hfsplus-Fix-gcc9-error-with-Waddress-of-packed-membe.patch
-Patch524: 0005-acpi-Fix-gcc9-error-Waddress-of-packed-member.patch
-Patch525: 0006-usbtest-Disable-gcc9-Waddress-of-packed-member.patch
-Patch526: 0007-chainloader-Fix-gcc9-error-Waddress-of-packed-member.patch
-Patch527: 0008-efi-Fix-gcc9-error-Waddress-of-packed-member.patch
+# RISC-V fixes
+Patch601: risc-v-fix-computation-of-pc-relative-relocation-offset.patch
+Patch602: risc-v-add-clzdi2-symbol.patch
+Patch603: grub-install-define-default-platform-for-risc-v.patch
Requires: gettext-runtime
%if 0%{?suse_version} >= 1140
@@ -354,7 +321,7 @@
%if 0%{?only_x86_64:1}
ExclusiveArch: x86_64
%else
-ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x aarch64 %{arm}
+ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x aarch64 %{arm} riscv64
%endif
%description
@@ -415,10 +382,10 @@
%package %{grubefiarch}
Summary: Bootloader with support for Linux, Multiboot and more
-# Require efibootmgr
-# Without it grub-install is broken so break the package as well if unavailable
Group: System/Boot
BuildArch: noarch
+# Require efibootmgr
+# Without it grub-install is broken so break the package as well if unavailable
Requires: efibootmgr
Requires(post): efibootmgr
Requires: %{name} = %{version}
@@ -487,8 +454,7 @@
%prep
# We create (if we build for efi) two copies of the sources in the Builddir
-%setup -q -n grub-%{version} -a 5
-(cd po && ls *.po | cut -d. -f1 | xargs) >po/LINGUAS
+%setup -q -n grub-%{version}
%patch1 -p1
%patch2 -p1
%patch3 -p1
@@ -497,11 +463,9 @@
%patch8 -p1
%patch9 -p1
%patch10 -p1
-%patch11 -p1
%patch12 -p1
%patch15 -p1
%patch17 -p1
-%patch18 -p1
%patch19 -p1
%patch21 -p1
%patch22 -p1
@@ -529,7 +493,6 @@
%patch70 -p1
%patch71 -p1
%patch72 -p1
-%patch74 -p1
%patch75 -p1
%patch76 -p1
%patch77 -p1
@@ -541,15 +504,8 @@
%patch83 -p1
%patch84 -p1
%patch85 -p1
-%patch86 -p1
-%patch87 -p1
-%patch88 -p1
-%patch89 -p1
-%patch90 -p1
-%patch91 -p1
%patch92 -p1
%patch93 -p1
-%patch94 -p1
%patch101 -p1
%patch102 -p1
%patch103 -p1
@@ -560,6 +516,7 @@
%patch108 -p1
%patch109 -p1
%patch110 -p1
+%patch111 -p1
%patch120 -p1
%patch121 -p1
%patch122 -p1
@@ -567,24 +524,18 @@
%patch124 -p1
%patch140 -p1
%patch141 -p1
-%patch150 -p1
-%patch151 -p1
%patch163 -p1
%patch164 -p1
-%patch180 -p1
%patch205 -p1
%patch207 -p1
-%patch210 -p1
%patch211 -p1
%patch212 -p1
%patch213 -p1
%patch215 -p1
-%patch216 -p1
%patch218 -p1
%patch233 -p1
%patch234 -p1
%patch236 -p1
-%patch280 -p1
%patch281 -p1
%patch282 -p1
%patch283 -p1
@@ -593,36 +544,18 @@
%patch286 -p1
%patch287 -p1
%patch311 -p1
-%patch400 -p1
-%patch401 -p1
-%patch402 -p1
-%patch403 -p1
-%patch404 -p1
-%patch405 -p1
-%patch406 -p1
-%patch407 -p1
-%patch408 -p1
-%patch409 -p1
-%patch410 -p1
%patch411 -p1
-%patch412 -p1
%patch420 -p1
%patch421 -p1
%patch430 -p1
%patch431 -p1
%patch450 -p1
-%patch500 -p1
%patch501 -p1
%patch510 -p1
%patch511 -p1
-%patch520 -p1
-%patch521 -p1
-%patch522 -p1
-%patch523 -p1
-%patch524 -p1
-%patch525 -p1
-%patch526 -p1
-%patch527 -p1
+%patch601 -p1
+%patch602 -p1
+%patch603 -p1
%build
# collect evidence to debug spurious build failure on SLE15
@@ -636,14 +569,6 @@
# This simplifies patch handling without need to use git to create patch
# that renames file
mv docs/grub.texi docs/grub2.texi
-# This avoids attempt to rebuild potfiles which fails because necessary
-# sources are not included in tarball
-mv po/grub.pot po/%{name}.pot
-
-# Generate po/LINGUAS for message catalogs ...
-./linguas.sh
-# ... and make sure new catalogs are actually created
-rm -f po/stamp-po
cp %{SOURCE8} .
mkdir build
@@ -736,7 +661,7 @@
CRYPTO_MODULES="luks gcry_rijndael gcry_sha1 gcry_sha256"
%ifarch x86_64
-CD_MODULES="${CD_MODULES} linuxefi"
+CD_MODULES="${CD_MODULES} shim_lock linuxefi"
%else
CD_MODULES="${CD_MODULES} linux"
%endif
@@ -744,8 +669,10 @@
GRUB_MODULES="${CD_MODULES} ${FS_MODULES} ${PXE_MODULES} ${CRYPTO_MODULES} mdraid09 mdraid1x lvm serial"
./grub-mkimage -O %{grubefiarch} -o grub.efi --prefix= \
-d grub-core ${GRUB_MODULES}
+%ifarch x86_64
./grub-mkimage -O %{grubefiarch} -o grub-tpm.efi --prefix= \
-d grub-core ${GRUB_MODULES} tpm
+%endif
%ifarch x86_64 aarch64
%if 0%{?suse_version} >= 1230 || 0%{?suse_version} == 1110
@@ -824,7 +751,10 @@
%ifarch %{efi}
cd build-efi
%make_install
-install -m 644 grub.efi grub-tpm.efi %{buildroot}/%{_datadir}/%{name}/%{grubefiarch}/.
+install -m 644 grub.efi %{buildroot}/%{_datadir}/%{name}/%{grubefiarch}/.
+%ifarch x86_64
+install -m 644 grub-tpm.efi %{buildroot}/%{_datadir}/%{name}/%{grubefiarch}/.
+%endif
# Create grub.efi link to system efi directory
# This is for tools like kiwi not fiddling with the path
@@ -845,7 +775,10 @@
%ifarch x86_64 aarch64
%if 0%{?suse_version} >= 1230 || 0%{?suse_version} == 1110
-export BRP_PESIGN_FILES="%{_datadir}/%{name}/%{grubefiarch}/grub.efi %{_datadir}/%{name}/%{grubefiarch}/grub-tpm.efi"
+export BRP_PESIGN_FILES="%{_datadir}/%{name}/%{grubefiarch}/grub.efi"
+%ifarch x86_64
+BRP_PESIGN_FILES="${BRP_PESIGN_FILES} %{_datadir}/%{name}/%{grubefiarch}/grub-tpm.efi"
+%endif
install -m 444 grub.der %{buildroot}/%{sysefidir}/
%endif
%endif
@@ -1252,7 +1185,9 @@
%defattr(-,root,root,-)
%dir %{_datadir}/%{name}/%{grubefiarch}
%{_datadir}/%{name}/%{grubefiarch}/grub.efi
+%ifarch x86_64
%{_datadir}/%{name}/%{grubefiarch}/grub-tpm.efi
+%endif
%{_datadir}/%{name}/%{grubefiarch}/*.img
%{_datadir}/%{name}/%{grubefiarch}/*.lst
%{_datadir}/%{name}/%{grubefiarch}/*.mod
++++++ 0001-add-support-for-UEFI-network-protocols.patch ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:45.804905959 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:45.804905959 +0100
@@ -23,6 +23,10 @@
* Finish HTTP transaction in one go
* Fix bsc#1076132
+V4
+ * Add fs_ prefix with upstream commit
+ ad4bfeec5 Change fs functions to add fs_ prefix
+
---
grub-core/Makefile.core.def | 18 +
grub-core/io/bufio.c | 2 +-
@@ -53,30 +57,19 @@
create mode 100644 include/grub/efi/http.h
create mode 100644 include/grub/net/efi.h
-diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
-index a65c27f7f..e93c77255 100644
---- a/grub-core/Makefile.core.def
-+++ b/grub-core/Makefile.core.def
-@@ -2167,6 +2167,18 @@ module = {
- };
-
+Index: grub-2.04~rc1/grub-core/Makefile.core.def
+===================================================================
+--- grub-2.04~rc1.orig/grub-core/Makefile.core.def
++++ grub-2.04~rc1/grub-core/Makefile.core.def
+@@ -1854,7 +1854,6 @@ module = {
module = {
-+ name = efi_netfs;
-+ common = net/efi/efi_netfs.c;
-+ common = net/efi/net.c;
-+ common = net/efi/http.c;
-+ common = net/efi/pxe.c;
-+ common = net/efi/ip4_config.c;
-+ common = net/efi/ip6_config.c;
-+ common = net/efi/dhcp.c;
-+ enable = efi;
-+};
-+
-+module = {
- name = net;
- common = net/net.c;
- common = net/dns.c;
-@@ -2179,6 +2191,12 @@ module = {
+ name = linuxefi;
+ efi = loader/i386/efi/linux.c;
+- efi = lib/cmdline.c;
+ enable = i386_efi;
+ enable = x86_64_efi;
+ };
+@@ -2283,6 +2282,12 @@ module = {
common = net/ethernet.c;
common = net/arp.c;
common = net/netbuff.c;
@@ -89,11 +82,11 @@
};
module = {
-diff --git a/grub-core/io/bufio.c b/grub-core/io/bufio.c
-index 22438277d..d0b0f71b6 100644
---- a/grub-core/io/bufio.c
-+++ b/grub-core/io/bufio.c
-@@ -132,7 +132,7 @@ grub_bufio_read (grub_file_t file, char *buf, grub_size_t len)
+Index: grub-2.04~rc1/grub-core/io/bufio.c
+===================================================================
+--- grub-2.04~rc1.orig/grub-core/io/bufio.c
++++ grub-2.04~rc1/grub-core/io/bufio.c
+@@ -139,7 +139,7 @@ grub_bufio_read (grub_file_t file, char
return res;
/* Need to read some more. */
@@ -102,11 +95,11 @@
/* Now read between file->offset + res and bufio->buffer_at. */
if (file->offset + res < next_buf)
{
-diff --git a/grub-core/kern/efi/efi.c b/grub-core/kern/efi/efi.c
-index d467785fc..0ceaa487c 100644
---- a/grub-core/kern/efi/efi.c
-+++ b/grub-core/kern/efi/efi.c
-@@ -672,7 +672,7 @@ grub_efi_print_device_path (grub_efi_device_path_t *dp)
+Index: grub-2.04~rc1/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
+@@ -722,7 +722,7 @@ grub_efi_print_device_path (grub_efi_dev
{
grub_efi_ipv4_device_path_t *ipv4
= (grub_efi_ipv4_device_path_t *) dp;
@@ -115,7 +108,7 @@
(unsigned) ipv4->local_ip_address[0],
(unsigned) ipv4->local_ip_address[1],
(unsigned) ipv4->local_ip_address[2],
-@@ -685,33 +685,60 @@ grub_efi_print_device_path (grub_efi_device_path_t *dp)
+@@ -735,33 +735,60 @@ grub_efi_print_device_path (grub_efi_dev
(unsigned) ipv4->remote_port,
(unsigned) ipv4->protocol,
(unsigned) ipv4->static_ip_address);
@@ -193,7 +186,7 @@
}
break;
case GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE:
-@@ -751,6 +778,39 @@ grub_efi_print_device_path (grub_efi_device_path_t *dp)
+@@ -801,6 +828,39 @@ grub_efi_print_device_path (grub_efi_dev
dump_vendor_path ("Messaging",
(grub_efi_vendor_device_path_t *) dp);
break;
@@ -233,10 +226,10 @@
default:
grub_printf ("/UnknownMessaging(%x)", (unsigned) subtype);
break;
-diff --git a/grub-core/net/drivers/efi/efinet.c b/grub-core/net/drivers/efi/efinet.c
-index 82a28fb6e..f189209ba 100644
---- a/grub-core/net/drivers/efi/efinet.c
-+++ b/grub-core/net/drivers/efi/efinet.c
+Index: grub-2.04~rc1/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
@@ -24,6 +24,7 @@
#include <grub/efi/efi.h>
#include <grub/i18n.h>
@@ -245,7 +238,7 @@
GRUB_MOD_LICENSE ("GPLv3+");
-@@ -481,6 +482,17 @@ grub_efinet_create_dhcp_ack_from_device_path (grub_efi_device_path_t *dp, int *u
+@@ -481,6 +482,17 @@ grub_efinet_create_dhcp_ack_from_device_
ldp = grub_efi_find_last_device_path (ddp);
@@ -263,7 +256,7 @@
if (GRUB_EFI_DEVICE_PATH_TYPE (ldp) != GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE
|| (GRUB_EFI_DEVICE_PATH_SUBTYPE (ldp) != GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE
&& GRUB_EFI_DEVICE_PATH_SUBTYPE (ldp) != GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE))
-@@ -744,6 +756,7 @@ grub_efi_net_config_real (grub_efi_handle_t hnd, char **device,
+@@ -744,6 +756,7 @@ grub_efi_net_config_real (grub_efi_handl
if (GRUB_EFI_DEVICE_PATH_TYPE (ldp) != GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE
|| (GRUB_EFI_DEVICE_PATH_SUBTYPE (ldp) != GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE
&& GRUB_EFI_DEVICE_PATH_SUBTYPE (ldp) != GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE
@@ -271,7 +264,7 @@
&& GRUB_EFI_DEVICE_PATH_SUBTYPE (ldp) != GRUB_EFI_URI_DEVICE_PATH_SUBTYPE))
continue;
dup_dp = grub_efi_duplicate_device_path (dp);
-@@ -759,6 +772,15 @@ grub_efi_net_config_real (grub_efi_handle_t hnd, char **device,
+@@ -759,6 +772,15 @@ grub_efi_net_config_real (grub_efi_handl
}
dup_ldp = grub_efi_find_last_device_path (dup_dp);
@@ -287,7 +280,7 @@
dup_ldp->type = GRUB_EFI_END_DEVICE_PATH_TYPE;
dup_ldp->subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE;
dup_ldp->length = sizeof (*dup_ldp);
-@@ -816,6 +838,9 @@ grub_efi_net_config_real (grub_efi_handle_t hnd, char **device,
+@@ -816,6 +838,9 @@ grub_efi_net_config_real (grub_efi_handl
GRUB_MOD_INIT(efinet)
{
@@ -305,11 +298,10 @@
+ grub_efi_net_config = NULL;
}
-diff --git a/grub-core/net/efi/dhcp.c b/grub-core/net/efi/dhcp.c
-new file mode 100644
-index 000000000..dbef63d8c
+Index: grub-2.04~rc1/grub-core/net/efi/dhcp.c
+===================================================================
--- /dev/null
-+++ b/grub-core/net/efi/dhcp.c
++++ grub-2.04~rc1/grub-core/net/efi/dhcp.c
@@ -0,0 +1,397 @@
+#include <grub/mm.h>
+#include <grub/command.h>
@@ -708,74 +700,10 @@
+
+grub_command_func_t grub_efi_net_bootp = grub_cmd_efi_bootp;
+grub_command_func_t grub_efi_net_bootp6 = grub_cmd_efi_bootp6;
-diff --git a/grub-core/net/efi/efi_netfs.c b/grub-core/net/efi/efi_netfs.c
-new file mode 100644
-index 000000000..ef371d885
+Index: grub-2.04~rc1/grub-core/net/efi/http.c
+===================================================================
--- /dev/null
-+++ b/grub-core/net/efi/efi_netfs.c
-@@ -0,0 +1,57 @@
-+#include <grub/dl.h>
-+#include <grub/env.h>
-+#define EFI_NET_CMD_PREFIX "net_efi"
-+#include <grub/net/efi.h>
-+
-+GRUB_MOD_LICENSE ("GPLv3+");
-+
-+static grub_command_t cmd_efi_lsroutes;
-+static grub_command_t cmd_efi_lscards;
-+static grub_command_t cmd_efi_lsaddrs;
-+static grub_command_t cmd_efi_addaddr;
-+static grub_command_t cmd_efi_bootp;
-+static grub_command_t cmd_efi_bootp6;
-+
-+static int initialized;
-+
-+GRUB_MOD_INIT(efi_netfs)
-+{
-+ if (grub_net_open)
-+ return;
-+
-+ if (grub_efi_net_fs_init ())
-+ {
-+ cmd_efi_lsroutes = grub_register_command ("net_efi_ls_routes", grub_efi_net_list_routes,
-+ "", N_("list network routes"));
-+ cmd_efi_lscards = grub_register_command ("net_efi_ls_cards", grub_efi_net_list_cards,
-+ "", N_("list network cards"));
-+ cmd_efi_lsaddrs = grub_register_command ("net_efi_ls_addr", grub_efi_net_list_addrs,
-+ "", N_("list network addresses"));
-+ cmd_efi_addaddr = grub_register_command ("net_efi_add_addr", grub_efi_net_add_addr,
-+ N_("SHORTNAME CARD ADDRESS [HWADDRESS]"),
-+ N_("Add a network address."));
-+ cmd_efi_bootp = grub_register_command ("net_efi_bootp", grub_efi_net_bootp,
-+ N_("[CARD]"),
-+ N_("perform a bootp autoconfiguration"));
-+ cmd_efi_bootp6 = grub_register_command ("net_efi_bootp6", grub_efi_net_bootp6,
-+ N_("[CARD]"),
-+ N_("perform a bootp autoconfiguration"));
-+ initialized = 1;
-+ }
-+}
-+
-+GRUB_MOD_FINI(efi_netfs)
-+{
-+ if (initialized)
-+ {
-+ grub_unregister_command (cmd_efi_lsroutes);
-+ grub_unregister_command (cmd_efi_lscards);
-+ grub_unregister_command (cmd_efi_lsaddrs);
-+ grub_unregister_command (cmd_efi_addaddr);
-+ grub_unregister_command (cmd_efi_bootp);
-+ grub_unregister_command (cmd_efi_bootp6);
-+ grub_efi_net_fs_fini ();
-+ initialized = 0;
-+ return;
-+ }
-+}
-diff --git a/grub-core/net/efi/http.c b/grub-core/net/efi/http.c
-new file mode 100644
-index 000000000..3f61fd2fa
---- /dev/null
-+++ b/grub-core/net/efi/http.c
++++ grub-2.04~rc1/grub-core/net/efi/http.c
@@ -0,0 +1,419 @@
+
+#include <grub/efi/api.h>
@@ -1196,11 +1124,10 @@
+ .read = grub_efihttp_read,
+ .close = grub_efihttp_close
+ };
-diff --git a/grub-core/net/efi/ip4_config.c b/grub-core/net/efi/ip4_config.c
-new file mode 100644
-index 000000000..b711a5d94
+Index: grub-2.04~rc1/grub-core/net/efi/ip4_config.c
+===================================================================
--- /dev/null
-+++ b/grub-core/net/efi/ip4_config.c
++++ grub-2.04~rc1/grub-core/net/efi/ip4_config.c
@@ -0,0 +1,398 @@
+
+#include <grub/efi/api.h>
@@ -1600,11 +1527,10 @@
+ .set_gateway = grub_efi_ip4_interface_set_gateway,
+ .set_dns = grub_efi_ip4_interface_set_dns
+ };
-diff --git a/grub-core/net/efi/ip6_config.c b/grub-core/net/efi/ip6_config.c
-new file mode 100644
-index 000000000..017c4d05b
+Index: grub-2.04~rc1/grub-core/net/efi/ip6_config.c
+===================================================================
--- /dev/null
-+++ b/grub-core/net/efi/ip6_config.c
++++ grub-2.04~rc1/grub-core/net/efi/ip6_config.c
@@ -0,0 +1,422 @@
+#include <grub/efi/api.h>
+#include <grub/efi/efi.h>
@@ -2028,11 +1954,10 @@
+ .set_gateway = grub_efi_ip6_interface_set_gateway,
+ .set_dns = grub_efi_ip6_interface_set_dns
+ };
-diff --git a/grub-core/net/efi/net.c b/grub-core/net/efi/net.c
-new file mode 100644
-index 000000000..0bac343b4
+Index: grub-2.04~rc1/grub-core/net/efi/net.c
+===================================================================
--- /dev/null
-+++ b/grub-core/net/efi/net.c
++++ grub-2.04~rc1/grub-core/net/efi/net.c
@@ -0,0 +1,1428 @@
+#include <grub/net.h>
+#include <grub/env.h>
@@ -3327,13 +3252,13 @@
+static struct grub_fs grub_efi_netfs =
+ {
+ .name = "efi netfs",
-+ .dir = grub_efi_netfs_dir,
-+ .open = grub_efi_netfs_open,
-+ .read = grub_efi_netfs_read,
-+ .close = grub_efi_netfs_close,
-+ .label = NULL,
-+ .uuid = NULL,
-+ .mtime = NULL,
++ .fs_dir = grub_efi_netfs_dir,
++ .fs_open = grub_efi_netfs_open,
++ .fs_read = grub_efi_netfs_read,
++ .fs_close = grub_efi_netfs_close,
++ .fs_label = NULL,
++ .fs_uuid = NULL,
++ .fs_mtime = NULL,
+ };
+
+int
@@ -3462,11 +3387,10 @@
+ grub_net_open = NULL;
+ grub_fs_unregister (&grub_efi_netfs);
+}
-diff --git a/grub-core/net/efi/pxe.c b/grub-core/net/efi/pxe.c
-new file mode 100644
-index 000000000..4b6b48cb1
+Index: grub-2.04~rc1/grub-core/net/efi/pxe.c
+===================================================================
--- /dev/null
-+++ b/grub-core/net/efi/pxe.c
++++ grub-2.04~rc1/grub-core/net/efi/pxe.c
@@ -0,0 +1,424 @@
+
+#include <grub/efi/api.h>
@@ -3892,10 +3816,10 @@
+ .close = pxe_close
+ };
+
-diff --git a/grub-core/net/net.c b/grub-core/net/net.c
-index 5cc0d2f3b..02bbe956b 100644
---- a/grub-core/net/net.c
-+++ b/grub-core/net/net.c
+Index: grub-2.04~rc1/grub-core/net/net.c
+===================================================================
+--- grub-2.04~rc1.orig/grub-core/net/net.c
++++ grub-2.04~rc1/grub-core/net/net.c
@@ -32,6 +32,9 @@
#include <grub/loader.h>
#include <grub/bufio.h>
@@ -3906,7 +3830,7 @@
GRUB_MOD_LICENSE ("GPLv3+");
-@@ -1817,8 +1820,49 @@ static grub_command_t cmd_addaddr, cmd_deladdr, cmd_addroute, cmd_delroute;
+@@ -1817,8 +1820,49 @@ static grub_command_t cmd_addaddr, cmd_d
static grub_command_t cmd_lsroutes, cmd_lscards;
static grub_command_t cmd_lsaddr, cmd_slaac;
@@ -4002,11 +3926,11 @@
+ init_mode = INIT_MODE_NONE;
+#endif
}
-diff --git a/include/grub/efi/api.h b/include/grub/efi/api.h
-index 99ba068e3..cfedd7895 100644
---- a/include/grub/efi/api.h
-+++ b/include/grub/efi/api.h
-@@ -588,6 +588,23 @@ typedef grub_uint16_t grub_efi_ipv6_address_t[8];
+Index: grub-2.04~rc1/include/grub/efi/api.h
+===================================================================
+--- grub-2.04~rc1.orig/include/grub/efi/api.h
++++ grub-2.04~rc1/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;
typedef grub_efi_uint64_t grub_efi_virtual_address_t;
@@ -4079,7 +4003,7 @@
struct grub_efi_open_protocol_information_entry
{
grub_efi_handle_t agent_handle;
-@@ -1473,23 +1518,28 @@ typedef struct grub_efi_simple_text_output_interface grub_efi_simple_text_output
+@@ -1473,23 +1518,28 @@ typedef struct grub_efi_simple_text_outp
typedef grub_uint8_t grub_efi_pxe_packet_t[1472];
@@ -4251,13 +4175,12 @@
+typedef struct grub_efi_ip6_config_manual_address grub_efi_ip6_config_manual_address_t;
+
#if (GRUB_TARGET_SIZEOF_VOID_P == 4) || defined (__ia64__) \
- || defined (__aarch64__) || defined (__MINGW64__) || defined (__CYGWIN__)
-
-diff --git a/include/grub/efi/dhcp.h b/include/grub/efi/dhcp.h
-new file mode 100644
-index 000000000..fdb88eb81
+ || defined (__aarch64__) || defined (__MINGW64__) || defined (__CYGWIN__) \
+ || defined(__riscv)
+Index: grub-2.04~rc1/include/grub/efi/dhcp.h
+===================================================================
--- /dev/null
-+++ b/include/grub/efi/dhcp.h
++++ grub-2.04~rc1/include/grub/efi/dhcp.h
@@ -0,0 +1,343 @@
+#ifndef GRUB_EFI_DHCP_HEADER
+#define GRUB_EFI_DHCP_HEADER 1
@@ -4602,11 +4525,10 @@
+};
+
+#endif /* ! GRUB_EFI_DHCP_HEADER */
-diff --git a/include/grub/efi/http.h b/include/grub/efi/http.h
-new file mode 100644
-index 000000000..c5e9a89f5
+Index: grub-2.04~rc1/include/grub/efi/http.h
+===================================================================
--- /dev/null
-+++ b/include/grub/efi/http.h
++++ grub-2.04~rc1/include/grub/efi/http.h
@@ -0,0 +1,215 @@
+/*
+ * GRUB -- GRand Unified Bootloader
@@ -4823,11 +4745,10 @@
+typedef struct grub_efi_http grub_efi_http_t;
+
+#endif /* !GRUB_EFI_HTTP_HEADER */
-diff --git a/include/grub/net/efi.h b/include/grub/net/efi.h
-new file mode 100644
-index 000000000..de90d223e
+Index: grub-2.04~rc1/include/grub/net/efi.h
+===================================================================
--- /dev/null
-+++ b/include/grub/net/efi.h
++++ grub-2.04~rc1/include/grub/net/efi.h
@@ -0,0 +1,144 @@
+#ifndef GRUB_NET_EFI_HEADER
+#define GRUB_NET_EFI_HEADER 1
@@ -4973,88 +4894,3 @@
+extern grub_command_func_t grub_efi_net_bootp6;
+
+#endif /* ! GRUB_NET_EFI_HEADER */
-diff --git a/util/grub-mknetdir.c b/util/grub-mknetdir.c
-index 82073d5cc..ae31271bb 100644
---- a/util/grub-mknetdir.c
-+++ b/util/grub-mknetdir.c
-@@ -32,13 +32,15 @@
-
- static char *rootdir = NULL, *subdir = NULL;
- static char *debug_image = NULL;
-+static char efi_netfs = 0;
-
- enum
- {
- OPTION_NET_DIRECTORY = 0x301,
- OPTION_SUBDIR,
- OPTION_DEBUG,
-- OPTION_DEBUG_IMAGE
-+ OPTION_DEBUG_IMAGE,
-+ OPTION_DEBUG_EFI_NETFS
- };
-
- static struct argp_option options[] = {
-@@ -49,6 +51,7 @@ static struct argp_option options[] = {
- 0, N_("relative subdirectory on network server"), 2},
- {"debug", OPTION_DEBUG, 0, OPTION_HIDDEN, 0, 2},
- {"debug-image", OPTION_DEBUG_IMAGE, N_("STRING"), OPTION_HIDDEN, 0, 2},
-+ {"debug-efi-netfs", OPTION_DEBUG_EFI_NETFS, 0, OPTION_HIDDEN, 0, 2},
- {0, 0, 0, 0, 0, 0}
- };
-
-@@ -67,6 +70,9 @@ argp_parser (int key, char *arg, struct argp_state *state)
- free (subdir);
- subdir = xstrdup (arg);
- return 0;
-+ case OPTION_DEBUG_EFI_NETFS:
-+ efi_netfs = 1;
-+ return 0;
- /* This is an undocumented feature... */
- case OPTION_DEBUG:
- verbosity++;
-@@ -82,7 +88,6 @@ argp_parser (int key, char *arg, struct argp_state *state)
- }
- }
-
--
- struct argp argp = {
- options, argp_parser, NULL,
- "\v"N_("Prepares GRUB network boot images at net_directory/subdir "
-@@ -92,7 +97,7 @@ struct argp argp = {
-
- static char *base;
-
--static const struct
-+static struct
- {
- const char *mkimage_target;
- const char *netmodule;
-@@ -154,6 +159,7 @@ process_input_dir (const char *input_dir, enum grub_install_plat platform)
- grub_install_push_module (targets[platform].netmodule);
-
- output = grub_util_path_concat_ext (2, grubdir, "core", targets[platform].ext);
-+
- grub_install_make_image_wrap (input_dir, prefix, output,
- 0, load_cfg,
- targets[platform].mkimage_target, 0);
-@@ -190,7 +196,16 @@ main (int argc, char *argv[])
-
- grub_install_mkdir_p (base);
-
-- grub_install_push_module ("tftp");
-+ if (!efi_netfs)
-+ {
-+ grub_install_push_module ("tftp");
-+ grub_install_push_module ("http");
-+ }
-+ else
-+ {
-+ targets[GRUB_INSTALL_PLATFORM_I386_EFI].netmodule = "efi_netfs";
-+ targets[GRUB_INSTALL_PLATFORM_X86_64_EFI].netmodule = "efi_netfs";
-+ }
-
- if (!grub_install_source_directory)
- {
---
-2.13.6
-
++++++ 0001-btrfs-disable-zstd-support-for-i386-pc.patch ++++++
>From adf02937d4859495aab539818a116efa23505eaa Mon Sep 17 00:00:00 2001
From: Michael Chang <mchang(a)suse.com>
Date: Mon, 28 Oct 2019 05:48:11 -0400
Subject: [PATCH] btrfs: disable zstd support for i386-pc
The zstd support in btrfs has dependenciy to zstd module and core.img
grows its size significantly to 75KB on my system. The resulted image
cannot be installed into btrfs bootloader area in the size of 64KB and
eventually fails with following message.
/usr/sbin/grub-install: warning: your core.img is unusually large. It
won't fit in the embedding area.
/usr/sbin/grub-install: error: filesystem `btrfs' doesn't support
blocklists.
The patch disabled the zstd support of btrfs in pc-bios platform to
avoid the regression. The resulting size is 56KB, albeit a bit too close
to the 64KB but works. This is simple workaround until a proper fix
landed upstream.
---
grub-core/fs/btrfs.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/grub-core/fs/btrfs.c b/grub-core/fs/btrfs.c
index eed7099d8..21a7641c0 100644
--- a/grub-core/fs/btrfs.c
+++ b/grub-core/fs/btrfs.c
@@ -17,6 +17,7 @@
* along with GRUB. If not, see <http://www.gnu.org/licenses/>.
*/
+#ifndef GRUB_MACHINE_PCBIOS
/*
* Tell zstd to expose functions that aren't part of the stable API, which
* aren't safe to use when linking against a dynamic library. We vendor in a
@@ -24,6 +25,7 @@
* functions to provide our own allocator, which uses grub_malloc(), to zstd.
*/
#define ZSTD_STATIC_LINKING_ONLY
+#endif
#include <grub/err.h>
#include <grub/file.h>
@@ -35,7 +37,9 @@
#include <grub/lib/crc.h>
#include <grub/deflate.h>
#include <minilzo.h>
+#ifndef GRUB_MACHINE_PCBIOS
#include <zstd.h>
+#endif
#include <grub/i18n.h>
#include <grub/btrfs.h>
#include <grub/crypto.h>
@@ -60,8 +64,10 @@ GRUB_MOD_LICENSE ("GPLv3+");
#define GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE (GRUB_BTRFS_LZO_BLOCK_SIZE + \
(GRUB_BTRFS_LZO_BLOCK_SIZE / 16) + 64 + 3)
+#ifndef GRUB_MACHINE_PCBIOS
#define ZSTD_BTRFS_MAX_WINDOWLOG 17
#define ZSTD_BTRFS_MAX_INPUT (1 << ZSTD_BTRFS_MAX_WINDOWLOG)
+#endif
typedef grub_uint8_t grub_btrfs_checksum_t[0x20];
typedef grub_uint16_t grub_btrfs_uuid_t[8];
@@ -244,7 +250,9 @@ struct grub_btrfs_extent_data
#define GRUB_BTRFS_COMPRESSION_NONE 0
#define GRUB_BTRFS_COMPRESSION_ZLIB 1
#define GRUB_BTRFS_COMPRESSION_LZO 2
+#ifndef GRUB_MACHINE_PCBIOS
#define GRUB_BTRFS_COMPRESSION_ZSTD 3
+#endif
#define GRUB_BTRFS_OBJECT_ID_CHUNK 0x100
@@ -1372,6 +1380,7 @@ grub_btrfs_read_inode (struct grub_btrfs_data *data,
return grub_btrfs_read_logical (data, elemaddr, inode, sizeof (*inode), 0);
}
+#ifndef GRUB_MACHINE_PCBIOS
static void *grub_zstd_malloc (void *state __attribute__((unused)), size_t size)
{
return grub_malloc (size);
@@ -1461,6 +1470,7 @@ err:
return ret;
}
+#endif
static grub_ssize_t
grub_btrfs_lzo_decompress(char *ibuf, grub_size_t isize, grub_off_t off,
@@ -1637,8 +1647,12 @@ grub_btrfs_extent_read (struct grub_btrfs_data *data,
if (data->extent->compression != GRUB_BTRFS_COMPRESSION_NONE
&& data->extent->compression != GRUB_BTRFS_COMPRESSION_ZLIB
+#ifndef GRUB_MACHINE_PCBIOS
&& data->extent->compression != GRUB_BTRFS_COMPRESSION_LZO
&& data->extent->compression != GRUB_BTRFS_COMPRESSION_ZSTD)
+#else
+ && data->extent->compression != GRUB_BTRFS_COMPRESSION_LZO)
+#endif
{
grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
"compression type 0x%x not supported",
@@ -1678,6 +1692,7 @@ grub_btrfs_extent_read (struct grub_btrfs_data *data,
!= (grub_ssize_t) csize)
return -1;
}
+#ifndef GRUB_MACHINE_PCBIOS
else if (data->extent->compression == GRUB_BTRFS_COMPRESSION_ZSTD)
{
if (grub_btrfs_zstd_decompress (data->extent->inl, data->extsize -
@@ -1687,6 +1702,7 @@ grub_btrfs_extent_read (struct grub_btrfs_data *data,
!= (grub_ssize_t) csize)
return -1;
}
+#endif
else
grub_memcpy (buf, data->extent->inl + extoff, csize);
break;
@@ -1724,10 +1740,12 @@ grub_btrfs_extent_read (struct grub_btrfs_data *data,
ret = grub_btrfs_lzo_decompress (tmp, zsize, extoff
+ grub_le_to_cpu64 (data->extent->offset),
buf, csize);
+#ifndef GRUB_MACHINE_PCBIOS
else if (data->extent->compression == GRUB_BTRFS_COMPRESSION_ZSTD)
ret = grub_btrfs_zstd_decompress (tmp, zsize, extoff
+ grub_le_to_cpu64 (data->extent->offset),
buf, csize);
+#endif
else
ret = -1;
--
2.21.0
++++++ 0003-bootp-New-net_bootp6-command.patch ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:45.820905980 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:45.820905980 +0100
@@ -14,10 +14,10 @@
include/grub/net.h | 72 ++++
3 files changed, 1018 insertions(+), 1 deletion(-)
-diff --git a/grub-core/net/bootp.c b/grub-core/net/bootp.c
-index 189551a..81173b4 100644
---- a/grub-core/net/bootp.c
-+++ b/grub-core/net/bootp.c
+Index: grub-2.04~rc1/grub-core/net/bootp.c
+===================================================================
+--- grub-2.04~rc1.orig/grub-core/net/bootp.c
++++ grub-2.04~rc1/grub-core/net/bootp.c
@@ -24,6 +24,98 @@
#include <grub/net/netbuff.h>
#include <grub/net/udp.h>
@@ -115,10 +115,10 @@
+ return 1;
+}
- static void
- parse_dhcp_vendor (const char *name, const void *vend, int limit, int *mask)
-@@ -266,6 +358,578 @@ grub_net_configure_by_dhcp_ack (const char *name,
- return inter;
+ struct grub_dhcp_discover_options
+ {
+@@ -563,6 +655,578 @@ out:
+ return err;
}
+/* The default netbuff size for sending DHCPv6 packets which should be
@@ -693,10 +693,10 @@
+ return inf;
+}
+
- void
- grub_net_process_dhcp (struct grub_net_buff *nb,
- struct grub_net_card *card)
-@@ -298,6 +962,77 @@ grub_net_process_dhcp (struct grub_net_buff *nb,
+ /*
+ * This is called directly from net/ip.c:handle_dgram(), because those
+ * BOOTP/DHCP packets are a bit special due to their improper
+@@ -631,6 +1295,77 @@ grub_net_process_dhcp (struct grub_net_b
}
}
@@ -774,11 +774,11 @@
static char
hexdigit (grub_uint8_t val)
{
-@@ -578,7 +1313,174 @@ grub_cmd_bootp (struct grub_command *cmd __attribute__ ((unused)),
+@@ -864,7 +1599,174 @@ grub_cmd_bootp (struct grub_command *cmd
return err;
}
--static grub_command_t cmd_getdhcp, cmd_bootp;
+-static grub_command_t cmd_getdhcp, cmd_bootp, cmd_dhcp;
+static grub_err_t
+grub_cmd_bootp6 (struct grub_command *cmd __attribute__ ((unused)),
+ int argc, char **args)
@@ -946,11 +946,11 @@
+ return err;
+}
+
-+static grub_command_t cmd_getdhcp, cmd_bootp, cmd_bootp6;
++static grub_command_t cmd_getdhcp, cmd_bootp, cmd_dhcp, cmd_bootp6;
void
grub_bootp_init (void)
-@@ -589,6 +1491,9 @@ grub_bootp_init (void)
+@@ -878,6 +1780,9 @@ grub_bootp_init (void)
cmd_getdhcp = grub_register_command ("net_get_dhcp_option", grub_cmd_dhcpopt,
N_("VAR INTERFACE NUMBER DESCRIPTION"),
N_("retrieve DHCP option and save it into VAR. If VAR is - then print the value."));
@@ -960,17 +960,17 @@
}
void
-@@ -596,4 +1501,5 @@ grub_bootp_fini (void)
- {
+@@ -886,4 +1791,5 @@ grub_bootp_fini (void)
grub_unregister_command (cmd_getdhcp);
grub_unregister_command (cmd_bootp);
+ grub_unregister_command (cmd_dhcp);
+ grub_unregister_command (cmd_bootp6);
}
-diff --git a/grub-core/net/ip.c b/grub-core/net/ip.c
-index 8c56baa..2a239b5 100644
---- a/grub-core/net/ip.c
-+++ b/grub-core/net/ip.c
-@@ -238,6 +238,45 @@ handle_dgram (struct grub_net_buff *nb,
+Index: grub-2.04~rc1/grub-core/net/ip.c
+===================================================================
+--- grub-2.04~rc1.orig/grub-core/net/ip.c
++++ grub-2.04~rc1/grub-core/net/ip.c
+@@ -239,6 +239,45 @@ handle_dgram (struct grub_net_buff *nb,
{
struct udphdr *udph;
udph = (struct udphdr *) nb->data;
@@ -1016,11 +1016,11 @@
if (proto == GRUB_NET_IP_UDP && grub_be_to_cpu16 (udph->dst) == 68)
{
const struct grub_net_bootp_packet *bootp;
-diff --git a/include/grub/net.h b/include/grub/net.h
-index ccc169c..38a3973 100644
---- a/include/grub/net.h
-+++ b/include/grub/net.h
-@@ -442,6 +442,66 @@ struct grub_net_bootp_packet
+Index: grub-2.04~rc1/include/grub/net.h
+===================================================================
+--- grub-2.04~rc1.orig/include/grub/net.h
++++ grub-2.04~rc1/include/grub/net.h
+@@ -448,6 +448,66 @@ struct grub_net_bootp_packet
grub_uint8_t vendor[0];
} GRUB_PACKED;
@@ -1087,7 +1087,7 @@
#define GRUB_NET_BOOTP_RFC1048_MAGIC_0 0x63
#define GRUB_NET_BOOTP_RFC1048_MAGIC_1 0x82
#define GRUB_NET_BOOTP_RFC1048_MAGIC_2 0x53
-@@ -468,6 +528,14 @@ grub_net_configure_by_dhcp_ack (const char *name,
+@@ -481,6 +541,14 @@ grub_net_configure_by_dhcp_ack (const ch
grub_size_t size,
int is_def, char **device, char **path);
@@ -1102,9 +1102,9 @@
grub_err_t
grub_net_add_ipv4_local (struct grub_net_network_level_interface *inf,
int mask);
-@@ -476,6 +544,10 @@ void
+@@ -489,6 +557,10 @@ void
grub_net_process_dhcp (struct grub_net_buff *nb,
- struct grub_net_card *card);
+ struct grub_net_network_level_interface *iface);
+grub_err_t
+grub_net_process_dhcp6 (struct grub_net_buff *nb,
@@ -1113,6 +1113,3 @@
int
grub_net_hwaddr_cmp (const grub_net_link_level_address_t *a,
const grub_net_link_level_address_t *b);
---
-2.6.6
-
++++++ 0006-bootp-Add-processing-DHCPACK-packet-from-HTTP-Boot.patch ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:45.828905990 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:45.828905990 +0100
@@ -21,32 +21,23 @@
include/grub/net.h | 1 +
2 files changed, 66 insertions(+), 2 deletions(-)
-diff --git a/grub-core/net/bootp.c b/grub-core/net/bootp.c
-index 81173b4..04f9f3d 100644
---- a/grub-core/net/bootp.c
-+++ b/grub-core/net/bootp.c
-@@ -207,6 +207,11 @@ parse_dhcp_vendor (const char *name, const void *vend, int limit, int *mask)
- taglength);
- break;
-
-+ case GRUB_NET_BOOTP_VENDOR_CLASS_IDENTIFIER:
-+ grub_env_set_net_property (name, "vendor_class_identifier", (const char *) ptr,
-+ taglength);
-+ break;
-+
- case GRUB_NET_BOOTP_EXTENSIONS_PATH:
- grub_env_set_net_property (name, "extensionspath", (const char *) ptr,
- taglength);
-@@ -281,6 +286,66 @@ grub_net_configure_by_dhcp_ack (const char *name,
- }
- #endif
+Index: grub-2.04~rc1/grub-core/net/bootp.c
+===================================================================
+--- grub-2.04~rc1.orig/grub-core/net/bootp.c
++++ grub-2.04~rc1/grub-core/net/bootp.c
+@@ -340,6 +340,53 @@ grub_net_configure_by_dhcp_ack (const ch
+ if (!inter)
+ return 0;
++ /* FIXME: Introduce new http flag for better synergy with existing tftp code base */
+ if (size > OFFSET_OF (vendor, bp))
+ {
+ char *cidvar;
+ const char *cid;
+
-+ parse_dhcp_vendor (name, &bp->vendor, size - OFFSET_OF (vendor, bp), &mask);
++ opt = find_dhcp_option (bp, size, GRUB_NET_BOOTP_VENDOR_CLASS_IDENTIFIER, &opt_len);
++ if (opt && opt_len)
++ grub_env_set_net_property (name, "vendor_class_identifier", (const char *) opt, opt_len);
+ cidvar = grub_xasprintf ("net_%s_%s", name, "vendor_class_identifier");
+ cid = grub_env_get (cidvar);
+ grub_free (cidvar);
@@ -55,10 +46,12 @@
+ {
+ char *proto, *ip, *pa;
+
++ /* FIXME: Provide better URL function that returns in place pointers
++ * so that we don't have to free them.
++ */
+ if (!dissect_url (bp->boot_file, &proto, &ip, &pa))
+ return inter;
+
-+ grub_env_set_net_property (name, "boot_file", pa, grub_strlen (pa));
+ if (is_def)
+ {
+ grub_net_default_server = grub_strdup (ip);
@@ -70,61 +63,40 @@
+ *device = grub_xasprintf ("%s,%s", proto, ip);
+ grub_print_error ();
+ }
-+ if (path)
-+ {
-+ *path = grub_strdup (pa);
-+ grub_print_error ();
-+ if (*path)
-+ {
-+ char *slash;
-+ slash = grub_strrchr (*path, '/');
-+ if (slash)
-+ *slash = 0;
-+ else
-+ **path = 0;
-+ }
-+ }
-+ grub_net_add_ipv4_local (inter, mask);
-+ inter->dhcp_ack = grub_malloc (size);
-+ if (inter->dhcp_ack)
-+ {
-+ grub_memcpy (inter->dhcp_ack, bp, size);
-+ inter->dhcp_acklen = size;
-+ }
-+ else
-+ grub_errno = GRUB_ERR_NONE;
+
++ boot_file = pa;
++ boot_file_len = grub_strlen (pa);
++
++ /* FIXME: Don't use malloc buffer here */
+ grub_free (proto);
+ grub_free (ip);
-+ grub_free (pa);
-+ return inter;
++
++ /* FIXME: NEED TO FREE boot_file */
++ goto boot_file;
+ }
+ }
+
- if (size > OFFSET_OF (boot_file, bp))
- grub_env_set_net_property (name, "boot_file", bp->boot_file,
- sizeof (bp->boot_file));
-@@ -342,8 +407,6 @@ grub_net_configure_by_dhcp_ack (const char *name,
- **path = 0;
+ opt = find_dhcp_option (bp, size, GRUB_NET_DHCP_OVERLOAD, &opt_len);
+ if (opt && opt_len == 1)
+ overload = *opt;
+@@ -416,6 +463,8 @@ grub_net_configure_by_dhcp_ack (const ch
}
}
-- if (size > OFFSET_OF (vendor, bp))
-- parse_dhcp_vendor (name, &bp->vendor, size - OFFSET_OF (vendor, bp), &mask);
- grub_net_add_ipv4_local (inter, mask);
-
- inter->dhcp_ack = grub_malloc (size);
-diff --git a/include/grub/net.h b/include/grub/net.h
-index 38a3973..e4bf678 100644
---- a/include/grub/net.h
-+++ b/include/grub/net.h
-@@ -517,6 +517,7 @@ enum
+
++boot_file:
++
+ if (boot_file)
+ {
+ grub_env_set_net_property (name, "boot_file", boot_file, boot_file_len);
+Index: grub-2.04~rc1/include/grub/net.h
+===================================================================
+--- grub-2.04~rc1.orig/include/grub/net.h
++++ grub-2.04~rc1/include/grub/net.h
+@@ -523,6 +523,7 @@ enum
GRUB_NET_BOOTP_DOMAIN = 0x0f,
GRUB_NET_BOOTP_ROOT_PATH = 0x11,
GRUB_NET_BOOTP_EXTENSIONS_PATH = 0x12,
+ GRUB_NET_BOOTP_VENDOR_CLASS_IDENTIFIER = 0x3C,
- GRUB_NET_BOOTP_END = 0xff
- };
-
---
-2.6.6
-
+ GRUB_NET_DHCP_REQUESTED_IP_ADDRESS = 50,
+ GRUB_NET_DHCP_OVERLOAD = 52,
+ GRUB_NET_DHCP_MESSAGE_TYPE = 53,
++++++ 0008-efinet-Setting-DNS-server-from-UEFI-protocol.patch ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:45.836906000 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:45.840906005 +0100
@@ -32,10 +32,10 @@
include/grub/efi/api.h | 76 +++++++++++++++++
2 files changed, 239 insertions(+)
-diff --git a/grub-core/net/drivers/efi/efinet.c b/grub-core/net/drivers/efi/efinet.c
-index 2d3b00f..82a28fb 100644
---- a/grub-core/net/drivers/efi/efinet.c
-+++ b/grub-core/net/drivers/efi/efinet.c
+Index: grub-2.04~rc1/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
@@ -30,6 +30,8 @@ GRUB_MOD_LICENSE ("GPLv3+");
/* GUID. */
static grub_efi_guid_t net_io_guid = GRUB_EFI_SIMPLE_NETWORK_GUID;
@@ -171,7 +171,7 @@
static struct grub_net_buff *
grub_efinet_create_dhcp_ack_from_device_path (grub_efi_device_path_t *dp, int *use_ipv6)
{
-@@ -377,6 +498,8 @@ grub_efinet_create_dhcp_ack_from_device_path (grub_efi_device_path_t *dp, int *u
+@@ -377,6 +498,8 @@ grub_efinet_create_dhcp_ack_from_device_
grub_efi_ipv4_device_path_t *ipv4 = (grub_efi_ipv4_device_path_t *) ldp;
struct grub_net_bootp_packet *bp;
grub_uint8_t *ptr;
@@ -180,7 +180,7 @@
bp = (struct grub_net_bootp_packet *) nb->tail;
err = grub_netbuff_put (nb, sizeof (*bp) + 4);
-@@ -438,6 +561,25 @@ grub_efinet_create_dhcp_ack_from_device_path (grub_efi_device_path_t *dp, int *u
+@@ -438,6 +561,25 @@ grub_efinet_create_dhcp_ack_from_device_
*ptr++ = sizeof ("HTTPClient") - 1;
grub_memcpy (ptr, "HTTPClient", sizeof ("HTTPClient") - 1);
@@ -206,7 +206,7 @@
ptr = nb->tail;
err = grub_netbuff_put (nb, 1);
if (err)
-@@ -470,6 +612,8 @@ grub_efinet_create_dhcp_ack_from_device_path (grub_efi_device_path_t *dp, int *u
+@@ -470,6 +612,8 @@ grub_efinet_create_dhcp_ack_from_device_
struct grub_net_dhcp6_option *opt;
struct grub_net_dhcp6_option_iana *iana;
struct grub_net_dhcp6_option_iaaddr *iaaddr;
@@ -215,7 +215,7 @@
d6p = (struct grub_net_dhcp6_packet *)nb->tail;
err = grub_netbuff_put (nb, sizeof(*d6p));
-@@ -533,6 +677,25 @@ grub_efinet_create_dhcp_ack_from_device_path (grub_efi_device_path_t *dp, int *u
+@@ -533,6 +677,25 @@ grub_efinet_create_dhcp_ack_from_device_
opt->len = grub_cpu_to_be16 (uri_len);
grub_memcpy (opt->data, uri_dp->uri, uri_len);
@@ -241,10 +241,10 @@
*use_ipv6 = 1;
}
-diff --git a/include/grub/efi/api.h b/include/grub/efi/api.h
-index d5a1256..99ba068 100644
---- a/include/grub/efi/api.h
-+++ b/include/grub/efi/api.h
+Index: grub-2.04~rc1/include/grub/efi/api.h
+===================================================================
+--- grub-2.04~rc1.orig/include/grub/efi/api.h
++++ grub-2.04~rc1/include/grub/efi/api.h
@@ -334,6 +334,16 @@
{ 0x8B, 0x8C, 0xE2, 0x1B, 0x01, 0xAE, 0xF2, 0xB7 } \
}
@@ -333,8 +333,5 @@
+typedef struct grub_efi_ip6_config_protocol grub_efi_ip6_config_protocol_t;
+
#if (GRUB_TARGET_SIZEOF_VOID_P == 4) || defined (__ia64__) \
- || defined (__aarch64__) || defined (__MINGW64__) || defined (__CYGWIN__)
-
---
-2.6.6
-
+ || defined (__aarch64__) || defined (__MINGW64__) || defined (__CYGWIN__) \
+ || defined(__riscv)
++++++ 0012-tpm-Build-tpm-as-module.patch ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:45.844906010 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:45.844906010 +0100
@@ -1,442 +1,14 @@
From 54b6ba5f27dd9eb9ec2f1a41e7160964ab94451c Mon Sep 17 00:00:00 2001
From: Michael Chang <mchang(a)suse.com>
Date: Wed, 23 Nov 2016 16:52:16 +0800
-Subject: [PATCH 11/11] Build tpm as module
+Subject: Build tpm as module
-Rather than having tpm as permanent kernel feature that gets enabled and active
-unconditionally, it's more applicable to have it as external module that can be
-installed with --suse-enable-tpm option to grub2-install.
+Add --suse-enable-tpm option to grub2-install.
-This can provide some enhancement. First the core image size can be nearly the
-same when you don't need TPM, as it's controllable option now. Second the TPM
-device can be tested upon loading the module instead of on every measurement.
-Third is not to potentially break running system by forcing into the TPM after
-update, as it's still bleeding edge feature that could have side effect.
-
----
- grub-core/Makefile.core.def | 24 +++-
- grub-core/boot/i386/pc/boot.S | 1 -
- grub-core/kern/efi/tpm.c | 282 -----------------------------------------
- grub-core/kern/i386/pc/tpm.c | 132 --------------------
- grub-core/kern/tpm.c | 11 +-
- grub-core/tpm/efi/tpm.c | 283 ++++++++++++++++++++++++++++++++++++++++++
- grub-core/tpm/i386/pc/tpm.c | 144 +++++++++++++++++++++
- include/grub/tpm.h | 23 ++--
- util/grub-install.c | 16 ++-
- 9 files changed, 479 insertions(+), 437 deletions(-)
- delete mode 100644 grub-core/kern/efi/tpm.c
- delete mode 100644 grub-core/kern/i386/pc/tpm.c
- create mode 100644 grub-core/tpm/efi/tpm.c
- create mode 100644 grub-core/tpm/i386/pc/tpm.c
-
-Index: grub-2.02~rc1/grub-core/Makefile.core.def
+Index: grub-2.04~rc1/util/grub-install.c
===================================================================
---- grub-2.02~rc1.orig/grub-core/Makefile.core.def
-+++ grub-2.02~rc1/grub-core/Makefile.core.def
-@@ -174,7 +174,6 @@ kernel = {
- efi = term/efi/console.c;
- efi = kern/acpi.c;
- efi = kern/efi/acpi.c;
-- efi = kern/efi/tpm.c;
- i386_coreboot = kern/i386/pc/acpi.c;
- i386_multiboot = kern/i386/pc/acpi.c;
- i386_coreboot = kern/acpi.c;
-@@ -221,7 +220,6 @@ kernel = {
-
- i386_pc = kern/i386/pc/init.c;
- i386_pc = kern/i386/pc/mmap.c;
-- i386_pc = kern/i386/pc/tpm.c;
- i386_pc = term/i386/pc/console.c;
-
- i386_qemu = bus/pci.c;
-@@ -395,6 +393,19 @@ image = {
- };
-
- image = {
-+ name = boot_tpm;
-+ i386_pc = boot/i386/pc/boot.S;
-+
-+ cppflags = '-DTPM=1';
-+
-+ i386_pc_ldflags = '$(TARGET_IMG_LDFLAGS)';
-+ i386_pc_ldflags = '$(TARGET_IMG_BASE_LDOPT),0x7C00';
-+
-+ objcopyflags = '-O binary';
-+ enable = i386_pc;
-+};
-+
-+image = {
- name = cdboot;
-
- i386_pc = boot/i386/pc/cdboot.S;
-@@ -2369,3 +2380,12 @@ module = {
- common = loader/i386/xen_file64.c;
- extra_dist = loader/i386/xen_fileXX.c;
- };
-+
-+module = {
-+ name = tpm;
-+ i386_pc = kern/i386/pc/tpm.c;
-+ efi = kern/efi/tpm.c;
-+
-+ enable = i386_pc;
-+ enable = efi;
-+};
-Index: grub-2.02~rc1/grub-core/boot/i386/pc/boot.S
-===================================================================
---- grub-2.02~rc1.orig/grub-core/boot/i386/pc/boot.S
-+++ grub-2.02~rc1/grub-core/boot/i386/pc/boot.S
-@@ -24,7 +24,6 @@
- * defines for the code go here
- */
-
--#define TPM 1
-
- /* Print message string */
- #define MSG(x) movw $x, %si; call LOCAL(message)
-Index: grub-2.02~rc1/grub-core/kern/efi/tpm.c
-===================================================================
---- grub-2.02~rc1.orig/grub-core/kern/efi/tpm.c
-+++ grub-2.02~rc1/grub-core/kern/efi/tpm.c
-@@ -7,6 +7,8 @@
- #include <grub/tpm.h>
- #include <grub/term.h>
-
-+GRUB_MOD_LICENSE ("GPLv3+");
-+
- static grub_efi_guid_t tpm_guid = EFI_TPM_GUID;
- static grub_efi_guid_t tpm2_guid = EFI_TPM2_GUID;
-
-@@ -70,21 +72,14 @@ static grub_efi_boolean_t grub_tpm_handl
- }
-
- static grub_err_t
--grub_tpm1_execute(grub_efi_handle_t tpm_handle,
-+grub_tpm1_execute(grub_efi_tpm_protocol_t *tpm,
- PassThroughToTPM_InputParamBlock *inbuf,
- PassThroughToTPM_OutputParamBlock *outbuf)
- {
- grub_efi_status_t status;
-- grub_efi_tpm_protocol_t *tpm;
- grub_uint32_t inhdrsize = sizeof(*inbuf) - sizeof(inbuf->TPMOperandIn);
- grub_uint32_t outhdrsize = sizeof(*outbuf) - sizeof(outbuf->TPMOperandOut);
-
-- tpm = grub_efi_open_protocol (tpm_handle, &tpm_guid,
-- GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL);
--
-- if (!grub_tpm_present(tpm))
-- return 0;
--
- /* UEFI TPM protocol takes the raw operand block, no param block header */
- status = efi_call_5 (tpm->pass_through_to_tpm, tpm,
- inbuf->IPBLength - inhdrsize, inbuf->TPMOperandIn,
-@@ -107,21 +102,14 @@ grub_tpm1_execute(grub_efi_handle_t tpm_
- }
-
- static grub_err_t
--grub_tpm2_execute(grub_efi_handle_t tpm_handle,
-+grub_tpm2_execute(grub_efi_tpm2_protocol_t *tpm,
- PassThroughToTPM_InputParamBlock *inbuf,
- PassThroughToTPM_OutputParamBlock *outbuf)
- {
- grub_efi_status_t status;
-- grub_efi_tpm2_protocol_t *tpm;
- grub_uint32_t inhdrsize = sizeof(*inbuf) - sizeof(inbuf->TPMOperandIn);
- grub_uint32_t outhdrsize = sizeof(*outbuf) - sizeof(outbuf->TPMOperandOut);
-
-- tpm = grub_efi_open_protocol (tpm_handle, &tpm2_guid,
-- GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL);
--
-- if (!grub_tpm2_present(tpm))
-- return 0;
--
- /* UEFI TPM protocol takes the raw operand block, no param block header */
- status = efi_call_5 (tpm->submit_command, tpm,
- inbuf->IPBLength - inhdrsize, inbuf->TPMOperandIn,
-@@ -143,42 +131,17 @@ grub_tpm2_execute(grub_efi_handle_t tpm_
- }
- }
-
--grub_err_t
--grub_tpm_execute(PassThroughToTPM_InputParamBlock *inbuf,
-- PassThroughToTPM_OutputParamBlock *outbuf)
--{
-- grub_efi_handle_t tpm_handle;
-- grub_uint8_t protocol_version;
--
-- /* It's not a hard failure for there to be no TPM */
-- if (!grub_tpm_handle_find(&tpm_handle, &protocol_version))
-- return 0;
--
-- if (protocol_version == 1) {
-- return grub_tpm1_execute(tpm_handle, inbuf, outbuf);
-- } else {
-- return grub_tpm2_execute(tpm_handle, inbuf, outbuf);
-- }
--}
--
- static grub_err_t
--grub_tpm1_log_event(grub_efi_handle_t tpm_handle, unsigned char *buf,
-+grub_tpm1_log_event(grub_efi_tpm_protocol_t *tpm, unsigned char *buf,
- grub_size_t size, grub_uint8_t pcr,
- const char *description)
- {
- TCG_PCR_EVENT *event;
- grub_efi_status_t status;
-- grub_efi_tpm_protocol_t *tpm;
- grub_efi_physical_address_t lastevent;
- grub_uint32_t algorithm;
- grub_uint32_t eventnum = 0;
-
-- tpm = grub_efi_open_protocol (tpm_handle, &tpm_guid,
-- GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL);
--
-- if (!grub_tpm_present(tpm))
-- return 0;
--
- event = grub_zalloc(sizeof (TCG_PCR_EVENT) + grub_strlen(description) + 1);
- if (!event)
- return grub_error (GRUB_ERR_OUT_OF_MEMORY,
-@@ -210,19 +173,12 @@ grub_tpm1_log_event(grub_efi_handle_t tp
- }
-
- static grub_err_t
--grub_tpm2_log_event(grub_efi_handle_t tpm_handle, unsigned char *buf,
-+grub_tpm2_log_event(grub_efi_tpm2_protocol_t *tpm, unsigned char *buf,
- grub_size_t size, grub_uint8_t pcr,
- const char *description)
- {
- EFI_TCG2_EVENT *event;
- grub_efi_status_t status;
-- grub_efi_tpm2_protocol_t *tpm;
--
-- tpm = grub_efi_open_protocol (tpm_handle, &tpm2_guid,
-- GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL);
--
-- if (!grub_tpm2_present(tpm))
-- return 0;
-
- event = grub_zalloc(sizeof (EFI_TCG2_EVENT) + grub_strlen(description) + 1);
- if (!event)
-@@ -255,19 +211,64 @@ grub_tpm2_log_event(grub_efi_handle_t tp
- }
- }
-
--grub_err_t
-+static grub_efi_tpm_protocol_t *tpm;
-+static grub_efi_tpm2_protocol_t *tpm2;
-+
-+static grub_err_t
-+grub_tpm_execute(PassThroughToTPM_InputParamBlock *inbuf,
-+ PassThroughToTPM_OutputParamBlock *outbuf)
-+{
-+ if (tpm)
-+ return grub_tpm1_execute(tpm, inbuf, outbuf);
-+ else if (tpm2)
-+ return grub_tpm2_execute(tpm2, inbuf, outbuf);
-+ return GRUB_ERR_NONE;
-+}
-+
-+static grub_err_t
- grub_tpm_log_event(unsigned char *buf, grub_size_t size, grub_uint8_t pcr,
- const char *description)
- {
-+ if (tpm)
-+ return grub_tpm1_log_event(tpm, buf, size, pcr, description);
-+ else if (tpm2)
-+ return grub_tpm2_log_event(tpm2, buf, size, pcr, description);
-+ return GRUB_ERR_NONE;
-+}
-+
-+static struct grub_tpm grub_efi_tpm =
-+{
-+ .log_event = grub_tpm_log_event,
-+ .execute = grub_tpm_execute
-+};
-+
-+GRUB_MOD_INIT (tpm)
-+{
- grub_efi_handle_t tpm_handle;
- grub_efi_uint8_t protocol_version;
-
-- if (!grub_tpm_handle_find(&tpm_handle, &protocol_version))
-- return 0;
-+ if (!grub_tpm_handle_find (&tpm_handle, &protocol_version))
-+ return ;
-
-- if (protocol_version == 1) {
-- return grub_tpm1_log_event(tpm_handle, buf, size, pcr, description);
-- } else {
-- return grub_tpm2_log_event(tpm_handle, buf, size, pcr, description);
-- }
-+ if (protocol_version == 1)
-+ {
-+ tpm = grub_efi_open_protocol (tpm_handle, &tpm_guid,
-+ GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL);
-+ if (tpm && grub_tpm_present(tpm))
-+ grub_tpm = &grub_efi_tpm;
-+ }
-+ else
-+ {
-+ tpm2 = grub_efi_open_protocol (tpm_handle, &tpm2_guid,
-+ GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL);
-+ if (tpm2 && grub_tpm2_present(tpm2))
-+ grub_tpm = &grub_efi_tpm;
-+ }
-+}
-+
-+GRUB_MOD_FINI (tpm)
-+{
-+ grub_tpm = NULL;
-+ tpm = NULL;
-+ tpm2 = NULL;
- }
-Index: grub-2.02~rc1/grub-core/kern/i386/pc/tpm.c
-===================================================================
---- grub-2.02~rc1.orig/grub-core/kern/i386/pc/tpm.c
-+++ grub-2.02~rc1/grub-core/kern/i386/pc/tpm.c
-@@ -4,12 +4,14 @@
- #include <grub/tpm.h>
- #include <grub/misc.h>
- #include <grub/i386/pc/int.h>
-+#include <grub/dl.h>
-
--#define TCPA_MAGIC 0x41504354
-+GRUB_MOD_LICENSE ("GPLv3+");
-
--int tpm_present(void);
-+#define TCPA_MAGIC 0x41504354
-
--int tpm_present(void)
-+static int
-+tpm_present(void)
- {
- struct grub_bios_int_registers regs;
-
-@@ -24,16 +26,13 @@ int tpm_present(void)
- return 0;
- }
-
--grub_err_t
-+static grub_err_t
- grub_tpm_execute(PassThroughToTPM_InputParamBlock *inbuf,
- PassThroughToTPM_OutputParamBlock *outbuf)
- {
- struct grub_bios_int_registers regs;
- grub_addr_t inaddr, outaddr;
-
-- if (!tpm_present())
-- return 0;
--
- inaddr = (grub_addr_t) inbuf;
- outaddr = (grub_addr_t) outbuf;
- regs.flags = GRUB_CPU_INT_FLAGS_DEFAULT;
-@@ -80,7 +79,7 @@ typedef struct {
- grub_uint8_t hashvalue[20];
- } GRUB_PACKED EventOutgoing;
-
--grub_err_t
-+static grub_err_t
- grub_tpm_log_event(unsigned char *buf, grub_size_t size, grub_uint8_t pcr,
- const char *description)
- {
-@@ -90,9 +89,6 @@ grub_tpm_log_event(unsigned char *buf, g
- Event *event;
- grub_uint32_t datalength;
-
-- if (!tpm_present())
-- return 0;
--
- datalength = grub_strlen(description);
- event = grub_zalloc(datalength + sizeof(Event));
- if (!event)
-@@ -130,3 +126,19 @@ grub_tpm_log_event(unsigned char *buf, g
-
- return 0;
- }
-+static struct grub_tpm grub_pc_tpm =
-+{
-+ .log_event = grub_tpm_log_event,
-+ .execute = grub_tpm_execute
-+};
-+
-+GRUB_MOD_INIT (tpm)
-+{
-+ if (tpm_present())
-+ grub_tpm = &grub_pc_tpm;
-+}
-+
-+GRUB_MOD_FINI (tpm)
-+{
-+ grub_tpm = NULL;
-+}
-Index: grub-2.02~rc1/grub-core/kern/tpm.c
-===================================================================
---- grub-2.02~rc1.orig/grub-core/kern/tpm.c
-+++ grub-2.02~rc1/grub-core/kern/tpm.c
-@@ -5,15 +5,22 @@
- #include <grub/tpm.h>
- #include <grub/term.h>
-
-+grub_tpm_t grub_tpm = NULL;
-+
- grub_err_t
- grub_tpm_measure (unsigned char *buf, grub_size_t size, grub_uint8_t pcr,
- const char *kind, const char *description)
- {
- grub_err_t ret;
-- char *desc = grub_xasprintf("%s %s", kind, description);
-+ char *desc;
-+
-+ if (!grub_tpm)
-+ return GRUB_ERR_NONE;
-+
-+ desc = grub_xasprintf("%s %s", kind, description);
- if (!desc)
- return GRUB_ERR_OUT_OF_MEMORY;
-- ret = grub_tpm_log_event(buf, size, pcr, description);
-+ ret = grub_tpm->log_event(buf, size, pcr, desc);
- grub_free(desc);
- return ret;
- }
-Index: grub-2.02~rc1/include/grub/tpm.h
-===================================================================
---- grub-2.02~rc1.orig/include/grub/tpm.h
-+++ grub-2.02~rc1/include/grub/tpm.h
-@@ -69,21 +69,14 @@ typedef struct {
- grub_err_t EXPORT_FUNC(grub_tpm_measure) (unsigned char *buf, grub_size_t size,
- grub_uint8_t pcr, const char *kind,
- const char *description);
--#if defined (GRUB_MACHINE_EFI) || defined (GRUB_MACHINE_PCBIOS)
--grub_err_t grub_tpm_execute(PassThroughToTPM_InputParamBlock *inbuf,
-- PassThroughToTPM_OutputParamBlock *outbuf);
--grub_err_t grub_tpm_log_event(unsigned char *buf, grub_size_t size,
-- grub_uint8_t pcr, const char *description);
--#else
--static inline grub_err_t grub_tpm_execute(PassThroughToTPM_InputParamBlock *inbuf,
-- PassThroughToTPM_OutputParamBlock *outbuf) { return 0; };
--static inline grub_err_t grub_tpm_log_event(unsigned char *buf,
-- grub_size_t size,
-- grub_uint8_t pcr,
-- const char *description)
-+typedef struct grub_tpm
- {
-- return 0;
--};
--#endif
-+ grub_err_t (*log_event)(unsigned char *buf, grub_size_t size,
-+ grub_uint8_t pcr, const char *description);
-+ grub_err_t (*execute)(PassThroughToTPM_InputParamBlock *inbuf,
-+ PassThroughToTPM_OutputParamBlock *outbuf);
-+} *grub_tpm_t;
-+
-+extern grub_tpm_t EXPORT_VAR(grub_tpm);
-
- #endif
-Index: grub-2.02~rc1/util/grub-install.c
-===================================================================
---- grub-2.02~rc1.orig/util/grub-install.c
-+++ grub-2.02~rc1/util/grub-install.c
+--- grub-2.04~rc1.orig/util/grub-install.c
++++ grub-2.04~rc1/util/grub-install.c
@@ -80,6 +80,7 @@ static char *label_color;
static char *label_bgcolor;
static char *product_version;
@@ -472,34 +44,13 @@
{"debug", OPTION_DEBUG, 0, OPTION_HIDDEN, 0, 2},
{"no-floppy", OPTION_NO_FLOPPY, 0, OPTION_HIDDEN, 0, 2},
-@@ -1322,6 +1329,9 @@ main (int argc, char *argv[])
+@@ -1320,6 +1327,9 @@ main (int argc, char *argv[])
else if (disk_module && disk_module[0])
grub_install_push_module (disk_module);
-+ if (suse_enable_tpm && (is_efi || platform == GRUB_INSTALL_PLATFORM_I386_PC))
++ if (suse_enable_tpm && platform == GRUB_INSTALL_PLATFORM_X86_64_EFI)
+ grub_install_push_module ("tpm");
+
relative_grubdir = grub_make_system_path_relative_to_its_root (grubdir);
if (relative_grubdir[0] == '\0')
{
-@@ -1742,9 +1752,9 @@ main (int argc, char *argv[])
- {
- char *boot_img_src = grub_util_path_concat (2,
- grub_install_source_directory,
-- "boot.img");
-+ suse_enable_tpm ? "boot_tpm.img" : "boot.img");
- char *boot_img = grub_util_path_concat (2, platdir,
-- "boot.img");
-+ suse_enable_tpm ? "boot_tpm.img" : "boot.img");
- grub_install_copy_file (boot_img_src, boot_img, 1);
-
- grub_util_info ("%sgrub-bios-setup %s %s %s %s %s --directory='%s' --device-map='%s' '%s'",
-@@ -1762,7 +1772,7 @@ main (int argc, char *argv[])
-
- /* Now perform the installation. */
- if (install_bootsector)
-- grub_util_bios_setup (platdir, "boot.img", "core.img",
-+ grub_util_bios_setup (platdir, suse_enable_tpm ? "boot_tpm.img" : "boot.img", "core.img",
- install_drive, force,
- fs_probe, allow_floppy, add_rs_codes);
- break;
++++++ grub-2.02.tar.xz -> grub-2.04.tar.xz ++++++
/work/SRC/openSUSE:Factory/grub2/grub-2.02.tar.xz /work/SRC/openSUSE:Factory/.grub2.new.2990/grub-2.04.tar.xz differ: char 17, line 1
++++++ grub-install-define-default-platform-for-risc-v.patch ++++++
>From 11268841e2e0130a862d15fce86d42cd6501bb49 Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab(a)suse.de>
Date: Thu, 15 Aug 2019 16:55:13 +0200
Subject: [PATCH] grub-install: Define default platform for RISC-V
Signed-off-by: Andreas Schwab <schwab(a)suse.de>
Reviewed-by: Daniel Kiper <daniel.kiper(a)oracle.com>
Reviewed-by: Alexander Graf <agraf(a)csgraf.de>
---
util/grub-install.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/util/grub-install.c b/util/grub-install.c
index 8a55ad4b8..8970b73aa 100644
--- a/util/grub-install.c
+++ b/util/grub-install.c
@@ -324,6 +324,14 @@ get_default_platform (void)
return "arm64-efi";
#elif defined (__amd64__) || defined (__x86_64__) || defined (__i386__)
return grub_install_get_default_x86_platform ();
+#elif defined (__riscv)
+#if __riscv_xlen == 32
+ return "riscv32-efi";
+#elif __riscv_xlen == 64
+ return "riscv64-efi";
+#else
+ return NULL;
+#endif
#elif defined (__s390x__)
return "s390x-emu";
#else
--
2.23.0
++++++ grub2-Fix-incorrect-netmask-on-ppc64.patch ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:45.932906123 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:45.932906123 +0100
@@ -26,15 +26,16 @@
grub-core/net/drivers/ieee1275/ofnet.c | 2 +-
1 file changed, 1 insertion(+), 2 deletions(-)
-diff -ur grub-2.02~/grub-core/net/drivers/ieee1275/ofnet.c grub-2.02/grub-core/net/drivers/ieee1275/ofnet.c
---- grub-2.02~/grub-core/net/drivers/ieee1275/ofnet.c 2018-03-26 13:49:55.399558334 +0200
-+++ grub-2.02/grub-core/net/drivers/ieee1275/ofnet.c 2018-03-26 13:51:03.092656921 +0200
-@@ -232,7 +232,7 @@
- }
-
+Index: grub-2.04~rc1/grub-core/net/drivers/ieee1275/ofnet.c
+===================================================================
+--- grub-2.04~rc1.orig/grub-core/net/drivers/ieee1275/ofnet.c
++++ grub-2.04~rc1/grub-core/net/drivers/ieee1275/ofnet.c
+@@ -220,7 +220,7 @@ grub_ieee1275_parse_bootpath (const char
+ flags);
+ inter->vlantag = vlantag;
grub_net_add_ipv4_local (inter,
- __builtin_ctz (~grub_le_to_cpu32 (subnet_mask.ipv4)));
+ __builtin_clz (~ (subnet_mask.ipv4)));
+
}
- if (gateway_addr.ipv4 != 0)
++++++ grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:45.940906133 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:45.940906133 +0100
@@ -21,21 +21,21 @@
grub-core/fs/btrfs.c | 529 +++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 518 insertions(+), 11 deletions(-)
-Index: grub-2.02~beta2/grub-core/fs/btrfs.c
+Index: grub-2.04~rc1/grub-core/fs/btrfs.c
===================================================================
---- grub-2.02~beta2.orig/grub-core/fs/btrfs.c
-+++ grub-2.02~beta2/grub-core/fs/btrfs.c
-@@ -29,6 +29,9 @@
- #include <minilzo.h>
- #include <grub/i18n.h>
+--- grub-2.04~rc1.orig/grub-core/fs/btrfs.c
++++ grub-2.04~rc1/grub-core/fs/btrfs.c
+@@ -40,6 +40,9 @@
#include <grub/btrfs.h>
+ #include <grub/crypto.h>
+ #include <grub/diskfilter.h>
+#include <grub/command.h>
+#include <grub/env.h>
+#include <grub/extcmd.h>
GRUB_MOD_LICENSE ("GPLv3+");
-@@ -64,9 +67,11 @@ struct grub_btrfs_superblock
+@@ -78,9 +81,11 @@ struct grub_btrfs_superblock
grub_uint64_t generation;
grub_uint64_t root_tree;
grub_uint64_t chunk_tree;
@@ -49,7 +49,7 @@
struct grub_btrfs_device this_device;
char label[0x100];
grub_uint8_t dummy4[0x100];
-@@ -105,6 +110,7 @@ struct grub_btrfs_data
+@@ -120,6 +125,7 @@ struct grub_btrfs_data
grub_uint64_t exttree;
grub_size_t extsize;
struct grub_btrfs_extent_data *extent;
@@ -57,7 +57,7 @@
};
struct grub_btrfs_chunk_item
-@@ -171,6 +177,14 @@ struct grub_btrfs_leaf_descriptor
+@@ -188,6 +194,14 @@ struct grub_btrfs_leaf_descriptor
} *data;
};
@@ -72,7 +72,7 @@
struct grub_btrfs_time
{
grub_int64_t sec;
-@@ -215,6 +229,14 @@ struct grub_btrfs_extent_data
+@@ -233,6 +247,14 @@ struct grub_btrfs_extent_data
#define GRUB_BTRFS_OBJECT_ID_CHUNK 0x100
@@ -87,7 +87,7 @@
static grub_disk_addr_t superblock_sectors[] = { 64 * 2, 64 * 1024 * 2,
256 * 1048576 * 2, 1048576ULL * 1048576ULL * 2
};
-@@ -830,6 +852,62 @@ grub_btrfs_read_logical (struct grub_btr
+@@ -1153,6 +1175,62 @@ grub_btrfs_read_logical (struct grub_btr
return GRUB_ERR_NONE;
}
@@ -150,7 +150,7 @@
static struct grub_btrfs_data *
grub_btrfs_mount (grub_device_t dev)
{
-@@ -865,6 +943,13 @@ grub_btrfs_mount (grub_device_t dev)
+@@ -1188,6 +1266,13 @@ grub_btrfs_mount (grub_device_t dev)
data->devices_attached[0].dev = dev;
data->devices_attached[0].id = data->sblock.this_device.device_id;
@@ -164,7 +164,7 @@
return data;
}
-@@ -1226,6 +1311,91 @@ get_root (struct grub_btrfs_data *data,
+@@ -1654,6 +1739,91 @@ get_root (struct grub_btrfs_data *data,
}
static grub_err_t
@@ -256,7 +256,7 @@
find_path (struct grub_btrfs_data *data,
const char *path, struct grub_btrfs_key *key,
grub_uint64_t *tree, grub_uint8_t *type)
-@@ -1243,14 +1413,26 @@ find_path (struct grub_btrfs_data *data,
+@@ -1671,14 +1841,26 @@ find_path (struct grub_btrfs_data *data,
char *origpath = NULL;
unsigned symlinks_max = 32;
@@ -287,7 +287,7 @@
while (1)
{
while (path[0] == '/')
-@@ -1423,9 +1605,21 @@ find_path (struct grub_btrfs_data *data,
+@@ -1851,9 +2033,21 @@ find_path (struct grub_btrfs_data *data,
path = path_alloc = tmp;
if (path[0] == '/')
{
@@ -312,7 +312,7 @@
}
continue;
}
-@@ -1666,6 +1860,20 @@ grub_btrfs_read (grub_file_t file, char
+@@ -2094,6 +2288,20 @@ grub_btrfs_read (grub_file_t file, char
data->tree, file->offset, buf, len);
}
@@ -333,7 +333,7 @@
static grub_err_t
grub_btrfs_uuid (grub_device_t device, char **uuid)
{
-@@ -1677,15 +1885,7 @@ grub_btrfs_uuid (grub_device_t device, c
+@@ -2105,15 +2313,7 @@ grub_btrfs_uuid (grub_device_t device, c
if (!data)
return grub_errno;
@@ -350,7 +350,7 @@
grub_btrfs_unmount (data);
-@@ -1742,6 +1942,242 @@ grub_btrfs_embed (grub_device_t device _
+@@ -2170,6 +2370,242 @@ grub_btrfs_embed (grub_device_t device _
}
#endif
@@ -592,8 +592,8 @@
+
static struct grub_fs grub_btrfs_fs = {
.name = "btrfs",
- .dir = grub_btrfs_dir,
-@@ -1757,12 +2193,88 @@ static struct grub_fs grub_btrfs_fs = {
+ .fs_dir = grub_btrfs_dir,
+@@ -2185,12 +2621,88 @@ static struct grub_fs grub_btrfs_fs = {
#endif
};
@@ -682,10 +682,10 @@
}
+
+// vim: si et sw=2:
-Index: grub-2.02~beta2/include/grub/btrfs.h
+Index: grub-2.04~rc1/include/grub/btrfs.h
===================================================================
---- grub-2.02~beta2.orig/include/grub/btrfs.h
-+++ grub-2.02~beta2/include/grub/btrfs.h
+--- grub-2.04~rc1.orig/include/grub/btrfs.h
++++ grub-2.04~rc1/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.XjdHjc/_old 2019-11-03 11:24:45.956906153 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:45.956906153 +0100
@@ -1,8 +1,8 @@
-Index: grub-2.02/grub-core/fs/btrfs.c
+Index: grub-2.04~rc1/grub-core/fs/btrfs.c
===================================================================
---- grub-2.02.orig/grub-core/fs/btrfs.c
-+++ grub-2.02/grub-core/fs/btrfs.c
-@@ -2446,6 +2446,242 @@ out:
+--- grub-2.04~rc1.orig/grub-core/fs/btrfs.c
++++ grub-2.04~rc1/grub-core/fs/btrfs.c
+@@ -2867,6 +2867,242 @@ out:
return 0;
}
@@ -244,8 +244,8 @@
+
static struct grub_fs grub_btrfs_fs = {
.name = "btrfs",
- .dir = grub_btrfs_dir,
-@@ -2464,6 +2700,7 @@ static struct grub_fs grub_btrfs_fs = {
+ .fs_dir = grub_btrfs_dir,
+@@ -2885,6 +3121,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 +253,7 @@
static char *
subvolid_set_env (struct grub_env_var *var __attribute__ ((unused)),
-@@ -2534,6 +2771,11 @@ GRUB_MOD_INIT (btrfs)
+@@ -2955,6 +3192,11 @@ GRUB_MOD_INIT (btrfs)
"[-p|-n] [-o var] DEVICE",
"Print list of BtrFS subvolumes on "
"DEVICE.", options);
++++++ grub2-commands-introduce-read_file-subcommand.patch ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:45.968906168 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:45.972906174 +0100
@@ -4,12 +4,18 @@
Patch-Mainline: not yet
Needed to allow s390x-emu to be telecontrolled via LOADPARM.
+
+v2: Added GRUB_FILE_TYPE_READ_ENVVAR as file type by read_file sub-command
+tracked by verifier framework.
+
---
grub-core/commands/read.c | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
---- a/grub-core/commands/read.c
-+++ b/grub-core/commands/read.c
+Index: grub-2.04~rc1/grub-core/commands/read.c
+===================================================================
+--- grub-2.04~rc1.orig/grub-core/commands/read.c
++++ grub-2.04~rc1/grub-core/commands/read.c
@@ -20,6 +20,7 @@
#include <grub/dl.h>
#include <grub/misc.h>
@@ -33,7 +39,7 @@
+ return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("file name expected"));
+ if (argc < 2)
+ return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("variable name expected"));
-+ file = grub_file_open (args[i++]);
++ file = grub_file_open (args[i++], GRUB_FILE_TYPE_READ_ENVVAR);
+ if (! file)
+ return grub_errno;
+ while ( i < argc )
@@ -68,3 +74,15 @@
grub_unregister_command (cmd);
+ grub_unregister_command (cme);
}
+Index: grub-2.04~rc1/include/grub/file.h
+===================================================================
+--- grub-2.04~rc1.orig/include/grub/file.h
++++ grub-2.04~rc1/include/grub/file.h
+@@ -122,6 +122,7 @@ enum grub_file_type
+ GRUB_FILE_TYPE_FS_SEARCH,
+ GRUB_FILE_TYPE_AUDIO,
+ GRUB_FILE_TYPE_VBE_DUMP,
++ GRUB_FILE_TYPE_READ_ENVVAR,
+
+ GRUB_FILE_TYPE_LOADENV,
+ GRUB_FILE_TYPE_SAVEENV,
++++++ grub2-efi-HP-workaround.patch ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:45.980906184 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:45.980906184 +0100
@@ -1,7 +1,11 @@
-Index: grub-2.02~beta2/grub-core/kern/efi/init.c
+
+v2: Add GRUB_FILE_TYPE_CONFIG to grub_file_open, see also upstream commit
+ca0a4f689 verifiers: File type for fine-grained signature-verification controlling
+
+Index: grub-2.04~rc1/grub-core/kern/efi/init.c
===================================================================
---- grub-2.02~beta2.orig/grub-core/kern/efi/init.c
-+++ grub-2.02~beta2/grub-core/kern/efi/init.c
+--- grub-2.04~rc1.orig/grub-core/kern/efi/init.c
++++ grub-2.04~rc1/grub-core/kern/efi/init.c
@@ -25,6 +25,7 @@
#include <grub/env.h>
#include <grub/mm.h>
@@ -32,7 +36,7 @@
+ goto quit;
+
+ config = grub_xasprintf ("(%s)%s/grub.cfg", device, path);
-+ config_fd = grub_file_open (config);
++ config_fd = grub_file_open (config, GRUB_FILE_TYPE_CONFIG);
+
+ /* everything's fine, so quit the workaround */
+ if (config_fd)
@@ -53,7 +57,7 @@
+ if (! config_upper)
+ goto quit;
+
-+ config_fd = grub_file_open (config_upper);
++ config_fd = grub_file_open (config_upper, GRUB_FILE_TYPE_CONFIG);
+
+ /* if config can be found by the upper case path, return it */
+ if (config_fd)
@@ -78,7 +82,7 @@
void
grub_machine_get_bootlocation (char **device, char **path)
-@@ -69,6 +131,12 @@ grub_machine_get_bootlocation (char **de
+@@ -72,6 +134,12 @@ grub_machine_get_bootlocation (char **de
p = grub_strrchr (*path, '/');
if (p)
*p = '\0';
++++++ grub2-efi-chainloader-root.patch ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:45.988906194 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:45.988906194 +0100
@@ -14,16 +14,16 @@
grub-core/loader/efi/chainloader.c | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
-Index: grub-2.02~beta2/grub-core/loader/efi/chainloader.c
+Index: grub-2.04~rc1/grub-core/loader/efi/chainloader.c
===================================================================
---- grub-2.02~beta2.orig/grub-core/loader/efi/chainloader.c
-+++ grub-2.02~beta2/grub-core/loader/efi/chainloader.c
-@@ -706,12 +706,16 @@ grub_cmd_chainloader (grub_command_t cmd
+--- grub-2.04~rc1.orig/grub-core/loader/efi/chainloader.c
++++ grub-2.04~rc1/grub-core/loader/efi/chainloader.c
+@@ -714,12 +714,16 @@ grub_cmd_chainloader (grub_command_t cmd
*(--p16) = 0;
}
+ grub_dprintf ("chain", "cmd='%s'\n", filename);
- file = grub_file_open (filename);
+ file = grub_file_open (filename, GRUB_FILE_TYPE_EFI_CHAINLOADED_IMAGE);
if (! file)
goto fail;
++++++ grub2-emu-4-all.patch ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:46.004906214 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:46.004906214 +0100
@@ -5,12 +5,12 @@
grub-core/osdep/unix/emuconsole.c | 5 +++--
4 files changed, 14 insertions(+), 16 deletions(-)
-Index: grub-2.02~rc1/Makefile.util.def
+Index: grub-2.04~rc1/Makefile.util.def
===================================================================
---- grub-2.02~rc1.orig/Makefile.util.def
-+++ grub-2.02~rc1/Makefile.util.def
-@@ -352,7 +352,7 @@ program = {
- ldadd = grub-core/gnulib/libgnu.a;
+--- grub-2.04~rc1.orig/Makefile.util.def
++++ grub-2.04~rc1/Makefile.util.def
+@@ -362,7 +362,7 @@ program = {
+ ldadd = grub-core/lib/gnulib/libgnu.a;
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
cppflags = '-DGRUB_SETUP_FUNC=grub_util_bios_setup';
- emu_condition = COND_NOT_s390x;
@@ -18,8 +18,8 @@
};
program = {
-@@ -373,7 +373,7 @@ program = {
- ldadd = grub-core/gnulib/libgnu.a;
+@@ -383,7 +383,7 @@ program = {
+ ldadd = grub-core/lib/gnulib/libgnu.a;
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
cppflags = '-DGRUB_SETUP_FUNC=grub_util_sparc_setup';
- emu_condition = COND_NOT_s390x;
@@ -27,38 +27,38 @@
};
program = {
-@@ -389,7 +389,7 @@ program = {
+@@ -399,7 +399,7 @@ program = {
ldadd = libgrubkern.a;
- ldadd = grub-core/gnulib/libgnu.a;
+ ldadd = grub-core/lib/gnulib/libgnu.a;
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
- emu_condition = COND_NOT_s390x;
+ emu_condition = COND_NOT_emu;
};
program = {
-@@ -420,7 +420,7 @@ program = {
+@@ -430,7 +430,7 @@ program = {
ldadd = libgrubkern.a;
- ldadd = grub-core/gnulib/libgnu.a;
+ ldadd = grub-core/lib/gnulib/libgnu.a;
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
- emu_condition = COND_NOT_s390x;
+ emu_condition = COND_NOT_emu;
};
data = {
-@@ -1345,7 +1345,7 @@ program = {
+@@ -1361,7 +1361,7 @@ program = {
ldadd = libgrubkern.a;
- ldadd = grub-core/gnulib/libgnu.a;
+ ldadd = grub-core/lib/gnulib/libgnu.a;
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
- emu_condition = COND_NOT_s390x;
+ emu_condition = COND_NOT_emu;
};
program = {
-Index: grub-2.02~rc1/grub-core/Makefile.core.def
+Index: grub-2.04~rc1/grub-core/Makefile.core.def
===================================================================
---- grub-2.02~rc1.orig/grub-core/Makefile.core.def
-+++ grub-2.02~rc1/grub-core/Makefile.core.def
-@@ -1057,7 +1057,7 @@ module = {
+--- grub-2.04~rc1.orig/grub-core/Makefile.core.def
++++ grub-2.04~rc1/grub-core/Makefile.core.def
+@@ -1139,7 +1139,7 @@ module = {
module = {
name = videotest;
common = commands/videotest.c;
@@ -67,7 +67,7 @@
};
module = {
-@@ -1470,7 +1470,7 @@ module = {
+@@ -1572,7 +1572,7 @@ module = {
common = gfxmenu/gui_progress_bar.c;
common = gfxmenu/gui_util.c;
common = gfxmenu/gui_string_util.c;
@@ -76,7 +76,7 @@
};
module = {
-@@ -1886,13 +1886,13 @@ module = {
+@@ -2008,13 +2008,13 @@ module = {
name = gfxterm;
common = term/gfxterm.c;
enable = videomodules;
@@ -92,8 +92,8 @@
};
module = {
-@@ -2005,9 +2005,7 @@ module = {
- enable = i386_pc;
+@@ -2133,9 +2133,7 @@ module = {
+ enable = i386_xen_pvh;
enable = i386_efi;
enable = x86_64_efi;
- enable = emu;
@@ -102,7 +102,7 @@
};
module = {
-@@ -2054,7 +2052,7 @@ module = {
+@@ -2182,7 +2180,7 @@ module = {
module = {
name = gfxterm_menu;
common = tests/gfxterm_menu.c;
@@ -111,8 +111,8 @@
};
module = {
-@@ -2205,9 +2203,7 @@ module = {
- enable = i386_pc;
+@@ -2334,9 +2332,7 @@ module = {
+ enable = i386_xen_pvh;
enable = i386_efi;
enable = x86_64_efi;
- enable = emu;
@@ -121,11 +121,11 @@
};
module = {
-Index: grub-2.02~rc1/configure.ac
+Index: grub-2.04~rc1/configure.ac
===================================================================
---- grub-2.02~rc1.orig/configure.ac
-+++ grub-2.02~rc1/configure.ac
-@@ -1884,6 +1884,7 @@ AC_SUBST(BUILD_LIBM)
+--- grub-2.04~rc1.orig/configure.ac
++++ grub-2.04~rc1/configure.ac
+@@ -1911,6 +1911,7 @@ AC_SUBST(BUILD_LIBM)
AM_CONDITIONAL([COND_real_platform], [test x$platform != xnone])
AM_CONDITIONAL([COND_emu], [test x$platform = xemu])
@@ -133,10 +133,10 @@
AM_CONDITIONAL([COND_i386_pc], [test x$target_cpu = xi386 -a x$platform = xpc])
AM_CONDITIONAL([COND_i386_efi], [test x$target_cpu = xi386 -a x$platform = xefi])
AM_CONDITIONAL([COND_ia64_efi], [test x$target_cpu = xia64 -a x$platform = xefi])
-Index: grub-2.02~rc1/grub-core/osdep/unix/emuconsole.c
+Index: grub-2.04~rc1/grub-core/osdep/unix/emuconsole.c
===================================================================
---- grub-2.02~rc1.orig/grub-core/osdep/unix/emuconsole.c
-+++ grub-2.02~rc1/grub-core/osdep/unix/emuconsole.c
+--- grub-2.04~rc1.orig/grub-core/osdep/unix/emuconsole.c
++++ grub-2.04~rc1/grub-core/osdep/unix/emuconsole.c
@@ -50,13 +50,12 @@ static struct termios new_tty;
static int console_mode = 0;
++++++ grub2-linux.patch ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:46.024906240 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:46.028906245 +0100
@@ -1,7 +1,7 @@
-Index: grub-2.02~beta2/util/grub.d/10_linux.in
+Index: grub-2.04rc1/util/grub.d/10_linux.in
===================================================================
---- grub-2.02~beta2.orig/util/grub.d/10_linux.in
-+++ grub-2.02~beta2/util/grub.d/10_linux.in
+--- grub-2.04rc1.orig/util/grub.d/10_linux.in
++++ grub-2.04rc1/util/grub.d/10_linux.in
@@ -31,7 +31,7 @@ CLASS="--class gnu-linux --class gnu --c
if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
OS=GNU/Linux
@@ -11,7 +11,7 @@
CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1|LC_ALL=C sed 's,[^[:alnum:]_],_,g') ${CLASS}"
fi
-@@ -129,7 +129,7 @@ linux_entry ()
+@@ -141,7 +141,7 @@ linux_entry ()
message="$(gettext_printf "Loading Linux %s ..." ${version})"
sed "s/^/$submenu_indentation/" << EOF
echo '$(echo "$message" | grub_quote)'
@@ -20,10 +20,10 @@
EOF
if test -n "${initrd}" ; then
# TRANSLATORS: ramdisk isn't identifier. Should be translated.
-Index: grub-2.02~beta2/util/grub.d/20_linux_xen.in
+Index: grub-2.04rc1/util/grub.d/20_linux_xen.in
===================================================================
---- grub-2.02~beta2.orig/util/grub.d/20_linux_xen.in
-+++ grub-2.02~beta2/util/grub.d/20_linux_xen.in
+--- grub-2.04rc1.orig/util/grub.d/20_linux_xen.in
++++ grub-2.04rc1/util/grub.d/20_linux_xen.in
@@ -31,7 +31,7 @@ CLASS="--class gnu-linux --class gnu --c
if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
OS=GNU/Linux
@@ -33,12 +33,12 @@
CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1|LC_ALL=C sed 's,[^[:alnum:]_],_,g') ${CLASS}"
fi
-@@ -122,7 +122,7 @@ linux_entry ()
+@@ -134,7 +134,7 @@ linux_entry ()
fi
- multiboot ${rel_xen_dirname}/${xen_basename} placeholder ${xen_args} \${xen_rm_opts}
+ ${xen_loader} ${rel_xen_dirname}/${xen_basename} placeholder ${xen_args} \${xen_rm_opts}
echo '$(echo "$lmessage" | grub_quote)'
-- module ${rel_dirname}/${basename} placeholder root=${linux_root_device_thisversion} ro ${args}
-+ module ${rel_dirname}/${basename} placeholder root=${linux_root_device_thisversion} ${args}
+- ${module_loader} ${rel_dirname}/${basename} placeholder root=${linux_root_device_thisversion} ro ${args}
++ ${module_loader} ${rel_dirname}/${basename} placeholder root=${linux_root_device_thisversion} ${args}
EOF
if test -n "${initrd}" ; then
# TRANSLATORS: ramdisk isn't identifier. Should be translated.
++++++ grub2-pass-corret-root-for-nfsroot.patch ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:46.052906276 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:46.056906281 +0100
@@ -18,17 +18,18 @@
util/grub-mkconfig.in | 37 ++++++++++++++++++++++++++++++-------
1 files changed, 30 insertions(+), 7 deletions(-)
-Index: grub-2.02/util/grub-mkconfig.in
+Index: grub-2.04~rc1/util/grub-mkconfig.in
===================================================================
---- grub-2.02.orig/util/grub-mkconfig.in
-+++ grub-2.02/util/grub-mkconfig.in
-@@ -131,22 +131,47 @@ else
+--- grub-2.04~rc1.orig/util/grub-mkconfig.in
++++ grub-2.04~rc1/util/grub-mkconfig.in
+@@ -131,23 +131,51 @@ else
exit 1
fi
-# Device containing our userland. Typically used for root= parameter.
-GRUB_DEVICE="`${grub_probe} --target=device /`"
-GRUB_DEVICE_UUID="`${grub_probe} --device ${GRUB_DEVICE} --target=fs_uuid 2> /dev/null`" || true
+-GRUB_DEVICE_PARTUUID="`${grub_probe} --device ${GRUB_DEVICE} --target=partuuid 2> /dev/null`" || true
+probe_nfsroot_device () {
+ while read line ; do
+ part1=`echo $line | sed -e 's! - .*$!!'`
@@ -54,23 +55,24 @@
+
+NFSROOT_DEVICE="`awk '($9!="autofs")&&($9!="securityfs")' /proc/self/mountinfo | probe_nfsroot_device`"
--# Filesystem for the device containing our userland. Used for stuff like
--# choosing Hurd filesystem module.
--GRUB_FS="`${grub_probe} --device ${GRUB_DEVICE} --target=fs 2> /dev/null || echo unknown`"
+ # Filesystem for the device containing our userland. Used for stuff like
+ # choosing Hurd filesystem module.
+ GRUB_FS="`${grub_probe} --device ${GRUB_DEVICE} --target=fs 2> /dev/null || echo unknown`"
+if [ "x${NFSROOT_DEVICE}" != "x" ]; then
+ GRUB_DEVICE=""
+ GRUB_DEVICE_UUID=""
++ GRUB_DEVICE_PARTUUID=""
+ GRUB_FS="unknown"
+else
+ # Device containing our userland. Typically used for root= parameter.
+ GRUB_DEVICE="`${grub_probe} --target=device /`"
+ GRUB_DEVICE_UUID="`${grub_probe} --device ${GRUB_DEVICE} --target=fs_uuid 2> /dev/null`" || true
++ GRUB_DEVICE_PARTUUID="`${grub_probe} --device ${GRUB_DEVICE} --target=partuuid 2> /dev/null`" || true
-if [ x"$GRUB_FS" = xunknown ]; then
-- GRUB_FS="$(stat -f --printf=%T / || echo unknown)"
-+
+- GRUB_FS="$(stat -f -c %T / || echo unknown)"
+ if [ x"$GRUB_FS" = x ] || [ x"$GRUB_FS" = xunknown ]; then
-+ GRUB_FS="$(stat -f --printf=%T / || echo unknown)"
++ GRUB_FS="$(stat -f -c %T / || echo unknown)"
+ fi
fi
@@ -78,14 +80,14 @@
+GRUB_DEVICE_BOOT="`${grub_probe} --target=device /boot`"
+GRUB_DEVICE_BOOT_UUID="`${grub_probe} --device ${GRUB_DEVICE_BOOT} --target=fs_uuid 2> /dev/null`" || true
+
- if test -f ${sysconfdir}/default/grub ; then
- . ${sysconfdir}/default/grub
- fi
-Index: grub-2.02/util/grub.d/10_linux.in
+ # Provide a default set of stock linux early initrd images.
+ # Define here so the list can be modified in the sourced config file.
+ if [ "x${GRUB_EARLY_INITRD_LINUX_STOCK}" = "x" ]; then
+Index: grub-2.04~rc1/util/grub.d/10_linux.in
===================================================================
---- grub-2.02.orig/util/grub.d/10_linux.in
-+++ grub-2.02/util/grub.d/10_linux.in
-@@ -76,6 +76,12 @@ linux_entry ()
+--- grub-2.04~rc1.orig/util/grub.d/10_linux.in
++++ grub-2.04~rc1/util/grub.d/10_linux.in
+@@ -86,6 +86,12 @@ linux_entry ()
type="$3"
args="$4"
@@ -98,7 +100,7 @@
if [ -z "$boot_device_id" ]; then
boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
fi
-@@ -131,7 +137,7 @@ linux_entry ()
+@@ -141,7 +147,7 @@ linux_entry ()
message="$(gettext_printf "Loading Linux %s ..." ${version})"
sed "s/^/$submenu_indentation/" << EOF
echo '$(echo "$message" | grub_quote)'
@@ -107,11 +109,11 @@
EOF
if test -n "${initrd}" ; then
# TRANSLATORS: ramdisk isn't identifier. Should be translated.
-Index: grub-2.02/util/grub.d/20_linux_xen.in
+Index: grub-2.04~rc1/util/grub.d/20_linux_xen.in
===================================================================
---- grub-2.02.orig/util/grub.d/20_linux_xen.in
-+++ grub-2.02/util/grub.d/20_linux_xen.in
-@@ -91,6 +91,11 @@ linux_entry ()
+--- grub-2.04~rc1.orig/util/grub.d/20_linux_xen.in
++++ grub-2.04~rc1/util/grub.d/20_linux_xen.in
+@@ -101,6 +101,11 @@ linux_entry ()
type="$4"
args="$5"
xen_args="$6"
@@ -123,12 +125,12 @@
if [ -z "$boot_device_id" ]; then
boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")"
fi
-@@ -130,7 +135,7 @@ linux_entry ()
+@@ -140,7 +145,7 @@ linux_entry ()
fi
- multiboot ${rel_xen_dirname}/${xen_basename} placeholder ${xen_args} \${xen_rm_opts}
+ ${xen_loader} ${rel_xen_dirname}/${xen_basename} placeholder ${xen_args} \${xen_rm_opts}
echo '$(echo "$lmessage" | grub_quote)'
-- module ${rel_dirname}/${basename} placeholder root=${linux_root_device_thisversion} ${args}
-+ module ${rel_dirname}/${basename} placeholder ${root_device} ${args}
+- ${module_loader} ${rel_dirname}/${basename} placeholder root=${linux_root_device_thisversion} ${args}
++ ${module_loader} ${rel_dirname}/${basename} placeholder ${root_device} ${args}
EOF
if test -n "${initrd}" ; then
# TRANSLATORS: ramdisk isn't identifier. Should be translated.
++++++ grub2-ppc64-cas-fix-double-free.patch ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:46.060906286 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:46.060906286 +0100
@@ -1,8 +1,8 @@
-Index: grub-2.02/grub-core/kern/ieee1275/openfw.c
+Index: grub-2.04~rc1/grub-core/kern/ieee1275/openfw.c
===================================================================
---- grub-2.02.orig/grub-core/kern/ieee1275/openfw.c
-+++ grub-2.02/grub-core/kern/ieee1275/openfw.c
-@@ -592,7 +592,7 @@ grub_ieee1275_canonicalise_devname (cons
+--- grub-2.04~rc1.orig/grub-core/kern/ieee1275/openfw.c
++++ grub-2.04~rc1/grub-core/kern/ieee1275/openfw.c
+@@ -595,7 +595,7 @@ grub_ieee1275_canonicalise_devname (cons
/* Check if it's a CAS reboot. If so, set the script to be executed. */
int
@@ -11,7 +11,7 @@
{
grub_uint32_t ibm_ca_support_reboot;
grub_uint32_t ibm_fw_nbr_reboots;
-@@ -625,16 +625,37 @@ grub_ieee1275_cas_reboot (char *script)
+@@ -628,16 +628,37 @@ grub_ieee1275_cas_reboot (char *script)
if (ibm_ca_support_reboot || ibm_fw_nbr_reboots)
{
@@ -57,7 +57,7 @@
grub_ieee1275_set_boot_last_label ("");
return -1;
-@@ -648,7 +669,8 @@ int grub_ieee1275_set_boot_last_label (c
+@@ -651,8 +672,9 @@ int grub_ieee1275_set_boot_last_label (c
grub_dprintf("ieee1275", "set boot_last_label (size: %" PRIxGRUB_SIZE ")\n", grub_strlen(text));
if (! grub_ieee1275_finddevice ("/options", &options) &&
options != (grub_ieee1275_ihandle_t) -1)
@@ -67,10 +67,11 @@
+ grub_strlen (text) + 1, &actual);
return 0;
}
-Index: grub-2.02/grub-core/normal/main.c
+
+Index: grub-2.04~rc1/grub-core/normal/main.c
===================================================================
---- grub-2.02.orig/grub-core/normal/main.c
-+++ grub-2.02/grub-core/normal/main.c
+--- grub-2.04~rc1.orig/grub-core/normal/main.c
++++ grub-2.04~rc1/grub-core/normal/main.c
@@ -281,10 +281,9 @@ grub_normal_execute (const char *config,
#ifdef GRUB_MACHINE_IEEE1275
int boot;
@@ -84,11 +85,11 @@
{
if (! grub_script_execute_new_scope (script, 0, dummy))
boot = 1;
-Index: grub-2.02/include/grub/ieee1275/ieee1275.h
+Index: grub-2.04~rc1/include/grub/ieee1275/ieee1275.h
===================================================================
---- grub-2.02.orig/include/grub/ieee1275/ieee1275.h
-+++ grub-2.02/include/grub/ieee1275/ieee1275.h
-@@ -243,7 +243,7 @@ int EXPORT_FUNC(grub_ieee1275_devalias_n
+--- grub-2.04~rc1.orig/include/grub/ieee1275/ieee1275.h
++++ grub-2.04~rc1/include/grub/ieee1275/ieee1275.h
+@@ -263,7 +263,7 @@ int EXPORT_FUNC(grub_ieee1275_devalias_n
void EXPORT_FUNC(grub_ieee1275_children_peer) (struct grub_ieee1275_devalias *alias);
void EXPORT_FUNC(grub_ieee1275_children_first) (const char *devpath,
struct grub_ieee1275_devalias *alias);
@@ -96,4 +97,4 @@
+int EXPORT_FUNC(grub_ieee1275_cas_reboot) (char **script);
int EXPORT_FUNC(grub_ieee1275_set_boot_last_label) (const char *text);
- #define FOR_IEEE1275_DEVALIASES(alias) for (grub_ieee1275_devalias_init_iterator (&(alias)); grub_ieee1275_devalias_next (&(alias));)
+ char *EXPORT_FUNC(grub_ieee1275_get_boot_dev) (void);
++++++ grub2-ppc64-cas-reboot-support.patch ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:46.068906296 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:46.068906296 +0100
@@ -24,11 +24,11 @@
include/grub/ieee1275/ieee1275.h | 2 ++
4 files changed, 90 insertions(+)
-Index: grub-2.02~beta2/grub-core/kern/ieee1275/openfw.c
+Index: grub-2.04~rc1/grub-core/kern/ieee1275/openfw.c
===================================================================
---- grub-2.02~beta2.orig/grub-core/kern/ieee1275/openfw.c 2016-01-29 23:08:47.560532720 +0300
-+++ grub-2.02~beta2/grub-core/kern/ieee1275/openfw.c 2016-01-29 23:08:47.556532720 +0300
-@@ -590,3 +590,65 @@
+--- grub-2.04~rc1.orig/grub-core/kern/ieee1275/openfw.c
++++ grub-2.04~rc1/grub-core/kern/ieee1275/openfw.c
+@@ -593,6 +593,69 @@ grub_ieee1275_canonicalise_devname (cons
return NULL;
}
@@ -94,10 +94,14 @@
+ grub_strlen (text), &actual);
+ return 0;
+}
-Index: grub-2.02~beta2/grub-core/normal/main.c
++
+ char *
+ grub_ieee1275_get_boot_dev (void)
+ {
+Index: grub-2.04~rc1/grub-core/normal/main.c
===================================================================
---- grub-2.02~beta2.orig/grub-core/normal/main.c 2016-01-29 23:08:47.560532720 +0300
-+++ grub-2.02~beta2/grub-core/normal/main.c 2016-01-29 23:09:59.812533575 +0300
+--- grub-2.04~rc1.orig/grub-core/normal/main.c
++++ grub-2.04~rc1/grub-core/normal/main.c
@@ -33,6 +33,9 @@
#include <grub/charset.h>
#include <grub/script_sh.h>
@@ -108,7 +112,7 @@
GRUB_MOD_LICENSE ("GPLv3+");
-@@ -275,6 +278,21 @@
+@@ -275,6 +278,21 @@ grub_normal_execute (const char *config,
{
menu = read_config_file (config);
@@ -130,21 +134,21 @@
/* Ignore any error. */
grub_errno = GRUB_ERR_NONE;
}
-Index: grub-2.02~beta2/grub-core/script/execute.c
+Index: grub-2.04~rc1/grub-core/script/execute.c
===================================================================
---- grub-2.02~beta2.orig/grub-core/script/execute.c 2016-01-29 23:08:47.560532720 +0300
-+++ grub-2.02~beta2/grub-core/script/execute.c 2016-01-29 23:08:47.560532720 +0300
-@@ -27,6 +27,9 @@
- #include <grub/normal.h>
+--- grub-2.04~rc1.orig/grub-core/script/execute.c
++++ grub-2.04~rc1/grub-core/script/execute.c
+@@ -28,6 +28,9 @@
#include <grub/extcmd.h>
#include <grub/i18n.h>
+ #include <grub/verify.h>
+#ifdef GRUB_MACHINE_IEEE1275
+#include <grub/ieee1275/ieee1275.h>
+#endif
/* Max digits for a char is 3 (0xFF is 255), similarly for an int it
is sizeof (int) * 3, and one extra for a possible -ve sign. */
-@@ -877,6 +880,10 @@
+@@ -878,6 +881,10 @@ grub_script_execute_sourcecode (const ch
grub_err_t ret = 0;
struct grub_script *parsed_script;
@@ -155,16 +159,16 @@
while (source)
{
char *line;
-Index: grub-2.02~beta2/include/grub/ieee1275/ieee1275.h
+Index: grub-2.04~rc1/include/grub/ieee1275/ieee1275.h
===================================================================
---- grub-2.02~beta2.orig/include/grub/ieee1275/ieee1275.h 2016-01-29 23:08:47.560532720 +0300
-+++ grub-2.02~beta2/include/grub/ieee1275/ieee1275.h 2016-01-29 23:08:47.560532720 +0300
-@@ -242,6 +242,8 @@
+--- grub-2.04~rc1.orig/include/grub/ieee1275/ieee1275.h
++++ grub-2.04~rc1/include/grub/ieee1275/ieee1275.h
+@@ -263,6 +263,8 @@ int EXPORT_FUNC(grub_ieee1275_devalias_n
void EXPORT_FUNC(grub_ieee1275_children_peer) (struct grub_ieee1275_devalias *alias);
void EXPORT_FUNC(grub_ieee1275_children_first) (const char *devpath,
struct grub_ieee1275_devalias *alias);
+int EXPORT_FUNC(grub_ieee1275_cas_reboot) (char *script);
+int EXPORT_FUNC(grub_ieee1275_set_boot_last_label) (const char *text);
- #define FOR_IEEE1275_DEVALIASES(alias) for (grub_ieee1275_devalias_init_iterator (&(alias)); grub_ieee1275_devalias_next (&(alias));)
+ char *EXPORT_FUNC(grub_ieee1275_get_boot_dev) (void);
++++++ grub2-ppc64le-disable-video.patch ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:46.072906302 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:46.076906306 +0100
@@ -1,7 +1,7 @@
-Index: grub-2.02~beta2/grub-core/kern/ieee1275/cmain.c
+Index: grub-2.04~rc1/grub-core/kern/ieee1275/cmain.c
===================================================================
---- grub-2.02~beta2.orig/grub-core/kern/ieee1275/cmain.c
-+++ grub-2.02~beta2/grub-core/kern/ieee1275/cmain.c
+--- grub-2.04~rc1.orig/grub-core/kern/ieee1275/cmain.c
++++ grub-2.04~rc1/grub-core/kern/ieee1275/cmain.c
@@ -90,7 +90,10 @@ grub_ieee1275_find_options (void)
}
@@ -14,11 +14,11 @@
/* Old Macs have no key repeat, newer ones have fully working one.
The ones inbetween when repeated key generates an escaoe sequence
-Index: grub-2.02~beta2/grub-core/video/ieee1275.c
+Index: grub-2.04~rc1/grub-core/video/ieee1275.c
===================================================================
---- grub-2.02~beta2.orig/grub-core/video/ieee1275.c
-+++ grub-2.02~beta2/grub-core/video/ieee1275.c
-@@ -351,9 +351,12 @@ static struct grub_video_adapter grub_vi
+--- grub-2.04~rc1.orig/grub-core/video/ieee1275.c
++++ grub-2.04~rc1/grub-core/video/ieee1275.c
+@@ -352,9 +352,12 @@ static struct grub_video_adapter grub_vi
GRUB_MOD_INIT(ieee1275_fb)
{
@@ -34,14 +34,14 @@
}
GRUB_MOD_FINI(ieee1275_fb)
-Index: grub-2.02~beta2/include/grub/ieee1275/ieee1275.h
+Index: grub-2.04~rc1/include/grub/ieee1275/ieee1275.h
===================================================================
---- grub-2.02~beta2.orig/include/grub/ieee1275/ieee1275.h
-+++ grub-2.02~beta2/include/grub/ieee1275/ieee1275.h
-@@ -145,6 +145,8 @@ enum grub_ieee1275_flag
- GRUB_IEEE1275_FLAG_BROKEN_REPEAT,
-
+--- grub-2.04~rc1.orig/include/grub/ieee1275/ieee1275.h
++++ grub-2.04~rc1/include/grub/ieee1275/ieee1275.h
+@@ -148,6 +148,8 @@ enum grub_ieee1275_flag
GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN,
+
+ GRUB_IEEE1275_FLAG_RAW_DEVNAMES,
+
+ GRUB_IEEE1275_FLAG_DISABLE_VIDEO_SUPPORT
};
++++++ grub2-ppc64le-memory-map.patch ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:46.080906311 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:46.080906311 +0100
@@ -1,7 +1,7 @@
-Index: grub-2.02~beta2/grub-core/kern/ieee1275/openfw.c
+Index: grub-2.04~rc1/grub-core/kern/ieee1275/openfw.c
===================================================================
---- grub-2.02~beta2.orig/grub-core/kern/ieee1275/openfw.c
-+++ grub-2.02~beta2/grub-core/kern/ieee1275/openfw.c
+--- grub-2.04~rc1.orig/grub-core/kern/ieee1275/openfw.c
++++ grub-2.04~rc1/grub-core/kern/ieee1275/openfw.c
@@ -302,6 +302,34 @@ grub_ieee1275_map (grub_addr_t phys, gru
return args.catch_result;
}
@@ -45,10 +45,10 @@
return GRUB_ERR_NONE;
}
-Index: grub-2.02~beta2/include/grub/ieee1275/ieee1275.h
+Index: grub-2.04~rc1/include/grub/ieee1275/ieee1275.h
===================================================================
---- grub-2.02~beta2.orig/include/grub/ieee1275/ieee1275.h
-+++ grub-2.02~beta2/include/grub/ieee1275/ieee1275.h
+--- grub-2.04~rc1.orig/include/grub/ieee1275/ieee1275.h
++++ grub-2.04~rc1/include/grub/ieee1275/ieee1275.h
@@ -30,6 +30,12 @@ struct grub_ieee1275_mem_region
unsigned int size;
};
@@ -62,19 +62,19 @@
#define IEEE1275_MAX_PROP_LEN 8192
#define IEEE1275_MAX_PATH_LEN 256
-@@ -214,6 +220,7 @@ int EXPORT_FUNC(grub_ieee1275_millisecon
-
+@@ -235,6 +241,7 @@ char *EXPORT_FUNC(grub_ieee1275_encode_u
+ int EXPORT_FUNC(grub_ieee1275_get_block_size) (grub_ieee1275_ihandle_t ihandle);
grub_err_t EXPORT_FUNC(grub_claimmap) (grub_addr_t addr, grub_size_t size);
+void EXPORT_FUNC(grub_releasemap) (void);
int
EXPORT_FUNC(grub_ieee1275_map) (grub_addr_t phys, grub_addr_t virt,
-Index: grub-2.02~beta2/grub-core/kern/ieee1275/init.c
+Index: grub-2.04~rc1/grub-core/kern/ieee1275/init.c
===================================================================
---- grub-2.02~beta2.orig/grub-core/kern/ieee1275/init.c
-+++ grub-2.02~beta2/grub-core/kern/ieee1275/init.c
-@@ -62,6 +62,7 @@ grub_addr_t grub_ieee1275_original_stack
+--- grub-2.04~rc1.orig/grub-core/kern/ieee1275/init.c
++++ grub-2.04~rc1/grub-core/kern/ieee1275/init.c
+@@ -73,6 +73,7 @@ grub_addr_t grub_ieee1275_original_stack
void
grub_exit (void)
{
++++++ grub2-s390x-01-Changes-made-and-files-added-in-order-to-allow-s390x.patch ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:46.084906317 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:46.088906321 +0100
@@ -21,41 +21,41 @@
create mode 100644 include/grub/s390x/time.h
create mode 100644 include/grub/s390x/types.h
-Index: grub-2.02~beta2/grub-core/kern/emu/cache_s.S
+Index: grub-2.04~rc1/grub-core/kern/emu/cache_s.S
===================================================================
---- grub-2.02~beta2.orig/grub-core/kern/emu/cache_s.S
-+++ grub-2.02~beta2/grub-core/kern/emu/cache_s.S
-@@ -9,6 +9,7 @@
- #elif defined(__powerpc__)
+--- grub-2.04~rc1.orig/grub-core/kern/emu/cache_s.S
++++ grub-2.04~rc1/grub-core/kern/emu/cache_s.S
+@@ -10,6 +10,7 @@
#include "../powerpc/cache.S"
- #elif defined(__ia64__) || defined(__arm__) || defined(__aarch64__) || defined(__mips__)
+ #elif defined(__ia64__) || defined(__arm__) || defined(__aarch64__) || \
+ defined(__mips__) || defined(__riscv)
+#elif defined(__s390x__)
#else
#error "No target cpu type is defined"
#endif
-Index: grub-2.02~beta2/grub-core/kern/emu/lite.c
+Index: grub-2.04~rc1/grub-core/kern/emu/lite.c
===================================================================
---- grub-2.02~beta2.orig/grub-core/kern/emu/lite.c
-+++ grub-2.02~beta2/grub-core/kern/emu/lite.c
-@@ -24,6 +24,8 @@
- #elif defined(__aarch64__)
- #include "../arm64/dl_helper.c"
+--- grub-2.04~rc1.orig/grub-core/kern/emu/lite.c
++++ grub-2.04~rc1/grub-core/kern/emu/lite.c
+@@ -26,6 +26,8 @@
#include "../arm64/dl.c"
+ #elif defined(__riscv)
+ #include "../riscv/dl.c"
+#elif defined(__s390x__)
+#include "../s390x/dl.c"
#else
#error "No target cpu type is defined"
#endif
-Index: grub-2.02~beta2/grub-core/kern/dl.c
+Index: grub-2.04~rc1/grub-core/kern/dl.c
===================================================================
---- grub-2.02~beta2.orig/grub-core/kern/dl.c
-+++ grub-2.02~beta2/grub-core/kern/dl.c
+--- grub-2.04~rc1.orig/grub-core/kern/dl.c
++++ grub-2.04~rc1/grub-core/kern/dl.c
@@ -229,7 +229,7 @@ grub_dl_load_segments (grub_dl_t mod, co
unsigned i;
const Elf_Shdr *s;
grub_size_t tsize = 0, talign = 1;
--#if !defined (__i386__) && !defined (__x86_64__)
-+#if !defined (__i386__) && !defined (__x86_64__) && !defined (__s390x__)
+-#if !defined (__i386__) && !defined (__x86_64__) && !defined(__riscv)
++#if !defined (__i386__) && !defined (__x86_64__) && !defined(__riscv) && !defined (__s390x__)
grub_size_t tramp;
grub_size_t got;
grub_err_t err;
@@ -63,8 +63,8 @@
talign = s->sh_addralign;
}
--#if !defined (__i386__) && !defined (__x86_64__)
-+#if !defined (__i386__) && !defined (__x86_64__) && !defined (__s390x__)
+-#if !defined (__i386__) && !defined (__x86_64__) && !defined(__riscv)
++#if !defined (__i386__) && !defined (__x86_64__) && !defined(__riscv) && !defined (__s390x__)
err = grub_arch_dl_get_tramp_got_size (e, &tramp, &got);
if (err)
return err;
@@ -72,15 +72,15 @@
mod->segment = seg;
}
}
--#if !defined (__i386__) && !defined (__x86_64__)
-+#if !defined (__i386__) && !defined (__x86_64__) && !defined (__s390x__)
+-#if !defined (__i386__) && !defined (__x86_64__) && !defined(__riscv)
++#if !defined (__i386__) && !defined (__x86_64__) && !defined(__riscv) && !defined (__s390x__)
ptr = (char *) ALIGN_UP ((grub_addr_t) ptr, GRUB_ARCH_DL_TRAMP_ALIGN);
mod->tramp = ptr;
mod->trampptr = ptr;
-Index: grub-2.02~beta2/grub-core/kern/s390x/dl.c
+Index: grub-2.04~rc1/grub-core/kern/s390x/dl.c
===================================================================
--- /dev/null
-+++ grub-2.02~beta2/grub-core/kern/s390x/dl.c
++++ grub-2.04~rc1/grub-core/kern/s390x/dl.c
@@ -0,0 +1,40 @@
+/* dl.c - arch-dependent part of loadable module support */
+/*
@@ -122,10 +122,10 @@
+ (void)(seg);
+ return GRUB_ERR_BUG;
+}
-Index: grub-2.02~beta2/grub-core/lib/s390x/setjmp.S
+Index: grub-2.04~rc1/grub-core/lib/s390x/setjmp.S
===================================================================
--- /dev/null
-+++ grub-2.02~beta2/grub-core/lib/s390x/setjmp.S
++++ grub-2.04~rc1/grub-core/lib/s390x/setjmp.S
@@ -0,0 +1,46 @@
+/*
+ * GRUB -- GRand Unified Bootloader
@@ -173,23 +173,23 @@
+ lmg %r11,%r15,0(%r2)
+ lgr %r2,%r3
+ br %r14
-Index: grub-2.02~beta2/grub-core/lib/setjmp.S
+Index: grub-2.04~rc1/grub-core/lib/setjmp.S
===================================================================
---- grub-2.02~beta2.orig/grub-core/lib/setjmp.S
-+++ grub-2.02~beta2/grub-core/lib/setjmp.S
-@@ -15,6 +15,8 @@
- #include "./arm/setjmp.S"
- #elif defined(__aarch64__)
+--- grub-2.04~rc1.orig/grub-core/lib/setjmp.S
++++ grub-2.04~rc1/grub-core/lib/setjmp.S
+@@ -17,6 +17,8 @@
#include "./arm64/setjmp.S"
+ #elif defined(__riscv)
+ #include "./riscv/setjmp.S"
+#elif defined(__s390x__)
+#include "./s390x/setjmp.S"
#else
#error "Unknown target cpu type"
#endif
-Index: grub-2.02~beta2/include/grub/cache.h
+Index: grub-2.04~rc1/include/grub/cache.h
===================================================================
---- grub-2.02~beta2.orig/include/grub/cache.h
-+++ grub-2.02~beta2/include/grub/cache.h
+--- grub-2.04~rc1.orig/include/grub/cache.h
++++ grub-2.04~rc1/include/grub/cache.h
@@ -23,7 +23,7 @@
#include <grub/symbol.h>
#include <grub/types.h>
@@ -199,10 +199,10 @@
static inline void
grub_arch_sync_caches (void *address __attribute__ ((unused)),
grub_size_t len __attribute__ ((unused)))
-Index: grub-2.02~beta2/include/grub/s390x/setjmp.h
+Index: grub-2.04~rc1/include/grub/s390x/setjmp.h
===================================================================
--- /dev/null
-+++ grub-2.02~beta2/include/grub/s390x/setjmp.h
++++ grub-2.04~rc1/include/grub/s390x/setjmp.h
@@ -0,0 +1,29 @@
+/*
+ * GRUB -- GRand Unified Bootloader
@@ -233,10 +233,10 @@
+void grub_longjmp (grub_jmp_buf env, int val) __attribute__ ((noreturn));
+
+#endif /* ! GRUB_SETJMP_CPU_HEADER */
-Index: grub-2.02~beta2/include/grub/s390x/time.h
+Index: grub-2.04~rc1/include/grub/s390x/time.h
===================================================================
--- /dev/null
-+++ grub-2.02~beta2/include/grub/s390x/time.h
++++ grub-2.04~rc1/include/grub/s390x/time.h
@@ -0,0 +1,27 @@
+/*
+ * GRUB -- GRand Unified Bootloader
@@ -265,10 +265,10 @@
+}
+
+#endif /* ! KERNEL_CPU_TIME_HEADER */
-Index: grub-2.02~beta2/include/grub/s390x/types.h
+Index: grub-2.04~rc1/include/grub/s390x/types.h
===================================================================
--- /dev/null
-+++ grub-2.02~beta2/include/grub/s390x/types.h
++++ grub-2.04~rc1/include/grub/s390x/types.h
@@ -0,0 +1,32 @@
+/*
+ * GRUB -- GRand Unified Bootloader
++++++ grub2-s390x-02-kexec-module-added-to-emu.patch ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:46.092906327 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:46.092906327 +0100
@@ -9,14 +9,14 @@
include/grub/emu/misc.h | 3
8 files changed, 204 insertions(+), 4 deletions(-)
-Index: grub-2.02~beta2/grub-core/Makefile.core.def
+Index: grub-2.04~rc1/grub-core/Makefile.core.def
===================================================================
---- grub-2.02~beta2.orig/grub-core/Makefile.core.def 2016-01-29 22:59:52.244526390 +0300
-+++ grub-2.02~beta2/grub-core/Makefile.core.def 2016-01-29 22:59:52.240526390 +0300
-@@ -1667,9 +1667,9 @@
- ia64_efi = loader/ia64/efi/linux.c;
- arm = loader/arm/linux.c;
+--- grub-2.04~rc1.orig/grub-core/Makefile.core.def
++++ grub-2.04~rc1/grub-core/Makefile.core.def
+@@ -1786,9 +1786,9 @@ module = {
arm64 = loader/arm64/linux.c;
+ riscv32 = loader/riscv/linux.c;
+ riscv64 = loader/riscv/linux.c;
+ emu = loader/emu/linux.c;
common = loader/linux.c;
common = lib/cmdline.c;
@@ -24,10 +24,10 @@
};
module = {
-Index: grub-2.02~beta2/grub-core/loader/emu/linux.c
+Index: grub-2.04~rc1/grub-core/loader/emu/linux.c
===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ grub-2.02~beta2/grub-core/loader/emu/linux.c 2016-01-29 22:59:52.240526390 +0300
+--- /dev/null
++++ grub-2.04~rc1/grub-core/loader/emu/linux.c
@@ -0,0 +1,173 @@
+/*
+ * GRUB -- GRand Unified Bootloader
@@ -202,10 +202,10 @@
+ grub_unregister_command (cmd_linux);
+ grub_unregister_command (cmd_initrd);
+}
-Index: grub-2.02~beta2/include/grub/emu/hostfile.h
+Index: grub-2.04~rc1/include/grub/emu/hostfile.h
===================================================================
---- grub-2.02~beta2.orig/include/grub/emu/hostfile.h 2016-01-29 22:59:52.244526390 +0300
-+++ grub-2.02~beta2/include/grub/emu/hostfile.h 2016-01-29 22:59:52.240526390 +0300
+--- grub-2.04~rc1.orig/include/grub/emu/hostfile.h
++++ grub-2.04~rc1/include/grub/emu/hostfile.h
@@ -22,6 +22,7 @@
#include <grub/disk.h>
#include <grub/partition.h>
@@ -214,7 +214,7 @@
#include <grub/osdep/hostfile.h>
int
-@@ -29,7 +30,7 @@
+@@ -29,7 +30,7 @@ grub_util_is_directory (const char *path
int
grub_util_is_special_file (const char *path);
int
@@ -223,10 +223,10 @@
char *
grub_util_path_concat (size_t n, ...);
-Index: grub-2.02~beta2/include/grub/emu/exec.h
+Index: grub-2.04~rc1/include/grub/emu/exec.h
===================================================================
---- grub-2.02~beta2.orig/include/grub/emu/exec.h 2016-01-29 22:59:52.244526390 +0300
-+++ grub-2.02~beta2/include/grub/emu/exec.h 2016-01-29 22:59:52.240526390 +0300
+--- grub-2.04~rc1.orig/include/grub/emu/exec.h
++++ grub-2.04~rc1/include/grub/emu/exec.h
@@ -23,6 +23,8 @@
#include <stdarg.h>
@@ -236,7 +236,7 @@
pid_t
grub_util_exec_pipe (const char *const *argv, int *fd);
pid_t
-@@ -32,7 +34,7 @@
+@@ -32,7 +34,7 @@ int
grub_util_exec_redirect_all (const char *const *argv, const char *stdin_file,
const char *stdout_file, const char *stderr_file);
int
@@ -245,11 +245,11 @@
int
grub_util_exec_redirect (const char *const *argv, const char *stdin_file,
const char *stdout_file);
-Index: grub-2.02~beta2/grub-core/Makefile.am
+Index: grub-2.04~rc1/grub-core/Makefile.am
===================================================================
---- grub-2.02~beta2.orig/grub-core/Makefile.am 2016-01-29 22:59:52.244526390 +0300
-+++ grub-2.02~beta2/grub-core/Makefile.am 2016-01-29 22:59:52.240526390 +0300
-@@ -258,6 +258,7 @@
+--- grub-2.04~rc1.orig/grub-core/Makefile.am
++++ grub-2.04~rc1/grub-core/Makefile.am
+@@ -303,6 +303,7 @@ KERNEL_HEADER_FILES += $(top_srcdir)/inc
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/emu/hostdisk.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/emu/hostfile.h
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
@@ -257,11 +257,11 @@
if COND_GRUB_EMU_SDL
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/sdl.h
endif
-Index: grub-2.02~beta2/grub-core/kern/emu/main.c
+Index: grub-2.04~rc1/grub-core/kern/emu/main.c
===================================================================
---- grub-2.02~beta2.orig/grub-core/kern/emu/main.c 2016-01-29 22:59:52.244526390 +0300
-+++ grub-2.02~beta2/grub-core/kern/emu/main.c 2016-01-29 22:59:52.240526390 +0300
-@@ -106,6 +106,7 @@
+--- grub-2.04~rc1.orig/grub-core/kern/emu/main.c
++++ grub-2.04~rc1/grub-core/kern/emu/main.c
+@@ -107,6 +107,7 @@ static struct argp_option options[] = {
N_("use GRUB files in the directory DIR [default=%s]"), 0},
{"verbose", 'v', 0, 0, N_("print verbose messages."), 0},
{"hold", 'H', N_("SECS"), OPTION_ARG_OPTIONAL, N_("wait until a debugger will attach"), 0},
@@ -269,7 +269,7 @@
{ 0, 0, 0, 0, 0, 0 }
};
-@@ -163,6 +164,9 @@
+@@ -164,6 +165,9 @@ argp_parser (int key, char *arg, struct
case 'v':
verbosity++;
break;
@@ -279,11 +279,11 @@
case ARGP_KEY_ARG:
{
-Index: grub-2.02~beta2/grub-core/kern/emu/misc.c
+Index: grub-2.04~rc1/grub-core/kern/emu/misc.c
===================================================================
---- grub-2.02~beta2.orig/grub-core/kern/emu/misc.c 2016-01-29 22:59:52.244526390 +0300
-+++ grub-2.02~beta2/grub-core/kern/emu/misc.c 2016-01-29 22:59:52.240526390 +0300
-@@ -37,6 +37,7 @@
+--- grub-2.04~rc1.orig/grub-core/kern/emu/misc.c
++++ grub-2.04~rc1/grub-core/kern/emu/misc.c
+@@ -39,6 +39,7 @@
#include <grub/emu/misc.h>
int verbosity;
@@ -291,7 +291,7 @@
void
grub_util_warn (const char *fmt, ...)
-@@ -80,7 +81,7 @@
+@@ -82,7 +83,7 @@ grub_util_error (const char *fmt, ...)
vfprintf (stderr, fmt, ap);
va_end (ap);
fprintf (stderr, ".\n");
@@ -300,7 +300,7 @@
}
void *
-@@ -138,6 +139,9 @@
+@@ -141,6 +142,9 @@ xasprintf (const char *fmt, ...)
void
grub_exit (void)
{
@@ -310,7 +310,7 @@
exit (1);
}
#endif
-@@ -199,3 +203,15 @@
+@@ -202,3 +206,15 @@ grub_util_load_image (const char *path,
fclose (fp);
}
@@ -326,13 +326,13 @@
+{
+ return kexecute;
+}
-Index: grub-2.02~beta2/include/grub/emu/misc.h
+Index: grub-2.04~rc1/include/grub/emu/misc.h
===================================================================
---- grub-2.02~beta2.orig/include/grub/emu/misc.h 2016-01-29 22:59:52.244526390 +0300
-+++ grub-2.02~beta2/include/grub/emu/misc.h 2016-01-29 22:59:52.240526390 +0300
-@@ -60,6 +60,9 @@
- void EXPORT_FUNC(grub_util_info) (const char *fmt, ...) __attribute__ ((format (__printf__, 1, 2)));
- void EXPORT_FUNC(grub_util_error) (const char *fmt, ...) __attribute__ ((format (__printf__, 1, 2), noreturn));
+--- grub-2.04~rc1.orig/include/grub/emu/misc.h
++++ grub-2.04~rc1/include/grub/emu/misc.h
+@@ -56,6 +56,9 @@ void EXPORT_FUNC(grub_util_warn) (const
+ void EXPORT_FUNC(grub_util_info) (const char *fmt, ...) __attribute__ ((format (GNU_PRINTF, 1, 2)));
+ void EXPORT_FUNC(grub_util_error) (const char *fmt, ...) __attribute__ ((format (GNU_PRINTF, 1, 2), noreturn));
+void EXPORT_FUNC(grub_util_set_kexecute) (void);
+int EXPORT_FUNC(grub_util_get_kexecute) (void) WARN_UNUSED_RESULT;
++++++ grub2-s390x-04-grub2-install.patch ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:46.100906337 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:46.100906337 +0100
@@ -51,6 +51,8 @@
* dracut-zipl-refresh.sh.in: initial submission. [bsc#1127293]
* dracut-grub2.sh: try to call zipl-refresh on failed kexec and drop
to an emergency shell otherwise
+V19:
+ * dracut-grub2.sh: use 'grep -P' instead of '-E'. [bsc#1136970]
---
Makefile.util.def | 46 +++
@@ -69,41 +71,43 @@
util/s390x/zipl2grub.pl.in | 423 +++++++++++++++++++++++++++++++++
14 files changed, 908 insertions(+), 3 deletions(-)
---- a/Makefile.util.def
-+++ b/Makefile.util.def
-@@ -352,6 +352,7 @@ program = {
- ldadd = grub-core/gnulib/libgnu.a;
+Index: grub-2.04~rc1/Makefile.util.def
+===================================================================
+--- grub-2.04~rc1.orig/Makefile.util.def
++++ grub-2.04~rc1/Makefile.util.def
+@@ -362,6 +362,7 @@ program = {
+ ldadd = grub-core/lib/gnulib/libgnu.a;
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
cppflags = '-DGRUB_SETUP_FUNC=grub_util_bios_setup';
+ emu_condition = COND_NOT_s390x;
};
program = {
-@@ -372,6 +373,7 @@ program = {
- ldadd = grub-core/gnulib/libgnu.a;
+@@ -382,6 +383,7 @@ program = {
+ ldadd = grub-core/lib/gnulib/libgnu.a;
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
cppflags = '-DGRUB_SETUP_FUNC=grub_util_sparc_setup';
+ emu_condition = COND_NOT_s390x;
};
program = {
-@@ -387,6 +389,7 @@ program = {
+@@ -397,6 +399,7 @@ program = {
ldadd = libgrubkern.a;
- ldadd = grub-core/gnulib/libgnu.a;
+ ldadd = grub-core/lib/gnulib/libgnu.a;
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
+ emu_condition = COND_NOT_s390x;
};
program = {
-@@ -417,6 +420,7 @@ program = {
+@@ -427,6 +430,7 @@ program = {
ldadd = libgrubkern.a;
- ldadd = grub-core/gnulib/libgnu.a;
+ ldadd = grub-core/lib/gnulib/libgnu.a;
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
+ emu_condition = COND_NOT_s390x;
};
data = {
-@@ -628,6 +632,7 @@ program = {
+@@ -638,6 +642,7 @@ program = {
common = grub-core/disk/host.c;
common = util/resolve.c;
@@ -111,7 +115,7 @@
common = grub-core/kern/emu/argp_common.c;
common = grub-core/osdep/init.c;
-@@ -697,6 +702,46 @@ script = {
+@@ -707,6 +712,46 @@ script = {
};
script = {
@@ -158,17 +162,19 @@
name = grub-mkconfig_lib;
common = util/grub-mkconfig_lib.in;
installdir = noinst;
-@@ -1308,6 +1353,7 @@ program = {
+@@ -1324,6 +1369,7 @@ program = {
ldadd = libgrubkern.a;
- ldadd = grub-core/gnulib/libgnu.a;
+ ldadd = grub-core/lib/gnulib/libgnu.a;
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
+ emu_condition = COND_NOT_s390x;
};
program = {
---- a/configure.ac
-+++ b/configure.ac
-@@ -181,9 +181,9 @@ if test x$platform != xemu ; then
+Index: grub-2.04~rc1/configure.ac
+===================================================================
+--- grub-2.04~rc1.orig/configure.ac
++++ grub-2.04~rc1/configure.ac
+@@ -197,9 +197,9 @@ if test x$platform != xemu ; then
esac
fi
@@ -181,19 +187,21 @@
case "$target_os" in
windows* | mingw32*) target_os=cygwin ;;
-@@ -1908,6 +1908,9 @@ AM_CONDITIONAL([COND_arm_uboot], [test x
- AM_CONDITIONAL([COND_arm_efi], [test x$target_cpu = xarm -a x$platform = xefi])
- AM_CONDITIONAL([COND_arm64], [test x$target_cpu = xarm64 ])
- AM_CONDITIONAL([COND_arm64_efi], [test x$target_cpu = xarm64 -a x$platform = xefi])
+@@ -1941,6 +1941,9 @@ AM_CONDITIONAL([COND_riscv32], [test x$t
+ AM_CONDITIONAL([COND_riscv64], [test x$target_cpu = xriscv64 ])
+ AM_CONDITIONAL([COND_riscv32_efi], [test x$target_cpu = xriscv32 -a x$platform = xefi])
+ AM_CONDITIONAL([COND_riscv64_efi], [test x$target_cpu = xriscv64 -a x$platform = xefi])
+AM_CONDITIONAL([COND_s390x], [test x$target_cpu = xs390x ])
+AM_CONDITIONAL([COND_NOT_s390x], [test x$target_cpu != xs390x ])
+AM_CONDITIONAL([COND_s390x_emu], [test x$target_cpu = xs390x -a x$platform = xemu])
AM_CONDITIONAL([COND_HOST_HURD], [test x$host_kernel = xhurd])
AM_CONDITIONAL([COND_HOST_LINUX], [test x$host_kernel = xlinux])
---- a/grub-core/Makefile.core.def
-+++ b/grub-core/Makefile.core.def
-@@ -1057,6 +1057,7 @@ module = {
+Index: grub-2.04~rc1/grub-core/Makefile.core.def
+===================================================================
+--- grub-2.04~rc1.orig/grub-core/Makefile.core.def
++++ grub-2.04~rc1/grub-core/Makefile.core.def
+@@ -1139,6 +1139,7 @@ module = {
module = {
name = videotest;
common = commands/videotest.c;
@@ -201,7 +209,7 @@
};
module = {
-@@ -1469,6 +1470,7 @@ module = {
+@@ -1571,6 +1572,7 @@ module = {
common = gfxmenu/gui_progress_bar.c;
common = gfxmenu/gui_util.c;
common = gfxmenu/gui_string_util.c;
@@ -209,7 +217,7 @@
};
module = {
-@@ -1884,11 +1886,13 @@ module = {
+@@ -2006,11 +2008,13 @@ module = {
name = gfxterm;
common = term/gfxterm.c;
enable = videomodules;
@@ -223,7 +231,7 @@
};
module = {
-@@ -2003,6 +2007,7 @@ module = {
+@@ -2131,6 +2135,7 @@ module = {
enable = x86_64_efi;
enable = emu;
enable = xen;
@@ -231,7 +239,7 @@
};
module = {
-@@ -2049,6 +2054,7 @@ module = {
+@@ -2177,6 +2182,7 @@ module = {
module = {
name = gfxterm_menu;
common = tests/gfxterm_menu.c;
@@ -239,7 +247,7 @@
};
module = {
-@@ -2201,6 +2207,7 @@ module = {
+@@ -2330,6 +2336,7 @@ module = {
enable = x86_64_efi;
enable = emu;
enable = xen;
@@ -247,8 +255,10 @@
};
module = {
---- a/grub-core/osdep/basic/no_platform.c
-+++ b/grub-core/osdep/basic/no_platform.c
+Index: grub-2.04~rc1/grub-core/osdep/basic/no_platform.c
+===================================================================
+--- grub-2.04~rc1.orig/grub-core/osdep/basic/no_platform.c
++++ grub-2.04~rc1/grub-core/osdep/basic/no_platform.c
@@ -44,3 +44,10 @@ grub_install_sgi_setup (const char *inst
{
grub_util_error ("%s", _("no SGI routines are available for your platform"));
@@ -260,9 +270,11 @@
+ grub_util_error ("%s", _("no zIPL routines are available for your platform"));
+}
+
---- a/grub-core/osdep/unix/platform.c
-+++ b/grub-core/osdep/unix/platform.c
-@@ -233,3 +233,14 @@ grub_install_sgi_setup (const char *inst
+Index: grub-2.04~rc1/grub-core/osdep/unix/platform.c
+===================================================================
+--- grub-2.04~rc1.orig/grub-core/osdep/unix/platform.c
++++ grub-2.04~rc1/grub-core/osdep/unix/platform.c
+@@ -239,3 +239,14 @@ grub_install_sgi_setup (const char *inst
imgfile, destname, NULL });
grub_util_warn ("%s", _("You will have to set `SystemPartition' and `OSLoader' manually."));
}
@@ -277,9 +289,11 @@
+ "-z", dest, NULL }))
+ grub_util_error (_("`%s' failed.\n"), PACKAGE"-zipl-setup");
+}
---- a/grub-core/osdep/windows/platform.c
-+++ b/grub-core/osdep/windows/platform.c
-@@ -422,3 +422,9 @@ grub_install_sgi_setup (const char *inst
+Index: grub-2.04~rc1/grub-core/osdep/windows/platform.c
+===================================================================
+--- grub-2.04~rc1.orig/grub-core/osdep/windows/platform.c
++++ grub-2.04~rc1/grub-core/osdep/windows/platform.c
+@@ -424,3 +424,9 @@ grub_install_sgi_setup (const char *inst
{
grub_util_error ("%s", _("no SGI routines are available for your platform"));
}
@@ -289,17 +303,19 @@
+{
+ grub_util_error ("%s", _("no zIPL routines are available for your platform"));
+}
---- a/include/grub/util/install.h
-+++ b/include/grub/util/install.h
-@@ -99,6 +99,7 @@ enum grub_install_plat
- GRUB_INSTALL_PLATFORM_I386_XEN,
- GRUB_INSTALL_PLATFORM_X86_64_XEN,
- GRUB_INSTALL_PLATFORM_ARM64_EFI,
+Index: grub-2.04~rc1/include/grub/util/install.h
+===================================================================
+--- grub-2.04~rc1.orig/include/grub/util/install.h
++++ grub-2.04~rc1/include/grub/util/install.h
+@@ -105,6 +105,7 @@ enum grub_install_plat
+ GRUB_INSTALL_PLATFORM_ARM_COREBOOT,
+ GRUB_INSTALL_PLATFORM_RISCV32_EFI,
+ GRUB_INSTALL_PLATFORM_RISCV64_EFI,
+ GRUB_INSTALL_PLATFORM_S390X_EMU,
GRUB_INSTALL_PLATFORM_MAX
};
-@@ -219,6 +220,9 @@ void
+@@ -229,6 +230,9 @@ void
grub_install_sgi_setup (const char *install_device,
const char *imgfile, const char *destname);
@@ -309,18 +325,22 @@
int
grub_install_compress_gzip (const char *src, const char *dest);
int
---- a/util/grub-install-common.c
-+++ b/util/grub-install-common.c
-@@ -666,6 +666,7 @@ static struct
- [GRUB_INSTALL_PLATFORM_ARM_EFI] = { "arm", "efi" },
- [GRUB_INSTALL_PLATFORM_ARM64_EFI] = { "arm64", "efi" },
- [GRUB_INSTALL_PLATFORM_ARM_UBOOT] = { "arm", "uboot" },
+Index: grub-2.04~rc1/util/grub-install-common.c
+===================================================================
+--- grub-2.04~rc1.orig/util/grub-install-common.c
++++ grub-2.04~rc1/util/grub-install-common.c
+@@ -737,6 +737,7 @@ static struct
+ [GRUB_INSTALL_PLATFORM_ARM_COREBOOT] = { "arm", "coreboot" },
+ [GRUB_INSTALL_PLATFORM_RISCV32_EFI] = { "riscv32", "efi" },
+ [GRUB_INSTALL_PLATFORM_RISCV64_EFI] = { "riscv64", "efi" },
+ [GRUB_INSTALL_PLATFORM_S390X_EMU] = { "s390x", "emu" },
};
char *
---- a/util/grub-install.c
-+++ b/util/grub-install.c
+Index: grub-2.04~rc1/util/grub-install.c
+===================================================================
+--- grub-2.04~rc1.orig/util/grub-install.c
++++ grub-2.04~rc1/util/grub-install.c
@@ -66,6 +66,7 @@ static int force_file_id = 0;
static char *disk_module = NULL;
static char *efidir = NULL;
@@ -367,32 +387,32 @@
#else
return NULL;
#endif
-@@ -495,6 +506,8 @@ have_bootdev (enum grub_install_plat pl)
-
+@@ -499,6 +510,8 @@ have_bootdev (enum grub_install_plat pl)
case GRUB_INSTALL_PLATFORM_I386_XEN:
case GRUB_INSTALL_PLATFORM_X86_64_XEN:
+ case GRUB_INSTALL_PLATFORM_I386_XEN_PVH:
+
+ case GRUB_INSTALL_PLATFORM_S390X_EMU:
return 0;
/* pacify warning. */
-@@ -907,6 +920,7 @@ main (int argc, char *argv[])
- case GRUB_INSTALL_PLATFORM_ARM_UBOOT:
+@@ -914,6 +927,7 @@ main (int argc, char *argv[])
case GRUB_INSTALL_PLATFORM_I386_XEN:
case GRUB_INSTALL_PLATFORM_X86_64_XEN:
+ case GRUB_INSTALL_PLATFORM_I386_XEN_PVH:
+ case GRUB_INSTALL_PLATFORM_S390X_EMU:
break;
case GRUB_INSTALL_PLATFORM_I386_QEMU:
-@@ -952,6 +966,7 @@ main (int argc, char *argv[])
- case GRUB_INSTALL_PLATFORM_MIPS_QEMU_MIPS:
+@@ -964,6 +978,7 @@ main (int argc, char *argv[])
case GRUB_INSTALL_PLATFORM_I386_XEN:
case GRUB_INSTALL_PLATFORM_X86_64_XEN:
+ case GRUB_INSTALL_PLATFORM_I386_XEN_PVH:
+ case GRUB_INSTALL_PLATFORM_S390X_EMU:
free (install_device);
install_device = NULL;
break;
-@@ -1213,6 +1228,20 @@ main (int argc, char *argv[])
+@@ -1239,6 +1254,20 @@ main (int argc, char *argv[])
}
}
@@ -413,15 +433,15 @@
grub_install_copy_files (grub_install_source_directory,
grubdir, platform);
-@@ -1458,6 +1487,7 @@ main (int argc, char *argv[])
- case GRUB_INSTALL_PLATFORM_ARM_UBOOT:
+@@ -1488,6 +1517,7 @@ main (int argc, char *argv[])
case GRUB_INSTALL_PLATFORM_I386_XEN:
case GRUB_INSTALL_PLATFORM_X86_64_XEN:
+ case GRUB_INSTALL_PLATFORM_I386_XEN_PVH:
+ case GRUB_INSTALL_PLATFORM_S390X_EMU:
grub_util_warn ("%s", _("no hints available for your platform. Expect reduced performance"));
break;
/* pacify warning. */
-@@ -1570,6 +1600,10 @@ main (int argc, char *argv[])
+@@ -1605,6 +1635,10 @@ main (int argc, char *argv[])
strcpy (mkimage_target, "sparc64-ieee1275-raw");
core_name = "core.img";
break;
@@ -432,7 +452,7 @@
/* pacify warning. */
case GRUB_INSTALL_PLATFORM_MAX:
break;
-@@ -1585,6 +1619,7 @@ main (int argc, char *argv[])
+@@ -1620,6 +1654,7 @@ main (int argc, char *argv[])
core_name);
char *prefix = xasprintf ("%s%s", prefix_drive ? : "",
relative_grubdir);
@@ -440,7 +460,7 @@
grub_install_make_image_wrap (/* source dir */ grub_install_source_directory,
/*prefix */ prefix,
/* output */ imgfile,
-@@ -1623,6 +1658,10 @@ main (int argc, char *argv[])
+@@ -1658,6 +1693,10 @@ main (int argc, char *argv[])
/* image target */ mkimage_target, 0);
}
break;
@@ -450,8 +470,8 @@
+
case GRUB_INSTALL_PLATFORM_ARM_EFI:
case GRUB_INSTALL_PLATFORM_ARM64_EFI:
- case GRUB_INSTALL_PLATFORM_IA64_EFI:
-@@ -1885,6 +1924,10 @@ main (int argc, char *argv[])
+ case GRUB_INSTALL_PLATFORM_RISCV32_EFI:
+@@ -1934,6 +1973,10 @@ main (int argc, char *argv[])
}
break;
@@ -462,8 +482,10 @@
case GRUB_INSTALL_PLATFORM_MIPSEL_LOONGSON:
case GRUB_INSTALL_PLATFORM_MIPSEL_QEMU_MIPS:
case GRUB_INSTALL_PLATFORM_MIPS_QEMU_MIPS:
+Index: grub-2.04~rc1/util/s390x/dracut-grub2.sh.in
+===================================================================
--- /dev/null
-+++ b/util/s390x/dracut-grub2.sh.in
++++ grub-2.04~rc1/util/s390x/dracut-grub2.sh.in
@@ -0,0 +1,126 @@
+#!/bin/sh
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
@@ -494,7 +516,7 @@
+ checksnap() {
+ if [ -e /sysroot/.snapshots/grub-snapshot.cfg ]; then
+ echo true
-+ elif grep -qE '^[^#\s]+\s+/.snapshots\s+' /sysroot/etc/fstab; then
++ elif grep -qP '^[^#\s]+\s+/.snapshots\s+' /sysroot/etc/fstab; then
+ echo false
+ else
+ echo true
@@ -560,8 +582,8 @@
+ debug "Trying grub2-emu (ro=$grub2rofs, TERM=$TERM, ctty=$_ctty)..."
+ setsid $CTTY -- chroot /sysroot $bindir/grub2-emu -X -X 0<>$_ctty 1>&0 2>&0
+
-+ if [ -x /sysroot/usr/share/grub2/zipl-refresh ]; then
-+ setsid $CTTY -- /sysroot/usr/share/grub2/zipl-refresh 0<>$_ctty 1>&0 2>&0
++ if [ -x /sysroot@libdir@/grub2/zipl-refresh ]; then
++ setsid $CTTY -- /sysroot@libdir@/grub2/zipl-refresh 0<>$_ctty 1>&0 2>&0
+ if [ $? != 0 ]; then
+ warn "Not continuing"
+ emergency_shell -n grub2-emu-zipl-refresh
@@ -591,8 +613,10 @@
+ fi
+fi
+
+Index: grub-2.04~rc1/util/s390x/dracut-module-setup.sh.in
+===================================================================
--- /dev/null
-+++ b/util/s390x/dracut-module-setup.sh.in
++++ grub-2.04~rc1/util/s390x/dracut-module-setup.sh.in
@@ -0,0 +1,19 @@
+#!/bin/bash
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
@@ -613,8 +637,10 @@
+ #inst_multiple grub2-emu kexec
+}
+
+Index: grub-2.04~rc1/util/s390x/zipl2grub.conf.in
+===================================================================
--- /dev/null
-+++ b/util/s390x/zipl2grub.conf.in
++++ grub-2.04~rc1/util/s390x/zipl2grub.conf.in
@@ -0,0 +1,26 @@
+## This is the template for '@zipldir@/config' and is subject to
+## rpm's %config file handling in case of grub2-s390x-emu package update.
@@ -642,8 +668,10 @@
+ 1 = grub2
+ 2 = skip-grub2
+
+Index: grub-2.04~rc1/util/s390x/zipl2grub.pl.in
+===================================================================
--- /dev/null
-+++ b/util/s390x/zipl2grub.pl.in
++++ grub-2.04~rc1/util/s390x/zipl2grub.pl.in
@@ -0,0 +1,423 @@
+#!/usr/bin/perl
+use strict;
@@ -1068,14 +1096,16 @@
+System( @C);
+exit( $miss);
+
+Index: grub-2.04~rc1/util/s390x/dracut-zipl-refresh.sh.in
+===================================================================
--- /dev/null
-+++ b/util/s390x/dracut-zipl-refresh.sh.in
++++ grub-2.04~rc1/util/s390x/dracut-zipl-refresh.sh.in
@@ -0,0 +1,183 @@
+#!/bin/bash
+# ex: ts=8 sw=4 sts=4 et filetype=sh syntax=off
+
+debug=false
-+TIMEOUT=60
++TIMEOUT=300
+[ -n "$SYSROOT" ] ||
+SYSROOT=/sysroot
+[ -d $SYSROOT/boot ] || SYSROOT=
@@ -1157,7 +1187,7 @@
+ to be made writable, then 'grub2-install --force' needs to be run,
+ and, on success, a 'reboot' will be initiated.
+
-+ Press 'c[Enter]' to interrupt... "
++ Press 'c[Enter]' to interrupt, any other input will proceed... "
+
+trap interrupted=1 INT
+interrupted=0
++++++ grub2-secureboot-add-linuxefi.patch ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:46.112906353 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:46.116906357 +0100
@@ -6,6 +6,13 @@
Patch-Mainline: no
Signed-off-by: Michael Chang <mchang(a)suse.com>
+
+v2: Adjust patch according to new upstream commits
+4d4a8c96e verifiers: Add possibility to verify kernel and modules command lines
+ca0a4f689 verifiers: File type for fine-grained signature-verification controlling
+7d36709d5 i386: make struct linux_kernel_header architecture specific
+4bc909bf8 Remove grub_efi_allocate_pages.
+
---
grub-core/Makefile.core.def | 8 +
grub-core/kern/efi/mm.c | 32 ++++
@@ -15,11 +22,11 @@
5 files changed, 415 insertions(+), 0 deletions(-)
create mode 100644 grub-core/loader/i386/efi/linux.c
-Index: grub-2.02~beta2/grub-core/Makefile.core.def
+Index: grub-2.04~rc1/grub-core/Makefile.core.def
===================================================================
---- grub-2.02~beta2.orig/grub-core/Makefile.core.def
-+++ grub-2.02~beta2/grub-core/Makefile.core.def
-@@ -1691,6 +1691,14 @@ module = {
+--- grub-2.04~rc1.orig/grub-core/Makefile.core.def
++++ grub-2.04~rc1/grub-core/Makefile.core.def
+@@ -1850,6 +1850,14 @@ module = {
};
module = {
@@ -34,13 +41,13 @@
name = chain;
efi = loader/efi/chainloader.c;
i386_pc = loader/i386/pc/chainloader.c;
-Index: grub-2.02~beta2/grub-core/kern/efi/mm.c
+Index: grub-2.04~rc1/grub-core/kern/efi/mm.c
===================================================================
---- grub-2.02~beta2.orig/grub-core/kern/efi/mm.c
-+++ grub-2.02~beta2/grub-core/kern/efi/mm.c
-@@ -49,6 +49,38 @@ static grub_efi_uintn_t finish_desc_size
- static grub_efi_uint32_t finish_desc_version;
- int grub_efi_is_finished = 0;
+--- grub-2.04~rc1.orig/grub-core/kern/efi/mm.c
++++ grub-2.04~rc1/grub-core/kern/efi/mm.c
+@@ -113,6 +113,38 @@ grub_efi_drop_alloc (grub_efi_physical_a
+ }
+ }
+/* Allocate pages below a specified address */
+void *
@@ -76,12 +83,12 @@
+
/* Allocate pages. Return the pointer to the first of allocated pages. */
void *
- grub_efi_allocate_pages (grub_efi_physical_address_t address,
-Index: grub-2.02~beta2/grub-core/loader/i386/efi/linux.c
+ grub_efi_allocate_pages_real (grub_efi_physical_address_t address,
+Index: grub-2.04~rc1/grub-core/loader/i386/efi/linux.c
===================================================================
--- /dev/null
-+++ grub-2.02~beta2/grub-core/loader/i386/efi/linux.c
-@@ -0,0 +1,371 @@
++++ grub-2.04~rc1/grub-core/loader/i386/efi/linux.c
+@@ -0,0 +1,342 @@
+/*
+ * GRUB -- GRand Unified Bootloader
+ * Copyright (C) 2012 Free Software Foundation, Inc.
@@ -124,32 +131,6 @@
+
+#define BYTES_TO_PAGES(bytes) (((bytes) + 0xfff) >> 12)
+
-+#define SHIM_LOCK_GUID \
-+ { 0x605dab50, 0xe046, 0x4300, {0xab, 0xb6, 0x3d, 0xd8, 0x10, 0xdd, 0x8b, 0x23} }
-+
-+struct grub_efi_shim_lock
-+{
-+ grub_efi_status_t (*verify) (void *buffer, grub_uint32_t size);
-+};
-+typedef struct grub_efi_shim_lock grub_efi_shim_lock_t;
-+
-+static grub_efi_boolean_t
-+grub_linuxefi_secure_validate (void *data, grub_uint32_t size)
-+{
-+ grub_efi_guid_t guid = SHIM_LOCK_GUID;
-+ grub_efi_shim_lock_t *shim_lock;
-+
-+ shim_lock = grub_efi_locate_protocol(&guid, NULL);
-+
-+ if (!shim_lock)
-+ return 1;
-+
-+ if (shim_lock->verify(data, size) == GRUB_EFI_SUCCESS)
-+ return 1;
-+
-+ return 0;
-+}
-+
+typedef void(*handover_func)(void *, grub_efi_system_table_t *, struct linux_kernel_params *);
+
+static grub_err_t
@@ -215,8 +196,8 @@
+
+ for (i = 0; i < argc; i++)
+ {
-+ grub_file_filter_disable_compression ();
-+ files[i] = grub_file_open (argv[i]);
++ files[i] = grub_file_open (argv[i], GRUB_FILE_TYPE_LINUX_INITRD
++ | GRUB_FILE_TYPE_NO_DECOMPRESS);
+ if (! files[i])
+ goto fail;
+ nfiles++;
@@ -269,9 +250,10 @@
+ int argc, char *argv[])
+{
+ grub_file_t file = 0;
-+ struct linux_kernel_header lh;
++ struct linux_i386_kernel_header lh;
+ grub_ssize_t len, start, filelen;
+ void *kernel;
++ grub_err_t err;
+
+ grub_dl_ref (my_mod);
+
@@ -281,7 +263,7 @@
+ goto fail;
+ }
+
-+ file = grub_file_open (argv[0]);
++ file = grub_file_open (argv[0], GRUB_FILE_TYPE_LINUX_KERNEL);
+ if (! file)
+ goto fail;
+
@@ -301,13 +283,6 @@
+ goto fail;
+ }
+
-+ if (! grub_linuxefi_secure_validate (kernel, filelen))
-+ {
-+ grub_error (GRUB_ERR_INVALID_COMMAND, N_("%s has invalid signature"), argv[0]);
-+ grub_free (kernel);
-+ goto fail;
-+ }
-+
+ grub_file_seek (file, 0);
+
+ grub_free(kernel);
@@ -364,9 +339,12 @@
+ }
+
+ grub_memcpy (linux_cmdline, LINUX_IMAGE, sizeof (LINUX_IMAGE));
-+ grub_create_loader_cmdline (argc, argv,
++ err = grub_create_loader_cmdline (argc, argv,
+ linux_cmdline + sizeof (LINUX_IMAGE) - 1,
-+ lh.cmdline_size - (sizeof (LINUX_IMAGE) - 1));
++ lh.cmdline_size - (sizeof (LINUX_IMAGE) - 1),
++ GRUB_VERIFY_KERNEL_CMDLINE);
++ if (err)
++ goto fail;
+
+ lh.cmd_line_ptr = (grub_uint32_t)(grub_addr_t)linux_cmdline;
+
@@ -375,7 +353,7 @@
+ start = (lh.setup_sects + 1) * 512;
+ len = grub_file_size(file) - start;
+
-+ kernel_mem = grub_efi_allocate_pages(lh.pref_address,
++ kernel_mem = grub_efi_allocate_fixed (lh.pref_address,
+ BYTES_TO_PAGES(lh.init_size));
+
+ if (!kernel_mem)
@@ -453,29 +431,17 @@
+ grub_unregister_command (cmd_linux);
+ grub_unregister_command (cmd_initrd);
+}
-Index: grub-2.02~beta2/include/grub/efi/efi.h
+Index: grub-2.04~rc1/include/grub/efi/efi.h
===================================================================
---- grub-2.02~beta2.orig/include/grub/efi/efi.h
-+++ grub-2.02~beta2/include/grub/efi/efi.h
-@@ -40,6 +40,9 @@ void EXPORT_FUNC(grub_efi_stall) (grub_e
- void *
- EXPORT_FUNC(grub_efi_allocate_pages) (grub_efi_physical_address_t address,
+--- grub-2.04~rc1.orig/include/grub/efi/efi.h
++++ grub-2.04~rc1/include/grub/efi/efi.h
+@@ -47,6 +47,9 @@ EXPORT_FUNC(grub_efi_allocate_fixed) (gr
grub_efi_uintn_t pages);
+ void *
+ EXPORT_FUNC(grub_efi_allocate_any_pages) (grub_efi_uintn_t pages);
+void *
+EXPORT_FUNC(grub_efi_allocate_pages_max) (grub_efi_physical_address_t max,
+ grub_efi_uintn_t pages);
void EXPORT_FUNC(grub_efi_free_pages) (grub_efi_physical_address_t address,
grub_efi_uintn_t pages);
- int
-Index: grub-2.02~beta2/include/grub/i386/linux.h
-===================================================================
---- grub-2.02~beta2.orig/include/grub/i386/linux.h
-+++ grub-2.02~beta2/include/grub/i386/linux.h
-@@ -139,6 +139,7 @@ struct linux_kernel_header
- grub_uint64_t setup_data;
- grub_uint64_t pref_address;
- grub_uint32_t init_size;
-+ grub_uint32_t handover_offset;
- } GRUB_PACKED;
-
- /* Boot parameters for Linux based on 2.6.12. This is used by the setup
+ grub_efi_uintn_t EXPORT_FUNC(grub_efi_find_mmap_size) (void);
++++++ grub2-secureboot-chainloader.patch ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:46.120906362 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:46.120906362 +0100
@@ -21,10 +21,10 @@
grub-core/loader/efi/chainloader.c | 538 +++++++++++++++++++++++++++++++++--
1 files changed, 507 insertions(+), 31 deletions(-)
-Index: grub-2.02~beta2/grub-core/loader/efi/chainloader.c
+Index: grub-2.04~rc1/grub-core/loader/efi/chainloader.c
===================================================================
---- grub-2.02~beta2.orig/grub-core/loader/efi/chainloader.c
-+++ grub-2.02~beta2/grub-core/loader/efi/chainloader.c
+--- grub-2.04~rc1.orig/grub-core/loader/efi/chainloader.c
++++ grub-2.04~rc1/grub-core/loader/efi/chainloader.c
@@ -40,15 +40,31 @@
#include <grub/i386/macho.h>
#endif
@@ -65,7 +65,7 @@
grub_dl_unref (my_mod);
return GRUB_ERR_NONE;
-@@ -187,12 +204,460 @@ make_file_path (grub_efi_device_path_t *
+@@ -197,12 +214,460 @@ make_file_path (grub_efi_device_path_t *
return file_path;
}
@@ -527,7 +527,7 @@
grub_efi_status_t status;
grub_efi_boot_services_t *b;
grub_device_t dev = 0;
-@@ -200,7 +665,6 @@ grub_cmd_chainloader (grub_command_t cmd
+@@ -210,7 +675,6 @@ grub_cmd_chainloader (grub_command_t cmd
grub_efi_loaded_image_t *loaded_image;
char *filename;
void *boot_image = 0;
@@ -535,7 +535,7 @@
if (argc == 0)
return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected"));
-@@ -212,9 +676,36 @@ grub_cmd_chainloader (grub_command_t cmd
+@@ -222,9 +686,36 @@ grub_cmd_chainloader (grub_command_t cmd
address = 0;
image_handle = 0;
file_path = 0;
@@ -569,10 +569,10 @@
+ *(--p16) = 0;
+ }
+
- file = grub_file_open (filename);
+ file = grub_file_open (filename, GRUB_FILE_TYPE_EFI_CHAINLOADED_IMAGE);
if (! file)
goto fail;
-@@ -260,14 +751,14 @@ grub_cmd_chainloader (grub_command_t cmd
+@@ -270,14 +761,14 @@ grub_cmd_chainloader (grub_command_t cmd
grub_printf ("file path: ");
grub_efi_print_device_path (file_path);
@@ -590,7 +590,7 @@
status = efi_call_4 (b->allocate_pages, GRUB_EFI_ALLOCATE_ANY_PAGES,
GRUB_EFI_LOADER_CODE,
-@@ -281,7 +772,7 @@ grub_cmd_chainloader (grub_command_t cmd
+@@ -291,7 +782,7 @@ grub_cmd_chainloader (grub_command_t cmd
}
boot_image = (void *) ((grub_addr_t) address);
@@ -599,7 +599,7 @@
{
if (grub_errno == GRUB_ERR_NONE)
grub_error (GRUB_ERR_BAD_OS, N_("premature end of file %s"),
-@@ -291,7 +782,7 @@ grub_cmd_chainloader (grub_command_t cmd
+@@ -301,7 +792,7 @@ grub_cmd_chainloader (grub_command_t cmd
}
#if defined (__i386__) || defined (__x86_64__)
@@ -608,7 +608,7 @@
{
struct grub_macho_fat_header *head = boot_image;
if (head->magic
-@@ -314,20 +805,30 @@ grub_cmd_chainloader (grub_command_t cmd
+@@ -324,20 +815,30 @@ grub_cmd_chainloader (grub_command_t cmd
> ~grub_cpu_to_le32 (archs[i].size)
|| grub_cpu_to_le32 (archs[i].offset)
+ grub_cpu_to_le32 (archs[i].size)
@@ -642,7 +642,7 @@
&image_handle);
if (status != GRUB_EFI_SUCCESS)
{
-@@ -350,33 +851,10 @@ grub_cmd_chainloader (grub_command_t cmd
+@@ -360,33 +861,10 @@ grub_cmd_chainloader (grub_command_t cmd
}
loaded_image->device_handle = dev_handle;
@@ -678,7 +678,7 @@
}
grub_file_close (file);
-@@ -398,6 +876,9 @@ grub_cmd_chainloader (grub_command_t cmd
+@@ -408,6 +886,9 @@ grub_cmd_chainloader (grub_command_t cmd
if (address)
efi_call_2 (b->free_pages, address, pages);
++++++ grub2-secureboot-install-signed-grub.patch ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:46.124906368 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:46.128906373 +0100
@@ -17,10 +17,10 @@
util/grub-install.c | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 85 insertions(+), 1 deletion(-)
-Index: grub-2.02/util/grub-install.c
+Index: grub-2.04~rc1/util/grub-install.c
===================================================================
---- grub-2.02.orig/util/grub-install.c
-+++ grub-2.02/util/grub-install.c
+--- grub-2.04~rc1.orig/util/grub-install.c
++++ grub-2.04~rc1/util/grub-install.c
@@ -84,6 +84,15 @@ static int suse_enable_tpm = 0;
enum
@@ -98,7 +98,7 @@
case ARGP_KEY_HELP_POST_DOC:
return xasprintf (text, program_name, GRUB_BOOT_DIR_NAME "/" GRUB_DIR_NAME);
default:
-@@ -1596,13 +1636,34 @@ main (int argc, char *argv[])
+@@ -1627,13 +1667,34 @@ main (int argc, char *argv[])
char mkimage_target[200];
const char *core_name = NULL;
@@ -106,7 +106,6 @@
switch (platform)
{
-- case GRUB_INSTALL_PLATFORM_I386_EFI:
+ case GRUB_INSTALL_PLATFORM_ARM64_EFI:
+
+ if (signed_grub_mode > SIGNED_GRUB_INHIBIT)
@@ -128,14 +127,14 @@
+ fprintf (stderr, _("Use signed file in %s for installation.\n"), signed_imgfile);
+
+ /* fallthrough. */
+ case GRUB_INSTALL_PLATFORM_I386_EFI:
case GRUB_INSTALL_PLATFORM_X86_64_EFI:
-+ case GRUB_INSTALL_PLATFORM_I386_EFI:
case GRUB_INSTALL_PLATFORM_ARM_EFI:
- case GRUB_INSTALL_PLATFORM_ARM64_EFI:
+ case GRUB_INSTALL_PLATFORM_RISCV32_EFI:
+ case GRUB_INSTALL_PLATFORM_RISCV64_EFI:
case GRUB_INSTALL_PLATFORM_IA64_EFI:
- core_name = "core.efi";
- snprintf (mkimage_target, sizeof (mkimage_target),
-@@ -1678,13 +1739,75 @@ main (int argc, char *argv[])
+@@ -1703,13 +1764,75 @@ main (int argc, char *argv[])
core_name);
char *prefix = xasprintf ("%s%s", prefix_drive ? : "",
relative_grubdir);
@@ -167,7 +166,7 @@
+ else if (prefix_drive)
+ {
+ char *uuid = NULL;
-+ if (grub_fs->uuid && grub_fs->uuid (grub_dev, &uuid))
++ if (grub_fs->fs_uuid && grub_fs->fs_uuid (grub_dev, &uuid))
+ {
+ grub_print_error ();
+ grub_errno = 0;
@@ -212,7 +211,7 @@
/* Backward-compatibility kludges. */
switch (platform)
{
-@@ -1950,6 +2073,13 @@ main (int argc, char *argv[])
+@@ -1985,6 +2108,13 @@ main (int argc, char *argv[])
char *dst = grub_util_path_concat (2, efidir, efi_file);
grub_install_copy_file (imgfile, dst, 1);
free (dst);
++++++ grub2-secureboot-no-insmod-on-sb.patch ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:46.132906378 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:46.132906378 +0100
@@ -13,10 +13,10 @@
include/grub/efi/efi.h | 1 +
3 files changed, 46 insertions(+)
-Index: grub-2.02~beta2/grub-core/kern/dl.c
+Index: grub-2.04~rc1/grub-core/kern/dl.c
===================================================================
---- grub-2.02~beta2.orig/grub-core/kern/dl.c
-+++ grub-2.02~beta2/grub-core/kern/dl.c
+--- grub-2.04~rc1.orig/grub-core/kern/dl.c
++++ grub-2.04~rc1/grub-core/kern/dl.c
@@ -38,6 +38,10 @@
#define GRUB_MODULES_MACHINE_READONLY
#endif
@@ -28,7 +28,7 @@
#pragma GCC diagnostic ignored "-Wcast-align"
-@@ -682,6 +686,19 @@ grub_dl_load_file (const char *filename)
+@@ -688,6 +692,19 @@ grub_dl_load_file (const char *filename)
grub_boot_time ("Loading module %s", filename);
@@ -45,14 +45,14 @@
+ }
+#endif
+
- file = grub_file_open (filename);
+ file = grub_file_open (filename, GRUB_FILE_TYPE_GRUB_MODULE);
if (! file)
return 0;
-Index: grub-2.02~beta2/grub-core/kern/efi/efi.c
+Index: grub-2.04~rc1/grub-core/kern/efi/efi.c
===================================================================
---- grub-2.02~beta2.orig/grub-core/kern/efi/efi.c
-+++ grub-2.02~beta2/grub-core/kern/efi/efi.c
-@@ -259,6 +259,34 @@ grub_efi_get_variable (const char *var,
+--- grub-2.04~rc1.orig/grub-core/kern/efi/efi.c
++++ grub-2.04~rc1/grub-core/kern/efi/efi.c
+@@ -273,6 +273,34 @@ grub_efi_get_variable (const char *var,
return NULL;
}
@@ -87,11 +87,11 @@
#pragma GCC diagnostic ignored "-Wcast-align"
/* Search the mods section from the PE32/PE32+ image. This code uses
-Index: grub-2.02~beta2/include/grub/efi/efi.h
+Index: grub-2.04~rc1/include/grub/efi/efi.h
===================================================================
---- grub-2.02~beta2.orig/include/grub/efi/efi.h
-+++ grub-2.02~beta2/include/grub/efi/efi.h
-@@ -72,6 +72,7 @@ EXPORT_FUNC (grub_efi_set_variable) (con
+--- grub-2.04~rc1.orig/include/grub/efi/efi.h
++++ grub-2.04~rc1/include/grub/efi/efi.h
+@@ -85,6 +85,7 @@ EXPORT_FUNC (grub_efi_set_variable) (con
const grub_efi_guid_t *guid,
void *data,
grub_size_t datasize);
++++++ grub2-secureboot-provide-linuxefi-config.patch ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:46.136906383 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:46.136906383 +0100
@@ -25,11 +25,11 @@
util/grub.d/10_linux.in | 4 ++--
2 files changed, 4 insertions(+), 3 deletions(-)
-Index: grub-2.02~beta2/util/grub-mkconfig.in
+Index: grub-2.04~rc1/util/grub-mkconfig.in
===================================================================
---- grub-2.02~beta2.orig/util/grub-mkconfig.in
-+++ grub-2.02~beta2/util/grub-mkconfig.in
-@@ -254,7 +254,8 @@ export GRUB_DEFAULT \
+--- grub-2.04~rc1.orig/util/grub-mkconfig.in
++++ grub-2.04~rc1/util/grub-mkconfig.in
+@@ -271,7 +271,8 @@ export GRUB_DEFAULT \
GRUB_BADRAM \
GRUB_OS_PROBER_SKIP_LIST \
GRUB_DISABLE_SUBMENU \
@@ -39,11 +39,11 @@
if test "x${grub_cfg}" != "x"; then
rm -f "${grub_cfg}.new"
-Index: grub-2.02~beta2/util/grub.d/10_linux.in
+Index: grub-2.04~rc1/util/grub.d/10_linux.in
===================================================================
---- grub-2.02~beta2.orig/util/grub.d/10_linux.in
-+++ grub-2.02~beta2/util/grub.d/10_linux.in
-@@ -133,7 +133,7 @@ linux_entry ()
+--- grub-2.04~rc1.orig/util/grub.d/10_linux.in
++++ grub-2.04~rc1/util/grub.d/10_linux.in
+@@ -145,7 +145,7 @@ linux_entry ()
printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/"
fi
message="$(gettext_printf "Loading Linux %s ..." ${version})"
@@ -52,12 +52,12 @@
sed "s/^/$submenu_indentation/" << EOF
echo '$(echo "$message" | grub_quote)'
linuxefi ${rel_dirname}/${basename} ${root_device} ${args}
-@@ -147,7 +147,7 @@ EOF
- if test -n "${initrd}" ; then
- # TRANSLATORS: ramdisk isn't identifier. Should be translated.
- message="$(gettext_printf "Loading initial ramdisk ...")"
+@@ -163,7 +163,7 @@ EOF
+ for i in ${initrd}; do
+ initrd_path="${initrd_path} ${rel_dirname}/${i}"
+ done
- if [ -d /sys/firmware/efi ]; then
+ if [ -d /sys/firmware/efi ] && [ "x${GRUB_USE_LINUXEFI}" = "xtrue" ]; then
sed "s/^/$submenu_indentation/" << EOF
echo '$(echo "$message" | grub_quote)'
- initrdefi ${rel_dirname}/${initrd}
+ initrdefi $(echo $initrd_path)
++++++ grub2-secureboot-use-linuxefi-on-uefi.patch ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:46.144906393 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:46.144906393 +0100
@@ -11,11 +11,11 @@
util/grub.d/10_linux.in | 18 ++++++++++++++++--
1 files changed, 16 insertions(+), 2 deletions(-)
-Index: grub-2.02~beta2/util/grub.d/10_linux.in
+Index: grub-2.04~rc1/util/grub.d/10_linux.in
===================================================================
---- grub-2.02~beta2.orig/util/grub.d/10_linux.in
-+++ grub-2.02~beta2/util/grub.d/10_linux.in
-@@ -133,17 +133,31 @@ linux_entry ()
+--- grub-2.04~rc1.orig/util/grub.d/10_linux.in
++++ grub-2.04~rc1/util/grub.d/10_linux.in
+@@ -145,10 +145,17 @@ linux_entry ()
printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/"
fi
message="$(gettext_printf "Loading Linux %s ..." ${version})"
@@ -34,16 +34,20 @@
if test -n "${initrd}" ; then
# TRANSLATORS: ramdisk isn't identifier. Should be translated.
message="$(gettext_printf "Loading initial ramdisk ...")"
+@@ -156,10 +163,17 @@ EOF
+ for i in ${initrd}; do
+ initrd_path="${initrd_path} ${rel_dirname}/${i}"
+ done
- sed "s/^/$submenu_indentation/" << EOF
+ if [ -d /sys/firmware/efi ]; then
+ sed "s/^/$submenu_indentation/" << EOF
+ echo '$(echo "$message" | grub_quote)'
-+ initrdefi ${rel_dirname}/${initrd}
++ initrdefi $(echo $initrd_path)
+EOF
+ else
+ sed "s/^/$submenu_indentation/" << EOF
echo '$(echo "$message" | grub_quote)'
- initrd ${rel_dirname}/${initrd}
+ initrd $(echo $initrd_path)
EOF
+ fi
fi
++++++ grub2-setup-try-fs-embed-if-mbr-gap-too-small.patch ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:46.152906403 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:46.152906403 +0100
@@ -1,8 +1,11 @@
-Index: grub-2.02/util/setup.c
+
+V2: Add fs_ prefix to fs functions by upstream commit ad4bfee
+
+Index: grub-2.04/util/setup.c
===================================================================
---- grub-2.02.orig/util/setup.c
-+++ grub-2.02/util/setup.c
-@@ -511,8 +511,42 @@ SETUP (const char *dir,
+--- grub-2.04.orig/util/setup.c
++++ grub-2.04/util/setup.c
+@@ -526,8 +526,42 @@ SETUP (const char *dir,
err = grub_util_ldm_embed (dest_dev->disk, &nsec, maxsec,
GRUB_EMBED_PCBIOS, §ors);
else if (ctx.dest_partmap)
@@ -19,14 +22,14 @@
+ grub_fs_t root_fs;
+
+ root_fs = grub_fs_probe (root_dev);
-+ if (root_fs && root_fs->embed)
++ if (root_fs && root_fs->fs_embed)
+ {
+ grub_disk_addr_t *fs_sectors;
+ unsigned int fs_nsec;
+
+ fs_sectors = NULL;
+ fs_nsec = core_sectors;
-+ err = root_fs->embed (root_dev, &fs_nsec, maxsec,
++ err = root_fs->fs_embed (root_dev, &fs_nsec, maxsec,
+ GRUB_EMBED_PCBIOS, &fs_sectors);
+ if (!err && fs_nsec >= core_sectors)
+ {
@@ -45,9 +48,9 @@
+#endif
+ }
else
- err = fs->embed (dest_dev, &nsec, maxsec,
- GRUB_EMBED_PCBIOS, §ors);
-@@ -594,7 +628,7 @@ SETUP (const char *dir,
+ err = fs->fs_embed (dest_dev, &nsec, maxsec,
+ GRUB_EMBED_PCBIOS, §ors);
+@@ -639,7 +673,7 @@ SETUP (const char *dir,
/* Write the core image onto the disk. */
for (i = 0; i < nsec; i++)
@@ -55,4 +58,4 @@
+ grub_disk_write (core_dev->disk, sectors[i], 0,
GRUB_DISK_SECTOR_SIZE,
core_img + i * GRUB_DISK_SECTOR_SIZE);
-
+ #endif
++++++ grub2-systemd-sleep.sh ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:46.164906419 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:46.168906424 +0100
@@ -201,7 +201,7 @@
{
local WANT="$VMLINUZ-$1"
- [ -n "$GRUB_SETUP" ] || return
+ [ -n "$GRUB_SETUP" ] || return 0
# implementation below is s390x-only (for now)
echo "INFO: check-setup \"$WANT\" .."
HAVE="/boot/zipl/$VMLINUZ"
++++++ risc-v-add-clzdi2-symbol.patch ++++++
>From a57977b5faf800ac68f7dfe6b84138208c7e6072 Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab(a)suse.de>
Date: Thu, 19 Sep 2019 09:39:04 +0200
Subject: [PATCH] RISC-V: Add __clzdi2 symbol
This is needed for the zstd module build for riscv64-emu.
Signed-off-by: Andreas Schwab <schwab(a)suse.de>
Reviewed-by: Daniel Kiper <daniel.kiper(a)oracle.com>
---
configure.ac | 2 +-
include/grub/compiler-rt-emu.h | 5 +++++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index e07ba4b56..7d74eba66 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1370,7 +1370,7 @@ fi
# Check for libgcc symbols
if test x"$platform" = xemu; then
-AC_CHECK_FUNCS(__udivsi3 __umodsi3 __divsi3 __modsi3 __divdi3 __moddi3 __udivdi3 __umoddi3 __ctzdi2 __ctzsi2 __aeabi_uidiv __aeabi_uidivmod __aeabi_idiv __aeabi_idivmod __aeabi_ulcmp __muldi3 __aeabi_lmul __aeabi_memcpy __aeabi_memcpy4 __aeabi_memcpy8 __aeabi_memclr __aeabi_memclr4 __aeabi_memclr8 __aeabi_memset __aeabi_lasr __aeabi_llsl __aeabi_llsr _restgpr_14_x __ucmpdi2 __ashldi3 __ashrdi3 __lshrdi3 __bswapsi2 __bswapdi2 __bzero __register_frame_info __deregister_frame_info ___chkstk_ms __chkstk_ms)
+AC_CHECK_FUNCS(__udivsi3 __umodsi3 __divsi3 __modsi3 __divdi3 __moddi3 __udivdi3 __umoddi3 __ctzdi2 __ctzsi2 __clzdi2 __aeabi_uidiv __aeabi_uidivmod __aeabi_idiv __aeabi_idivmod __aeabi_ulcmp __muldi3 __aeabi_lmul __aeabi_memcpy __aeabi_memcpy4 __aeabi_memcpy8 __aeabi_memclr __aeabi_memclr4 __aeabi_memclr8 __aeabi_memset __aeabi_lasr __aeabi_llsl __aeabi_llsr _restgpr_14_x __ucmpdi2 __ashldi3 __ashrdi3 __lshrdi3 __bswapsi2 __bswapdi2 __bzero __register_frame_info __deregister_frame_info ___chkstk_ms __chkstk_ms)
fi
if test "x$TARGET_APPLE_LINKER" = x1 ; then
diff --git a/include/grub/compiler-rt-emu.h b/include/grub/compiler-rt-emu.h
index b21425d9e..fde620ac1 100644
--- a/include/grub/compiler-rt-emu.h
+++ b/include/grub/compiler-rt-emu.h
@@ -74,6 +74,11 @@ unsigned
EXPORT_FUNC (__ctzsi2) (grub_uint32_t x);
#endif
+#ifdef HAVE___CLZDI2
+int
+EXPORT_FUNC (__clzdi2) (grub_uint64_t x);
+#endif
+
#ifdef HAVE___AEABI_UIDIV
grub_uint32_t
EXPORT_FUNC (__aeabi_uidiv) (grub_uint32_t a, grub_uint32_t b);
--
2.23.0
++++++ risc-v-fix-computation-of-pc-relative-relocation-offset.patch ++++++
>From 2bf40e9e5be9808b17852e688eead87acff14420 Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab(a)suse.de>
Date: Wed, 26 Jun 2019 16:50:03 +0200
Subject: [PATCH] RISC-V: Fix computation of pc-relative relocation offset
The offset calculation was missing the relocation addend.
Signed-off-by: Andreas Schwab <schwab(a)suse.de>
Tested-by: Chester Lin <clin(a)suse.com>
Reviewed-by: Daniel Kiper <daniel.kiper(a)oracle.com>
---
util/grub-mkimagexx.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/util/grub-mkimagexx.c b/util/grub-mkimagexx.c
index bc087c2b5..d16ec63a1 100644
--- a/util/grub-mkimagexx.c
+++ b/util/grub-mkimagexx.c
@@ -1232,8 +1232,7 @@ SUFFIX (relocate_addrs) (Elf_Ehdr *e, struct section_metadata *smd,
grub_uint32_t *t32 = (grub_uint32_t *) target;
grub_uint16_t *t16 = (grub_uint16_t *) target;
grub_uint8_t *t8 = (grub_uint8_t *) target;
- grub_int64_t off = (long)sym_addr - target_section_addr - offset
- - image_target->vaddr_offset;
+ grub_int64_t off;
/*
* Instructions and instruction encoding are documented in the RISC-V
@@ -1243,6 +1242,7 @@ SUFFIX (relocate_addrs) (Elf_Ehdr *e, struct section_metadata *smd,
*/
sym_addr += addend;
+ off = sym_addr - target_section_addr - offset - image_target->vaddr_offset;
switch (ELF_R_TYPE (info))
{
--
2.23.0
++++++ use-grub2-as-a-package-name.patch ++++++
--- /var/tmp/diff_new_pack.XjdHjc/_old 2019-11-03 11:24:46.220906490 +0100
+++ /var/tmp/diff_new_pack.XjdHjc/_new 2019-11-03 11:24:46.224906496 +0100
@@ -12,16 +12,16 @@
configure.ac | 2 +-
2 files changed, 13 insertions(+), 13 deletions(-)
-Index: grub-2.02/configure.ac
+Index: grub-2.04/configure.ac
===================================================================
---- grub-2.02.orig/configure.ac
-+++ grub-2.02/configure.ac
+--- grub-2.04.orig/configure.ac
++++ grub-2.04/configure.ac
@@ -31,7 +31,7 @@ dnl (such as BUILD_CC, BUILD_CFLAGS, etc
dnl with the prefix "TARGET_" (such as TARGET_CC, TARGET_CFLAGS, etc.) are
dnl used for the target type. See INSTALL for full list of variables.
--AC_INIT([GRUB],[2.02],[bug-grub(a)gnu.org])
-+AC_INIT([GRUB2],[2.02],[bug-grub(a)gnu.org])
+-AC_INIT([GRUB],[2.04],[bug-grub(a)gnu.org])
++AC_INIT([GRUB2],[2.04],[bug-grub(a)gnu.org])
AC_CONFIG_AUX_DIR([build-aux])
1
0
Hello community,
here is the log from the commit of package go1.12 for openSUSE:Factory checked in at 2019-11-03 11:22:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/go1.12 (Old)
and /work/SRC/openSUSE:Factory/.go1.12.new.2990 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "go1.12"
Sun Nov 3 11:22:33 2019 rev:13 rq:743949 version:1.12.12
Changes:
--------
--- /work/SRC/openSUSE:Factory/go1.12/go1.12.changes 2019-10-23 15:49:05.770580836 +0200
+++ /work/SRC/openSUSE:Factory/.go1.12.new.2990/go1.12.changes 2019-11-03 11:22:35.552739604 +0100
@@ -1,0 +2,7 @@
+Wed Oct 29 19:37:12 UTC 2019 - Jeff Kowalczyk <jkowalczyk(a)suse.com>
+
+- Add %ifarch %arm aarch64 BuildRequires: binutils-gold to fix
+ /usr/lib64/go/{version}/pkg/tool/linux_arm64/link: running gcc failed: exit status 1
+ collect2: fatal error: cannot find 'ld'-
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ go1.12.spec ++++++
--- /var/tmp/diff_new_pack.ct5JWE/_old 2019-11-03 11:22:38.252743053 +0100
+++ /var/tmp/diff_new_pack.ct5JWE/_new 2019-11-03 11:22:38.288743099 +0100
@@ -159,6 +159,11 @@
%endif
#BNC#818502 debug edit tool of rpm fails on i586 builds
BuildRequires: rpm >= 4.11.1
+# Needed on arm aarch64 to avoid
+# collect2: fatal error: cannot find 'ld'-
+%ifarch %arm aarch64
+BuildRequires: binutils-gold
+%endif
Requires(post): update-alternatives
Requires(postun): update-alternatives
Requires: gcc
1
0
Hello community,
here is the log from the commit of package mdadm for openSUSE:Factory checked in at 2019-11-03 11:20:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mdadm (Old)
and /work/SRC/openSUSE:Factory/.mdadm.new.2990 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mdadm"
Sun Nov 3 11:20:29 2019 rev:119 rq:743911 version:4.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/mdadm/mdadm.changes 2019-04-03 09:24:04.303703795 +0200
+++ /work/SRC/openSUSE:Factory/.mdadm.new.2990/mdadm.changes 2019-11-03 11:20:31.576581265 +0100
@@ -1,0 +2,8 @@
+Wed Oct 30 00:10:38 UTC 2019 - Neil Brown <nfbrown(a)suse.com>
+
+- 0012-mdcheck-when-mdcheck_start-is-enabled-enable-mdcheck.patch
+ 0013-mdcheck-use-to-pass-variable-to-mdcheck.patch
+ 0014-SUSE-mdadm_env.sh-handle-MDADM_CHECK_DURATION.patch
+ Improve mdcheck (bsc#1153258)
+
+-------------------------------------------------------------------
New:
----
0012-mdcheck-when-mdcheck_start-is-enabled-enable-mdcheck.patch
0013-mdcheck-use-to-pass-variable-to-mdcheck.patch
0014-SUSE-mdadm_env.sh-handle-MDADM_CHECK_DURATION.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mdadm.spec ++++++
--- /var/tmp/diff_new_pack.G8TOIa/_old 2019-11-03 11:20:32.436582363 +0100
+++ /var/tmp/diff_new_pack.G8TOIa/_new 2019-11-03 11:20:32.436582363 +0100
@@ -12,7 +12,7 @@
# 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/
#
@@ -53,6 +53,9 @@
Patch19: 0009-Detail.c-do-not-skip-first-character-when-calling-xs.patch
Patch20: 0010-imsm-finish-recovery-when-drive-with-rebuild-fails.patch
Patch21: 0011-mdmon-don-t-attempt-to-manage-new-arrays-when-termin.patch
+Patch22: 0012-mdcheck-when-mdcheck_start-is-enabled-enable-mdcheck.patch
+Patch23: 0013-mdcheck-use-to-pass-variable-to-mdcheck.patch
+Patch24: 0014-SUSE-mdadm_env.sh-handle-MDADM_CHECK_DURATION.patch
Patch1001: 1001-display-timeout-status.patch
%define _udevdir %(pkg-config --variable=udevdir udev)
%define _systemdshutdowndir %{_unitdir}/../system-shutdown
@@ -74,6 +77,9 @@
%patch19 -p1
%patch20 -p1
%patch21 -p1
+%patch22 -p1
+%patch23 -p1
+%patch24 -p1
%patch1001 -p1
%build
++++++ 0012-mdcheck-when-mdcheck_start-is-enabled-enable-mdcheck.patch ++++++
>From 751090e03c584ae2e4badd8823bd68d8d0c4c298 Mon Sep 17 00:00:00 2001
From: NeilBrown <neilb(a)suse.de>
Date: Fri, 18 Oct 2019 11:10:34 +1100
Subject: [PATCH] mdcheck: when mdcheck_start is enabled, enable
mdcheck_continue too.
mdcheck_continue continues a regular array scan that was started by
mdcheck_start.
mdcheck_start will ensure that mdcheck_continue is active.
Howver if you reboot after a check has started, but before it finishes,
then mdcheck_continue won't cause it to continue, because nothing
starts it on boot.
So add an install option for mdcheck_contine, and make sure it
gets enabled when mdcheck_start is enabled.
Signed-off-by: NeilBrown <neilb(a)suse.de>
---
systemd/mdcheck_continue.timer | 2 ++
systemd/mdcheck_start.timer | 1 +
2 files changed, 3 insertions(+)
diff --git a/systemd/mdcheck_continue.timer b/systemd/mdcheck_continue.timer
index 3ccfd7858a3f..dba1074c1f44 100644
--- a/systemd/mdcheck_continue.timer
+++ b/systemd/mdcheck_continue.timer
@@ -11,3 +11,5 @@ Description=MD array scrubbing - continuation
[Timer]
OnCalendar= 1:05:00
+[Install]
+WantedBy= mdmonitor.service
diff --git a/systemd/mdcheck_start.timer b/systemd/mdcheck_start.timer
index 64807362d649..9e7e02ab7333 100644
--- a/systemd/mdcheck_start.timer
+++ b/systemd/mdcheck_start.timer
@@ -13,3 +13,4 @@ OnCalendar=Sun *-*-1..7 1:00:00
[Install]
WantedBy= mdmonitor.service
+Also= mdcheck_continue.timer
--
2.23.0
++++++ 0013-mdcheck-use-to-pass-variable-to-mdcheck.patch ++++++
>From fde9606a9780cf2701fa903eeb528b9f4400282e Mon Sep 17 00:00:00 2001
From: NeilBrown <neilb(a)suse.de>
Date: Wed, 30 Oct 2019 09:25:00 +1100
Subject: [PATCH] mdcheck: use ${} to pass variable to mdcheck
$MDADM_CHECK_DURATION allows the value to be split on spaces.
${MDADM_CHECK_DURATION} avoids such splitting.
Making this change removes the need for double quoting when setting
the default Environment, and means that double quoting isn't needed
in the EnvironmentFile.
Signed-off-by: NeilBrown <neilb(a)suse.de>
---
systemd/mdcheck_continue.service | 5 ++---
systemd/mdcheck_start.service | 4 ++--
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/systemd/mdcheck_continue.service b/systemd/mdcheck_continue.service
index 592c60798f82..deac695485b0 100644
--- a/systemd/mdcheck_continue.service
+++ b/systemd/mdcheck_continue.service
@@ -11,8 +11,7 @@ ConditionPathExistsGlob = /var/lib/mdcheck/MD_UUID_*
[Service]
Type=oneshot
-Environment= MDADM_CHECK_DURATION='"6 hours"'
+Environment= MDADM_CHECK_DURATION="6 hours"
EnvironmentFile=-/run/sysconfig/mdadm
ExecStartPre=-/usr/lib/mdadm/mdadm_env.sh
-ExecStart=/usr/share/mdadm/mdcheck --continue --duration $MDADM_CHECK_DURATION
-
+ExecStart=/usr/share/mdadm/mdcheck --continue --duration ${MDADM_CHECK_DURATION}
diff --git a/systemd/mdcheck_start.service b/systemd/mdcheck_start.service
index 812141bb5c9a..f17f1aaec217 100644
--- a/systemd/mdcheck_start.service
+++ b/systemd/mdcheck_start.service
@@ -11,7 +11,7 @@ Wants=mdcheck_continue.timer
[Service]
Type=oneshot
-Environment= MDADM_CHECK_DURATION='"6 hours"'
+Environment= MDADM_CHECK_DURATION="6 hours"
EnvironmentFile=-/run/sysconfig/mdadm
ExecStartPre=-/usr/lib/mdadm/mdadm_env.sh
-ExecStart=/usr/share/mdadm/mdcheck --duration $MDADM_CHECK_DURATION
+ExecStart=/usr/share/mdadm/mdcheck --duration ${MDADM_CHECK_DURATION}
--
2.23.0
++++++ 0014-SUSE-mdadm_env.sh-handle-MDADM_CHECK_DURATION.patch ++++++
>From e76aa254a99cca27715d65aa5188c9b47b1c4f8e Mon Sep 17 00:00:00 2001
From: NeilBrown <neilb(a)suse.de>
Date: Wed, 30 Oct 2019 09:27:34 +1100
Subject: [PATCH] SUSE-mdadm_env.sh: handle MDADM_CHECK_DURATION
The suse sysconfig/mdadm allows MDADM_CHECK_DURATION
to be set, but it is currently ignored.
Signed-off-by: NeilBrown <neilb(a)suse.de>
---
systemd/SUSE-mdadm_env.sh | 3 +++
1 file changed, 3 insertions(+)
diff --git a/systemd/SUSE-mdadm_env.sh b/systemd/SUSE-mdadm_env.sh
index 10b2e749921c..c13b48ab3cb1 100644
--- a/systemd/SUSE-mdadm_env.sh
+++ b/systemd/SUSE-mdadm_env.sh
@@ -43,3 +43,6 @@ fi
mkdir -p /run/sysconfig
echo "MDADM_MONITOR_ARGS=$MDADM_RAIDDEVICES $MDADM_DELAY $MDADM_MAIL $MDADM_PROGRAM $MDADM_SCAN $MDADM_SEND_MAIL $MDADM_CONFIG" > /run/sysconfig/mdadm
+if [ -n "$MDADM_CHECK_DURATION" ]; then
+ echo "MDADM_CHECK_DURATION=$MDADM_CHECK_DURATION" >> /run/sysconfig/mdadm
+fi
--
2.23.0
1
0