in agentendpoint/inventory.go [116:231]
func formatPackages(ctx context.Context, pkgs *packages.Packages, shortName string) []*agentendpointpb.Inventory_SoftwarePackage {
var softwarePackages []*agentendpointpb.Inventory_SoftwarePackage
if pkgs == nil {
return softwarePackages
}
if pkgs.Apt != nil {
temp := make([]*agentendpointpb.Inventory_SoftwarePackage, len(pkgs.Apt))
for i, pkg := range pkgs.Apt {
temp[i] = &agentendpointpb.Inventory_SoftwarePackage{
Details: formatAptPackage(pkg),
}
}
softwarePackages = append(softwarePackages, temp...)
}
if pkgs.Deb != nil {
temp := make([]*agentendpointpb.Inventory_SoftwarePackage, len(pkgs.Deb))
for i, pkg := range pkgs.Deb {
temp[i] = &agentendpointpb.Inventory_SoftwarePackage{
Details: formatAptPackage(pkg),
}
}
softwarePackages = append(softwarePackages, temp...)
}
if pkgs.GooGet != nil {
temp := make([]*agentendpointpb.Inventory_SoftwarePackage, len(pkgs.GooGet))
for i, pkg := range pkgs.GooGet {
temp[i] = &agentendpointpb.Inventory_SoftwarePackage{
Details: formatGooGetPackage(pkg),
}
}
softwarePackages = append(softwarePackages, temp...)
}
if pkgs.Yum != nil {
temp := make([]*agentendpointpb.Inventory_SoftwarePackage, len(pkgs.Yum))
for i, pkg := range pkgs.Yum {
temp[i] = &agentendpointpb.Inventory_SoftwarePackage{
Details: formatYumPackage(pkg),
}
}
softwarePackages = append(softwarePackages, temp...)
}
if pkgs.Zypper != nil {
temp := make([]*agentendpointpb.Inventory_SoftwarePackage, len(pkgs.Zypper))
for i, pkg := range pkgs.Zypper {
temp[i] = &agentendpointpb.Inventory_SoftwarePackage{
Details: formatZypperPackage(pkg),
}
}
softwarePackages = append(softwarePackages, temp...)
}
if pkgs.Rpm != nil {
temp := make([]*agentendpointpb.Inventory_SoftwarePackage, len(pkgs.Rpm))
if packages.YumExists || !packages.ZypperExists {
for i, pkg := range pkgs.Rpm {
temp[i] = &agentendpointpb.Inventory_SoftwarePackage{
Details: formatYumPackage(pkg),
}
}
} else {
for i, pkg := range pkgs.Rpm {
temp[i] = &agentendpointpb.Inventory_SoftwarePackage{
Details: formatZypperPackage(pkg),
}
}
}
softwarePackages = append(softwarePackages, temp...)
}
if pkgs.ZypperPatches != nil {
temp := make([]*agentendpointpb.Inventory_SoftwarePackage, len(pkgs.ZypperPatches))
for i, pkg := range pkgs.ZypperPatches {
temp[i] = &agentendpointpb.Inventory_SoftwarePackage{
Details: formatZypperPatch(pkg),
}
}
softwarePackages = append(softwarePackages, temp...)
}
if pkgs.WUA != nil {
temp := make([]*agentendpointpb.Inventory_SoftwarePackage, len(pkgs.WUA))
for i, pkg := range pkgs.WUA {
temp[i] = &agentendpointpb.Inventory_SoftwarePackage{
Details: formatWUAPackage(pkg),
}
}
softwarePackages = append(softwarePackages, temp...)
}
if pkgs.QFE != nil {
temp := make([]*agentendpointpb.Inventory_SoftwarePackage, len(pkgs.QFE))
for i, pkg := range pkgs.QFE {
temp[i] = &agentendpointpb.Inventory_SoftwarePackage{
Details: formatQFEPackage(ctx, pkg),
}
}
softwarePackages = append(softwarePackages, temp...)
}
if pkgs.COS != nil {
temp := make([]*agentendpointpb.Inventory_SoftwarePackage, len(pkgs.COS))
for i, pkg := range pkgs.COS {
temp[i] = &agentendpointpb.Inventory_SoftwarePackage{
Details: formatCOSPackage(pkg),
}
}
softwarePackages = append(softwarePackages, temp...)
}
if pkgs.WindowsApplication != nil {
temp := make([]*agentendpointpb.Inventory_SoftwarePackage, len(pkgs.WindowsApplication))
for i, pkg := range pkgs.WindowsApplication {
temp[i] = &agentendpointpb.Inventory_SoftwarePackage{
Details: formatWindowsApplication(pkg),
}
}
softwarePackages = append(softwarePackages, temp...)
}
// Ignore Pip and Gem packages.
return softwarePackages
}