func EnsureWritten(cfg Cfg, includeDir string) error { // XXX: Detect these problems at error text generation time. if err := calcPriorities(cfg, CFG_SETTING_TYPE_TASK_PRIO, SYSCFG_TASK_PRIO_MAX, false); err != nil { return err } // XXX: Detect these problems at error text generation time. if err := calcPriorities(cfg, CFG_SETTING_TYPE_INTERRUPT_PRIO, SYSCFG_INTERRUPT_PRIO_MAX, true); err != nil { return err } buf := bytes.Buffer{} write(cfg, &buf) path := includeDir + "/" + HEADER_PATH writeReqd, err := util.FileContentsChanged(path, buf.Bytes()) if err != nil { return err } if !writeReqd { log.Debugf("syscfg unchanged; not writing header file (%s).", path) return nil } log.Debugf("syscfg changed; writing header file (%s).", path) if err := os.MkdirAll(filepath.Dir(path), 0755); err != nil { return util.NewNewtError(err.Error()) } if err := ioutil.WriteFile(path, buf.Bytes(), 0644); err != nil { return util.NewNewtError(err.Error()) } return nil }
func (flashMap FlashMap) ensureWrittenGen(path string, contents []byte) error { writeReqd, err := util.FileContentsChanged(path, contents) if err != nil { return err } if !writeReqd { log.Debugf("flash map unchanged; not writing file (%s).", path) return nil } log.Debugf("flash map changed; writing file (%s).", path) if err := os.MkdirAll(filepath.Dir(path), 0755); err != nil { return util.NewNewtError(err.Error()) } if err := ioutil.WriteFile(path, contents, 0644); err != nil { return util.NewNewtError(err.Error()) } return nil }