[MIRROR] test symlink support (#12035)

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-11-27 03:20:49 -07:00
committed by GitHub
parent 428dc8fb33
commit 8fecb82f35
2 changed files with 42 additions and 0 deletions

View File

@@ -16,6 +16,26 @@ cd "$OldPWD"
BunVersion="$BUN_VERSION"
BunFullVersion="bun-v$BunVersion"
# Check if symlinks are supported in this directory
test_symlink_support() {
echo "Testing symlink support."
TMPDIR=$(mktemp -d)
TARGET="$TMPDIR/target.txt"
LINK="$TMPDIR/link.txt"
echo "test" > "$TARGET"
if ln -s "$TARGET" "$LINK" 2>/dev/null; then
rm -rf "$TMPDIR"
echo "Symlinks are supported."
return 0
else
rm -rf "$TMPDIR"
echo "File system does not support symlinks. Compilation won't be possible."
exit 1
fi
}
test_symlink_support
# If Bun is not present, install using the official installer.
if ! command -v bun >/dev/null 2>&1; then
echo "Bun not found, installing with official installer..."

View File

@@ -151,6 +151,28 @@ $BunExe = "$BunTargetDir\bun.exe"
$BunZip = "$BunTargetDir\bun.zip"
$CoreInfoExe = "$Cache\coreinfo\Coreinfo.exe"
function Test-SymlinkSupport {
Write-Output "Checking filesystem support"
$fullBaseDir = Resolve-Path $BaseDir
$driveLetter = Split-Path -Qualifier $fullBaseDir
$driveLetter = $driveLetter.TrimEnd(":\")
$volume = Get-Volume -DriveLetter $driveLetter
$fsType = $volume.FileSystem
if ($fsType -in @("FAT", "FAT32", "exFAT")) {
Write-Error "Compilation of code won't be possible. File system $fsType doesn't support symlinks"
exit 1
}
Write-Output "File system $fsType not in unsupported filesystems"
}
## Check symlink support
Test-SymlinkSupport
## Just print the path and exit
if ($Args.length -eq 1 -and $Args[0] -eq "Get-Path") {
Write-Output "$BunTargetDir"