in packages/packages_linux.go [27:92]
func GetPackageUpdates(ctx context.Context) (*Packages, error) {
pkgs := Packages{}
var errs []string
if AptExists {
apt, err := AptUpdates(ctx, AptGetUpgradeType(AptGetFullUpgrade), AptGetUpgradeShowNew(false))
if err != nil {
msg := fmt.Sprintf("error getting apt updates: %v", err)
clog.Debugf(ctx, "Error: %s", msg)
errs = append(errs, msg)
} else {
pkgs.Apt = apt
}
}
if YumExists {
yum, err := YumUpdates(ctx)
if err != nil {
msg := fmt.Sprintf("error getting yum updates: %v", err)
clog.Debugf(ctx, "Error: %s", msg)
errs = append(errs, msg)
} else {
pkgs.Yum = yum
}
}
if ZypperExists {
zypper, err := ZypperUpdates(ctx)
if err != nil {
msg := fmt.Sprintf("error getting zypper updates: %v", err)
clog.Debugf(ctx, "Error: %s", msg)
errs = append(errs, msg)
} else {
pkgs.Zypper = zypper
}
zypperPatches, err := ZypperPatches(ctx)
if err != nil {
msg := fmt.Sprintf("error getting zypper available patches: %v", err)
clog.Debugf(ctx, "Error: %s", msg)
errs = append(errs, msg)
} else {
pkgs.ZypperPatches = zypperPatches
}
}
if GemExists {
gem, err := GemUpdates(ctx)
if err != nil {
msg := fmt.Sprintf("error getting gem updates: %v", err)
clog.Debugf(ctx, "Error: %s", msg)
} else {
pkgs.Gem = gem
}
}
if PipExists {
pip, err := PipUpdates(ctx)
if err != nil {
msg := fmt.Sprintf("error getting pip updates: %v", err)
clog.Debugf(ctx, "Error: %s", msg)
} else {
pkgs.Pip = pip
}
}
var err error
if len(errs) != 0 {
err = errors.New(strings.Join(errs, "\n"))
}
return &pkgs, err
}