package main // functions to import and export the protobuf // data to and from config files import ( "errors" "os" "path/filepath" "go.wit.com/lib/config" "go.wit.com/lib/protobuf/forgepb" "go.wit.com/log" ) func configSave() error { return me.configs.ConfigSave() } func configInit() *forgepb.ForgeConfigs { if argv.Hostname != "" { HOSTNAME = argv.Hostname } // the default forged dir is /home/forge if os.Getenv("FORGE_REPODIR") == "" { os.Setenv("FORGE_REPODIR", "/home/forge") } if os.Getenv("FORGE_PATCHDIR") == "" { os.Setenv("FORGE_PATCHDIR", "/var/lib/forged") } configs := new(forgepb.ForgeConfigs) err := config.ConfigLoad(configs, ARGNAME, "forge") if errors.Is(err, os.ErrNotExist) { configs.ReposDir = os.Getenv("FORGE_REPODIR") configs.ReposPB = filepath.Join(configs.ReposDir, "repos.pb") configs.PatchDir = os.Getenv("FORGE_PATCHDIR") if err := configSave(); err != nil { badExit(err) } log.Info("made a default config file here", configs.Filename) okExit("") } if err != nil { badExit(err) } return configs }