1#![deny(missing_docs)]
17#![deny(missing_debug_implementations)]
18#![forbid(unused_must_use)]
19#![deny(unsafe_code)]
20#![cfg_attr(feature = "dox", feature(doc_cfg))]
21#![deny(clippy::dbg_macro)]
22#![deny(clippy::todo)]
23
24pub use composefs_ctl::composefs;
28pub use composefs_ctl::composefs_boot;
29pub use composefs_ctl::composefs_oci;
30pub use containers_image_proxy;
31pub use containers_image_proxy::oci_spec;
32pub use ostree;
33pub use ostree::gio;
34pub use ostree::gio::glib;
35
36type Result<T> = anyhow::Result<T>;
39
40pub mod globals;
42
43pub mod bootabletree;
44pub mod cli;
45pub mod container;
46pub mod container_utils;
47pub mod diff;
48pub(crate) mod generic_decompress;
49pub mod ima;
50pub mod keyfileext;
51pub(crate) mod logging;
52pub mod ostree_prepareroot;
53pub mod refescape;
54#[doc(hidden)]
55pub mod repair;
56pub mod repo_options;
57pub mod sysroot;
58pub mod tar;
59pub mod tokio_util;
60
61pub mod selinux;
62
63pub mod chunking;
64pub mod commit;
65pub mod objectsource;
66pub(crate) mod objgv;
67#[cfg(feature = "internal-testing-api")]
68pub mod ostree_manual;
69#[cfg(not(feature = "internal-testing-api"))]
70pub(crate) mod ostree_manual;
71
72pub(crate) mod statistics;
73
74mod utils;
75
76#[cfg(feature = "docgen")]
77mod docgen;
78pub mod fsverity;
79
80pub mod prelude {
82 #[doc(hidden)]
83 pub use ostree::prelude::*;
84}
85
86#[cfg(feature = "internal-testing-api")]
87pub mod fixture;
88#[cfg(feature = "internal-testing-api")]
89pub mod integrationtest;
90
91pub fn systemd_has_soft_reboot() -> bool {
94 const UNIT: &str = "/usr/lib/systemd/system/soft-reboot.target";
95 use std::sync::OnceLock;
96 static EXISTS: OnceLock<bool> = OnceLock::new();
97 *EXISTS.get_or_init(|| std::path::Path::new(UNIT).exists())
98}