diff options
| author | Jeff Carr <[email protected]> | 2024-11-21 19:48:53 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2024-11-21 19:48:53 -0600 |
| commit | 6f6f28a22a479c80be7bb99cfdea4244cb667194 (patch) | |
| tree | 88716418433148a2fd60613621e314a8349ec8e3 | |
| parent | 1f0a18a0a8e21a831dbc002b8b4110298739b875 (diff) | |
minor fixupsv0.0.7
| -rw-r--r-- | apt.go | 6 | ||||
| -rw-r--r-- | config.go | 22 |
2 files changed, 24 insertions, 4 deletions
@@ -15,6 +15,10 @@ func (me *Machine) initPackages() { return } + if me.Packages == nil { + me.Packages = new(Packages) + } + // Print the installed packages and their versions for pkg, version := range newP { new1 := new(Package) @@ -37,7 +41,7 @@ func (me *Machine) addNew(name string, version string) bool { return me.Packages.Append(new1) } -func (me *Machine) updatePackages() string { +func (me *Machine) UpdatePackages() string { // Get the list of installed packages for the detected distro newP, err := getPackageList(me.Distro) if err != nil { @@ -81,14 +81,24 @@ func (m *Machine) ConfigLoad() error { hostname, _ := os.Hostname() fname := hostname + ".pb" - if data, err := m.loadFile(fname); err == nil { + var data []byte + var err error + if data, err = loadFile(fname); err != nil { + // something went wrong loading the file + return err + } + + if data != nil { if err = proto.Unmarshal(data, m); err != nil { log.Warn("broken zookeeper.pb config file", fname) return err } - } else { - return err + return nil } + + m.Hostname = hostname + m.Distro = detectDistro() + m.initPackages() return nil } @@ -97,6 +107,12 @@ func loadFile(filename string) ([]byte, error) { p := filepath.Join(homeDir, ".config/zookeeper") fullname := filepath.Join(p, filename) data, err := os.ReadFile(fullname) + if errors.Is(err, os.ErrNotExist) { + // if file does not exist, just return nil. this + // will cause ConfigLoad() to try the next config file like "forge.text" + // because the user might want to edit the .config by hand + return nil, nil + } if err != nil { // log.Info("open config file :", err) return nil, err |
