#[non_exhaustive]pub struct PackageConfig {Show 35 fields
pub cargo_crate_name: String,
pub deb_name: String,
pub deb_version: String,
pub license_identifier: Option<String>,
pub license_file_rel_path: Option<PathBuf>,
pub license_file_skip_lines: usize,
pub copyright: Option<String>,
pub changelog: Option<String>,
pub homepage: Option<String>,
pub documentation: Option<String>,
pub repository: Option<String>,
pub description: String,
pub extended_description: ExtendedDescription,
pub maintainer: Option<String>,
pub wildcard_depends: String,
pub resolved_depends: Option<String>,
pub pre_depends: Option<String>,
pub recommends: Option<String>,
pub suggests: Option<String>,
pub enhances: Option<String>,
pub section: Option<String>,
pub priority: String,
pub conflicts: Option<String>,
pub breaks: Option<String>,
pub replaces: Option<String>,
pub provides: Option<String>,
pub architecture: String,
pub multiarch: Multiarch,
pub conf_files: Vec<String>,
pub readme_rel_path: Option<PathBuf>,
pub triggers_file_rel_path: Option<PathBuf>,
pub maintainer_scripts_rel_path: Option<PathBuf>,
pub preserve_symlinks: bool,
pub default_timestamp: u64,
pub is_split_dbgsym_package: bool,
/* private fields */
}Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.cargo_crate_name: StringThe name of the project to build
deb_name: StringThe name to give the Debian package; usually the same as the Cargo project name
deb_version: StringThe version to give the Debian package; usually the same as the Cargo version
license_identifier: Option<String>The software license of the project (SPDX format).
license_file_rel_path: Option<PathBuf>The location of the license file
license_file_skip_lines: usizenumber of lines to skip when reading license_file
copyright: Option<String>Names of copyright owners (credit in Copyright metadata)
Used in Debian’s copyright file, which is required by Debian.
changelog: Option<String>§homepage: Option<String>The homepage URL of the project.
documentation: Option<String>Documentation URL from Cargo.toml. Fallback if homepage is missing.
repository: Option<String>The URL of the software repository. Fallback if both homepage and documentation are missing.
description: StringA short description of the project.
extended_description: ExtendedDescriptionAn extended description of the project.
maintainer: Option<String>The maintainer of the Debian package.
In Debian control file Maintainer field format.
wildcard_depends: StringDeps including $auto
resolved_depends: Option<String>The Debian dependencies required to run the project.
pre_depends: Option<String>The Debian pre-dependencies.
recommends: Option<String>The Debian recommended dependencies.
suggests: Option<String>The Debian suggested dependencies.
enhances: Option<String>The list of packages this package can enhance.
section: Option<String>The Debian software category to which the package belongs.
priority: StringThe Debian priority of the project. Typically ‘optional’.
conflicts: Option<String>Conflicts Debian control field.
See PackageTransition.
breaks: Option<String>Breaks Debian control field.
See PackageTransition.
replaces: Option<String>Replaces Debian control field.
See PackageTransition.
provides: Option<String>Provides Debian control field.
See PackageTransition.
architecture: StringThe Debian architecture of the target system.
multiarch: MultiarchSupport Debian’s multiarch, which puts libs in /usr/lib/$tuple/
conf_files: Vec<String>A list of configuration files installed by the package.
Automatically includes all files in /etc
readme_rel_path: Option<PathBuf>Added to usr/share/doc as a fallback
triggers_file_rel_path: Option<PathBuf>The location of the triggers file
maintainer_scripts_rel_path: Option<PathBuf>The path where possible maintainer scripts live
preserve_symlinks: boolShould symlinks be preserved in the assets
default_timestamp: u64unix timestamp for generated files
is_split_dbgsym_package: boolSave it under a different path
Implementations§
Source§impl PackageConfig
impl PackageConfig
Sourcepub fn set_multiarch(&mut self, enable: Multiarch)
pub fn set_multiarch(&mut self, enable: Multiarch)
Use /usr/lib/arch-linux-gnu dir for libraries
pub fn resolve_assets(&mut self, listener: &dyn Listener) -> CDResult<()>
Sourcepub fn resolved_binary_dependencies(
&self,
listener: &dyn Listener,
) -> CDResult<String>
pub fn resolved_binary_dependencies( &self, listener: &dyn Listener, ) -> CDResult<String>
run dpkg/ldd to check deps of libs
Sourcepub fn sort_assets_by_type(&mut self)
pub fn sort_assets_by_type(&mut self)
similar files next to each other improve tarball compression
Sourcepub fn generate_control(&self, config: &BuildEnvironment) -> CDResult<String>
pub fn generate_control(&self, config: &BuildEnvironment) -> CDResult<String>
Generates the control file that obtains all the important information about the package.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PackageConfig
impl RefUnwindSafe for PackageConfig
impl Send for PackageConfig
impl Sync for PackageConfig
impl Unpin for PackageConfig
impl UnwindSafe for PackageConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more