AFLplusplus / LibAFL

Advanced Fuzzing Library - Slot your Fuzzer together in Rust! Scales across cores and machines. For Windows, Android, MacOS, Linux, no_std, ...
Other
1.99k stars 306 forks source link

Small improvements to the devcontainer #2522

Closed Nereuxofficial closed 2 weeks ago

Nereuxofficial commented 2 weeks ago

This removes a workaround no longer necessary to install LLVM and updates the rust-analyzer plugin to use the official name, although the old one is aliased to my knowledge.

A possible improvement to the build time of the Devcontainer image would be to utilize cargo-binstall to download the binary release for sccache. Let me know if that is a worthwhile improvement and i'll add it.

domenukk commented 2 weeks ago

Shellcheck isn't happy yet about the createAliases script:

shellcheck ./scripts/*.sh

In ./scripts/createAliases.sh line 6:
LLVMFILES=/usr/bin/llvm*
          ^------------^ SC2[12](https://github.com/AFLplusplus/LibAFL/actions/runs/10873386066/job/30169439681?pr=2522#step:7:13)5 (warning): Brace expansions and globs are literal in assignments. Quote it or use an array.

In ./scripts/createAliases.sh line 7:
CLANGFILES=/usr/bin/clang*
           ^-------------^ SC2125 (warning): Brace expansions and globs are literal in assignments. Quote it or use an array.

In ./scripts/createAliases.sh line [15](https://github.com/AFLplusplus/LibAFL/actions/runs/10873386066/job/30169439681?pr=2522#step:7:16):
    echo "linking" $f "to" $link
                       ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                               ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    echo "linking" "$f" "to" "$link"

In ./scripts/createAliases.sh line [16](https://github.com/AFLplusplus/LibAFL/actions/runs/10873386066/job/30169439681?pr=2522#step:7:17):
    ln -s $f $link
              ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    ln -s "$f" "$link"

In ./scripts/createAliases.sh line [17](https://github.com/AFLplusplus/LibAFL/actions/runs/10873386066/job/30169439681?pr=2522#step:7:18):
    if [ -e $f ]
                ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    if [ -e "$f" ]

In ./scripts/createAliases.sh line [18](https://github.com/AFLplusplus/LibAFL/actions/runs/10873386066/job/30169439681?pr=2522#step:7:19):
      then cp $link /usr/local/bin/
                  ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
      then cp "$link" /usr/local/bin/

For more information:
  https://www.shellcheck.net/wiki/SC2125 -- Brace expansions and globs are li...
  https://www.shellcheck.net/wiki/SC[20](https://github.com/AFLplusplus/LibAFL/actions/runs/10873386066/job/30169439681?pr=2522#step:7:21)86 -- Double quote to prevent globbing ...
Error: Process completed with exit code 1.
Nereuxofficial commented 2 weeks ago

Shellcheck isn't happy yet about the createAliases script:

shellcheck ./scripts/*.sh

In ./scripts/createAliases.sh line 6:
LLVMFILES=/usr/bin/llvm*
          ^------------^ SC2[12](https://github.com/AFLplusplus/LibAFL/actions/runs/10873386066/job/30169439681?pr=2522#step:7:13)5 (warning): Brace expansions and globs are literal in assignments. Quote it or use an array.

In ./scripts/createAliases.sh line 7:
CLANGFILES=/usr/bin/clang*
           ^-------------^ SC2125 (warning): Brace expansions and globs are literal in assignments. Quote it or use an array.

In ./scripts/createAliases.sh line [15](https://github.com/AFLplusplus/LibAFL/actions/runs/10873386066/job/30169439681?pr=2522#step:7:16):
  echo "linking" $f "to" $link
                       ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                               ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  echo "linking" "$f" "to" "$link"

In ./scripts/createAliases.sh line [16](https://github.com/AFLplusplus/LibAFL/actions/runs/10873386066/job/30169439681?pr=2522#step:7:17):
  ln -s $f $link
              ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                 ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  ln -s "$f" "$link"

In ./scripts/createAliases.sh line [17](https://github.com/AFLplusplus/LibAFL/actions/runs/10873386066/job/30169439681?pr=2522#step:7:18):
  if [ -e $f ]
                ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  if [ -e "$f" ]

In ./scripts/createAliases.sh line [18](https://github.com/AFLplusplus/LibAFL/actions/runs/10873386066/job/30169439681?pr=2522#step:7:19):
    then cp $link /usr/local/bin/
                  ^---^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    then cp "$link" /usr/local/bin/

For more information:
  https://www.shellcheck.net/wiki/SC2125 -- Brace expansions and globs are li...
  https://www.shellcheck.net/wiki/SC[20](https://github.com/AFLplusplus/LibAFL/actions/runs/10873386066/job/30169439681?pr=2522#step:7:21)86 -- Double quote to prevent globbing ...
Error: Process completed with exit code 1.

Should be fixed now. What are your thoughts on using cargo-binstall to speed up the container building process? @tokatoka @domenukk

tokatoka commented 2 weeks ago

what does it do?

Nereuxofficial commented 2 weeks ago

what does it do?

It would allow for the downloading of release builds of cargo subcommands from Github. In the case of sccache this would reduce the time on my local machine from over 2 Minutes to less than ten seconds.

tokatoka commented 2 weeks ago

you can add

domenukk commented 2 weeks ago

Thanks!