2022-11-30 13:18:17 -05:00
|
|
|
[package]
|
|
|
|
|
description = "bootc implementation"
|
2026-01-11 16:20:12 +01:00
|
|
|
edition = "2024"
|
2022-11-30 13:18:17 -05:00
|
|
|
license = "MIT OR Apache-2.0"
|
|
|
|
|
name = "bootc-lib"
|
2025-05-19 16:02:42 -04:00
|
|
|
repository = "https://github.com/bootc-dev/bootc"
|
2025-05-14 14:08:18 -04:00
|
|
|
# The intention is we'll follow semver here, even though this
|
|
|
|
|
# project isn't actually published as a crate.
|
2026-01-15 22:55:33 +00:00
|
|
|
version = "1.12.1"
|
2025-02-03 09:10:14 -05:00
|
|
|
# In general we try to keep this pinned to what's in the latest RHEL9.
|
2026-01-11 16:20:12 +01:00
|
|
|
rust-version = "1.85.0"
|
2022-11-30 13:18:17 -05:00
|
|
|
|
2023-10-11 16:36:08 -04:00
|
|
|
include = ["/src", "LICENSE-APACHE", "LICENSE-MIT"]
|
|
|
|
|
|
2022-11-30 13:18:17 -05:00
|
|
|
[dependencies]
|
2025-08-08 10:07:39 -04:00
|
|
|
# Internal crates
|
2025-12-08 10:50:46 +08:00
|
|
|
bootc-blockdev = { package = "bootc-internal-blockdev", path = "../blockdev", version = "0.1.0" }
|
2025-08-26 13:12:10 -04:00
|
|
|
bootc-kernel-cmdline = { path = "../kernel_cmdline", version = "0.0.0" }
|
2025-04-27 13:29:56 -04:00
|
|
|
bootc-mount = { path = "../mount" }
|
2025-02-13 17:27:13 -05:00
|
|
|
bootc-sysusers = { path = "../sysusers" }
|
2025-08-08 10:07:39 -04:00
|
|
|
bootc-tmpfiles = { path = "../tmpfiles" }
|
2025-12-09 11:33:08 +08:00
|
|
|
bootc-utils = { package = "bootc-internal-utils", path = "../utils", version = "0.1.0" }
|
2025-01-24 17:33:29 -05:00
|
|
|
ostree-ext = { path = "../ostree-ext", features = ["bootc"] }
|
2025-08-25 12:11:32 +05:30
|
|
|
etc-merge = { path = "../etc-merge" }
|
2025-05-07 10:56:43 +05:30
|
|
|
bootc-initramfs-setup = { path = "../initramfs" }
|
2025-08-08 10:07:39 -04:00
|
|
|
|
|
|
|
|
# Workspace dependencies
|
|
|
|
|
anstream = { workspace = true }
|
|
|
|
|
anyhow = { workspace = true }
|
|
|
|
|
camino = { workspace = true, features = ["serde1"] }
|
|
|
|
|
canon-json = { workspace = true }
|
|
|
|
|
cap-std-ext = { workspace = true, features = ["fs_utf8"] }
|
2025-10-20 09:10:38 -04:00
|
|
|
cfg-if = { workspace = true }
|
2024-07-16 09:03:21 -04:00
|
|
|
chrono = { workspace = true, features = ["serde"] }
|
|
|
|
|
clap = { workspace = true, features = ["derive","cargo"] }
|
2026-01-09 06:12:09 +09:00
|
|
|
clap_complete = "4"
|
2024-11-07 13:55:29 -05:00
|
|
|
clap_mangen = { workspace = true, optional = true }
|
2025-08-08 10:07:39 -04:00
|
|
|
composefs = { workspace = true }
|
|
|
|
|
composefs-boot = { workspace = true }
|
|
|
|
|
composefs-oci = { workspace = true }
|
2024-07-16 09:03:21 -04:00
|
|
|
fn-error-context = { workspace = true }
|
2025-08-08 10:07:39 -04:00
|
|
|
hex = { workspace = true }
|
2024-11-07 13:55:29 -05:00
|
|
|
indicatif = { workspace = true }
|
2025-01-31 13:45:14 -05:00
|
|
|
indoc = { workspace = true }
|
2024-07-16 09:03:21 -04:00
|
|
|
libc = { workspace = true }
|
2024-11-07 13:55:29 -05:00
|
|
|
openssl = { workspace = true }
|
2025-08-08 09:49:42 -04:00
|
|
|
regex = { workspace = true }
|
2024-08-15 14:46:24 -04:00
|
|
|
rustix = { workspace = true }
|
2024-07-16 09:03:21 -04:00
|
|
|
serde = { workspace = true, features = ["derive"] }
|
|
|
|
|
serde_json = { workspace = true }
|
2025-08-08 10:07:39 -04:00
|
|
|
tempfile = { workspace = true }
|
|
|
|
|
thiserror = { workspace = true }
|
2024-07-16 09:03:21 -04:00
|
|
|
tokio = { workspace = true, features = ["io-std", "time", "process", "rt", "net"] }
|
2024-11-07 13:55:29 -05:00
|
|
|
tokio-util = { workspace = true }
|
2025-08-08 09:49:42 -04:00
|
|
|
toml = { workspace = true }
|
2025-08-08 10:07:39 -04:00
|
|
|
tracing = { workspace = true }
|
2025-08-08 09:49:42 -04:00
|
|
|
xshell = { workspace = true, optional = true }
|
2025-08-08 10:07:39 -04:00
|
|
|
|
|
|
|
|
# Crate-specific dependencies
|
|
|
|
|
anstyle = "1.0.6"
|
2024-11-05 15:57:01 +01:00
|
|
|
comfy-table = "7.1.1"
|
2025-08-08 10:07:39 -04:00
|
|
|
liboverdrop = "0.1.0"
|
2026-01-10 00:49:04 +09:00
|
|
|
unicode-width = "0.2"
|
2025-08-08 10:07:39 -04:00
|
|
|
libsystemd = "0.7"
|
|
|
|
|
linkme = "0.3"
|
2025-07-26 16:06:05 +05:30
|
|
|
nom = "8.0.0"
|
2026-01-06 14:16:42 +05:30
|
|
|
ocidir = "0.6.0"
|
2025-08-08 10:07:39 -04:00
|
|
|
schemars = { version = "1.0.4", features = ["chrono04"] }
|
|
|
|
|
serde_ignored = "0.1.10"
|
|
|
|
|
serde_yaml = "0.9.34"
|
2026-01-05 12:46:50 +05:30
|
|
|
tar = "0.4.43"
|
2025-08-08 10:07:39 -04:00
|
|
|
tini = "1.3.0"
|
|
|
|
|
uuid = { version = "1.8.0", features = ["v4"] }
|
2025-08-14 14:14:08 +02:00
|
|
|
uapi-version = "0.4.0"
|
2022-11-30 13:18:17 -05:00
|
|
|
|
2024-06-27 13:36:18 -04:00
|
|
|
[dev-dependencies]
|
2024-08-15 14:44:29 -04:00
|
|
|
similar-asserts = { workspace = true }
|
|
|
|
|
static_assertions = { workspace = true }
|
2024-06-27 13:36:18 -04:00
|
|
|
|
2022-11-30 13:18:17 -05:00
|
|
|
[features]
|
2025-10-28 08:33:48 -04:00
|
|
|
default = ["install-to-disk"]
|
2024-12-19 13:22:27 -05:00
|
|
|
# This feature enables `bootc install to-disk`, which is considered just a "demo"
|
|
|
|
|
# or reference installer; we expect most nontrivial use cases to be using
|
|
|
|
|
# `bootc install to-filesystem`.
|
|
|
|
|
install-to-disk = []
|
2024-12-16 16:37:55 -05:00
|
|
|
# This featuares enables `bootc internals publish-rhsm-facts` to integrate with
|
|
|
|
|
# Red Hat Subscription Manager
|
|
|
|
|
rhsm = []
|
2023-01-27 16:58:13 -05:00
|
|
|
# Implementation detail of man page generation.
|
2022-11-30 13:18:17 -05:00
|
|
|
docgen = ["clap_mangen"]
|
2024-05-31 16:01:41 -04:00
|
|
|
|
2024-07-17 13:31:07 -04:00
|
|
|
[lints]
|
|
|
|
|
workspace = true
|