rpm

package
v0.1.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 6, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

Package rpm extracts packages from rpm database.

Index

Constants

View Source
const Name = "os/rpm"

Name is the name for the RPM extractor

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	// Stats is a stats collector for reporting metrics.
	Stats stats.Collector
	// MaxFileSizeBytes is the maximum file size this extractor will unmarshal. If
	// `FileRequired` gets a bigger file, it will return false,
	MaxFileSizeBytes int64
	// Timeout is the timeout duration for parsing the RPM database.
	Timeout time.Duration
}

Config contains RPM specific configuration values

func DefaultConfig

func DefaultConfig() Config

DefaultConfig returns the default configuration values for the RPM extractor.

type Extractor

type Extractor struct {
	Timeout time.Duration
	// contains filtered or unexported fields
}

Extractor extracts rpm packages from rpm database.

func New

func New(cfg Config) *Extractor

New returns an RPM extractor.

For most use cases, initialize with: ``` e := New(DefaultConfig()) ```

func (Extractor) Ecosystem added in v0.1.3

func (Extractor) Ecosystem(i *extractor.Inventory) string

Ecosystem returns the OSV Ecosystem of the software extracted by this extractor.

func (Extractor) Extract

func (e Extractor) Extract(ctx context.Context, input *filesystem.ScanInput) ([]*extractor.Inventory, error)

Extract extracts packages from rpm status files passed through the scan input.

func (Extractor) FileRequired

func (e Extractor) FileRequired(path string, fileinfo fs.FileInfo) bool

FileRequired returns true if the specified file matches rpm status file pattern.

func (Extractor) Name

func (e Extractor) Name() string

Name of the extractor.

func (Extractor) Requirements added in v0.1.3

func (e Extractor) Requirements() *plugin.Capabilities

Requirements of the extractor.

func (Extractor) ToCPEs

func (e Extractor) ToCPEs(i *extractor.Inventory) []string

ToCPEs is not applicable as this extractor does not infer CPEs from the Inventory.

func (Extractor) ToPURL

ToPURL converts an inventory created by this extractor into a PURL.

func (Extractor) Version

func (e Extractor) Version() int

Version of the extractor.

type Metadata

type Metadata struct {
	PackageName  string
	SourceRPM    string
	Epoch        int
	OSName       string
	OSID         string
	OSVersionID  string
	OSBuildID    string
	Vendor       string
	Architecture string
	License      string
}

Metadata holds parsing information for an rpm package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL