mmstick / cargo-deb

A cargo subcommand that generates Debian packages from information in Cargo.toml
615 stars 50 forks source link

Rewrite conffiles to ensure absolute paths #173

Closed nickbabcock closed 3 years ago

nickbabcock commented 3 years ago

The man page for deb-conffiles states that conffiles should be absolute pathnames.

Starting with dpkg 1.20.1, dpkg will fail to install packages that don't use absolute pathnames for conffiles. Ubuntu 21.04 is a distro that is effected by this change.

This PR now ensures that conffile entries are absolute paths and rewrites them if they are not.

This PR also reverts #171. While using absolute paths for assets doesn't seem to affect behavior, as the default behavior of tar is to strip the leading slash (unless given -P/--absolute-names), it is more correct to use relative paths for asset paths as relative paths are shown in the debian handbook: https://debian-handbook.info/browse/stable/packaging-system.html

Tested that relative conffiles are rewritten as absolute and that the package is installable on Ubuntu 21.04

Closes #172

kornelski commented 3 years ago

Thank you