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
 }