The default --bind overlay mounted the current directory at /root/<basename>, but the command still started in /root: the library's working-directory fallback only considers read-write binds. Pass the mapped target as the explicit working_dir so relative paths keep meaning what they meant on the host. Bind sources are canonicalized when the targets are built instead of at mount time. This fixes --bind . and other basename-less relative paths, which cli_mount_target rejected, and lets the --bind/--bind-rw dedup match relative and absolute spellings of the same directory.
34 lines
802 B
TOML
34 lines
802 B
TOML
[package]
|
|
name = "ecr-cli"
|
|
description = "Enter chroot environments with Linux namespaces"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
license.workspace = true
|
|
authors.workspace = true
|
|
|
|
# The installed binary keeps the `ecr` name even though the CLI package is
|
|
# `ecr-cli`; the library package owns the `ecr` name for consumers.
|
|
[[bin]]
|
|
name = "ecr"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
ecr = { path = "../ecr" }
|
|
|
|
# CLI parsing
|
|
clap = { version = "4", features = ["derive", "env"] }
|
|
|
|
# Error handling
|
|
anyhow = "1"
|
|
|
|
# Logging facade; the stderr sink lives in src/logger.rs
|
|
log = { version = "0.4", features = ["std"] }
|
|
|
|
# Progress bar rendering of library progress events
|
|
indicatif = "0.18"
|
|
|
|
[dev-dependencies]
|
|
# Temp directories for bind-target tests
|
|
tempfile = "3"
|