Open vrmiguel opened 1 year ago
I find that @mfrischknecht suggestion in #263 would work well here
https://github.com/alexcrichton/tar-rs/issues/263#issuecomment-905279517
However, the path normalization could be considered part of the current crate API and therefore changing that would be a breaking change.
My suggestion is a new, non-default, feature flag, e.g. dont-normalize
, that alters this check. With this flag people who don't care about the normalization still get the same behavior for the crate but anyone otherwise in need of the ./
prefix could still opt into it
If @alexcrichton agrees, I could open the PR that does this
Hey @alexcrichton! To preface, great job on this crate :D
Context: Debian packages (
.deb
) are Unix archives (.ar
) that must contain two.tar.{gz, xz}
files.For instance, one
.deb
'sdata.tar.gz
file might look something something likeSince tars must always be absolute, using
./
is a workaround to allow referring to something in the root folderIf one tried to accomplish this with the
tar
crate right now, the resulting archive would beWe do get
./
in there because of special treatment here, but it's eliminated in the rest, resulting in an incorrect Debian package.I found no workaround to this behavior in the crate, so I had to vendor it and modify the check done in copy_path_into.
Related to #263