In some cases users will want to remove kernels from their systems
outside an update workflow. This is fairly painful to do manually so
add a command to handle the operation which removes both the /boot
data and configuration files as well as the /usr data.
The default symlink for a kernel type will remain as this is something
that the update mechanism should be in control of and figuring out
what would be the fallback is out of cbm's scope.
Signed-off-by: William Douglas <william.douglas@intel.com>
- `bash` completion now has completions for sub-commands. Notably,
for `set-kernel` sub-command, it list all kernels installed in
kernel directory. If `--path` is present, it will prepend its
argument before the kernel directory.
- Both `bash` and `zsh` completions are turned into templates, which have
two special variables, `@KERNEL_DIRECTORY@` and `@KERNEL_NAMESPACE@`.
On current Clear Linux, their default values are `/usr/lib/kernel` and
`org.clearlinux`
- `meson.build` file is modified and will replace kernel namespace and
kernel directory in completions.
Added completions for sub-commands, including
- Path completion if a sub-command accept `--path=` option
- Shows a list of kernels for `set-kernel` sub-command, where it searches for
kernels under `/usr/lib/kernel` by default, while prepends the option arg of
`--path` if it's given. If the user specified a path manually, instead of
using file path completion, and that path doesn't exist, warns user.
- Reminds the user to input a integer value for `set-timeout`
sub-command
- Adds all sub-commands to completion menu as argument to `help` sub-command
This change is designed to make it simpler to maintain clr-boot-manager
by switching to the much easier meson build system. Care is taken to
preserve the original functionality, but this will allow us to avoid
repeated issues of "failed distcheck", etc.
Additionally, a new test entry point is now included for Travis, to ensure
all relevant codepaths are properly tested. This now enables us to trivially
merge multiple runs into a single coverage report so that we can test the
code base in various "deployments".
To alleviate the issue of distributing without a `make distcheck` target,
this change vendors the `git-archive-all.sh` script into `scripts/` and
provides a port of the `budgie-desktop` `mkrelease.sh` script to quickly
and easily create a signed distribution tarball straight from git, along
with the submodules (i.e. nica).
Lastly, we'll only build the bootvar support + systemd-shim when we've
actually selected this bootloader, to ensure the project can still be built
without needing gnu-efi/efivar.
Signed-off-by: Ikey Doherty <ikey@solus-project.com>