Skip to content

Rust 1.0.0 tarball does not have proper permissions on directories. #25479

Closed
@hirigaray

Description

@hirigaray

The tarball in question: https://static.rust-lang.org/dist/rustc-1.0.0-src.tar.gz

I actually don't really understand what's going on, one +x is set, and I don't understand why +x is needed on directories, but it is.

I ran into a snag, even while operating as root. I got "permission denied" when installing:

cfg: version 1.0.0-dev (built 2015-05-15)
cfg: build triple x86_64-unknown-linux-gnu
cfg: host triples x86_64-unknown-linux-gnu
cfg: target triples x86_64-unknown-linux-gnu
cfg: host for x86_64-unknown-linux-gnu is x86_64
cfg: os for x86_64-unknown-linux-gnu is unknown-linux-gnu
cfg: good valgrind for x86_64-unknown-linux-gnu is 1
cfg: using CC=ccache gcc (CFG_CC)
cfg: enabling valgrind run-pass tests (CFG_ENABLE_VALGRIND_RPASS)
cfg: valgrind-rpass command set to "/usr/bin/valgrind" --error-exitcode=100 --soname-synonyms=somalloc=NONE --quiet --suppressions=/home/kori/local/build/rust/src/rustc-1.0.0/src/etc/x86.supp  --tool=memcheck --leak-check=full
cfg: no xelatex found, disabling LaTeX docs
cfg: no pandoc found, omitting PDF and EPUB docs
cfg: disabling doc build (CFG_DISABLE_DOCS)
cfg: including prepare rules
cfg: including dist rules
cfg: including install rules
make: stat: GNUmakefile: Permission denied
make: stat: makefile: Permission denied
make: stat: Makefile: Permission denied
make: stat: prepare_install: Permission denied
make: *** No rule to make target 'prepare_install'.  Stop.
/home/kori/local/build/rust/src/rustc-1.0.0/mk/install.mk:14: recipe for target 'install' failed
make: *** [install] Error 2

I did some digging, and I figured out the problem.

SOLUTION: Mode a+x needs to be set for all directories, so it works properly.

This is currently not the case.

EDIT: Apparently you need a+x to search for the files inside directories properly.

https://en.wikipedia.org/wiki/Chmod#Common_Errors

More detail: the dirs are currently drwx------, they should be at least drwx--x--x, but ideally drwxr-xr-x

Metadata

Metadata

Assignees

No one assigned

    Labels

    P-lowLow priorityT-dev-toolsRelevant to the dev-tools subteam, which will review and decide on the PR/issue.T-infraRelevant to the infrastructure team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions