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

tc_build/binutils: Dont install unwanted man pages and info files #286

Merged
merged 4 commits into from
Jan 30, 2025

Conversation

dakkshesh07
Copy link
Member

We disable installation of docs for LLVM already, similarly modify the Binutils build process to redirect the installation of doc files to a temporary directory (/tmp/tc-build/deleteme) and delete it after the build and installation process finishes.

Files that get redirected:
$ find /tmp/tc-build/deleteme/

Click to expand

/tmp/tc-build/deleteme/dir
/tmp/tc-build/deleteme/ldint.info
/tmp/tc-build/deleteme/ld.info
/tmp/tc-build/deleteme/binutils.info
/tmp/tc-build/deleteme/ctf-spec.info
/tmp/tc-build/deleteme/bfd.info
/tmp/tc-build/deleteme/as.info
/tmp/tc-build/deleteme/gprof.info
/tmp/tc-build/deleteme/sframe-spec.info
/tmp/tc-build/deleteme/gprofng.info
/tmp/tc-build/deleteme/man1/loongarch64-linux-gnu-ld.1
/tmp/tc-build/deleteme/man1/loongarch64-linux-gnu-c++filt.1
/tmp/tc-build/deleteme/man1/loongarch64-linux-gnu-windmc.1
/tmp/tc-build/deleteme/man1/loongarch64-linux-gnu-windres.1
/tmp/tc-build/deleteme/man1/loongarch64-linux-gnu-elfedit.1
/tmp/tc-build/deleteme/man1/loongarch64-linux-gnu-strip.1
/tmp/tc-build/deleteme/man1/loongarch64-linux-gnu-strings.1
/tmp/tc-build/deleteme/man1/loongarch64-linux-gnu-size.1
/tmp/tc-build/deleteme/man1/loongarch64-linux-gnu-readelf.1
/tmp/tc-build/deleteme/man1/loongarch64-linux-gnu-ranlib.1
/tmp/tc-build/deleteme/man1/loongarch64-linux-gnu-objdump.1
/tmp/tc-build/deleteme/man1/loongarch64-linux-gnu-objcopy.1
/tmp/tc-build/deleteme/man1/loongarch64-linux-gnu-nm.1
/tmp/tc-build/deleteme/man1/loongarch64-linux-gnu-dlltool.1
/tmp/tc-build/deleteme/man1/loongarch64-linux-gnu-ar.1
/tmp/tc-build/deleteme/man1/loongarch64-linux-gnu-addr2line.1
/tmp/tc-build/deleteme/man1/loongarch64-linux-gnu-as.1
/tmp/tc-build/deleteme/man1/loongarch64-linux-gnu-gprof.1
/tmp/tc-build/deleteme/man1/gp-display-text.1
/tmp/tc-build/deleteme/man1/gp-display-src.1
/tmp/tc-build/deleteme/man1/gp-display-html.1
/tmp/tc-build/deleteme/man1/gp-collect-app.1
/tmp/tc-build/deleteme/man1/gp-archive.1
/tmp/tc-build/deleteme/man1/gprofng.1
/tmp/tc-build/deleteme/man1/ld.1
/tmp/tc-build/deleteme/man1/c++filt.1
/tmp/tc-build/deleteme/man1/windmc.1
/tmp/tc-build/deleteme/man1/windres.1
/tmp/tc-build/deleteme/man1/elfedit.1
/tmp/tc-build/deleteme/man1/strip.1
/tmp/tc-build/deleteme/man1/strings.1
/tmp/tc-build/deleteme/man1/size.1
/tmp/tc-build/deleteme/man1/readelf.1
/tmp/tc-build/deleteme/man1/ranlib.1
/tmp/tc-build/deleteme/man1/objdump.1
/tmp/tc-build/deleteme/man1/objcopy.1
/tmp/tc-build/deleteme/man1/nm.1
/tmp/tc-build/deleteme/man1/dlltool.1
/tmp/tc-build/deleteme/man1/ar.1
/tmp/tc-build/deleteme/man1/addr2line.1
/tmp/tc-build/deleteme/man1/as.1
/tmp/tc-build/deleteme/man1/gprof.1
/tmp/tc-build/deleteme/man1/s390x-linux-gnu-ld.1
/tmp/tc-build/deleteme/man1/s390x-linux-gnu-c++filt.1
/tmp/tc-build/deleteme/man1/s390x-linux-gnu-windmc.1
/tmp/tc-build/deleteme/man1/s390x-linux-gnu-windres.1
/tmp/tc-build/deleteme/man1/s390x-linux-gnu-elfedit.1
/tmp/tc-build/deleteme/man1/s390x-linux-gnu-strip.1
/tmp/tc-build/deleteme/man1/s390x-linux-gnu-strings.1
/tmp/tc-build/deleteme/man1/s390x-linux-gnu-size.1
/tmp/tc-build/deleteme/man1/s390x-linux-gnu-readelf.1
/tmp/tc-build/deleteme/man1/s390x-linux-gnu-ranlib.1
/tmp/tc-build/deleteme/man1/s390x-linux-gnu-objdump.1
/tmp/tc-build/deleteme/man1/s390x-linux-gnu-objcopy.1
/tmp/tc-build/deleteme/man1/s390x-linux-gnu-nm.1
/tmp/tc-build/deleteme/man1/s390x-linux-gnu-dlltool.1
/tmp/tc-build/deleteme/man1/s390x-linux-gnu-ar.1
/tmp/tc-build/deleteme/man1/s390x-linux-gnu-addr2line.1
/tmp/tc-build/deleteme/man1/s390x-linux-gnu-as.1
/tmp/tc-build/deleteme/man1/s390x-linux-gnu-gprof.1
/tmp/tc-build/deleteme/man1/riscv64-linux-gnu-gp-display-text.1
/tmp/tc-build/deleteme/man1/riscv64-linux-gnu-gp-display-src.1
/tmp/tc-build/deleteme/man1/riscv64-linux-gnu-gp-display-html.1
/tmp/tc-build/deleteme/man1/riscv64-linux-gnu-gp-collect-app.1
/tmp/tc-build/deleteme/man1/riscv64-linux-gnu-gp-archive.1
/tmp/tc-build/deleteme/man1/riscv64-linux-gnu-gprofng.1
/tmp/tc-build/deleteme/man1/riscv64-linux-gnu-ld.1
/tmp/tc-build/deleteme/man1/riscv64-linux-gnu-c++filt.1
/tmp/tc-build/deleteme/man1/riscv64-linux-gnu-windmc.1
/tmp/tc-build/deleteme/man1/riscv64-linux-gnu-windres.1
/tmp/tc-build/deleteme/man1/riscv64-linux-gnu-elfedit.1
/tmp/tc-build/deleteme/man1/riscv64-linux-gnu-strip.1
/tmp/tc-build/deleteme/man1/riscv64-linux-gnu-strings.1
/tmp/tc-build/deleteme/man1/riscv64-linux-gnu-size.1
/tmp/tc-build/deleteme/man1/riscv64-linux-gnu-readelf.1
/tmp/tc-build/deleteme/man1/riscv64-linux-gnu-ranlib.1
/tmp/tc-build/deleteme/man1/riscv64-linux-gnu-objdump.1
/tmp/tc-build/deleteme/man1/riscv64-linux-gnu-objcopy.1
/tmp/tc-build/deleteme/man1/riscv64-linux-gnu-nm.1
/tmp/tc-build/deleteme/man1/riscv64-linux-gnu-dlltool.1
/tmp/tc-build/deleteme/man1/riscv64-linux-gnu-ar.1
/tmp/tc-build/deleteme/man1/riscv64-linux-gnu-addr2line.1
/tmp/tc-build/deleteme/man1/riscv64-linux-gnu-as.1
/tmp/tc-build/deleteme/man1/riscv64-linux-gnu-gprof.1
/tmp/tc-build/deleteme/man1/powerpc64le-linux-gnu-ld.1
/tmp/tc-build/deleteme/man1/powerpc64le-linux-gnu-c++filt.1
/tmp/tc-build/deleteme/man1/powerpc64le-linux-gnu-windmc.1
/tmp/tc-build/deleteme/man1/powerpc64le-linux-gnu-windres.1
/tmp/tc-build/deleteme/man1/powerpc64le-linux-gnu-elfedit.1
/tmp/tc-build/deleteme/man1/powerpc64le-linux-gnu-strip.1
/tmp/tc-build/deleteme/man1/powerpc64le-linux-gnu-strings.1
/tmp/tc-build/deleteme/man1/powerpc64le-linux-gnu-size.1
/tmp/tc-build/deleteme/man1/powerpc64le-linux-gnu-readelf.1
/tmp/tc-build/deleteme/man1/powerpc64le-linux-gnu-ranlib.1
/tmp/tc-build/deleteme/man1/powerpc64le-linux-gnu-objdump.1
/tmp/tc-build/deleteme/man1/powerpc64le-linux-gnu-objcopy.1
/tmp/tc-build/deleteme/man1/powerpc64le-linux-gnu-nm.1
/tmp/tc-build/deleteme/man1/powerpc64le-linux-gnu-dlltool.1
/tmp/tc-build/deleteme/man1/powerpc64le-linux-gnu-ar.1
/tmp/tc-build/deleteme/man1/powerpc64le-linux-gnu-addr2line.1
/tmp/tc-build/deleteme/man1/powerpc64le-linux-gnu-as.1
/tmp/tc-build/deleteme/man1/powerpc64le-linux-gnu-gprof.1
/tmp/tc-build/deleteme/man1/powerpc64-linux-gnu-ld.1
/tmp/tc-build/deleteme/man1/powerpc64-linux-gnu-c++filt.1
/tmp/tc-build/deleteme/man1/powerpc64-linux-gnu-windmc.1
/tmp/tc-build/deleteme/man1/powerpc64-linux-gnu-windres.1
/tmp/tc-build/deleteme/man1/powerpc64-linux-gnu-elfedit.1
/tmp/tc-build/deleteme/man1/powerpc64-linux-gnu-strip.1
/tmp/tc-build/deleteme/man1/powerpc64-linux-gnu-strings.1
/tmp/tc-build/deleteme/man1/powerpc64-linux-gnu-size.1
/tmp/tc-build/deleteme/man1/powerpc64-linux-gnu-readelf.1
/tmp/tc-build/deleteme/man1/powerpc64-linux-gnu-ranlib.1
/tmp/tc-build/deleteme/man1/powerpc64-linux-gnu-objdump.1
/tmp/tc-build/deleteme/man1/powerpc64-linux-gnu-objcopy.1
/tmp/tc-build/deleteme/man1/powerpc64-linux-gnu-nm.1
/tmp/tc-build/deleteme/man1/powerpc64-linux-gnu-dlltool.1
/tmp/tc-build/deleteme/man1/powerpc64-linux-gnu-ar.1
/tmp/tc-build/deleteme/man1/powerpc64-linux-gnu-addr2line.1
/tmp/tc-build/deleteme/man1/powerpc64-linux-gnu-as.1
/tmp/tc-build/deleteme/man1/powerpc64-linux-gnu-gprof.1
/tmp/tc-build/deleteme/man1/powerpc-linux-gnu-ld.1
/tmp/tc-build/deleteme/man1/powerpc-linux-gnu-c++filt.1
/tmp/tc-build/deleteme/man1/powerpc-linux-gnu-windmc.1
/tmp/tc-build/deleteme/man1/powerpc-linux-gnu-windres.1
/tmp/tc-build/deleteme/man1/powerpc-linux-gnu-elfedit.1
/tmp/tc-build/deleteme/man1/powerpc-linux-gnu-strip.1
/tmp/tc-build/deleteme/man1/powerpc-linux-gnu-strings.1
/tmp/tc-build/deleteme/man1/powerpc-linux-gnu-size.1
/tmp/tc-build/deleteme/man1/powerpc-linux-gnu-readelf.1
/tmp/tc-build/deleteme/man1/powerpc-linux-gnu-ranlib.1
/tmp/tc-build/deleteme/man1/powerpc-linux-gnu-objdump.1
/tmp/tc-build/deleteme/man1/powerpc-linux-gnu-objcopy.1
/tmp/tc-build/deleteme/man1/powerpc-linux-gnu-nm.1
/tmp/tc-build/deleteme/man1/powerpc-linux-gnu-dlltool.1
/tmp/tc-build/deleteme/man1/powerpc-linux-gnu-ar.1
/tmp/tc-build/deleteme/man1/powerpc-linux-gnu-addr2line.1
/tmp/tc-build/deleteme/man1/powerpc-linux-gnu-as.1
/tmp/tc-build/deleteme/man1/powerpc-linux-gnu-gprof.1
/tmp/tc-build/deleteme/man1/mipsel-linux-gnu-ld.1
/tmp/tc-build/deleteme/man1/mipsel-linux-gnu-c++filt.1
/tmp/tc-build/deleteme/man1/mipsel-linux-gnu-windmc.1
/tmp/tc-build/deleteme/man1/mipsel-linux-gnu-windres.1
/tmp/tc-build/deleteme/man1/mipsel-linux-gnu-elfedit.1
/tmp/tc-build/deleteme/man1/mipsel-linux-gnu-strip.1
/tmp/tc-build/deleteme/man1/mipsel-linux-gnu-strings.1
/tmp/tc-build/deleteme/man1/mipsel-linux-gnu-size.1
/tmp/tc-build/deleteme/man1/mipsel-linux-gnu-readelf.1
/tmp/tc-build/deleteme/man1/mipsel-linux-gnu-ranlib.1
/tmp/tc-build/deleteme/man1/mipsel-linux-gnu-objdump.1
/tmp/tc-build/deleteme/man1/mipsel-linux-gnu-objcopy.1
/tmp/tc-build/deleteme/man1/mipsel-linux-gnu-nm.1
/tmp/tc-build/deleteme/man1/mipsel-linux-gnu-dlltool.1
/tmp/tc-build/deleteme/man1/mipsel-linux-gnu-ar.1
/tmp/tc-build/deleteme/man1/mipsel-linux-gnu-addr2line.1
/tmp/tc-build/deleteme/man1/mipsel-linux-gnu-as.1
/tmp/tc-build/deleteme/man1/mipsel-linux-gnu-gprof.1
/tmp/tc-build/deleteme/man1/mips-linux-gnu-ld.1
/tmp/tc-build/deleteme/man1/mips-linux-gnu-c++filt.1
/tmp/tc-build/deleteme/man1/mips-linux-gnu-windmc.1
/tmp/tc-build/deleteme/man1/mips-linux-gnu-windres.1
/tmp/tc-build/deleteme/man1/mips-linux-gnu-elfedit.1
/tmp/tc-build/deleteme/man1/mips-linux-gnu-strip.1
/tmp/tc-build/deleteme/man1/mips-linux-gnu-strings.1
/tmp/tc-build/deleteme/man1/mips-linux-gnu-size.1
/tmp/tc-build/deleteme/man1/mips-linux-gnu-readelf.1
/tmp/tc-build/deleteme/man1/mips-linux-gnu-ranlib.1
/tmp/tc-build/deleteme/man1/mips-linux-gnu-objdump.1
/tmp/tc-build/deleteme/man1/mips-linux-gnu-objcopy.1
/tmp/tc-build/deleteme/man1/mips-linux-gnu-nm.1
/tmp/tc-build/deleteme/man1/mips-linux-gnu-dlltool.1
/tmp/tc-build/deleteme/man1/mips-linux-gnu-ar.1
/tmp/tc-build/deleteme/man1/mips-linux-gnu-addr2line.1
/tmp/tc-build/deleteme/man1/mips-linux-gnu-as.1
/tmp/tc-build/deleteme/man1/mips-linux-gnu-gprof.1
/tmp/tc-build/deleteme/man1/arm-linux-gnueabi-ld.1
/tmp/tc-build/deleteme/man1/arm-linux-gnueabi-c++filt.1
/tmp/tc-build/deleteme/man1/arm-linux-gnueabi-windmc.1
/tmp/tc-build/deleteme/man1/arm-linux-gnueabi-windres.1
/tmp/tc-build/deleteme/man1/arm-linux-gnueabi-elfedit.1
/tmp/tc-build/deleteme/man1/arm-linux-gnueabi-strip.1
/tmp/tc-build/deleteme/man1/arm-linux-gnueabi-strings.1
/tmp/tc-build/deleteme/man1/arm-linux-gnueabi-size.1
/tmp/tc-build/deleteme/man1/arm-linux-gnueabi-readelf.1
/tmp/tc-build/deleteme/man1/arm-linux-gnueabi-ranlib.1
/tmp/tc-build/deleteme/man1/arm-linux-gnueabi-objdump.1
/tmp/tc-build/deleteme/man1/arm-linux-gnueabi-objcopy.1
/tmp/tc-build/deleteme/man1/arm-linux-gnueabi-nm.1
/tmp/tc-build/deleteme/man1/arm-linux-gnueabi-dlltool.1
/tmp/tc-build/deleteme/man1/arm-linux-gnueabi-ar.1
/tmp/tc-build/deleteme/man1/arm-linux-gnueabi-addr2line.1
/tmp/tc-build/deleteme/man1/arm-linux-gnueabi-as.1
/tmp/tc-build/deleteme/man1/arm-linux-gnueabi-gprof.1
/tmp/tc-build/deleteme/man1/aarch64-linux-gnu-gp-display-text.1
/tmp/tc-build/deleteme/man1/aarch64-linux-gnu-gp-display-src.1
/tmp/tc-build/deleteme/man1/aarch64-linux-gnu-gp-display-html.1
/tmp/tc-build/deleteme/man1/aarch64-linux-gnu-gp-collect-app.1
/tmp/tc-build/deleteme/man1/aarch64-linux-gnu-gp-archive.1
/tmp/tc-build/deleteme/man1/aarch64-linux-gnu-gprofng.1
/tmp/tc-build/deleteme/man1/aarch64-linux-gnu-ld.1
/tmp/tc-build/deleteme/man1/aarch64-linux-gnu-c++filt.1
/tmp/tc-build/deleteme/man1/aarch64-linux-gnu-windmc.1
/tmp/tc-build/deleteme/man1/aarch64-linux-gnu-windres.1
/tmp/tc-build/deleteme/man1/aarch64-linux-gnu-elfedit.1
/tmp/tc-build/deleteme/man1/aarch64-linux-gnu-strip.1
/tmp/tc-build/deleteme/man1/aarch64-linux-gnu-strings.1
/tmp/tc-build/deleteme/man1/aarch64-linux-gnu-size.1
/tmp/tc-build/deleteme/man1/aarch64-linux-gnu-readelf.1
/tmp/tc-build/deleteme/man1/aarch64-linux-gnu-ranlib.1
/tmp/tc-build/deleteme/man1/aarch64-linux-gnu-objdump.1
/tmp/tc-build/deleteme/man1/aarch64-linux-gnu-objcopy.1
/tmp/tc-build/deleteme/man1/aarch64-linux-gnu-nm.1
/tmp/tc-build/deleteme/man1/aarch64-linux-gnu-dlltool.1
/tmp/tc-build/deleteme/man1/aarch64-linux-gnu-ar.1
/tmp/tc-build/deleteme/man1/aarch64-linux-gnu-addr2line.1
/tmp/tc-build/deleteme/man1/aarch64-linux-gnu-as.1
/tmp/tc-build/deleteme/man1/aarch64-linux-gnu-gprof.1

@nathanchance
Copy link
Member

Could we use TemporaryDirectory() from tempfile instead of an explicit /tmp/tc-build? I think it could be a little cleaner, as you could just call .cleanup() instead of having a whole process call to rm plus you could add all the flags with a simple for loop or list comprehension.

@dakkshesh07
Copy link
Member Author

Could we use TemporaryDirectory() from tempfile instead of an explicit /tmp/tc-build? I think it could be a little cleaner, as you could just call .cleanup() instead of having a whole process call to rm plus you could add all the flags with a simple for loop or list comprehension.

I've made the required changes as requested. Lemme just rebase and repush once again to resolve conflicts.

@dakkshesh07
Copy link
Member Author

Umm, this was unexpected. I think we could move the tempdir creation inside the the build function and move the configuration and make invocation inside a with statement. That should solve the linting issues.

Signed-off-by: Dakkshesh <dakkshesh5@gmail.com>
To satisfy pylint.

Fixes:
tc_build/binutils.py:34:22: R1732: Consider using 'with' for resource-allocating operations (consider-using-with)

Signed-off-by: Dakkshesh <dakkshesh5@gmail.com>
@dakkshesh07
Copy link
Member Author

@nathanchance Sorry for excessive force pushes, overlooked some stupid mistakes. It's ready to be reviewed now👍

Copy link
Member

@nathanchance nathanchance left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, looks good to me aside from one minor nit. Feel free to address it or not, I'll merge this tomorrow otherwise.

tc_build/binutils.py Outdated Show resolved Hide resolved
tc_build/binutils.py Outdated Show resolved Hide resolved
While on it make the list comprehension more concise by removing redundant characters.

Signed-off-by: Dakkshesh <dakkshesh5@gmail.com>
Signed-off-by: Dakkshesh <dakkshesh5@gmail.com>
@msfjarvis msfjarvis merged commit 8165381 into ClangBuiltLinux:main Jan 30, 2025
7 checks passed
@dakkshesh07 dakkshesh07 deleted the doc-redirect branch January 30, 2025 10:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants