[package]
name = "apt-ostree"
version = "0.1.0"
edition = "2021"
description = "Debian/Ubuntu equivalent of rpm-ostree"
license = "GPL-3.0-or-later"
repository = "https://github.com/your-org/apt-ostree"
keywords = ["apt", "ostree", "debian", "ubuntu", "package-management"]
categories = ["system", "command-line-utilities"]

[dependencies]
# APT integration - using command-line tools (apt, apt-get, apt-cache, dpkg) for reliability and simplicity

# OSTree integration
ostree = "0.20.3"

# System and FFI
libc = "0.2"
num_cpus = "1.16"

# Error handling
anyhow = "1.0"
thiserror = "1.0"

# Command line argument parsing
clap = { version = "4.0", features = ["derive"] }

# Serialization (used extensively)
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_yaml = "0.9"
chrono = { version = "0.4", features = ["serde"] }

# Logging and output
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json", "time"] }
tracing-appender = "0.2"

# Async runtime (used for concurrent operations)
tokio = { version = "1.0", features = ["full"] }
futures = "0.3"

# D-Bus integration (used for daemon communication)
zbus = "4.0"
zbus_macros = "4.0"

# Temporary file handling
tempfile = "3.8"

# Archive creation
tar = "0.4"

# Regular expressions
regex = "1.0"

# UUID generation
uuid = { version = "1.0", features = ["v4"] }

# User and session management
users = "0.11"

# Polkit integration for security
polkit = "0.19"

# Cryptographic hashing
sha2 = "0.10"
sha256 = "1.0"

# Development commands dependencies
goblin = { version = "0.8", optional = true }           # ELF file manipulation
rand = { version = "0.8", optional = true }             # Random number generation

[profile.release]
opt-level = 3
lto = true
codegen-units = 1

[profile.dev]
opt-level = 0
debug = true

[features]
default = []
development = ["goblin", "rand"]

[[bin]]
name = "apt-ostree"
path = "src/main.rs"

[[bin]]
name = "apt-ostreed"
path = "src/daemon_main.rs"

[dev-dependencies]
criterion = "0.7.0"
