in pkg/linuxutils/linuxutils.go [32:60]
func TryDeleteDirectories(ctx *log.Context, parentDirectory string) error {
// Check if the directory exists
directoryFDRef, err := os.Open(parentDirectory)
if err != nil {
return errors.Wrap(err, "could not open parent directory")
}
dirEntries, err := directoryFDRef.ReadDir(0)
if err != nil {
return errors.Wrap(err, "could not read contents from directory")
}
if dirEntries != nil {
for _, dirEntry := range dirEntries {
if dirEntry.IsDir() {
fullDirectoryPath := filepath.Join(parentDirectory, dirEntry.Name())
ctx.Log("message", "trying to remove directory: "+fullDirectoryPath)
err = os.RemoveAll(fullDirectoryPath)
if err != nil {
ctx.Log("warning", "could not delete directory", "error", err)
}
}
}
return nil
}
return err
}