alpm_types/
lib.rs

1#![doc = include_str!("../README.md")]
2#![forbid(unsafe_code)]
3#![warn(missing_docs)]
4
5mod checksum;
6pub use checksum::{
7    Blake2b512Checksum,
8    Checksum,
9    ChecksumAlgorithm,
10    Digest,
11    Md5Checksum,
12    Sha1Checksum,
13    Sha224Checksum,
14    Sha256Checksum,
15    Sha384Checksum,
16    Sha512Checksum,
17    SkippableChecksum,
18};
19
20mod source;
21pub use source::Source;
22
23mod url;
24pub use url::{SourceUrl, Url};
25
26/// Public re-exports of common hash functions, for use with [`Checksum`].
27pub mod digests {
28    pub use blake2::Blake2b512;
29    pub use digest::Digest;
30    pub use md5::Md5;
31    pub use sha1::Sha1;
32    pub use sha2::{Sha224, Sha256, Sha384, Sha512};
33}
34
35mod compression;
36pub use compression::CompressionAlgorithmFileExtension;
37
38mod date;
39pub use date::{BuildDate, FromOffsetDateTime};
40
41mod env;
42pub use env::{BuildEnvironmentOption, InstalledPackage, MakepkgOption, PackageOption};
43
44mod file_type;
45pub use file_type::FileTypeIdentifier;
46
47mod error;
48pub use error::Error;
49
50mod license;
51pub use license::License;
52
53mod name;
54pub use name::{BuildTool, Name, SharedObjectName};
55
56mod package;
57pub use package::{
58    contents::{INSTALL_SCRIPTLET_FILE_NAME, MetadataFileName},
59    error::Error as PackageError,
60    file_name::PackageFileName,
61    source::{PKGBUILD_FILE_NAME, SRCINFO_FILE_NAME},
62};
63
64mod path;
65pub use path::{
66    AbsolutePath,
67    Backup,
68    BuildDirectory,
69    Changelog,
70    Install,
71    RelativePath,
72    StartDirectory,
73};
74
75mod openpgp;
76pub use openpgp::{OpenPGPIdentifier, OpenPGPKeyId, OpenPGPv4Fingerprint, Packager};
77
78mod pkg;
79pub use pkg::{ExtraData, PackageBaseName, PackageDescription, PackageType};
80
81mod relation;
82pub use relation::{
83    Group,
84    OptionalDependency,
85    PackageRelation,
86    RelationOrSoname,
87    SharedLibraryPrefix,
88    Soname,
89    SonameV1,
90    SonameV2,
91    VersionOrSoname,
92};
93
94mod size;
95pub use size::{CompressedSize, InstalledSize};
96
97mod system;
98pub use system::{Architecture, ElfArchitectureFormat};
99
100mod version;
101pub use version::{
102    base::{Epoch, PackageRelease, PackageVersion},
103    buildtool::BuildToolVersion,
104    comparison::{VersionSegment, VersionSegments},
105    pkg_full::FullVersion,
106    pkg_generic::Version,
107    pkg_minimal::MinimalVersion,
108    requirement::{VersionComparison, VersionRequirement},
109    schema::SchemaVersion,
110};
111
112/// Public re-exports for use with [`SchemaVersion`].
113pub mod semver_version {
114    pub use semver::Version;
115}