alpm_mtree/file/create.rs
1//! Functions for ALPM-MTREE file creation.
2//!
3//! [ALPM-MTREE]: https://alpm.archlinux.page/specifications/ALPM-MTREE.5.html
4
5use std::path::{Path, PathBuf};
6
7use crate::file::common::{BsdtarOptions, create_mtree_file_from_input_dir};
8
9/// Creates a new [ALPM-MTREEv1] file from an input directory and returns its path.
10///
11/// Calls [`create_mtree_file_from_input_dir`] with [bsdtar] options specific to [ALPM-MTREEv1].
12///
13/// # Errors
14///
15/// Returns an error if calling [`create_mtree_file_from_input_dir`] fails.
16///
17/// [ALPM-MTREEv1]: https://alpm.archlinux.page/specifications/ALPM-MTREEv1.5.html
18/// [bsdtar]: https://man.archlinux.org/man/bsdtar.1
19pub fn mtree_v1_from_input_dir(path: impl AsRef<Path>) -> Result<PathBuf, crate::Error> {
20 create_mtree_file_from_input_dir(path, BsdtarOptions::MtreeV1)
21}
22
23/// Creates a new [ALPM-MTREEv2] file from an input directory and returns its path.
24///
25/// Calls [`create_mtree_file_from_input_dir`] with [bsdtar] options specific to [ALPM-MTREEv2].
26///
27/// # Errors
28///
29/// Returns an error if calling [`create_mtree_file_from_input_dir`] fails.
30///
31/// [ALPM-MTREEv2]: https://alpm.archlinux.page/specifications/ALPM-MTREEv2.5.html
32/// [bsdtar]: https://man.archlinux.org/man/bsdtar.1
33pub fn mtree_v2_from_input_dir(path: impl AsRef<Path>) -> Result<PathBuf, crate::Error> {
34 create_mtree_file_from_input_dir(path, BsdtarOptions::MtreeV2)
35}