blob: f178b2712173c458f121a57cf845fbb3232fbfaf [file] [log] [blame]
package actions
import (
"context"
"strings"
"cos.googlesource.com/cos/tools.git/src/pkg/dkms"
"github.com/spf13/cobra"
)
var installCmd = &cobra.Command{
Use: "install",
Short: "Installs a module into the install tree",
Long: strings.TrimSpace(`
Installs all of the modules from a DKMS package into the install tree.
If the package is not already added to the DKMS source tree, this will try to
add it. If the package is not already built, this will try to build it.
See the add and build commands for more details.
For each module in the package, this will check if the version being
installed is newer than the version of the module which is already
installed, if applicable. If the module version is older than the one
already installed, this will skip installing that module and emit an info
message. --force-version-override can be passed to bypass the version
check and install the module anyway.
If --modprobe-on-install is passed, then modprobe will be called on
the module after it is copied to the install tree to insert it into the
running kernel. depmod is run first in order to recalculate any module
dependencies, unless --no-depmod is also passed.
`),
Args: ParseArgs,
RunE: func(cmd *cobra.Command, args []string) error {
if RootGCSBucket == nil {
return dkms.Install(RootPackage, RootOptions)
} else {
return dkms.CachedInstall(context.Background(), RootPackage, RootGCSBucket, RootOptions)
}
},
}
func init() {
rootCmd.AddCommand(installCmd)
}