Documentation ¶
Overview ¶
Package pkg provides the data structures for a package, a package catalog, package types, and domain-specific metadata.
Index ¶
- Constants
- Variables
- func CPEString(c CPE) string
- func NewRelationships(catalog *Catalog) []artifact.Relationship
- func RelationshipsByFileOwnership(catalog *Catalog) []artifact.Relationship
- func URL(p Package, release *linux.Release) string
- type ApkFileRecord
- type ApkMetadata
- type ArchiveInfo
- type CPE
- type CargoMetadata
- type CargoPackageMetadata
- type Catalog
- func (c *Catalog) Add(p Package)
- func (c *Catalog) Enumerate(types ...Type) <-chan Package
- func (c *Catalog) Package(id artifact.ID) *Package
- func (c *Catalog) PackageCount() int
- func (c *Catalog) Packages(ids []artifact.ID) (result []Package)
- func (c *Catalog) PackagesByPath(path string) []Package
- func (c *Catalog) Sorted(types ...Type) (pkgs []Package)
- type DirInfo
- type DirectURLOrigin
- type DpkgFileRecord
- type DpkgMetadata
- type FileOwner
- type GemMetadata
- type GolangBinMetadata
- type JavaManifest
- type JavaMetadata
- type KbPackageMetadata
- type Language
- type MetadataType
- type NpmPackageJSONMetadata
- type Package
- type PhpComposerAuthors
- type PhpComposerExternalReference
- type PhpComposerJSONMetadata
- type PomParent
- type PomProject
- type PomProperties
- type PythonDirectURLOriginInfo
- type PythonFileDigest
- type PythonFileRecord
- type PythonPackageMetadata
- type RpmdbFileMode
- type RpmdbFileRecord
- type RpmdbMetadata
- type Type
- type VCSInfo
Constants ¶
const ( PURLQualifierArch = "arch" PURLQualifierDistro = "distro" PURLQualifierEpoch = "epoch" PURLQualifierVCSURL = "vcs_url" // PURLQualifierUpstream this qualifier is not in the pURL spec, but is used by grype to perform indirect matching based on source information PURLQualifierUpstream = "upstream" )
const ApkDBGlob = "**/lib/apk/db/installed"
const DpkgDBGlob = "**/var/lib/dpkg/{status,status.d/**}"
const RpmDBGlob = "**/var/lib/rpm/Packages"
Variables ¶
var AllLanguages = []Language{ Java, JavaScript, Python, PHP, Ruby, Go, Rust, }
AllLanguages is a set of all programming languages detected by syft.
var AllMetadataTypes = []MetadataType{ ApkMetadataType, DpkgMetadataType, GemMetadataType, JavaMetadataType, NpmPackageJSONMetadataType, RpmdbMetadataType, PythonPackageMetadataType, RustCargoPackageMetadataType, KbPackageMetadataType, GolangBinMetadataType, PhpComposerJSONMetadataType, }
var AllPkgs = []Type{ ApkPkg, GemPkg, DebPkg, RpmPkg, NpmPkg, PythonPkg, PhpComposerPkg, JavaPkg, JenkinsPluginPkg, GoModulePkg, RustPkg, KbPkg, }
AllPkgs represents all supported package types
var MetadataTypeByName = map[MetadataType]reflect.Type{ ApkMetadataType: reflect.TypeOf(ApkMetadata{}), DpkgMetadataType: reflect.TypeOf(DpkgMetadata{}), GemMetadataType: reflect.TypeOf(GemMetadata{}), JavaMetadataType: reflect.TypeOf(JavaMetadata{}), NpmPackageJSONMetadataType: reflect.TypeOf(NpmPackageJSONMetadata{}), RpmdbMetadataType: reflect.TypeOf(RpmdbMetadata{}), PythonPackageMetadataType: reflect.TypeOf(PythonPackageMetadata{}), RustCargoPackageMetadataType: reflect.TypeOf(CargoMetadata{}), KbPackageMetadataType: reflect.TypeOf(KbPackageMetadata{}), GolangBinMetadataType: reflect.TypeOf(GolangBinMetadata{}), PhpComposerJSONMetadataType: reflect.TypeOf(PhpComposerJSONMetadata{}), }
Functions ¶
func NewRelationships ¶ added in v0.13.0
func NewRelationships(catalog *Catalog) []artifact.Relationship
TODO: as more relationships are added, this function signature will probably accommodate selection
func RelationshipsByFileOwnership ¶ added in v0.31.0
func RelationshipsByFileOwnership(catalog *Catalog) []artifact.Relationship
RelationshipsByFileOwnership creates a package-to-package relationship based on discovering which packages have evidence locations that overlap with ownership claim from another package's package manager metadata.
Types ¶
type ApkFileRecord ¶
type ApkFileRecord struct { Path string `json:"path"` OwnerUID string `json:"ownerUid,omitempty"` OwnerGID string `json:"ownerGid,omitempty"` Permissions string `json:"permissions,omitempty"` Digest *file.Digest `json:"digest,omitempty"` }
ApkFileRecord represents a single file listing and metadata from a APK DB entry (which may have many of these file records).
type ApkMetadata ¶
type ApkMetadata struct { Package string `mapstructure:"P" json:"package"` OriginPackage string `mapstructure:"o" json:"originPackage" cyclonedx:"originPackage"` Maintainer string `mapstructure:"m" json:"maintainer"` Version string `mapstructure:"V" json:"version"` License string `mapstructure:"L" json:"license"` Architecture string `mapstructure:"A" json:"architecture"` URL string `mapstructure:"U" json:"url"` Description string `mapstructure:"T" json:"description"` Size int `mapstructure:"S" json:"size" cyclonedx:"size"` InstalledSize int `mapstructure:"I" json:"installedSize" cyclonedx:"installedSize"` PullDependencies string `mapstructure:"D" json:"pullDependencies" cyclonedx:"pullDependencies"` PullChecksum string `mapstructure:"C" json:"pullChecksum" cyclonedx:"pullChecksum"` GitCommitOfAport string `mapstructure:"c" json:"gitCommitOfApkPort" cyclonedx:"gitCommitOfApkPort"` Files []ApkFileRecord `json:"files"` }
ApkMetadata represents all captured data for a Alpine DB package entry. See the following sources for more information: - https://wiki.alpinelinux.org/wiki/Apk_spec - https://git.alpinelinux.org/apk-tools/tree/src/package.c - https://git.alpinelinux.org/apk-tools/tree/src/database.c
func (ApkMetadata) OwnedFiles ¶ added in v0.24.0
func (m ApkMetadata) OwnedFiles() (result []string)
func (ApkMetadata) PackageURL ¶
func (m ApkMetadata) PackageURL(distro *linux.Release) string
PackageURL returns the PURL for the specific Alpine package (see https://github.com/package-url/purl-spec)
type ArchiveInfo ¶ added in v0.34.0
type ArchiveInfo struct {
Hash string `json:"hash"`
}
type CPE ¶ added in v0.9.0
type CPE = wfn.Attributes
type CargoMetadata ¶ added in v0.39.0
type CargoMetadata struct {
Packages []CargoPackageMetadata `toml:"package"`
}
func (CargoMetadata) Pkgs ¶ added in v0.39.0
func (m CargoMetadata) Pkgs() []*Package
Pkgs returns all of the packages referenced within the Cargo.lock metadata.
type CargoPackageMetadata ¶ added in v0.15.0
type CargoPackageMetadata struct { Name string `toml:"name" json:"name"` Version string `toml:"version" json:"version"` Source string `toml:"source" json:"source"` Checksum string `toml:"checksum" json:"checksum"` Dependencies []string `toml:"dependencies" json:"dependencies"` }
func (CargoPackageMetadata) PackageURL ¶ added in v0.37.0
func (p CargoPackageMetadata) PackageURL(_ *linux.Release) string
PackageURL returns the PURL for the specific rust package (see https://github.com/package-url/purl-spec)
func (CargoPackageMetadata) Pkg ¶ added in v0.15.0
func (p CargoPackageMetadata) Pkg() *Package
Pkg returns the standard `pkg.Package` representation of the package referenced within the Cargo.lock metadata.
type Catalog ¶
type Catalog struct {
// contains filtered or unexported fields
}
Catalog represents a collection of Packages.
func (*Catalog) Enumerate ¶
Enumerate all packages for the given type(s), enumerating all packages if no type is specified.
func (*Catalog) PackageCount ¶
PackageCount returns the total number of packages that have been added.
func (*Catalog) PackagesByPath ¶ added in v0.13.0
PackagesByPath returns all packages that were discovered from the given path.
type DirectURLOrigin ¶ added in v0.34.0
type DirectURLOrigin struct { URL string `json:"url"` VCSInfo VCSInfo `json:"vcs_info"` ArchiveInfo ArchiveInfo `json:"archive_info"` DirInfo DirInfo `json:"dir_info"` }
type DpkgFileRecord ¶ added in v0.7.0
type DpkgFileRecord struct { Path string `json:"path"` Digest *file.Digest `json:"digest,omitempty"` IsConfigFile bool `json:"isConfigFile"` }
DpkgFileRecord represents a single file attributed to a debian package.
type DpkgMetadata ¶
type DpkgMetadata struct { Package string `mapstructure:"Package" json:"package"` Source string `mapstructure:"Source" json:"source" cyclonedx:"source"` Version string `mapstructure:"Version" json:"version"` SourceVersion string `mapstructure:"SourceVersion" json:"sourceVersion" cyclonedx:"sourceVersion"` Architecture string `mapstructure:"Architecture" json:"architecture"` Maintainer string `mapstructure:"Maintainer" json:"maintainer"` InstalledSize int `mapstructure:"InstalledSize" json:"installedSize" cyclonedx:"installedSize"` Files []DpkgFileRecord `json:"files"` }
DpkgMetadata represents all captured data for a Debian package DB entry; available fields are described at http://manpages.ubuntu.com/manpages/xenial/man1/dpkg-query.1.html in the --showformat section.
func (DpkgMetadata) OwnedFiles ¶ added in v0.24.0
func (m DpkgMetadata) OwnedFiles() (result []string)
func (DpkgMetadata) PackageURL ¶
func (m DpkgMetadata) PackageURL(distro *linux.Release) string
PackageURL returns the PURL for the specific Debian package (see https://github.com/package-url/purl-spec)
type FileOwner ¶ added in v0.24.0
type FileOwner interface {
OwnedFiles() []string
}
FileOwner is the interface that wraps OwnedFiles method.
OwnedFiles returns a list of files that a piece of package Metadata indicates are owned by the package.
type GemMetadata ¶ added in v0.2.0
type GemMetadata struct { Name string `mapstructure:"name" json:"name"` Version string `mapstructure:"version" json:"version"` Files []string `mapstructure:"files" json:"files,omitempty"` Authors []string `mapstructure:"authors" json:"authors,omitempty"` Licenses []string `mapstructure:"licenses" json:"licenses,omitempty"` Homepage string `mapstructure:"homepage" json:"homepage,omitempty"` }
GemMetadata represents all metadata parsed from the gemspec file
type GolangBinMetadata ¶ added in v0.26.0
type GolangBinMetadata struct { GoCompiledVersion string `json:"goCompiledVersion" cyclonedx:"goCompiledVersion"` Architecture string `json:"architecture" cyclonedx:"architecture"` H1Digest string `json:"h1Digest" cyclonedx:"h1Digest"` }
GolangBinMetadata represents all captured data for a Golang Binary
type JavaManifest ¶
type JavaManifest struct { Main map[string]string `json:"main,omitempty"` NamedSections map[string]map[string]string `json:"namedSections,omitempty"` }
JavaManifest represents the fields of interest extracted from a Java archive's META-INF/MANIFEST.MF file.
type JavaMetadata ¶
type JavaMetadata struct { VirtualPath string `json:"virtualPath"` Manifest *JavaManifest `mapstructure:"Manifest" json:"manifest,omitempty"` PomProperties *PomProperties `mapstructure:"PomProperties" json:"pomProperties,omitempty" cyclonedx:"-"` PomProject *PomProject `mapstructure:"PomProject" json:"pomProject,omitempty"` PURL string `hash:"ignore" json:"-"` // pURLs and CPEs are ignored for package IDs Parent *Package `hash:"ignore" json:"-"` // note: the parent cannot be included in the minimal definition of uniqueness since this field is not reproducible in an encode-decode cycle (is lossy). }
JavaMetadata encapsulates all Java ecosystem metadata for a package as well as an (optional) parent relationship.
func (JavaMetadata) PackageURL ¶
func (m JavaMetadata) PackageURL(_ *linux.Release) string
PackageURL returns the PURL for the specific Maven package (see https://github.com/package-url/purl-spec)
type KbPackageMetadata ¶ added in v0.15.2
type KbPackageMetadata struct { ProductID string `toml:"product_id" json:"product_id"` Kb string `toml:"kb" json:"kb"` }
KbPackageMetadata is slightly odd in how it is expected to map onto data. This is critical to grasp because there is no MSRC cataloger. The `ProductID` field is expected to be the MSRC Product ID, for example: "Windows 10 Version 1703 for 32-bit Systems". `Kb` is expected to be the actual KB number, for example "5001028"
type Language ¶
type Language string
Language represents a single programming language.
func LanguageByName ¶ added in v0.38.0
func LanguageFromPURL ¶ added in v0.37.0
type MetadataType ¶ added in v0.4.0
type MetadataType string
MetadataType represents the data shape stored within pkg.Package.Metadata.
const ( UnknownMetadataType MetadataType = "UnknownMetadata" ApkMetadataType MetadataType = "ApkMetadata" DpkgMetadataType MetadataType = "DpkgMetadata" GemMetadataType MetadataType = "GemMetadata" JavaMetadataType MetadataType = "JavaMetadata" NpmPackageJSONMetadataType MetadataType = "NpmPackageJsonMetadata" RpmdbMetadataType MetadataType = "RpmdbMetadata" PythonPackageMetadataType MetadataType = "PythonPackageMetadata" RustCargoPackageMetadataType MetadataType = "RustCargoPackageMetadata" KbPackageMetadataType MetadataType = "KbPackageMetadata" GolangBinMetadataType MetadataType = "GolangBinMetadata" PhpComposerJSONMetadataType MetadataType = "PhpComposerJsonMetadata" )
type NpmPackageJSONMetadata ¶ added in v0.4.0
type NpmPackageJSONMetadata struct { Name string `mapstructure:"name" json:"name"` Version string `mapstructure:"version" json:"version"` Files []string `mapstructure:"files" json:"files,omitempty"` Author string `mapstructure:"author" json:"author"` Licenses []string `mapstructure:"licenses" json:"licenses"` Homepage string `mapstructure:"homepage" json:"homepage"` Description string `mapstructure:"description" json:"description"` URL string `mapstructure:"url" json:"url"` }
NpmPackageJSONMetadata holds extra information that is used in pkg.Package
func (NpmPackageJSONMetadata) PackageURL ¶ added in v0.37.0
func (p NpmPackageJSONMetadata) PackageURL(_ *linux.Release) string
PackageURL returns the PURL for the specific NPM package (see https://github.com/package-url/purl-spec)
type Package ¶
type Package struct { Name string // the package name Version string // the version of the package FoundBy string `cyclonedx:"foundBy"` // the specific cataloger that discovered this package Locations []source.Location // the locations that lead to the discovery of this package (note: this is not necessarily the locations that make up this package) Licenses []string // licenses discovered with the package metadata Language Language `cyclonedx:"language"` // the language ecosystem this package belongs to (e.g. JavaScript, Python, etc) Type Type `cyclonedx:"type"` // the package type (e.g. Npm, Yarn, Python, Rpm, Deb, etc) CPEs []CPE `hash:"ignore"` // all possible Common Platform Enumerators (note: this is NOT included in the definition of the ID since all fields on a CPE are derived from other fields) PURL string `hash:"ignore"` // the Package URL (see https://github.com/package-url/purl-spec) (note: this is NOT included in the definition of the ID since all fields on a pURL are derived from other fields) MetadataType MetadataType `cyclonedx:"metadataType"` // the shape of the additional data in the "metadata" field Metadata interface{} // additional data found while parsing the package source // contains filtered or unexported fields }
Package represents an application or library that has been bundled into a distributable format. TODO: if we ignore FoundBy for ID generation should we merge the field to show it was found in two places?
type PhpComposerAuthors ¶ added in v0.36.0
type PhpComposerExternalReference ¶ added in v0.36.0
type PhpComposerJSONMetadata ¶ added in v0.36.0
type PhpComposerJSONMetadata struct { Name string `json:"name"` Version string `json:"version"` Source PhpComposerExternalReference `json:"source"` Dist PhpComposerExternalReference `json:"dist"` Require map[string]string `json:"require,omitempty"` Provide map[string]string `json:"provide,omitempty"` RequireDev map[string]string `json:"require-dev,omitempty"` Suggest map[string]string `json:"suggest,omitempty"` Type string `json:"type,omitempty"` NotificationURL string `json:"notification-url,omitempty"` Bin []string `json:"bin,omitempty"` License []string `json:"license,omitempty"` Authors []PhpComposerAuthors `json:"authors,omitempty"` Description string `json:"description,omitempty"` Homepage string `json:"homepage,omitempty"` Keywords []string `json:"keywords,omitempty"` Time string `json:"time,omitempty"` }
PhpComposerJSONMetadata represents information found from composer v1/v2 "installed.json" files as well as composer.lock files
func (PhpComposerJSONMetadata) PackageURL ¶ added in v0.36.0
func (m PhpComposerJSONMetadata) PackageURL(_ *linux.Release) string
type PomParent ¶ added in v0.22.0
type PomParent struct { GroupID string `json:"groupId"` ArtifactID string `json:"artifactId"` Version string `json:"version"` }
PomParent contains the fields within the <parent> tag in a pom.xml file
type PomProject ¶ added in v0.22.0
type PomProject struct { Path string `json:"path"` Parent *PomParent `json:"parent,omitempty"` GroupID string `json:"groupId"` ArtifactID string `json:"artifactId"` Version string `json:"version"` Name string `json:"name"` Description string `json:"description,omitempty"` URL string `json:"url,omitempty"` }
PomProject represents fields of interest extracted from a Java archive's pom.xml file. See https://maven.apache.org/ref/3.6.3/maven-model/maven.html for more details.
type PomProperties ¶
type PomProperties struct { Path string `mapstructure:"path" json:"path"` Name string `mapstructure:"name" json:"name"` GroupID string `mapstructure:"groupId" json:"groupId" cyclonedx:"groupID"` ArtifactID string `mapstructure:"artifactId" json:"artifactId" cyclonedx:"artifactID"` Version string `mapstructure:"version" json:"version"` Extra map[string]string `mapstructure:",remain" json:"extraFields"` }
PomProperties represents the fields of interest extracted from a Java archive's pom.properties file.
func (PomProperties) PkgTypeIndicated ¶ added in v0.15.0
func (p PomProperties) PkgTypeIndicated() Type
PkgTypeIndicated returns the package Type indicated by the data contained in the PomProperties.
type PythonDirectURLOriginInfo ¶ added in v0.34.0
type PythonFileDigest ¶ added in v0.8.0
PythonFileDigest represents the file metadata for a single file attributed to a python package.
type PythonFileRecord ¶ added in v0.4.0
type PythonFileRecord struct { Path string `json:"path"` Digest *PythonFileDigest `json:"digest,omitempty"` Size string `json:"size,omitempty"` }
PythonFileRecord represents a single entry within a RECORD file for a python wheel or egg package
type PythonPackageMetadata ¶ added in v0.4.0
type PythonPackageMetadata struct { Name string `json:"name" mapstruct:"Name"` Version string `json:"version" mapstruct:"Version"` License string `json:"license" mapstruct:"License"` Author string `json:"author" mapstruct:"Author"` AuthorEmail string `json:"authorEmail" mapstruct:"Authoremail"` Platform string `json:"platform" mapstruct:"Platform"` Files []PythonFileRecord `json:"files,omitempty"` SitePackagesRootPath string `json:"sitePackagesRootPath"` TopLevelPackages []string `json:"topLevelPackages,omitempty"` DirectURLOrigin *PythonDirectURLOriginInfo `json:"directUrlOrigin,omitempty"` }
PythonPackageMetadata represents all captured data for a python egg or wheel package.
func (PythonPackageMetadata) OwnedFiles ¶ added in v0.24.0
func (m PythonPackageMetadata) OwnedFiles() (result []string)
func (PythonPackageMetadata) PackageURL ¶ added in v0.34.0
func (m PythonPackageMetadata) PackageURL(_ *linux.Release) string
type RpmdbFileMode ¶ added in v0.6.0
type RpmdbFileMode uint16
RpmdbFileMode is the raw file mode for a single file. This can be interpreted as the linux stat.h mode (see https://pubs.opengroup.org/onlinepubs/007908799/xsh/sysstat.h.html)
type RpmdbFileRecord ¶ added in v0.6.0
type RpmdbFileRecord struct { Path string `json:"path"` Mode RpmdbFileMode `json:"mode"` Size int `json:"size"` Digest file.Digest `json:"digest"` UserName string `json:"userName"` GroupName string `json:"groupName"` Flags string `json:"flags"` }
RpmdbFileRecord represents the file metadata for a single file attributed to a RPM package.
type RpmdbMetadata ¶ added in v0.4.0
type RpmdbMetadata struct { Name string `json:"name"` Version string `json:"version"` Epoch *int `json:"epoch" cyclonedx:"epoch"` Arch string `json:"architecture"` Release string `json:"release" cyclonedx:"release"` SourceRpm string `json:"sourceRpm" cyclonedx:"sourceRpm"` Size int `json:"size" cyclonedx:"size"` License string `json:"license"` Vendor string `json:"vendor"` Files []RpmdbFileRecord `json:"files"` }
RpmdbMetadata represents all captured data for a RPM DB package entry.
func (RpmdbMetadata) OwnedFiles ¶ added in v0.24.0
func (m RpmdbMetadata) OwnedFiles() (result []string)
func (RpmdbMetadata) PackageURL ¶ added in v0.4.0
func (m RpmdbMetadata) PackageURL(distro *linux.Release) string
PackageURL returns the PURL for the specific RHEL package (see https://github.com/package-url/purl-spec)
type Type ¶
type Type string
Type represents a Package Type for or within a language ecosystem (there may be multiple package types within a language ecosystem)
const ( // the full set of supported packages UnknownPkg Type = "UnknownPackage" ApkPkg Type = "apk" GemPkg Type = "gem" DebPkg Type = "deb" RpmPkg Type = "rpm" NpmPkg Type = "npm" PythonPkg Type = "python" PhpComposerPkg Type = "php-composer" JavaPkg Type = "java-archive" JenkinsPluginPkg Type = "jenkins-plugin" GoModulePkg Type = "go-module" RustPkg Type = "rust-crate" KbPkg Type = "msrc-kb" )
func TypeByName ¶ added in v0.38.0
func TypeFromPURL ¶ added in v0.37.0
func (Type) PackageURLType ¶
PackageURLType returns the PURL package type for the current package.
Source Files ¶
- apk_metadata.go
- cargo_metadata.go
- cargo_package_metadata.go
- catalog.go
- cpe.go
- dpkg_metadata.go
- file_owner.go
- gem_metadata.go
- golang_bin_metadata.go
- java_metadata.go
- kb_package_metadata.go
- language.go
- metadata.go
- npm_package_json_metadata.go
- package.go
- php_composer_json_metadata.go
- python_package_metadata.go
- relationships.go
- relationships_by_file_ownership.go
- rpmdb_metadata.go
- type.go
- url.go
Directories ¶
Path | Synopsis |
---|---|
Package cataloger provides the ability to process files from a container image or file system and discover packages (gems, wheels, jars, rpms, debs, etc).
|
Package cataloger provides the ability to process files from a container image or file system and discover packages (gems, wheels, jars, rpms, debs, etc). |
apkdb
Package apkdb provides a concrete Cataloger implementation for Alpine DB files.
|
Package apkdb provides a concrete Cataloger implementation for Alpine DB files. |
common
Package common provides generic utilities used by multiple catalogers.
|
Package common provides generic utilities used by multiple catalogers. |
deb
Package dpkg provides a concrete Cataloger implementation for Debian package DB status files.
|
Package dpkg provides a concrete Cataloger implementation for Debian package DB status files. |
golang
Package golang provides a concrete Cataloger implementation for go.mod files.
|
Package golang provides a concrete Cataloger implementation for go.mod files. |
java
Package java provides a concrete Cataloger implementation for Java archives (jar, war, ear, par, sar, jpi, hpi formats).
|
Package java provides a concrete Cataloger implementation for Java archives (jar, war, ear, par, sar, jpi, hpi formats). |
javascript
Package javascript provides a concrete Cataloger implementation for JavaScript ecosystem files (yarn and npm).
|
Package javascript provides a concrete Cataloger implementation for JavaScript ecosystem files (yarn and npm). |
php
Package php provides a concrete Cataloger implementation for PHP ecosystem files.
|
Package php provides a concrete Cataloger implementation for PHP ecosystem files. |
python
Package python provides a concrete Cataloger implementation for Python ecosystem files (egg, wheel, requirements.txt).
|
Package python provides a concrete Cataloger implementation for Python ecosystem files (egg, wheel, requirements.txt). |
rpmdb
Package rpmdb provides a concrete Cataloger implementation for RPM "Package" DB files.
|
Package rpmdb provides a concrete Cataloger implementation for RPM "Package" DB files. |
ruby
Package ruby bundler provides a concrete Cataloger implementation for Ruby Gemfile.lock bundler files.
|
Package ruby bundler provides a concrete Cataloger implementation for Ruby Gemfile.lock bundler files. |
rust
Package rust provides a concrete Cataloger implementation for Cargo.lock files.
|
Package rust provides a concrete Cataloger implementation for Cargo.lock files. |