kornelski / cargo-deb

Make Debian packages directly from Rust/Cargo projects
https://lib.rs/cargo-deb
MIT License
432 stars 52 forks source link

Changelog filename for native package #25

Closed paguardiolle closed 2 years ago

paguardiolle commented 2 years ago

Thanks for your great job. Cargo-deb is very usefull.

However we still have an issue regarding native packages and their changelog name.

If we refer to debian policy (https://www.debian.org/doc/debian-policy/ch-docs.html#s-changelogs) "Packages that are not Debian-native [...] with the name changelog.Debian.gz"

However it seems that "native package" (aka package related to Debian distro only) must have a filename like "/package/changelog.gz".

https://www.debian.org/doc/manuals/developers-reference/pkgs.en.html explains:

"This file will be installed in /usr/share/doc/package/changelog.Debian.gz, or /usr/share/doc/package/changelog.gz for native packages."

Can you please add a flag and/or an option to choice bw "changelog.Debian.gz" and "changelog.gz" ?

Many thanks.

kornelski commented 2 years ago

I think we're currently generating changelog.Debian.gz, which is correct for "non-native" packages.

I don't plan to support "native" packages, because Debian has many complex requirements for its native packages that a simple crate like this can't easily satisfy (changelog filename is the easy part, unbundling and src packages are harder). For "proper" Debian packages see debcargo crate.

paguardiolle commented 2 years ago

Ok. Thanks for your answer.

However when a try to package a "hello world" Rust app, my package is still recognized as a native by lintian ? is there sthing I'm missing ?

kornelski commented 2 years ago

For Debian "native" means "official". The native packages are the ones shipped by the Debian project, not you (unless you're an official Debian maintainer working for the Debian project).

So pretty much by definition everything you do with cargo-deb is non-native, because cargo-deb hasn't been chosen by the Debian project to make their official packages.