Compare commits

...

No commits in common. "imports/c8-beta/boom-boot-1.0-1.el8" and "c8" have entirely different histories.

11 changed files with 142 additions and 81 deletions

View File

@ -1 +1 @@
2234a16cde5e1634b25834a9891061c01bec1f48 SOURCES/boom-1.0.tar.gz
4c95e888f7aecd9dd809c6f0d44ce650a5ae07da SOURCES/boom-1.3.tar.gz

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/boom-1.0.tar.gz
SOURCES/boom-1.3.tar.gz

View File

@ -1,16 +0,0 @@
boom/command.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/boom/command.py b/boom/command.py
index a113c21..487b9bd 100644
--- a/boom/command.py
+++ b/boom/command.py
@@ -908,7 +908,7 @@ def _uname_heuristic(name, version_id):
}
if name in _name_to_uname:
- return "%s%s" % (_name_to_uname[name], version_id)
+ return "%s%s" % (_name_to_uname[name], version_id.replace(".", "_"))
return None

View File

@ -1,32 +0,0 @@
boom/_boom.py | 2 +-
boom/command.py | 4 +---
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/boom/_boom.py b/boom/_boom.py
index 4a84b78..d8fff54 100644
--- a/boom/_boom.py
+++ b/boom/_boom.py
@@ -629,7 +629,7 @@ class Selection(object):
os_version_id=args.os_version_id,
os_options=args.os_options,
os_uname_pattern=args.uname_pattern,
- host_id=args.host_profile)
+ host_id=args.host_id)
_log_debug("Initialised %s from arguments" % repr(s))
return s
diff --git a/boom/command.py b/boom/command.py
index 487b9bd..5a50f98 100644
--- a/boom/command.py
+++ b/boom/command.py
@@ -2787,9 +2787,7 @@ def main(args):
help="Take os-release values from the running host",
action="store_true")
parser.add_argument("-P", "--host-profile", metavar="PROFILE", type=str,
- help="A boom host profile identifier")
- parser.add_argument("--host-id", metavar="HOSTID", type=str,
- help="A host profile identifier")
+ help="A boom host profile identifier", dest="host_id")
parser.add_argument("--host-name", metavar="HOSTNAME", type=str,
help="The host name associated with a host profile")
parser.add_argument("-i", "--initrd", metavar="IMG", type=str,

View File

@ -2,10 +2,10 @@
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/man/man8/boom.8 b/man/man8/boom.8
index 28bad24..cfc736a 100644
index 7b862e7..9eee048 100644
--- a/man/man8/boom.8
+++ b/man/man8/boom.8
@@ -1114,8 +1114,8 @@ describing the properties of the configured host profiles.
@@ -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

View File

@ -1,22 +0,0 @@
.../entries/611f38fd887d41dea7eb3403b2730a76-12ce4b8-4.1.1-100.fc24.conf | 1 -
.../entries/611f38fd887d41dea7eb3403b2730a76-f2ebf21-3.10-23.el7.conf | 1 -
2 files changed, 2 deletions(-)
delete mode 120000 examples/entries/611f38fd887d41dea7eb3403b2730a76-12ce4b8-4.1.1-100.fc24.conf
delete mode 120000 examples/entries/611f38fd887d41dea7eb3403b2730a76-f2ebf21-3.10-23.el7.conf
diff --git a/examples/entries/611f38fd887d41dea7eb3403b2730a76-12ce4b8-4.1.1-100.fc24.conf b/examples/entries/611f38fd887d41dea7eb3403b2730a76-12ce4b8-4.1.1-100.fc24.conf
deleted file mode 120000
index 70b5b3f..0000000
--- a/examples/entries/611f38fd887d41dea7eb3403b2730a76-12ce4b8-4.1.1-100.fc24.conf
+++ /dev/null
@@ -1 +0,0 @@
-../../tests/loader/entries/611f38fd887d41dea7eb3403b2730a76-12ce4b8-4.1.1-100.fc24.conf
\ No newline at end of file
diff --git a/examples/entries/611f38fd887d41dea7eb3403b2730a76-f2ebf21-3.10-23.el7.conf b/examples/entries/611f38fd887d41dea7eb3403b2730a76-f2ebf21-3.10-23.el7.conf
deleted file mode 120000
index 4a62f7d..0000000
--- a/examples/entries/611f38fd887d41dea7eb3403b2730a76-f2ebf21-3.10-23.el7.conf
+++ /dev/null
@@ -1 +0,0 @@
-../../tests/loader/entries/611f38fd887d41dea7eb3403b2730a76-f2ebf21-3.10-23.el7.conf
\ No newline at end of file

View 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

View 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:

View File

@ -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"

View File

@ -2,19 +2,20 @@
%global sphinx_docs 1
Name: boom-boot
Version: 1.0
Release: 1%{?dist}
Version: 1.3
Release: 2%{?dist}
Summary: %{summary}
License: GPLv2
URL: https://github.com/snapshotmanager/boom
Source0: https://github.com/snapshotmanager/boom/archive/%{version}/boom-%{version}.tar.gz
Patch0: Disable-GRUB2-plugin-on-RHEL-8.patch
Patch1: 0001-boom.command-replace-.-with-_-in-automatic-uname-pat.patch
Patch2: 0002-boom.command-remove-duplicate-host-profile-argument.patch
Patch3: 0003-examples-Remove-dangling-symlinks-in-entries.patch
Patch4: 0004-etc-Remove-executable-permission-from-etc-default-bo.patch
Patch5: 0005-man-Fix-line-starting-with.patch
Patch1: 0001-etc-Remove-executable-permission-from-etc-default-bo.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
@ -23,6 +24,7 @@ BuildRequires: python3-devel
%if 0%{?sphinx_docs}
BuildRequires: python3-sphinx
%endif
BuildRequires: make
Requires: python3-boom = %{version}-%{release}
Requires: %{name}-conf = %{version}-%{release}
@ -121,7 +123,9 @@ install -m 644 etc/default/boom ${RPM_BUILD_ROOT}/etc/default
install -d -m 700 ${RPM_BUILD_ROOT}/boot/boom/profiles
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/boom/cache
install -m 644 examples/boom.conf ${RPM_BUILD_ROOT}/boot/boom
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}/man5
@ -155,7 +159,9 @@ rm doc/conf.py
%dir /boot/boom
%config(noreplace) /boot/boom/boom.conf
%dir /boot/boom/profiles
%config(noreplace) /boot/boom/profiles/*
%dir /boot/boom/hosts
%dir /boot/boom/cache
%dir /boot/loader/entries
%files grub2
@ -166,6 +172,45 @@ rm doc/conf.py
%changelog
* Tue Jun 15 2021 Marian Csontos <mcsontos@redhat.com> 1.3-2
- Fix --grub-id option handling.
* Sat Jan 30 2021 Marian Csontos <mcsontos@redhat.com> 1.3-1
- Check for duplicates consistently in the clone and edit commands.
- Apply correct command line precedence to --add-opts and --del-opts.
- Correctly merge multiple --add/del-opts when editing or cloning.
- Correctly propagate --add/del-opts in boom edit commands.
- Enhanced logging of --add/del-opts merge logic.
- The default Python interpreter is now /usr/bin/python.
- Fixed re-ordering of options modifications when read from disk.
- Do not set BootParams attributes for anonymous option words.
- Make lvm_root_lv validation checks more strict.
- Improve BootParams.from_entry() parameter recovery debug logging.
- Include sample OsProfile for Fedora 32.
- Re-set sandbox state in test suite to ensure run-to-run consistency.
- Improve compatibility with Red Hat BLS implementation.
- Allow non-boom managed entries to be listed and displayed.
- Handle quirks in Red Hat's use of the BLS machine_id key.
- Allow grub2 bootloader variables to be expanded when cloning entries.
- Simplify clone_entry logic and make consistent with edit_entry.
- Ensure stable ordering of legacy boot entry configuration.
* Mon Jun 29 2020 Marian Csontos <mcsontos@redhat.com> 1.2-2
- Fix RHEL-8 profiles.
- Fix --add/del-opt precedence.
- Fix backup image reference counting.
* Sun Jun 07 2020 Marian Csontos <mcsontos@redhat.com> 1.2-1
- Update to bug fix release 1.2.
* Tue May 26 2020 Marian Csontos <mcsontos@redhat.com> 1.1-2
- Fix unicode entries handling.
- Add tracebacks when --debug is used.
* Thu May 14 2020 Marian Csontos <mcsontos@redhat.com> 1.1-1
- Update to new upstream release 1.1.
- Add caching of kernel and init ramdisk images.
* Fri Nov 29 2019 Marian Csontos <mcsontos@redhat.com> 1.0-1
- Update to new upstream release 1.0.