flatpak

package
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Jul 29, 2024 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Package flatpak extracts packages from flatpak metainfo files.

Index

Constants

View Source
const (
	// Name is the unique name of this extractor.
	Name = "os/flatpak"
)

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
}

Config is the configuration for the Extractor.

func DefaultConfig

func DefaultConfig() Config

DefaultConfig returns the default configuration for the Flatpak extractor.

type Extractor

type Extractor struct {
	// contains filtered or unexported fields
}

Extractor extracts Flatpak packages from *.metainfo.xml files.

func New

func New(cfg Config) *Extractor

New returns a Flatpak extractor.

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

func (Extractor) Config

func (e Extractor) Config() Config

Config returns the configuration of the extractor.

func (Extractor) Extract

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

Extract extracts packages from metainfo xml 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 the metainfo xml file pattern.

func (Extractor) Name

func (e Extractor) Name() string

Name of the extractor.

func (Extractor) ToCPEs

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

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

func (Extractor) ToPURL

func (e Extractor) ToPURL(i *extractor.Inventory) (*purl.PackageURL, error)

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
	PackageID      string
	PackageVersion string
	ReleaseDate    string
	OSName         string
	OSID           string
	OSVersionID    string
	OSBuildID      string
	Developer      string
}

Metadata holds parsing information for a flatpak package.

type Metainfo

type Metainfo struct {
	ID        string   `xml:"id"`
	Name      []string `xml:"name"`
	Developer string   `xml:"developer_name"`
	Releases  struct {
		Release []struct {
			Version     string `xml:"version,attr"`
			ReleaseDate string `xml:"date,attr"`
		} `xml:"release"`
	} `xml:"releases"`
}

Metainfo is used to read the flatpak metainfo xml file.

Jump to

Keyboard shortcuts

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