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