From a16f55c961428af16f793cdb660f6a6130fa2e85 Mon Sep 17 00:00:00 2001 From: Herdiyan Adam Putra Date: Tue, 9 Jun 2026 21:29:09 +0700 Subject: [PATCH] extractor/os/rpm: add Mageia ecosystem mapping --- docs/supported_inventory_types.md | 2 +- .../filesystem/os/ecosystem/ecosystem.go | 3 +++ .../filesystem/os/ecosystem/ecosystem_test.go | 23 +++++++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/docs/supported_inventory_types.md b/docs/supported_inventory_types.md index c4c500873..24e2c35f6 100644 --- a/docs/supported_inventory_types.md +++ b/docs/supported_inventory_types.md @@ -41,7 +41,7 @@ See the docs on [how to add a new Extractor](/docs/new_extractor.md). | Chisel | | `os/chisel` | | Nix | | `os/nix` | | OPKG | e.g. OpenWrt | `os/dpkg` | -| RPM | e.g. RHEL, CentOS, Rocky Linux, AlmaLinux | `os/rpm` | +| RPM | e.g. RHEL, CentOS, Rocky Linux, AlmaLinux, Mageia | `os/rpm` | | Zypper | e.g. openSUSE | `os/rpm` | | Pacman | e.g. Arch Linux | `os/pacman` | | Kernel modules | .ko | `os/kernel/module` | diff --git a/extractor/filesystem/os/ecosystem/ecosystem.go b/extractor/filesystem/os/ecosystem/ecosystem.go index 47556265d..c62d8f882 100644 --- a/extractor/filesystem/os/ecosystem/ecosystem.go +++ b/extractor/filesystem/os/ecosystem/ecosystem.go @@ -86,6 +86,9 @@ func MakeEcosystem(metadata any) osvecosystem.Parsed { if m.OSID == "almalinux" { return osvecosystem.Parsed{Ecosystem: osvconstants.EcosystemAlmaLinux, Suffix: m.OSVersionID} } + if m.OSID == "mageia" { + return osvecosystem.Parsed{Ecosystem: osvconstants.EcosystemMageia, Suffix: m.OSVersionID} + } case *snapmeta.Metadata: if m.OSID == "ubuntu" { diff --git a/extractor/filesystem/os/ecosystem/ecosystem_test.go b/extractor/filesystem/os/ecosystem/ecosystem_test.go index da42c7ab5..78c5f07c2 100644 --- a/extractor/filesystem/os/ecosystem/ecosystem_test.go +++ b/extractor/filesystem/os/ecosystem/ecosystem_test.go @@ -340,6 +340,29 @@ func TestEcosystemRPM(t *testing.T) { }, want: "AlmaLinux", }, + { + desc: "Mageia_9", + metadata: &rpmmeta.Metadata{ + OSID: "mageia", + OSVersionID: "9", + }, + want: "Mageia:9", + }, + { + desc: "Mageia_8", + metadata: &rpmmeta.Metadata{ + OSID: "mageia", + OSVersionID: "8", + }, + want: "Mageia:8", + }, + { + desc: "Mageia_no_version", + metadata: &rpmmeta.Metadata{ + OSID: "mageia", + }, + want: "Mageia", + }, { desc: "OS ID not present", metadata: &rpmmeta.Metadata{},