Revert "Update boom-boot to upstream release 1.5.1"
This reverts commit 12c160c51b
.
Re-sync branch with changes as shipped in el8.
Resolves: RHEL-36337
This commit is contained in:
parent
39509a09dc
commit
e70c2185da
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,2 @@
|
|||||||
SOURCES/boom-1.3.tar.gz
|
SOURCES/boom-1.3.tar.gz
|
||||||
/boom-1.3.tar.gz
|
/boom-1.3.tar.gz
|
||||||
/boom-1.5.1.tar.gz
|
|
||||||
|
@ -1,210 +0,0 @@
|
|||||||
From 82ba6ea6411d728f7d3b203caa0710641f74188d Mon Sep 17 00:00:00 2001
|
|
||||||
From: "Bryn M. Reeves" <bmr@redhat.com>
|
|
||||||
Date: Thu, 4 May 2023 15:11:59 +0100
|
|
||||||
Subject: [PATCH 1/3] Fix typos across tree
|
|
||||||
|
|
||||||
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
||||||
(cherry picked from commit 2ee6810bfbd9e356f2bee3eac4e3b3b87ed21814)
|
|
||||||
---
|
|
||||||
README.md | 6 +++---
|
|
||||||
boom/bootloader.py | 12 ++++++------
|
|
||||||
boom/cache.py | 2 +-
|
|
||||||
boom/command.py | 2 +-
|
|
||||||
boom/report.py | 4 ++--
|
|
||||||
boom/stratis.py | 2 +-
|
|
||||||
tests/bootloader_tests.py | 2 +-
|
|
||||||
tests/command_tests.py | 2 +-
|
|
||||||
tests/loader/entries/README | 2 +-
|
|
||||||
9 files changed, 17 insertions(+), 17 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/README.md b/README.md
|
|
||||||
index a1747c2..c6b4ef4 100644
|
|
||||||
--- a/README.md
|
|
||||||
+++ b/README.md
|
|
||||||
@@ -325,7 +325,7 @@ BootEntry.
|
|
||||||
#### boom cache command
|
|
||||||
|
|
||||||
The `boom cache` command gives information about the paths and
|
|
||||||
-images stored in the boom boot iamge cache. The `boom cache list`
|
|
||||||
+images stored in the boom boot image cache. The `boom cache list`
|
|
||||||
command gives information on cache entries in a tabular report
|
|
||||||
format similar to other `list` commands.
|
|
||||||
|
|
||||||
@@ -484,7 +484,7 @@ Created profile with os_id d4439b7:
|
|
||||||
Options: "root=%{root_device} ro %{root_opts}"
|
|
||||||
```
|
|
||||||
|
|
||||||
-The `--uname-pattern` `OsProfile` property is an otional but recommended
|
|
||||||
+The `--uname-pattern` `OsProfile` property is an optional but recommended
|
|
||||||
pattern (regular expression) that should match the UTS release (`uname`)
|
|
||||||
strings reported by the operating system.
|
|
||||||
|
|
||||||
@@ -673,7 +673,7 @@ boot entries:
|
|
||||||
```
|
|
||||||
|
|
||||||
## Python API
|
|
||||||
-Boom also supports programatic use via a Python API. The API is flexible
|
|
||||||
+Boom also supports programmatic use via a Python API. The API is flexible
|
|
||||||
and allows greater customisation than is possible using the command line
|
|
||||||
tool.
|
|
||||||
|
|
||||||
diff --git a/boom/bootloader.py b/boom/bootloader.py
|
|
||||||
index fdd8c0c..89efd4a 100644
|
|
||||||
--- a/boom/bootloader.py
|
|
||||||
+++ b/boom/bootloader.py
|
|
||||||
@@ -407,7 +407,7 @@ class BootParams(object):
|
|
||||||
string. The string returned is in the form of a call to the
|
|
||||||
``BootParams`` constructor.
|
|
||||||
|
|
||||||
- :returns: a machine readable string represenatation of this
|
|
||||||
+ :returns: a machine readable string representation of this
|
|
||||||
``BootParams`` object.
|
|
||||||
"""
|
|
||||||
return self.__str(quote=True, prefix="BootParams(", suffix=")")
|
|
||||||
@@ -1198,7 +1198,7 @@ class BootEntry(object):
|
|
||||||
|
|
||||||
Return a copy of this ``BootEntry``'s values as a list.
|
|
||||||
|
|
||||||
- :returns: the current list of ``BotoEntry`` values.
|
|
||||||
+ :returns: the current list of ``BootEntry`` values.
|
|
||||||
:rtype: list
|
|
||||||
"""
|
|
||||||
values = list(self._entry_data.values())
|
|
||||||
@@ -1259,7 +1259,7 @@ class BootEntry(object):
|
|
||||||
self._unwritten = True
|
|
||||||
|
|
||||||
def __os_id_from_comment(self, comment):
|
|
||||||
- """Retrive OsProfile from BootEntry comment.
|
|
||||||
+ """Retrieve OsProfile from BootEntry comment.
|
|
||||||
|
|
||||||
Attempt to set this BootEntry's OsProfile using a comment
|
|
||||||
string stored in the entry file. The comment must be of the
|
|
||||||
@@ -1300,7 +1300,7 @@ class BootEntry(object):
|
|
||||||
Attempt to guess the correct ``OsProfile`` to use with
|
|
||||||
this ``BootEntry`` by probing each loaded ``OsProfile``
|
|
||||||
in turn until a profile recognises the entry. If no match
|
|
||||||
- is found the entrie's ``OsProfile`` is set to ``None``.
|
|
||||||
+ is found the entry's ``OsProfile`` is set to ``None``.
|
|
||||||
|
|
||||||
Probing is only used in the case that a loaded entry has
|
|
||||||
no embedded OsIdentifier string. All entries written by
|
|
||||||
@@ -1527,7 +1527,7 @@ class BootEntry(object):
|
|
||||||
|
|
||||||
A ``BootParams`` object may be supplied using the
|
|
||||||
``boot_params`` keyword argument. The object will be used to
|
|
||||||
- provide values for subsitution using the patterns defined by
|
|
||||||
+ provide values for substitution using the patterns defined by
|
|
||||||
the configured ``OsProfile``.
|
|
||||||
|
|
||||||
If ``entry_file`` is specified the ``BootEntry`` will be
|
|
||||||
@@ -1832,7 +1832,7 @@ class BootEntry(object):
|
|
||||||
return True
|
|
||||||
|
|
||||||
def expanded(self):
|
|
||||||
- """Return a string represenatation of this ``BootEntry``, with
|
|
||||||
+ """Return a string representation of this ``BootEntry``, with
|
|
||||||
any bootloader environment variables expanded to their
|
|
||||||
current values.
|
|
||||||
|
|
||||||
diff --git a/boom/cache.py b/boom/cache.py
|
|
||||||
index dfd8a32..6024f91 100644
|
|
||||||
--- a/boom/cache.py
|
|
||||||
+++ b/boom/cache.py
|
|
||||||
@@ -174,7 +174,7 @@ def _image_id_from_path(img_path):
|
|
||||||
def drop_cache():
|
|
||||||
"""Discard the in-memory cache state. Calling this function has
|
|
||||||
no effect on the persistent cache state but will free all
|
|
||||||
- in-memory represenatations and clear the cache index.
|
|
||||||
+ in-memory representations and clear the cache index.
|
|
||||||
"""
|
|
||||||
global _index, _paths, _images
|
|
||||||
_index = {}
|
|
||||||
diff --git a/boom/command.py b/boom/command.py
|
|
||||||
index 696313d..ecd8153 100644
|
|
||||||
--- a/boom/command.py
|
|
||||||
+++ b/boom/command.py
|
|
||||||
@@ -3233,7 +3233,7 @@ def main(args):
|
|
||||||
parser.add_argument("-u", "--uname-pattern", "--unamepattern",
|
|
||||||
help="A Boom OsProfile uname pattern",
|
|
||||||
metavar="PATTERN", type=str)
|
|
||||||
- parser.add_argument("-V", "--verbose", help="Enable verbose ouput",
|
|
||||||
+ parser.add_argument("-V", "--verbose", help="Enable verbose output",
|
|
||||||
action="count")
|
|
||||||
parser.add_argument("-v", "--version", metavar="VERSION", type=str,
|
|
||||||
help="The kernel version of a boom "
|
|
||||||
diff --git a/boom/report.py b/boom/report.py
|
|
||||||
index f7ff4a1..fdbd3ab 100644
|
|
||||||
--- a/boom/report.py
|
|
||||||
+++ b/boom/report.py
|
|
||||||
@@ -446,7 +446,7 @@ class BoomReport(object):
|
|
||||||
Display a list of valid fields for this ``BoomReport``.
|
|
||||||
|
|
||||||
:param fields: The list of fields to display
|
|
||||||
- :param display_field_types: A boolean controling whether
|
|
||||||
+ :param display_field_types: A boolean controlling whether
|
|
||||||
field types (str, SHA, num)
|
|
||||||
are included in help output
|
|
||||||
"""
|
|
||||||
@@ -837,7 +837,7 @@ class BoomReport(object):
|
|
||||||
each sort key defines its own sort order.
|
|
||||||
|
|
||||||
:param row_a: The first row to compare
|
|
||||||
- :param row_b: The seconf row to compare
|
|
||||||
+ :param row_b: The second row to compare
|
|
||||||
"""
|
|
||||||
for cnt in range(0, row_a._report._keys_count):
|
|
||||||
sfa = row_a._sort_fields[cnt]
|
|
||||||
diff --git a/boom/stratis.py b/boom/stratis.py
|
|
||||||
index 350bc18..ca79d7b 100644
|
|
||||||
--- a/boom/stratis.py
|
|
||||||
+++ b/boom/stratis.py
|
|
||||||
@@ -49,7 +49,7 @@ _STRATISD_SERVICE = "org.storage.stratis3"
|
|
||||||
_STRATISD_PATH = "/org/storage/stratis3"
|
|
||||||
#: The DBus name of the pool interface
|
|
||||||
_POOL_IFACE = "org.storage.stratis3.pool.r0"
|
|
||||||
-#: The DBus timeout for stratisd in miliseconds
|
|
||||||
+#: The DBus timeout for stratisd in milliseconds
|
|
||||||
_STRATISD_TIMEOUT = 120000
|
|
||||||
|
|
||||||
#: The DBus ObjectManager interface implemented by stratisd
|
|
||||||
diff --git a/tests/bootloader_tests.py b/tests/bootloader_tests.py
|
|
||||||
index 8238d10..e56f2f9 100644
|
|
||||||
--- a/tests/bootloader_tests.py
|
|
||||||
+++ b/tests/bootloader_tests.py
|
|
||||||
@@ -1081,7 +1081,7 @@ class BootLoaderTestsCheckRoot(unittest.TestCase):
|
|
||||||
Device types in the del_devs list are currently ignored.
|
|
||||||
|
|
||||||
Tests using this base class require root privileges in order
|
|
||||||
- to manipulate device nodes in the test sanbox. These tests
|
|
||||||
+ to manipulate device nodes in the test sandbox. These tests
|
|
||||||
are automatically skipped if the suite is run as a normal
|
|
||||||
user.
|
|
||||||
"""
|
|
||||||
diff --git a/tests/command_tests.py b/tests/command_tests.py
|
|
||||||
index 7af5ea2..5aa904f 100644
|
|
||||||
--- a/tests/command_tests.py
|
|
||||||
+++ b/tests/command_tests.py
|
|
||||||
@@ -2071,7 +2071,7 @@ class CommandTests(unittest.TestCase):
|
|
||||||
self.assertEqual(r, 0)
|
|
||||||
|
|
||||||
def test__edit_profile_cmd(self):
|
|
||||||
- """Test the _edit_profile_cmd() hander with default args.
|
|
||||||
+ """Test the _edit_profile_cmd() handler with default args.
|
|
||||||
"""
|
|
||||||
args = MockArgs()
|
|
||||||
args.profile = "d4439b7"
|
|
||||||
diff --git a/tests/loader/entries/README b/tests/loader/entries/README
|
|
||||||
index 20ee65b..4407ef2 100644
|
|
||||||
--- a/tests/loader/entries/README
|
|
||||||
+++ b/tests/loader/entries/README
|
|
||||||
@@ -1,6 +1,6 @@
|
|
||||||
Boot loader entry directory for the boom unit test suite.
|
|
||||||
|
|
||||||
-The entries in this directory may contan synthetic test data:
|
|
||||||
+The entries in this directory may contain synthetic test data:
|
|
||||||
non-existent kernel versions, and mock OsProfile data.
|
|
||||||
|
|
||||||
For examples of actual boom boot entries please refer to the
|
|
||||||
--
|
|
||||||
2.40.1
|
|
||||||
|
|
@ -0,0 +1,22 @@
|
|||||||
|
etc/default/boom | 0
|
||||||
|
tests/bootloader_configs/boom_off/etc/default/boom | 0
|
||||||
|
tests/bootloader_configs/boom_on/etc/default/boom | 0
|
||||||
|
tests/bootloader_configs/no_grub_d/etc/default/boom | 0
|
||||||
|
4 files changed, 0 insertions(+), 0 deletions(-)
|
||||||
|
mode change 100755 => 100644 etc/default/boom
|
||||||
|
mode change 100755 => 100644 tests/bootloader_configs/boom_off/etc/default/boom
|
||||||
|
mode change 100755 => 100644 tests/bootloader_configs/boom_on/etc/default/boom
|
||||||
|
mode change 100755 => 100644 tests/bootloader_configs/no_grub_d/etc/default/boom
|
||||||
|
|
||||||
|
diff --git a/etc/default/boom b/etc/default/boom
|
||||||
|
old mode 100755
|
||||||
|
new mode 100644
|
||||||
|
diff --git a/tests/bootloader_configs/boom_off/etc/default/boom b/tests/bootloader_configs/boom_off/etc/default/boom
|
||||||
|
old mode 100755
|
||||||
|
new mode 100644
|
||||||
|
diff --git a/tests/bootloader_configs/boom_on/etc/default/boom b/tests/bootloader_configs/boom_on/etc/default/boom
|
||||||
|
old mode 100755
|
||||||
|
new mode 100644
|
||||||
|
diff --git a/tests/bootloader_configs/no_grub_d/etc/default/boom b/tests/bootloader_configs/no_grub_d/etc/default/boom
|
||||||
|
old mode 100755
|
||||||
|
new mode 100644
|
@ -1,214 +0,0 @@
|
|||||||
From f98bacd55fd4af5e1efee3fedd90c2c57d99cae7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: "Bryn M. Reeves" <bmr@redhat.com>
|
|
||||||
Date: Thu, 4 May 2023 16:37:26 +0100
|
|
||||||
Subject: [PATCH 2/3] Fix system vs. project import ordering
|
|
||||||
|
|
||||||
Resolves: #5
|
|
||||||
|
|
||||||
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
||||||
(cherry picked from commit d8a7c9f2fbeecd4e291cda751c2dcbd4b1914d75)
|
|
||||||
---
|
|
||||||
boom/bootloader.py | 10 +++++-----
|
|
||||||
boom/cache.py | 6 +++---
|
|
||||||
boom/command.py | 16 ++++++++--------
|
|
||||||
boom/config.py | 4 ++--
|
|
||||||
boom/hostprofile.py | 6 +++---
|
|
||||||
boom/legacy.py | 6 +++---
|
|
||||||
boom/osprofile.py | 3 ++-
|
|
||||||
boom/report.py | 3 ++-
|
|
||||||
8 files changed, 28 insertions(+), 26 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/boom/bootloader.py b/boom/bootloader.py
|
|
||||||
index 89efd4a..cdee6d9 100644
|
|
||||||
--- a/boom/bootloader.py
|
|
||||||
+++ b/boom/bootloader.py
|
|
||||||
@@ -39,11 +39,6 @@ is also provided in the ``MAP_KEY`` member).
|
|
||||||
"""
|
|
||||||
from __future__ import print_function
|
|
||||||
|
|
||||||
-from boom import *
|
|
||||||
-from boom.osprofile import *
|
|
||||||
-from boom.hostprofile import find_host_profiles
|
|
||||||
-from boom.stratis import *
|
|
||||||
-
|
|
||||||
from os.path import basename, exists as path_exists, join as path_join
|
|
||||||
from subprocess import Popen, PIPE
|
|
||||||
from tempfile import mkstemp
|
|
||||||
@@ -51,6 +46,11 @@ from os import listdir, rename, fdopen, chmod, unlink, fdatasync, stat, dup
|
|
||||||
from stat import S_ISBLK
|
|
||||||
from hashlib import sha1
|
|
||||||
import logging
|
|
||||||
+
|
|
||||||
+from boom import *
|
|
||||||
+from boom.osprofile import *
|
|
||||||
+from boom.hostprofile import find_host_profiles
|
|
||||||
+from boom.stratis import *
|
|
||||||
import re
|
|
||||||
|
|
||||||
#: The path to the BLS boot entries directory relative to /boot
|
|
||||||
diff --git a/boom/cache.py b/boom/cache.py
|
|
||||||
index 6024f91..b68caac 100644
|
|
||||||
--- a/boom/cache.py
|
|
||||||
+++ b/boom/cache.py
|
|
||||||
@@ -17,9 +17,6 @@ images required to load boom-defined boot entries.
|
|
||||||
"""
|
|
||||||
from __future__ import print_function
|
|
||||||
|
|
||||||
-from boom import *
|
|
||||||
-from boom.bootloader import *
|
|
||||||
-
|
|
||||||
from hashlib import sha1
|
|
||||||
from os import chmod, chown, fdatasync, listdir, stat, unlink
|
|
||||||
from stat import S_ISREG, ST_MODE, ST_UID, ST_GID, ST_MTIME, filemode
|
|
||||||
@@ -32,6 +29,9 @@ from errno import ENOENT
|
|
||||||
import shutil
|
|
||||||
import logging
|
|
||||||
|
|
||||||
+from boom import *
|
|
||||||
+from boom.bootloader import *
|
|
||||||
+
|
|
||||||
# Module logging configuration
|
|
||||||
_log = logging.getLogger(__name__)
|
|
||||||
_log.set_debug_mask(BOOM_DEBUG_CACHE)
|
|
||||||
diff --git a/boom/command.py b/boom/command.py
|
|
||||||
index ecd8153..37172dc 100644
|
|
||||||
--- a/boom/command.py
|
|
||||||
+++ b/boom/command.py
|
|
||||||
@@ -26,6 +26,14 @@ reports using the ``boom.report`` module.
|
|
||||||
"""
|
|
||||||
from __future__ import print_function
|
|
||||||
|
|
||||||
+from os import environ, uname, getcwd
|
|
||||||
+from os.path import basename, exists as path_exists, isabs, join, sep
|
|
||||||
+from argparse import ArgumentParser
|
|
||||||
+from stat import filemode
|
|
||||||
+import platform
|
|
||||||
+import logging
|
|
||||||
+import re
|
|
||||||
+
|
|
||||||
from boom import *
|
|
||||||
from boom.osprofile import *
|
|
||||||
from boom.report import *
|
|
||||||
@@ -35,14 +43,6 @@ from boom.legacy import *
|
|
||||||
from boom.config import *
|
|
||||||
from boom.cache import *
|
|
||||||
|
|
||||||
-from os import environ, uname, getcwd
|
|
||||||
-from os.path import basename, exists as path_exists, isabs, join, sep
|
|
||||||
-from argparse import ArgumentParser
|
|
||||||
-from stat import filemode
|
|
||||||
-import platform
|
|
||||||
-import logging
|
|
||||||
-import re
|
|
||||||
-
|
|
||||||
#: The environment variable from which to take the location of the
|
|
||||||
#: ``/boot`` file system.
|
|
||||||
BOOM_BOOT_PATH_ENV = "BOOM_BOOT_PATH"
|
|
||||||
diff --git a/boom/config.py b/boom/config.py
|
|
||||||
index c58d3c3..9dae545 100644
|
|
||||||
--- a/boom/config.py
|
|
||||||
+++ b/boom/config.py
|
|
||||||
@@ -20,14 +20,14 @@ the values of configuration keys defined in the boom configuration file.
|
|
||||||
"""
|
|
||||||
from __future__ import print_function
|
|
||||||
|
|
||||||
-from boom import *
|
|
||||||
-
|
|
||||||
from os.path import dirname
|
|
||||||
|
|
||||||
from os import fdopen, rename, chmod, fdatasync
|
|
||||||
from tempfile import mkstemp
|
|
||||||
import logging
|
|
||||||
|
|
||||||
+from boom import *
|
|
||||||
+
|
|
||||||
try:
|
|
||||||
# Python2
|
|
||||||
from ConfigParser import SafeConfigParser as ConfigParser, ParsingError
|
|
||||||
diff --git a/boom/hostprofile.py b/boom/hostprofile.py
|
|
||||||
index d63622f..fea9753 100644
|
|
||||||
--- a/boom/hostprofile.py
|
|
||||||
+++ b/boom/hostprofile.py
|
|
||||||
@@ -31,14 +31,14 @@ property names) are identical to those used by the ``OsProfile`` class.
|
|
||||||
"""
|
|
||||||
from __future__ import print_function
|
|
||||||
|
|
||||||
-from boom import *
|
|
||||||
-from boom.osprofile import *
|
|
||||||
-
|
|
||||||
from hashlib import sha1
|
|
||||||
from os.path import join as path_join
|
|
||||||
import logging
|
|
||||||
import string
|
|
||||||
|
|
||||||
+from boom import *
|
|
||||||
+from boom.osprofile import *
|
|
||||||
+
|
|
||||||
# Module logging configuration
|
|
||||||
_log = logging.getLogger(__name__)
|
|
||||||
_log.set_debug_mask(BOOM_DEBUG_PROFILE)
|
|
||||||
diff --git a/boom/legacy.py b/boom/legacy.py
|
|
||||||
index 389ed90..715358c 100644
|
|
||||||
--- a/boom/legacy.py
|
|
||||||
+++ b/boom/legacy.py
|
|
||||||
@@ -20,9 +20,6 @@ all entries from the legacy configuration file.
|
|
||||||
"""
|
|
||||||
from __future__ import print_function
|
|
||||||
|
|
||||||
-from boom import *
|
|
||||||
-from boom.bootloader import *
|
|
||||||
-
|
|
||||||
from subprocess import Popen, PIPE
|
|
||||||
from os.path import dirname, exists, isabs, join as path_join
|
|
||||||
from os import chmod, dup, fdatasync, fdopen, rename, unlink
|
|
||||||
@@ -30,6 +27,9 @@ from tempfile import mkstemp
|
|
||||||
import logging
|
|
||||||
import re
|
|
||||||
|
|
||||||
+from boom import *
|
|
||||||
+from boom.bootloader import *
|
|
||||||
+
|
|
||||||
#: Format strings use to construct begin/end markers
|
|
||||||
BOOM_LEGACY_BEGIN_FMT = "#--- BOOM_%s_BEGIN ---"
|
|
||||||
BOOM_LEGACY_END_FMT = "#--- BOOM_%s_END ---"
|
|
||||||
diff --git a/boom/osprofile.py b/boom/osprofile.py
|
|
||||||
index f05671f..e20d2fb 100644
|
|
||||||
--- a/boom/osprofile.py
|
|
||||||
+++ b/boom/osprofile.py
|
|
||||||
@@ -34,7 +34,6 @@ are suitable for display use and are used by default by the
|
|
||||||
"""
|
|
||||||
from __future__ import print_function
|
|
||||||
|
|
||||||
-from boom import *
|
|
||||||
from hashlib import sha1
|
|
||||||
from tempfile import mkstemp
|
|
||||||
from os.path import basename, join as path_join, exists as path_exists
|
|
||||||
@@ -42,6 +41,8 @@ from os import fdopen, rename, chmod, unlink, fdatasync
|
|
||||||
import logging
|
|
||||||
import re
|
|
||||||
|
|
||||||
+from boom import *
|
|
||||||
+
|
|
||||||
#: Boom profiles directory name.
|
|
||||||
BOOM_PROFILES = "profiles"
|
|
||||||
|
|
||||||
diff --git a/boom/report.py b/boom/report.py
|
|
||||||
index fdbd3ab..d024013 100644
|
|
||||||
--- a/boom/report.py
|
|
||||||
+++ b/boom/report.py
|
|
||||||
@@ -29,10 +29,11 @@ mapper reports.
|
|
||||||
"""
|
|
||||||
from __future__ import print_function
|
|
||||||
|
|
||||||
-from boom import find_minimum_sha_prefix, BOOM_DEBUG_REPORT
|
|
||||||
import logging
|
|
||||||
import sys
|
|
||||||
|
|
||||||
+from boom import find_minimum_sha_prefix, BOOM_DEBUG_REPORT
|
|
||||||
+
|
|
||||||
_log = logging.getLogger(__name__)
|
|
||||||
_log.set_debug_mask(BOOM_DEBUG_REPORT)
|
|
||||||
|
|
||||||
--
|
|
||||||
2.40.1
|
|
||||||
|
|
18
0002-man-Fix-line-starting-with.patch
Normal file
18
0002-man-Fix-line-starting-with.patch
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
man/man8/boom.8 | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/man/man8/boom.8 b/man/man8/boom.8
|
||||||
|
index 7b862e7..9eee048 100644
|
||||||
|
--- a/man/man8/boom.8
|
||||||
|
+++ b/man/man8/boom.8
|
||||||
|
@@ -1168,8 +1168,8 @@ describing the properties of the configured host profiles.
|
||||||
|
|
||||||
|
The list of fields to display is given with \fB--options\fP as a comma
|
||||||
|
separated list of field names. To obtain a list of available fields run
|
||||||
|
-'\fBboom host list -o help\fP'. If the list of fields begins with the
|
||||||
|
-'\fB+\fP' character the specified fields are appended to the default
|
||||||
|
+\&'\fBboom host list -o help\fP'. If the list of fields begins with the
|
||||||
|
+\&'\fB+\fP' character the specified fields are appended to the default
|
||||||
|
field list. Otherwise the given list of fields replaces the default set
|
||||||
|
of report fields.
|
||||||
|
|
@ -1,28 +0,0 @@
|
|||||||
From f82215bded722e972a2b358ddd6a45bc36a4a3bb Mon Sep 17 00:00:00 2001
|
|
||||||
From: "Bryn M. Reeves" <bmr@redhat.com>
|
|
||||||
Date: Thu, 4 May 2023 18:23:31 +0100
|
|
||||||
Subject: [PATCH 3/3] boom: fix unclosed file warning for /proc/cmdline
|
|
||||||
|
|
||||||
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
||||||
(cherry picked from commit bd194eeb646198c28f3e79769175c0cf0843e523)
|
|
||||||
---
|
|
||||||
boom/command.py | 3 ++-
|
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/boom/command.py b/boom/command.py
|
|
||||||
index 37172dc..07d229a 100644
|
|
||||||
--- a/boom/command.py
|
|
||||||
+++ b/boom/command.py
|
|
||||||
@@ -1923,7 +1923,8 @@ def os_options_from_cmdline():
|
|
||||||
options = ""
|
|
||||||
vg_lv_name = None
|
|
||||||
have_root = False
|
|
||||||
- cmdline = open("/proc/cmdline").read().strip()
|
|
||||||
+ with open("/proc/cmdline") as proc_cmdline:
|
|
||||||
+ cmdline = proc_cmdline.read().strip()
|
|
||||||
for word in cmdline.split():
|
|
||||||
if word.startswith("root="):
|
|
||||||
have_root = True
|
|
||||||
--
|
|
||||||
2.40.1
|
|
||||||
|
|
16
0003-report-fix-docstring-typo-objecct.patch
Normal file
16
0003-report-fix-docstring-typo-objecct.patch
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
boom/report.py | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/boom/report.py b/boom/report.py
|
||||||
|
index 8e55aa3..f7ff4a1 100644
|
||||||
|
--- a/boom/report.py
|
||||||
|
+++ b/boom/report.py
|
||||||
|
@@ -121,7 +121,7 @@ class BoomReportOpts(object):
|
||||||
|
|
||||||
|
class BoomReportObjType(object):
|
||||||
|
"""BoomReportObjType()
|
||||||
|
- Class representing a type of objecct to be reported on.
|
||||||
|
+ Class representing a type of object to be reported on.
|
||||||
|
Instances of ``BoomReportObjType`` must specify an identifier,
|
||||||
|
a description, and a data function that will return the correct
|
||||||
|
type of object from a compound object containing data objects
|
16
0004-command-fix-docstring-typo-or-OsError.patch
Normal file
16
0004-command-fix-docstring-typo-or-OsError.patch
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
boom/command.py | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/boom/command.py b/boom/command.py
|
||||||
|
index be638df..c9c2f6b 100644
|
||||||
|
--- a/boom/command.py
|
||||||
|
+++ b/boom/command.py
|
||||||
|
@@ -657,7 +657,7 @@ def create_entry(title, version, machine_id, root_device, lvm_root_lv=None,
|
||||||
|
:returns: a ``BootEntry`` object corresponding to the new entry.
|
||||||
|
:rtype: ``BootEntry``
|
||||||
|
:raises: ``ValueError`` if either required values are missing or
|
||||||
|
- a duplicate entry exists, or``OsError`` if an error
|
||||||
|
+ a duplicate entry exists, or ``OsError`` if an error
|
||||||
|
occurs while writing the entry file.
|
||||||
|
"""
|
||||||
|
if not title and not profile.title:
|
@ -0,0 +1,54 @@
|
|||||||
|
boom/command.py | 5 +++--
|
||||||
|
tests/command_tests.py | 16 ++++++++++++++++
|
||||||
|
2 files changed, 19 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/boom/command.py b/boom/command.py
|
||||||
|
index c9c2f6b..feb5b65 100644
|
||||||
|
--- a/boom/command.py
|
||||||
|
+++ b/boom/command.py
|
||||||
|
@@ -1883,7 +1883,8 @@ def _optional_key_to_arg(optional_key):
|
||||||
|
_key_map = {
|
||||||
|
BOOM_ENTRY_GRUB_USERS: "--grub-users",
|
||||||
|
BOOM_ENTRY_GRUB_ARG: "--grub-arg",
|
||||||
|
- BOOM_ENTRY_GRUB_CLASS: "--grub-class"
|
||||||
|
+ BOOM_ENTRY_GRUB_CLASS: "--grub-class",
|
||||||
|
+ BOOM_ENTRY_GRUB_ID: "--grub-id"
|
||||||
|
}
|
||||||
|
return _key_map[optional_key] if optional_key in _key_map else None
|
||||||
|
|
||||||
|
@@ -1914,7 +1915,7 @@ def _set_optional_key_defaults(profile, cmd_args):
|
||||||
|
if bls_key not in profile.optional_keys:
|
||||||
|
if getattr(cmd_args, bls_key) is not None:
|
||||||
|
print("Profile with os_id='%s' does not support %s" %
|
||||||
|
- (profile.disp_os_id, _optional_key_to_arg(bls_key)))
|
||||||
|
+ (profile.disp_os_id, _optional_key_to_arg(opt_key)))
|
||||||
|
return 1
|
||||||
|
else:
|
||||||
|
if getattr(cmd_args, bls_key) is None:
|
||||||
|
diff --git a/tests/command_tests.py b/tests/command_tests.py
|
||||||
|
index 00cda3b..d7a766a 100644
|
||||||
|
--- a/tests/command_tests.py
|
||||||
|
+++ b/tests/command_tests.py
|
||||||
|
@@ -244,6 +244,22 @@ class CommandHelperTests(unittest.TestCase):
|
||||||
|
(add_opts, del_opts) = _merge_add_del_opts(bp, to_add, to_del)
|
||||||
|
self.assertEqual(["log_buf_len=16M", "debug"], add_opts)
|
||||||
|
|
||||||
|
+ def test__optional_key_to_arg_valid(self):
|
||||||
|
+ _optional_key_to_arg = boom.command._optional_key_to_arg
|
||||||
|
+ valid_keys_and_args = {
|
||||||
|
+ "BOOM_ENTRY_GRUB_USERS": "--grub-users",
|
||||||
|
+ "BOOM_ENTRY_GRUB_ARG": "--grub-arg",
|
||||||
|
+ "BOOM_ENTRY_GRUB_CLASS": "--grub-class",
|
||||||
|
+ "BOOM_ENTRY_GRUB_ID": "--grub-id"
|
||||||
|
+ }
|
||||||
|
+ for opt_key in valid_keys_and_args.keys():
|
||||||
|
+ self.assertEqual(_optional_key_to_arg(opt_key),
|
||||||
|
+ valid_keys_and_args[opt_key])
|
||||||
|
+
|
||||||
|
+ def test__optional_key_to_arg_invalid(self):
|
||||||
|
+ _optional_key_to_arg = boom.command._optional_key_to_arg
|
||||||
|
+ self.assertEqual(_optional_key_to_arg("INVALID_KEY"), None)
|
||||||
|
+
|
||||||
|
|
||||||
|
# Default test OsProfile identifiers
|
||||||
|
test_os_id = "9cb53ddda889d6285fd9ab985a4c47025884999f"
|
@ -2,24 +2,26 @@
|
|||||||
%global sphinx_docs 1
|
%global sphinx_docs 1
|
||||||
|
|
||||||
Name: boom-boot
|
Name: boom-boot
|
||||||
Version: 1.5.1
|
Version: 1.3
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
Summary: %{summary}
|
Summary: %{summary}
|
||||||
|
|
||||||
License: GPLv2
|
License: GPLv2
|
||||||
URL: https://github.com/snapshotmanager/boom
|
URL: https://github.com/snapshotmanager/boom
|
||||||
Source0: https://github.com/snapshotmanager/boom/archive/%{version}/boom-%{version}.tar.gz
|
Source0: https://github.com/snapshotmanager/boom/archive/%{version}/boom-%{version}.tar.gz
|
||||||
Patch1: 0001-Fix-typos-across-tree.patch
|
Patch0: Disable-GRUB2-plugin-on-RHEL-8.patch
|
||||||
Patch2: 0002-Fix-system-vs.-project-import-ordering.patch
|
Patch1: 0001-etc-Remove-executable-permission-from-etc-default-bo.patch
|
||||||
Patch3: 0003-boom-fix-unclosed-file-warning-for-proc-cmdline.patch
|
Patch2: 0002-man-Fix-line-starting-with.patch
|
||||||
|
Patch3: 0003-report-fix-docstring-typo-objecct.patch
|
||||||
|
Patch4: 0004-command-fix-docstring-typo-or-OsError.patch
|
||||||
|
# BZ 1929838:
|
||||||
|
Patch5: 0005-command-fix-optional-BLS-key-to-command-line-argumen.patch
|
||||||
|
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
BuildRequires: make
|
|
||||||
BuildRequires: python3-setuptools
|
BuildRequires: python3-setuptools
|
||||||
BuildRequires: python3-devel
|
BuildRequires: python3-devel
|
||||||
%if 0%{?sphinx_docs}
|
%if 0%{?sphinx_docs}
|
||||||
BuildRequires: python3-dbus
|
|
||||||
BuildRequires: python3-sphinx
|
BuildRequires: python3-sphinx
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: make
|
BuildRequires: make
|
||||||
@ -27,8 +29,6 @@ BuildRequires: make
|
|||||||
Requires: python3-boom = %{version}-%{release}
|
Requires: python3-boom = %{version}-%{release}
|
||||||
Requires: %{name}-conf = %{version}-%{release}
|
Requires: %{name}-conf = %{version}-%{release}
|
||||||
|
|
||||||
Obsoletes: boom-boot-grub2 <= 1.3
|
|
||||||
|
|
||||||
%package -n python3-boom
|
%package -n python3-boom
|
||||||
Summary: %{summary}
|
Summary: %{summary}
|
||||||
# Unsupported on RHEL-8 :-(
|
# Unsupported on RHEL-8 :-(
|
||||||
@ -47,6 +47,10 @@ Conflicts: boom
|
|||||||
%package conf
|
%package conf
|
||||||
Summary: %{summary}
|
Summary: %{summary}
|
||||||
|
|
||||||
|
%package grub2
|
||||||
|
Summary: %{summary}
|
||||||
|
Supplements: (grub2 and boom-boot = %{version}-%{release})
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Boom is a boot manager for Linux systems using boot loaders that support
|
Boom is a boot manager for Linux systems using boot loaders that support
|
||||||
the BootLoader Specification for boot entry configuration.
|
the BootLoader Specification for boot entry configuration.
|
||||||
@ -75,8 +79,25 @@ include this support in both Red Hat Enterprise Linux 7 and Fedora).
|
|||||||
|
|
||||||
This package provides configuration files for boom.
|
This package provides configuration files for boom.
|
||||||
|
|
||||||
|
%description grub2
|
||||||
|
Boom is a boot manager for Linux systems using boot loaders that support
|
||||||
|
the BootLoader Specification for boot entry configuration.
|
||||||
|
|
||||||
|
Boom requires a BLS compatible boot loader to function: either the
|
||||||
|
systemd-boot project, or Grub2 with the BLS patch (Red Hat Grub2 builds
|
||||||
|
include this support in both Red Hat Enterprise Linux 7 and Fedora).
|
||||||
|
|
||||||
|
This package provides integration scripts for grub2 bootloader.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1 -n boom-%{version}
|
%setup -n boom-%{version}
|
||||||
|
# NOTE: Do not use backup extension - MANIFEST.in is picking them
|
||||||
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
|
%patch4 -p1
|
||||||
|
%patch5 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%if 0%{?sphinx_docs}
|
%if 0%{?sphinx_docs}
|
||||||
@ -91,6 +112,12 @@ rm -r doc/_build
|
|||||||
%install
|
%install
|
||||||
%py3_install
|
%py3_install
|
||||||
|
|
||||||
|
# Install Grub2 integration scripts
|
||||||
|
mkdir -p ${RPM_BUILD_ROOT}/etc/grub.d
|
||||||
|
mkdir -p ${RPM_BUILD_ROOT}/etc/default
|
||||||
|
install -m 755 etc/grub.d/42_boom ${RPM_BUILD_ROOT}/etc/grub.d
|
||||||
|
install -m 644 etc/default/boom ${RPM_BUILD_ROOT}/etc/default
|
||||||
|
|
||||||
# Make configuration directories
|
# Make configuration directories
|
||||||
# mode 0700 - in line with /boot/grub2 directory:
|
# mode 0700 - in line with /boot/grub2 directory:
|
||||||
install -d -m 700 ${RPM_BUILD_ROOT}/boot/boom/profiles
|
install -d -m 700 ${RPM_BUILD_ROOT}/boot/boom/profiles
|
||||||
@ -98,7 +125,7 @@ install -d -m 700 ${RPM_BUILD_ROOT}/boot/boom/hosts
|
|||||||
install -d -m 700 ${RPM_BUILD_ROOT}/boot/loader/entries
|
install -d -m 700 ${RPM_BUILD_ROOT}/boot/loader/entries
|
||||||
install -d -m 700 ${RPM_BUILD_ROOT}/boot/boom/cache
|
install -d -m 700 ${RPM_BUILD_ROOT}/boot/boom/cache
|
||||||
install -m 644 examples/boom.conf ${RPM_BUILD_ROOT}/boot/boom
|
install -m 644 examples/boom.conf ${RPM_BUILD_ROOT}/boot/boom
|
||||||
#install -m 644 examples/profiles/*.profile ${RPM_BUILD_ROOT}/boot/boom/profiles
|
install -m 644 examples/profiles/*.profile ${RPM_BUILD_ROOT}/boot/boom/profiles
|
||||||
|
|
||||||
mkdir -p ${RPM_BUILD_ROOT}/%{_mandir}/man8
|
mkdir -p ${RPM_BUILD_ROOT}/%{_mandir}/man8
|
||||||
mkdir -p ${RPM_BUILD_ROOT}/%{_mandir}/man5
|
mkdir -p ${RPM_BUILD_ROOT}/%{_mandir}/man5
|
||||||
@ -132,15 +159,19 @@ rm doc/conf.py
|
|||||||
%dir /boot/boom
|
%dir /boot/boom
|
||||||
%config(noreplace) /boot/boom/boom.conf
|
%config(noreplace) /boot/boom/boom.conf
|
||||||
%dir /boot/boom/profiles
|
%dir /boot/boom/profiles
|
||||||
|
%config(noreplace) /boot/boom/profiles/*
|
||||||
%dir /boot/boom/hosts
|
%dir /boot/boom/hosts
|
||||||
%dir /boot/boom/cache
|
%dir /boot/boom/cache
|
||||||
%dir /boot/loader/entries
|
%dir /boot/loader/entries
|
||||||
|
|
||||||
|
%files grub2
|
||||||
|
%license COPYING
|
||||||
|
%doc README.md
|
||||||
|
%{_sysconfdir}/grub.d/42_boom
|
||||||
|
%config(noreplace) %{_sysconfdir}/default/boom
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Wed May 17 2023 Marian Csontos <mcsontos@redhat.com> - 1.5.1-1
|
|
||||||
- Update to release 1.5.1.
|
|
||||||
|
|
||||||
* Tue Jun 15 2021 Marian Csontos <mcsontos@redhat.com> 1.3-2
|
* Tue Jun 15 2021 Marian Csontos <mcsontos@redhat.com> 1.3-2
|
||||||
- Fix --grub-id option handling.
|
- Fix --grub-id option handling.
|
||||||
|
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (boom-1.5.1.tar.gz) = fa69d443bd553a35d0ba5fc825fba84b40382cd52d86f50b51d32e1f54c1698b1733044bfa048f580084a3ad3d10f1924113f82e24169ae40662d2961d6a8038
|
SHA512 (boom-1.3.tar.gz) = b11ba8c81b2d70104181065620948f51b0999dbccff42b7af71e31a0c1ab3e3730dab739be7f08024f0df1eafabc4e33b747518e816b314a54d30769c5622b0a
|
||||||
|
Loading…
Reference in New Issue
Block a user