#!/usr/bin/env bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
# SPDX-License-Identifier: LGPL-2.1-or-later
#
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# systemd is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with systemd; If not, see <http://www.gnu.org/licenses/>.

COMMAND="$1"
KERNEL_VERSION="$2"
ENTRY_DIR_ABS="$3"
KERNEL_IMAGE="$4"
INITRD_OPTIONS_START="5"

[[ $KERNEL_VERSION ]] || exit 1

case "$COMMAND" in
    add)
        [[ -d "/lib/modules/${KERNEL_VERSION}/kernel" ]] || exit 0
        [ "$KERNEL_INSTALL_VERBOSE" -gt 0 ] && \
            echo "Running depmod -a ${KERNEL_VERSION}"
        exec depmod -a "${KERNEL_VERSION}"
        ;;
    remove)
        [ "$KERNEL_INSTALL_VERBOSE" -gt 0 ] && \
            echo "Removing /lib/modules/${KERNEL_VERSION}/modules.dep and associated files"
        exec rm -f /lib/modules/"${KERNEL_VERSION}"/modules.{alias{,.bin},builtin{,.alias}.bin,dep{,.bin},devname,softdep,symbols{,.bin}}
        ;;
    *)
        exit 0
esac
