32 lines
1.1 KiB
Rust
32 lines
1.1 KiB
Rust
use {
|
|
super::{Group, User},
|
|
crate::{Dependency, Version},
|
|
serde::{Deserialize, Serialize},
|
|
};
|
|
|
|
#[derive(Clone, Debug, Default, Serialize, Deserialize, PartialEq)]
|
|
pub struct Specs {
|
|
/// The name of the package minus all version information
|
|
pub name: String,
|
|
/// The `Version` of the package
|
|
pub version: Version,
|
|
/// The release number for this package
|
|
pub release: u8,
|
|
/// a single line description of the package
|
|
pub description: String,
|
|
/// a more verbose description of the package
|
|
pub long_description: String,
|
|
/// an optional link to an
|
|
/// [AppStream](https://www.freedesktop.org/wiki/Distributions/AppStream/)
|
|
/// metadata file
|
|
pub appstream_data: Option<String>,
|
|
/// all of this package's runtime dependencies
|
|
pub dependencies: Vec<Dependency>,
|
|
/// an optional list of users to be created upon installation
|
|
pub users: Option<Vec<User>>,
|
|
/// an optional list of groups to be created upon installation
|
|
pub groups: Option<Vec<Group>>,
|
|
/// an optional post installation shell script to be run
|
|
pub post_install: Option<String>,
|
|
}
|