mirror of
https://github.com/NixOS/nix.git
synced 2025-12-16 22:11:05 +01:00
libutil/tarfile: Mention pathname in warning
Fetching gcc-15.2.0.tar.gz I get a warning about UTF8 archive names. This
now mentions problematic pathnames.
warning: getting archive member 'gcc-15.2.0/gcc/testsuite/go.test/test/fixedbugs/issue27836.dir/Äfoo.go': Pathname can't be converted from UTF-8 to current locale.
warning: getting archive member 'gcc-15.2.0/gcc/testsuite/go.test/test/fixedbugs/issue27836.dir/Ämain.go': Pathname can't be converted from UTF-8 to current locale.
Also apparently libarchive depends on locale (yikes). Fixing reproducibility issues
that stem from this is a separate issue. At least having the warning actually mention
the pathname should be useful enough even though it's not actionable.
At least using the default locale yields something sane:
builtins.readDir "${gcc}/gcc/testsuite/go.test/test/fixedbugs/issue27836.dir"
{
"Äfoo.go" = "regular";
"Ämain.go" = "regular";
}
This commit is contained in:
parent
8b955d80c2
commit
7e3de5361a
1 changed files with 2 additions and 2 deletions
|
|
@ -136,7 +136,7 @@ static void extract_archive(TarArchive & archive, const std::filesystem::path &
|
|||
if (!name)
|
||||
throw Error("cannot get archive member name: %s", archive_error_string(archive.archive));
|
||||
if (r == ARCHIVE_WARN)
|
||||
warn(archive_error_string(archive.archive));
|
||||
warn("getting archive member '%1%': %2%", name, archive_error_string(archive.archive));
|
||||
else
|
||||
archive.check(r);
|
||||
|
||||
|
|
@ -193,7 +193,7 @@ time_t unpackTarfileToSink(TarArchive & archive, ExtendedFileSystemObjectSink &
|
|||
throw Error("cannot get archive member name: %s", archive_error_string(archive.archive));
|
||||
auto cpath = CanonPath{path};
|
||||
if (r == ARCHIVE_WARN)
|
||||
warn(archive_error_string(archive.archive));
|
||||
warn("getting archive member '%1%': %2%", path, archive_error_string(archive.archive));
|
||||
else
|
||||
archive.check(r);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue