mirror of
https://github.com/microsoft/onefuzz.git
synced 2025-06-17 20:38:06 +00:00
Add scripts to install dotnet on windows and ubuntu (#2038)
* Add scripts to install dotnet on windows and ubuntu * Install dotnet on linux setup * Move the install to the setup scripts * Fix slash direction * typo * PR comments
This commit is contained in:
@ -5,6 +5,7 @@
|
|||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
export PATH=$PATH:/onefuzz/bin:/onefuzz/tools/linux:/onefuzz/tools/linux/afl:/onefuzz/tools/linux/radamsa
|
export PATH=$PATH:/onefuzz/bin:/onefuzz/tools/linux:/onefuzz/tools/linux/afl:/onefuzz/tools/linux/radamsa
|
||||||
|
export DOTNET_ROOT=/onefuzz/tools/dotnet
|
||||||
export ONEFUZZ_TOOLS=/onefuzz/tools
|
export ONEFUZZ_TOOLS=/onefuzz/tools
|
||||||
export ONEFUZZ_ROOT=/onefuzz
|
export ONEFUZZ_ROOT=/onefuzz
|
||||||
export RUST_BACKTRACE=full
|
export RUST_BACKTRACE=full
|
||||||
|
@ -12,6 +12,8 @@ USER_SETUP="/onefuzz/setup/setup.sh"
|
|||||||
TASK_SETUP="/onefuzz/bin/task-setup.sh"
|
TASK_SETUP="/onefuzz/bin/task-setup.sh"
|
||||||
MANAGED_SETUP="/onefuzz/bin/managed.sh"
|
MANAGED_SETUP="/onefuzz/bin/managed.sh"
|
||||||
SCALESET_SETUP="/onefuzz/bin/scaleset-setup.sh"
|
SCALESET_SETUP="/onefuzz/bin/scaleset-setup.sh"
|
||||||
|
DOTNET_VERSION="6.0.300"
|
||||||
|
export DOTNET_ROOT=/onefuzz/tools/dotnet
|
||||||
export ONEFUZZ_ROOT=/onefuzz
|
export ONEFUZZ_ROOT=/onefuzz
|
||||||
export LLVM_SYMBOLIZER_PATH=/onefuzz/bin/llvm-symbolizer
|
export LLVM_SYMBOLIZER_PATH=/onefuzz/bin/llvm-symbolizer
|
||||||
|
|
||||||
@ -26,6 +28,7 @@ mkdir -p /onefuzz/setup
|
|||||||
mkdir -p /onefuzz/tools
|
mkdir -p /onefuzz/tools
|
||||||
mkdir -p /onefuzz/etc
|
mkdir -p /onefuzz/etc
|
||||||
mkdir -p /onefuzz/instance-specific-setup
|
mkdir -p /onefuzz/instance-specific-setup
|
||||||
|
mkdir -p "$DOTNET_ROOT"
|
||||||
|
|
||||||
echo $1 > /onefuzz/etc/mode
|
echo $1 > /onefuzz/etc/mode
|
||||||
export PATH=$PATH:/onefuzz/bin:/onefuzz/tools/linux:/onefuzz/tools/linux/afl:/onefuzz/tools/linux/radamsa
|
export PATH=$PATH:/onefuzz/bin:/onefuzz/tools/linux:/onefuzz/tools/linux/afl:/onefuzz/tools/linux/radamsa
|
||||||
@ -122,6 +125,27 @@ if type apt > /dev/null 2> /dev/null; then
|
|||||||
# Using `llvm-symbolizer` works for clang 8 .. 10.
|
# Using `llvm-symbolizer` works for clang 8 .. 10.
|
||||||
sudo ln -f -s $(which llvm-symbolizer-10) $LLVM_SYMBOLIZER_PATH
|
sudo ln -f -s $(which llvm-symbolizer-10) $LLVM_SYMBOLIZER_PATH
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Install dotnet
|
||||||
|
until sudo apt install -y curl libicu-dev; do
|
||||||
|
echo "apt failed, sleeping 10s then retrying"
|
||||||
|
sleep 10
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "downloading dotnet install"
|
||||||
|
curl --retry 10 -sSL https://dot.net/v1/dotnet-install.sh -o dotnet-install.sh > /dev/null
|
||||||
|
chmod +x dotnet-install.sh
|
||||||
|
|
||||||
|
echo "running dotnet install"
|
||||||
|
. ./dotnet-install.sh --version "$DOTNET_VERSION" --install-dir "$DOTNET_ROOT" 2>&1 | logger -s -i -t 'onefuzz-dotnet-setup'
|
||||||
|
rm dotnet-install.sh
|
||||||
|
|
||||||
|
echo "install dotnet tools"
|
||||||
|
pushd "$DOTNET_ROOT"
|
||||||
|
./dotnet tool install dotnet-dump --tool-path /onefuzz/tools
|
||||||
|
./dotnet tool install dotnet-coverage --tool-path /onefuzz/tools
|
||||||
|
./dotnet tool install dotnet-sos --tool-path /onefuzz/tools
|
||||||
|
popd
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -d /etc/systemd/system ]; then
|
if [ -d /etc/systemd/system ]; then
|
||||||
|
@ -6,6 +6,10 @@ $env:ONEFUZZ_ROOT = "C:\onefuzz"
|
|||||||
$env:ONEFUZZ_TOOLS = "C:\onefuzz\tools"
|
$env:ONEFUZZ_TOOLS = "C:\onefuzz\tools"
|
||||||
$env:LLVM_SYMBOLIZER_PATH = "llvm-symbolizer"
|
$env:LLVM_SYMBOLIZER_PATH = "llvm-symbolizer"
|
||||||
$env:RUST_LOG = "info"
|
$env:RUST_LOG = "info"
|
||||||
|
$env:DOTNET_VERSION = "6.0.300"
|
||||||
|
# Set a session and machine scoped env var
|
||||||
|
$env:DOTNET_ROOT = "c:\onefuzz\tools\dotnet"
|
||||||
|
[Environment]::SetEnvironmentVariable("DOTNET_ROOT", $env:DOTNET_ROOT, "Machine")
|
||||||
|
|
||||||
$logFile = "C:\onefuzz.log"
|
$logFile = "C:\onefuzz.log"
|
||||||
function log ($message) {
|
function log ($message) {
|
||||||
@ -168,3 +172,18 @@ function Install-VCRedist {
|
|||||||
Start-Process -FilePath C:\onefuzz\vcredist_x86.exe -ArgumentList "/install /q /norestart" -Wait -WindowStyle Hidden
|
Start-Process -FilePath C:\onefuzz\vcredist_x86.exe -ArgumentList "/install /q /norestart" -Wait -WindowStyle Hidden
|
||||||
log "installing VC Redist: done"
|
log "installing VC Redist: done"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function Install-Dotnet([string]$Version, [string]$InstallDir, [string]$ToolsDir) {
|
||||||
|
log "Installing dotnet to ${InstallDir}"
|
||||||
|
Invoke-WebRequest 'https://dot.net/v1/dotnet-install.ps1' -OutFile 'dotnet-install.ps1'
|
||||||
|
./dotnet-install.ps1 -Version $Version -InstallDir $InstallDir
|
||||||
|
Remove-Item ./dotnet-install.ps1
|
||||||
|
log "Installing dotnet: done"
|
||||||
|
log "Installing dotnet tools to ${ToolsDir}"
|
||||||
|
Push-Location $InstallDir
|
||||||
|
./dotnet.exe tool install dotnet-dump --tool-path $ToolsDir
|
||||||
|
./dotnet.exe tool install dotnet-coverage --tool-path $ToolsDir
|
||||||
|
./dotnet.exe tool install dotnet-sos --tool-path $ToolsDir
|
||||||
|
Pop-Location
|
||||||
|
log "Installing dotnet tools: done"
|
||||||
|
}
|
||||||
|
@ -69,6 +69,7 @@ function Install-OnefuzzSetup {
|
|||||||
Enable-SSH
|
Enable-SSH
|
||||||
Install-OnBoot
|
Install-OnBoot
|
||||||
Install-VCRedist
|
Install-VCRedist
|
||||||
|
Install-Dotnet -Version $env:DOTNET_VERSION -InstallDir $env:DOTNET_ROOT -ToolsDir $env:ONEFUZZ_TOOLS
|
||||||
Setup-Silent-Notification
|
Setup-Silent-Notification
|
||||||
log "onefuzz: setup done"
|
log "onefuzz: setup done"
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user