Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[rust-installer] Allow long link names in tar files #109577

Merged
merged 1 commit into from
Mar 28, 2023

Commits on Mar 25, 2023

  1. Allow long link names in tar files

    Without this, users trying to run `x.py dist` under a sufficiently long
    path run into problems when we build the resulting tarballs due to
    length limits in the original tar spec. The error looks like:
    
            Finished release [optimized + debuginfo] target(s) in 0.34s
        Copying stage0 std from stage0 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-musl)
        Building stage0 tool rust-installer (x86_64-unknown-linux-gnu)
            Finished release [optimized] target(s) in 0.35s
        Dist rust-std-1.67.1-x86_64-unknown-linux-musl
        Error: failed to generate installer
    
        Caused by:
            0: failed to tar file '/home/AAAAAAAAAAAAAA/BBBBBB/CCCC/DDD/EEEEE/FFFFFFFFFFFF/GGGGGGGGGGGGGGGG/HHHHHHHHHH/IIIIIIIIIIIIIII/JJJJJ/KKKKKKK/src/build/tmp/tarball/rust-std/x86_64-unknown-linux-musl/rust-std-1.67.1-x86_64-unknown-linux-musl/rust-std-x86_64-unknown-linux-musl/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/libc.a'
            1: provided value is too long when setting link name for
        Build completed unsuccessfully in 0:00:03
    
    The fix is to make use of the widely-supported GNU tar extensions which
    lift this restriction. Switching to [`tar::Builder::append_link`] takes
    care of that for us. See also alexcrichton/tar-rs#273.
    
    [`tar::Builder::append_link`]: https://docs.rs/tar/0.4.38/tar/struct.Builder.html#method.append_link
    Jon Gjengset committed Mar 25, 2023
    Configuration menu
    Copy the full SHA
    4d55010 View commit details
    Browse the repository at this point in the history