diff --git a/cabbie.go b/cabbie.go index f7788a0..0171dc4 100644 --- a/cabbie.go +++ b/cabbie.go @@ -308,10 +308,18 @@ func enforce() error { deck.ErrorA(failures).With(eventID(cablib.EvtErrHide)).Go() } } - excludedDrivers.set(updates.ExcludedDrivers) return failures } +func initDriverExclusion() error { + updates, err := enforcement.Get() + if err != nil { + return fmt.Errorf("error retrieving required updates: %v", err) + } + excludedDrivers.set(updates.ExcludedDrivers) + return nil +} + func runMainLoop() error { if err := notification.CleanNotifications(cablib.SvcName); err != nil { deck.ErrorfA("Error clearing old notifications:\n%v", err).With(eventID(cablib.EvtErrNotifications)).Go() diff --git a/install.go b/install.go index c4348d4..58a9cfa 100644 --- a/install.go +++ b/install.go @@ -257,6 +257,9 @@ func (i *installCmd) installUpdates() error { installingMinOneUpdate := false kbs := NewKBSet(i.kbs) + if err := initDriverExclusion(); err != nil { + deck.ErrorfA("Error initializing driver exclusions:\n%v", err).With(eventID(cablib.EvtErrDriverExclusion)).Go() + } excludes := excludedDrivers.get() outerLoop: for _, u := range uc.Updates {