Merge "TBR: v.io/jiri/profiles/commandline: cleanup rm-all needs to chmod profiles dir."
diff --git a/profiles/commandline/driver.go b/profiles/commandline/driver.go
index 5c5614e..94e9df9 100644
--- a/profiles/commandline/driver.go
+++ b/profiles/commandline/driver.go
@@ -12,7 +12,6 @@
"bytes"
"flag"
"fmt"
- "os"
"path/filepath"
"strings"
"text/template"
@@ -539,11 +538,18 @@
}
func runRmAll(ctx *tool.Context) error {
- if err := ctx.Run().Remove(manifestFlag); err != nil && !os.IsNotExist(err) {
- return err
+ s := ctx.NewSeq()
+ if exists, err := s.FileExists(manifestFlag); err != nil || exists {
+ if err := s.Remove(manifestFlag).Done(); err != nil {
+ return err
+ }
}
- if err := ctx.Run().RemoveAll(rootPath.Expand()); err != nil && !os.IsNotExist(err) {
- return err
+ rp := rootPath.Expand()
+ if exists, err := s.DirectoryExists(rp); err != nil || exists {
+ if err := s.Run("chmod", "-R", "u+w", rp).
+ RemoveAll(rp).Done(); err != nil {
+ return err
+ }
}
return nil
}