Documentation ¶
Index ¶
- func GetVerStrFromPackageSpecList(pkgs []PackageSpec, packageName string) (string, error)
- func GetVerStrFromPackageSpecListPanic(pkgs []PackageSpec, packageName string) string
- func LoadRepositoriesFromFile(filename string) (map[string][]RepoConfig, error)
- type DistrosRepoConfigs
- type Package
- type PackageBuild
- type PackageInfo
- type PackageList
- type PackageSet
- type PackageSource
- type PackageSpec
- type RPM
- type RepoConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetVerStrFromPackageSpecList ¶
func GetVerStrFromPackageSpecList(pkgs []PackageSpec, packageName string) (string, error)
func GetVerStrFromPackageSpecListPanic ¶
func GetVerStrFromPackageSpecListPanic(pkgs []PackageSpec, packageName string) string
func LoadRepositoriesFromFile ¶ added in v0.33.0
func LoadRepositoriesFromFile(filename string) (map[string][]RepoConfig, error)
Types ¶
type DistrosRepoConfigs ¶
type DistrosRepoConfigs map[string]map[string][]RepoConfig
type Package ¶
type Package struct { Name string Summary string Description string URL string Epoch uint Version string Release string Arch string BuildTime time.Time License string }
func (Package) ToPackageBuild ¶
func (pkg Package) ToPackageBuild() PackageBuild
func (Package) ToPackageInfo ¶
func (pkg Package) ToPackageInfo() PackageInfo
type PackageBuild ¶
type PackageBuild struct { Arch string `json:"arch"` BuildTime string `json:"build_time"` Epoch uint `json:"epoch"` Release string `json:"release"` Source PackageSource `json:"source"` Changelog string `json:"changelog"` BuildConfigRef string `json:"build_config_ref"` BuildEnvRef string `json:"build_env_ref"` Metadata struct{} `json:"metadata"` // it's just an empty struct in lorax-composer }
type PackageInfo ¶
type PackageInfo struct { Name string `json:"name"` Summary string `json:"summary"` Description string `json:"description"` Homepage string `json:"homepage"` UpstreamVCS string `json:"upstream_vcs"` Builds []PackageBuild `json:"builds"` Dependencies []PackageSpec `json:"dependencies,omitempty"` }
type PackageList ¶
type PackageList []Package
func (PackageList) Search ¶
func (packages PackageList) Search(globPatterns ...string) (PackageList, error)
func (PackageList) ToPackageInfos ¶
func (packages PackageList) ToPackageInfos() []PackageInfo
type PackageSet ¶
type PackageSet struct { Include []string Exclude []string Repositories []RepoConfig InstallWeakDeps bool }
The inputs to depsolve, a set of packages to include and a set of packages to exclude. The Repositories are used when depsolving this package set in addition to the base repositories.
func (PackageSet) Append ¶
func (ps PackageSet) Append(other PackageSet) PackageSet
Append the Include and Exclude package list from another PackageSet and return the result.
type PackageSource ¶
type PackageSpec ¶
type PackageSpec struct { Name string `json:"name"` Epoch uint `json:"epoch"` Version string `json:"version,omitempty"` Release string `json:"release,omitempty"` Arch string `json:"arch,omitempty"` RemoteLocation string `json:"remote_location,omitempty"` Checksum string `json:"checksum,omitempty"` Secrets string `json:"secrets,omitempty"` CheckGPG bool `json:"check_gpg,omitempty"` IgnoreSSL bool `json:"ignore_ssl,omitempty"` }
TODO: the public API of this package should not be reused for serialization.
func (*PackageSpec) GetEVRA ¶
func (ps *PackageSpec) GetEVRA() string
GetEVRA returns the package's Epoch:Version-Release.Arch string
func (*PackageSpec) GetNEVRA ¶
func (ps *PackageSpec) GetNEVRA() string
GetNEVRA returns the package's Name-Epoch:Version-Release.Arch string
type RPM ¶
type RPM struct { Type string `json:"type"` // must be 'rpm' Name string `json:"name"` Version string `json:"version"` Release string `json:"release"` Epoch *string `json:"epoch,omitempty"` Arch string `json:"arch"` Sigmd5 string `json:"sigmd5"` Signature *string `json:"signature"` }
func DeduplicateRPMs ¶
Deduplicate a list of RPMs based on NEVRA string
type RepoConfig ¶
type RepoConfig struct { // the repo id is not always required and is ignored in some cases. // For example, it is not required in dnf-json, but it is a required // field for creating a repo file in `/etc/yum.repos.d/` Id string `json:"id,omitempty"` Name string `json:"name,omitempty"` BaseURLs []string `json:"baseurls,omitempty"` Metalink string `json:"metalink,omitempty"` MirrorList string `json:"mirrorlist,omitempty"` GPGKeys []string `json:"gpgkeys,omitempty"` CheckGPG *bool `json:"check_gpg,omitempty"` CheckRepoGPG *bool `json:"check_repo_gpg,omitempty"` Priority *int `json:"priority,omitempty"` IgnoreSSL *bool `json:"ignore_ssl,omitempty"` MetadataExpire string `json:"metadata_expire,omitempty"` ModuleHotfixes *bool `json:"module_hotfixes,omitempty"` RHSM bool `json:"rhsm,omitempty"` Enabled *bool `json:"enabled,omitempty"` ImageTypeTags []string `json:"image_type_tags,omitempty"` PackageSets []string `json:"package_sets,omitempty"` // These fields are only filled out by the worker during the // depsolve job for certain baseurls. SSLCACert string `json:"sslcacert,omitempty"` SSLClientKey string `json:"sslclientkey,omitempty"` SSLClientCert string `json:"sslclientcert,omitempty"` }
func (*RepoConfig) Hash ¶
func (r *RepoConfig) Hash() string
Hash calculates an ID string that uniquely represents a repository configuration. The Name and ImageTypeTags fields are not considered in the calculation.
func (RepoConfig) MarshalJSON ¶
func (r RepoConfig) MarshalJSON() ([]byte, error)
Backwards compatibility for old workers: This was added since the custom repository PR changes the baseurl field to a list of baseurls. This can be removed after 3 releases since the old-worker-regression test tests the current osbuild-composer with a worker from 3 releases ago
func (*RepoConfig) UnmarshalJSON ¶
func (r *RepoConfig) UnmarshalJSON(data []byte) error
Backwards compatibility for old workers: This was added since the custom repository PR changes the baseurl field to a list of baseurls. This can be removed after 3 releases since the old-worker-regression test tests the current osbuild-composer with a worker from 3 releases ago