diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2016-09-24 09:03:54 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-09-24 09:03:54 -0400 |
commit | eb93312810937b63bef884479ffb304452ce5385 (patch) | |
tree | 2d55d51fe811904dd86dc8dcd37f7782fbb93b6d /src | |
parent | 2541b135bf481575a150960889a636a0c1688e1d (diff) |
kernel-install: allow plugins to terminate the procedure (#4174)
Replaces #4103.
Diffstat (limited to 'src')
-rw-r--r-- | src/kernel-install/kernel-install | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/kernel-install/kernel-install b/src/kernel-install/kernel-install index c66bcfc092..0c0ee718ac 100644 --- a/src/kernel-install/kernel-install +++ b/src/kernel-install/kernel-install @@ -19,6 +19,8 @@ # You should have received a copy of the GNU Lesser General Public License # along with systemd; If not, see <http://www.gnu.org/licenses/>. +SKIP_REMAINING=77 + usage() { echo "Usage:" @@ -123,7 +125,11 @@ case $COMMAND in for f in "${PLUGINS[@]}"; do if [[ -x $f ]]; then "$f" add "$KERNEL_VERSION" "$BOOT_DIR_ABS" "$KERNEL_IMAGE" - ((ret+=$?)) + x=$? + if [[ $x == $SKIP_REMAINING ]]; then + return 0 + fi + ((ret+=$x)) fi done ;; @@ -132,7 +138,11 @@ case $COMMAND in for f in "${PLUGINS[@]}"; do if [[ -x $f ]]; then "$f" remove "$KERNEL_VERSION" "$BOOT_DIR_ABS" - ((ret+=$?)) + x=$? + if [[ $x == $SKIP_REMAINING ]]; then + return 0 + fi + ((ret+=$x)) fi done |