// distroLtsSeries returns the latest LTS series, if this information is // available on this system. func distroLtsSeries() (string, error) { out, err := exec.Command("distro-info", "--lts").Output() if err != nil { return "", err } series := strings.TrimSpace(string(out)) if !charm.IsValidSeries(series) { return "", fmt.Errorf("not a valid LTS series: %q", series) } return series, nil }
// Implements gnuflag.Value Set. func (v *seriesValue) Set(s string) error { if err := v.StringsValue.Set(s); err != nil { return err } for _, name := range *(v.StringsValue) { if !charm.IsValidSeries(name) { v.StringsValue = nil return fmt.Errorf("invalid series name %q", name) } } return nil }