| Commit message (Collapse) | Author | Age | Lines |
|
|
|
|
|
| |
kern(1) is supposed to be used on Gentoo Linux, and the canonical
location for kernels is /usr/src. Until there is an actual need to have
the user override this location, remove SRCDIR and inline its contents.
|
|
|
|
|
|
| |
get_selected_kernel uses eselect(1) to retrieve the currently selected
kernel. Since the eselect tool itself does nothing other than invoke
readlink(1) on /usr/src/linux, use that instead.
|
|
|
|
|
|
|
|
| |
In a similar vein to commit 5f83bed ("Use consistent and explicit
terminology in set_kernel()"), the term "current" kernel is ambiguous
here. An upcoming commit will introduce the concept of the "running
config", which is the kernel configuration the currently running kernel
uses. To reduce any ambiguity, use "selected" instead of "current".
|
|
|
|
|
| |
Use a more succinct and clear style in two places by converting if
commands into simple OR lists.
|
|
|
|
|
| |
Since fragment merging will fail if the base template does not exist,
make sure to mention it in the manual.
|
|
|
|
|
|
| |
It was really never a good idea to make this a fatal error, especially
considering consecutive calls of kern(1) without any arguments will fail
after the kernel has been set successfully once.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we recorded the return value of the sed ... | diff pipeline
into a variable and later used it to test whether the command returned
successfully or not. Since we enable errexit, this meant that the diff
command failing would terminate the execution of the whole script.
We are unsure how this was not caught earlier as the script has been in
use for quite a while now - it is possible that bash 5.0 shows different
behaviour here. It is our understanding that bash's current behaviour is
correct, however.
Instead of using a variable to store the return value, put the whole
pipeline into an if clause, and react to its success or failure there.
Whilst this does remove our ability to indicate diff's actual return
value, it makes this test simpler and more straightforward.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
With the introduction of the manuals, we realized that the term "active
kernel" is ambiguous. It might refer to both the currently selected
kernel in eselect and the kernel the system is running on at the moment.
Use "selected" instead of "active" to make this more explicit and line
it up with the usage in the manual.
|
| |
|
|
|
|
|
| |
Since the script uses the `set -e' option, chaining together commands
with && will fully negate its effects.
|
| |
|
|
|
|
|
|
|
| |
This commit adds code to check whether /boot is mounted or not, and will
skip the mount command if the path is already mounted. This will fix an
issue where the script exited prematurely if /boot was already present,
as the mount command failed and we use `set -e'.
|
|
|
|
|
|
| |
For differences in config files that can safely be ignored, introduce
the possibility of continuing with the build and install instead of
exiting unconditionally.
|
|
|
|
|
|
|
| |
If the user removes the old kernel sources whilst still having the
symlink point to the kernel directory, eselect will issue a warning
about an invalid kernel target. For the purposes of kern, we can safely
ignore this warning.
|
|
|