pub struct MergedPackage {Show 21 fields
pub name: Name,
pub description: Option<PackageDescription>,
pub url: Option<Url>,
pub licenses: Vec<License>,
pub architecture: Architecture,
pub changelog: Option<RelativePath>,
pub install: Option<RelativePath>,
pub groups: Vec<String>,
pub options: Vec<MakepkgOption>,
pub backups: Vec<RelativePath>,
pub version: Version,
pub pgp_fingerprints: Vec<OpenPGPIdentifier>,
pub dependencies: Vec<RelationOrSoname>,
pub optional_dependencies: Vec<OptionalDependency>,
pub provides: Vec<RelationOrSoname>,
pub conflicts: Vec<PackageRelation>,
pub replaces: Vec<PackageRelation>,
pub check_dependencies: Vec<PackageRelation>,
pub make_dependencies: Vec<PackageRelation>,
pub sources: Vec<MergedSource>,
pub no_extracts: Vec<String>,
}
Expand description
Fully resolved metadata of a single package based on SRCINFO data.
This struct incorporates all PackageBase
properties and the Package
specific overrides
in an architecture-specific representation of a package. It can be created using
SourceInfo::packages_for_architecture
.
Fields§
§name: Name
§description: Option<PackageDescription>
§url: Option<Url>
§licenses: Vec<License>
§architecture: Architecture
§changelog: Option<RelativePath>
§install: Option<RelativePath>
§groups: Vec<String>
§options: Vec<MakepkgOption>
§backups: Vec<RelativePath>
§version: Version
§pgp_fingerprints: Vec<OpenPGPIdentifier>
§dependencies: Vec<RelationOrSoname>
§optional_dependencies: Vec<OptionalDependency>
§provides: Vec<RelationOrSoname>
§conflicts: Vec<PackageRelation>
§replaces: Vec<PackageRelation>
§check_dependencies: Vec<PackageRelation>
§make_dependencies: Vec<PackageRelation>
§sources: Vec<MergedSource>
§no_extracts: Vec<String>
Implementations§
Source§impl MergedPackage
impl MergedPackage
Sourcepub fn from_base_and_package(
architecture: Architecture,
base: &PackageBase,
package: &Package,
) -> MergedPackage
pub fn from_base_and_package( architecture: Architecture, base: &PackageBase, package: &Package, ) -> MergedPackage
Creates the fully resolved, architecture-specific metadata representation of a package.
Takes an Architecture
(which defines the architecture for which to create the
representation), as well as a PackageBase
and a Package
(from which to derive the
metadata).
The metadata representation is created using the following steps:
MergedPackage::from_base
is called to create a basic representation of aMergedPackage
based on the default values inPackageBase
.MergedPackage::merge_package
is called to merge all architecture-agnostic fields of thePackage
into theMergedPackage
.- The architecture-specific properties of the
PackageBase
andPackage
are extracted. PackageBaseArchitecture::merge_package_properties
is called to merge the architecture-specific properties of thePackage
into those of thePackageBase
.MergedPackage::merge_architecture_properties
is called to merge the combined architecture-specific properties into theMergedPackage
.
Sourcepub fn from_base(
architecture: &Architecture,
name: Name,
base: &PackageBase,
) -> MergedPackage
pub fn from_base( architecture: &Architecture, name: Name, base: &PackageBase, ) -> MergedPackage
Creates a basic, architecture-specific, but incomplete MergedPackage
.
Takes an Architecture
(which defines the architecture for which to create the
representation), a Name
which defines the name of the package and a PackageBase
which provides the initial data.
§Note
The returned MergedPackage
is not complete, as it neither contains package-specific nor
architecture-specific overrides for its fields.
Use from_base_and_package
to create a fully
resolved representation of a package.
Sourcepub fn merge_package(&mut self, package: &Package)
pub fn merge_package(&mut self, package: &Package)
Sourcepub fn merge_architecture_properties(
&mut self,
base_architecture: &PackageBaseArchitecture,
)
pub fn merge_architecture_properties( &mut self, base_architecture: &PackageBaseArchitecture, )
Merges in architecture-specific overrides for fields.
Takes a PackageBaseArchitecture
and uses all of its fields as overrides for the pendants
on self
.
Trait Implementations§
Source§impl Clone for MergedPackage
impl Clone for MergedPackage
Source§fn clone(&self) -> MergedPackage
fn clone(&self) -> MergedPackage
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more