Thanks for the patch! I think it’d be better to merge this with the next patch that adds the first workspace member, since otherwise cargo build doesn’t work yet.
Also, could you please additionally add a rustfmt.toml so formatting is consistent across repos? And a small inline comment below: On 2/13/26 10:41 AM, Kefu Chai wrote:
Initialize the Rust workspace for the pmxcfs rewrite project. Signed-off-by: Kefu Chai <[email protected]> --- src/pmxcfs-rs/.gitignore | 3 +++ src/pmxcfs-rs/Cargo.toml | 31 +++++++++++++++++++++++++++++++ src/pmxcfs-rs/Makefile | 39 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 73 insertions(+) create mode 100644 src/pmxcfs-rs/.gitignore create mode 100644 src/pmxcfs-rs/Cargo.toml create mode 100644 src/pmxcfs-rs/Makefile diff --git a/src/pmxcfs-rs/.gitignore b/src/pmxcfs-rs/.gitignore new file mode 100644 index 000000000..f2e56d3f7 --- /dev/null +++ b/src/pmxcfs-rs/.gitignore @@ -0,0 +1,3 @@ +/target
this entry should not be needed as it’s covered by target/ below
+Cargo.lock +target/ diff --git a/src/pmxcfs-rs/Cargo.toml b/src/pmxcfs-rs/Cargo.toml new file mode 100644 index 000000000..d109221fb --- /dev/null +++ b/src/pmxcfs-rs/Cargo.toml @@ -0,0 +1,31 @@ +# Workspace root for pmxcfs Rust implementation +[workspace] +members = [ +] +resolver = "2" + +[workspace.package] +version = "9.0.6" +edition = "2024" +authors = ["Proxmox Support Team <[email protected]>"] +license = "AGPL-3.0" +repository = "https://git.proxmox.com/?p=pve-cluster.git" +rust-version = "1.85" + +[workspace.dependencies] +# Dependencies will be added incrementally as crates are introduced + +[workspace.lints.clippy] +uninlined_format_args = "warn" + +[profile.release] +lto = true +codegen-units = 1 +opt-level = 3 +strip = true + +[profile.dev] +opt-level = 1 +debug = true + +[patch.crates-io] diff --git a/src/pmxcfs-rs/Makefile b/src/pmxcfs-rs/Makefile new file mode 100644 index 000000000..eaa96317f --- /dev/null +++ b/src/pmxcfs-rs/Makefile @@ -0,0 +1,39 @@ +.PHONY: all test lint clippy fmt check build clean help + +# Default target +all: check build + +# Run all tests +test: + cargo test --workspace + +# Lint with clippy (using proxmox-backup style: only fail on correctness issues) +clippy: + cargo clippy --workspace -- -A clippy::all -D clippy::correctness + +# Check code formatting +fmt: + cargo fmt --all --check + +# Full quality check (format + lint + test) +check: fmt clippy test + +# Build release version +build: + cargo build --workspace --release + +# Clean build artifacts +clean: + cargo clean + +# Show available targets +help: + @echo "Available targets:" + @echo " all - Run check and build (default)" + @echo " test - Run all tests" + @echo " clippy - Run clippy linter" + @echo " fmt - Check code formatting" + @echo " check - Run fmt + clippy + test" + @echo " build - Build release version" + @echo " clean - Clean build artifacts" + @echo " help - Show this help message"
