| package actions |
| |
| import ( |
| "context" |
| "strings" |
| |
| "cos.googlesource.com/cos/tools.git/src/pkg/dkms" |
| "github.com/spf13/cobra" |
| ) |
| |
| var addCmd = &cobra.Command{ |
| Use: "add", |
| Short: "Adds a package to the DKMS source tree", |
| Long: strings.TrimSpace(` |
| Adds a package to the DKMS source tree. |
| |
| This checks the user source tree (by default, /usr/src/) |
| for the package source files. If the sources don't exist there, |
| this will check the local ${package-name}-${package-version} path |
| and try to copy sources from there to the user source tree, then |
| add the copied sources to the DKMS tree. |
| |
| If a --gcs-bucket is provided, this will check the bucket for |
| sources if they are not present locally. If --upload is also |
| specified, this will upload the sources to the DKMS tree in the |
| bucket after they have been added to the local DKMS tree. |
| |
| If the DKMS tree does not already exist, this will create it. |
| If the package has already been added, this does nothing. |
| `), |
| Args: ParseArgs, |
| RunE: func(cmd *cobra.Command, args []string) error { |
| if RootGCSBucket == nil { |
| return dkms.Add(RootPackage, RootOptions) |
| } else { |
| return dkms.CachedAdd(context.Background(), RootPackage, RootGCSBucket, RootOptions) |
| } |
| }, |
| } |
| |
| func init() { |
| rootCmd.AddCommand(addCmd) |
| } |