Files
pkh/Cargo.toml
T
vhaudiquet d0b5ce65a4 deps: build against the crates packaged in Debian
The audit of the lock against Debian's archive (qa.debian.org
madison, sid/trixie/bookworm) showed 255 of 291 crates packaged, the
36 missing ones all Windows/wasm/apple/redox-only. Making the tree
build against the Debian-packaged crates — the difference between a
vendored source package and a thin debcargo one — needed:

- sha1/sha2/md-5 bumped to the digest 0.11 line (sid moved, 0.10 is
  trixie-only): finalize() now returns hybrid-array Output without
  LowerHex (hex::encode it) and no io::Write impl (sha256_file reads
  chunks into update()). The digest outputs are unchanged; the full
  suite including the checksums tests passes.
- crossterm 0.28 -> 0.29: Debian skipped 0.28 entirely.
- reqwest 0.12 -> 0.13: the blocking/json/stream usages carried over
  unchanged.
- suppaftp behind an opt-out 'ftp' feature: the one dependency absent
  from the archive, used only by the plain-FTP upload fallback of
  'pkh put' — the Debian build drops it and the SFTP failure path
  reports the transport as unavailable instead.
- every patch-level requirement pin relaxed to the minor level
  (4.5.51 -> 4.5, 1.0.228 -> 1.0, ...) — semver-compatible, and what
  lets trixie's slightly older crates satisfy the manifest.

Result: 30 of 32 direct dependencies resolve from sid as-is; the
remaining two are indicatif 0.18 (sitting in experimental, migrating)
and the feature-gated suppaftp. No vendoring on sid.
2026-10-04 15:59:56 +02:00

57 lines
1.4 KiB
TOML

[package]
name = "pkh"
version = "0.2.0-rc1"
edition = "2024"
authors = ["vhaudiquet"]
description = "pkh is a packaging helper for Debian/Ubuntu packages"
license = "MIT OR GPL-2.0-only"
repository = "https://git.vhaudiquet.fr/vhaudiquet/pkh"
readme = "README.md"
[dependencies]
clap = { version = "4.5", features = ["cargo"] }
crossterm = "0.29"
flate2 = "1.1"
serde = { version = "1.0", features = ["derive"] }
libc = "0.2"
csv = "1.3"
reqwest = { version = "0.13", features = ["blocking", "json", "stream"] }
git2 = "0.20"
regex = "1"
chrono = "0.4"
tokio = { version = "1.41", features = ["rt-multi-thread", "macros", "time", "sync"] }
sha2 = "0.11"
sha1 = "0.11"
md-5 = "0.11"
hex = "0.4"
log = "0.4"
indicatif = "0.18"
indicatif-log-bridge = "0.2"
env_logger = "0.11"
futures-util = { version = "0.3", features = ["tokio-io"] }
tar = "0.4"
xz2 = "0.1"
serde_json = "1.0"
directories = "6.0"
ssh2 = "0.9"
gpgme = "0.11"
serde_yaml = "0.9"
unicode-width = "0.2"
parking_lot = "0.12"
bzip2-rs = "0.1"
thiserror = "2"
suppaftp = { version = "12", optional = true }
# The plain-FTP upload fallback (the archive masters' queue, dput's
# method) behind a feature: it is the one dependency absent from the
# Debian archive, so the Debian build drops it and the SFTP failure
# path reports the transport as unavailable.
[features]
default = ["ftp"]
ftp = ["dep:suppaftp"]
[dev-dependencies]
test-log = "0.2.19"
serial_test = "3.3.1"
tempfile = "3.10.1"