#[cfg(feature = "serde")]
use ::serde::{Deserialize, Serialize};
use crate::{
architecture::Architecture,
control::{
Architectures, DateTime2822, FileDigestMd5, FileDigestSha1, FileDigestSha256,
SpaceDelimitedStrings,
},
dependency::Dependency,
version::Version,
};
#[derive(Clone, Debug, PartialEq)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
#[cfg_attr(feature = "serde", serde(rename_all = "PascalCase"))]
pub struct Buildinfo {
pub format: String,
pub binary: Option<SpaceDelimitedStrings>,
pub source: String,
pub architecture: Architectures,
pub version: Version,
#[cfg_attr(feature = "serde", serde(rename = "Binary-Only-Changes"))]
pub binary_only_changes: Option<String>,
#[cfg_attr(feature = "serde", serde(rename = "Checksums-Md5"))]
pub checksum_md5: Option<Vec<FileDigestMd5>>,
#[cfg_attr(feature = "serde", serde(rename = "Checksums-Sha1"))]
pub checksum_sha1: Option<Vec<FileDigestSha1>>,
#[cfg_attr(feature = "serde", serde(rename = "Checksums-Sha256"))]
pub checksum_sha256: Vec<FileDigestSha256>,
#[cfg_attr(feature = "serde", serde(rename = "Build-Origin"))]
pub build_origin: Option<String>,
#[cfg_attr(feature = "serde", serde(rename = "Build-Architecture"))]
pub build_architecture: Architecture,
#[cfg_attr(feature = "serde", serde(rename = "Build-Date"))]
pub build_date: Option<DateTime2822>,
#[cfg_attr(feature = "serde", serde(rename = "Build-Kernel-Version"))]
pub build_kernel_version: Option<String>,
#[cfg_attr(feature = "serde", serde(rename = "Build-Path"))]
pub build_path: Option<String>,
#[cfg_attr(feature = "serde", serde(rename = "Build-Tained-By"))]
pub build_tained_by: Option<SpaceDelimitedStrings>,
#[cfg_attr(feature = "serde", serde(rename = "Installed-Build-Depends"))]
pub installed_build_depends: Dependency,
pub environment: Vec<String>,
}