Documentation ¶
Overview ¶
Package flatpak extracts packages from flatpak metainfo files.
Index ¶
- Constants
- type Config
- type Extractor
- func (e Extractor) Config() Config
- func (e Extractor) Extract(ctx context.Context, input *filesystem.ScanInput) ([]*extractor.Inventory, error)
- func (e Extractor) FileRequired(path string, fileinfo fs.FileInfo) bool
- func (e Extractor) Name() string
- func (e Extractor) ToCPEs(i *extractor.Inventory) ([]string, error)
- func (e Extractor) ToPURL(i *extractor.Inventory) (*purl.PackageURL, error)
- func (e Extractor) Version() int
- type Metadata
- type Metainfo
Constants ¶
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 ¶
New returns a Flatpak extractor.
For most use cases, initialize with: ``` e := New(DefaultConfig()) ```
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 ¶
FileRequired returns true if the specified file matches the metainfo xml file pattern.
func (Extractor) ToCPEs ¶
ToCPEs is not applicable as this extractor does not infer CPEs from the Inventory.
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.