<filename>install.conf</filename>, <filename>entry-token</filename>, and other files will be
read from this directory.</para>
+ <para><varname>$KERNEL_INSTALL_PLUGINS</varname> can be set to override the list of plugins executed by
+ <command>kernel-install</command>. The argument is a whitespace-separated list of paths.
+ <literal>KERNEL_INSTALL_PLUGINS=:</literal> may be used to prevent any plugins from running.
+ </para>
+
<para><varname>$MACHINE_ID</varname> can be set for <command>kernel-install</command> to override
<varname>$KERNEL_INSTALL_MACHINE_ID</varname>, the machine ID.</para>
ret=0
-PLUGINS="$(
- dropindirs_sort ".install" \
- "/etc/kernel/install.d" \
- "/usr/lib/kernel/install.d"
-)"
-IFS="
-"
+if [ -z "$KERNEL_INSTALL_PLUGINS" ]; then
+ KERNEL_INSTALL_PLUGINS="$(
+ dropindirs_sort ".install" \
+ "/etc/kernel/install.d" \
+ "/usr/lib/kernel/install.d"
+ )"
+fi
-[ "$KERNEL_INSTALL_VERBOSE" -gt 0 ] && printf '%s\n' "Plugin files:" "$PLUGINS"
+if [ "$KERNEL_INSTALL_VERBOSE" -gt 0 ]; then
+ printf '%s\n' "Plugin files:"
+ for f in $KERNEL_INSTALL_PLUGINS; do
+ printf '%s\n' "$f"
+ done
+fi
case "$COMMAND" in
add)
fi
fi
- for f in $PLUGINS; do
+ for f in $KERNEL_INSTALL_PLUGINS; do
[ "$KERNEL_INSTALL_VERBOSE" -gt 0 ] && echo "+$f add $KERNEL_VERSION $ENTRY_DIR_ABS" "$@"
"$f" add "$KERNEL_VERSION" "$ENTRY_DIR_ABS" "$@"
;;
remove)
- for f in $PLUGINS; do
+ for f in $KERNEL_INSTALL_PLUGINS; do
[ "$KERNEL_INSTALL_VERBOSE" -gt 0 ] && echo "+$f remove $KERNEL_VERSION $ENTRY_DIR_ABS"
"$f" remove "$KERNEL_VERSION" "$ENTRY_DIR_ABS"
err=$?