blob: 4260be503a169d8eeda204d58b45ef62f59168f1 [file] [log] [blame] [edit]
package dkms
import (
"fmt"
"github.com/golang/glog"
"os"
)
// Uninstall removes all of the installed modules of a DKMS package from the
// install tree.
func Uninstall(pkg *Package) error {
if !IsInstalled(pkg) {
glog.Info("module is not installed; skipping removal from install tree")
return nil
}
for _, module := range pkg.Config.Modules {
destModulePath := module.DestPath()
glog.Info("removing installed module", destModulePath)
if err := os.Remove(destModulePath); err != nil {
if os.IsNotExist(err) {
glog.Warningf("could not find module at %s", destModulePath, pkg.Name)
} else {
return fmt.Errorf("error removing module %s", destModulePath)
}
}
}
return nil
}