For more details see https://github.com/kornelski/cargo-deb/commits/main/
- Fixed auto
Dependswhen cross-compiling. - Support
STRIP_<target arch>andOBJCOPY_<target arch>when cross-compiling.
- Support for Cargo multi-target builds.
target/debianis the default output dir, even when--targetis used (target/<platform triple>/debiancopy is kept for back compat)
- Added support for
build-dirCargo feature - Don't try to auto-detect library deps for shell scripts
- Switched systemd location to the preferred
/usr/lib/systemdinstead of/lib/systemd - Improved warnings and error messages
- Added
systemd/is a fallback location for systemd units ifmaintainer-scriptsis not set
- Added colored terminal output
- Added
--compress-debug-symbols=zliband--compress-debug-symbols=zstd. If the algorithm is not specified, it defaults tozstdfordebug = "full"(for debuggers) andzlibotherwise (for compatibility with panic backtraces). - When
--separate-debug-symbolsor--dbgsymare used with a package that doesn't have debug symbols configured, the package will be built with some debug symbols enabled anyway. - When
strip --strip-unneeded --remove-section=…fails, it's retried without the extra arguments.
--dbgsymoption to generate extra-dbgsym.ddebpackage with separated debug info. Install withcargo install cargo-deb --features default_enable_dbgsymto make it enabled by default.- Warnings for conflicting options, like
--separate-debug-symbolsand--no-strip. - Support for
CARGO_PROFILE_RELEASE_DEBUGandCARGO_PROFILE_RELEASE_STRIP. [profile.release]is read from the root of the workspace, matching Cargo's behavior..cargo/config.tomlis searched relative to the current dir, rather than workspace root.- current dir is not changed when using
--manifest-path.cdto the manifest's dir to get the previous behavior. "$auto"can be explicitly added toassetsto get the default assets in addition to custom ones.- Improved handling of
nameof config variants[package.metadata.deb.variants.*] - lack of
package.authorsandcopyrightis only a warning, not a fatal error. - Support for default custom release profiles, like
[package.metadata.deb] profile = "dist" -vvis now used to printrustcinvocations during build
- Improved auto-detection default packages in workspaces
- Fixed handling of asset paths with
/*/directory components
- Support for GCC-style and Debian-style multi-arch lib directories
- Support naming systemd units
- Pass through
--featuresflag - Faster Cargo metadata parsing
- Support for
CARGO_BUILD_TARGETin addition to--target. - Consistent syntax for all package interrelationship fields in Cargo manifest.
- Systemd uses deb package name instead of Cargo crate name, when they're different.
- tmpfiles are forced to have a .conf extension, like systemd requires.
- Fixed detection of objcopy and strip in cross-compilation when
config.tomlis absent.
- Support for multiarch lib dir
- Support for Rust edition 2024
- Don't add Vcs-* to the binary control file, since lintian doesn't like it.
- Don't generate sha256sums files, since lintian doesn't like it either.
assetsentries inCargo.tomlcan use a verbose syntax{ source = "path", dest = "path", mode = "644" }- Improved handling of symlinked assets
--maintaineroverrides maintainer field and makesauthorsin TOML optional.- Fixed use of
--manifest-pathused from out-of-workspace directories having.cargodir
--offline,--locked,--frozenpassed tocargo metadataandcargo build--cargo-build="custom build"splits on spaces, allowing custom cargo subcommands
- If run in a workspace without any package name specified, it picks a default workspace member.
- Package with
publish = falsewithout anylicensespecified defaults to "UNLICENSED". conffilesis generated for all assets withetc/as their destination.
This release has big internal refactorings, so watch out for subtle bugs.
- Added
--compress-debug-symbolsoption when using--separate-debug-symbols. - Fixed
separate-debug-symbolsoption missing fromCargo.tomlmetadata. - Changed location of separated debug symbols to use GNU debug-id paths, when the debug-id section is available.
stripcommand is called with the same args asdh_stripuses.
- Changed digests from MD5 to SHA256
- Added
--rsyncablethat tries to make very large packages compressed in a more deterministic way.
- Added a default
-1revision suffix to versions, to indicate these aren't official ("native") Debian packages.