From ee33db0798a8d840b21d042e63f976f027078bc7 Mon Sep 17 00:00:00 2001 From: Aditya Patwardhan Date: Tue, 14 Aug 2018 13:21:26 -0700 Subject: [PATCH] Fix building on RedHat Enterprise Linux (#7489) When trying to build on RHEL, the environment is not recognized as RedHatFamily. Added detection logic so that appropriate symbolic links are generated. --- build.psm1 | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/build.psm1 b/build.psm1 index 5c20802de9..bdfdc5eca2 100644 --- a/build.psm1 +++ b/build.psm1 @@ -140,9 +140,11 @@ function Get-EnvironmentInformation $environment += @{'IsFedora' = $LinuxInfo.ID -match 'fedora' -and $LinuxInfo.VERSION_ID -ge 24} $environment += @{'IsOpenSUSE' = $LinuxInfo.ID -match 'opensuse'} $environment += @{'IsSLES' = $LinuxInfo.ID -match 'sles'} + $environment += @{'IsRedHat' = $LinuxInfo.ID -match 'rhel'} + $environment += @{'IsRedHat7' = $Environment.IsRedHat -and $LinuxInfo.VERSION_ID -match '7' } $environment += @{'IsOpenSUSE13' = $Environmenst.IsOpenSUSE -and $LinuxInfo.VERSION_ID -match '13'} $environment += @{'IsOpenSUSE42.1' = $Environment.IsOpenSUSE -and $LinuxInfo.VERSION_ID -match '42.1'} - $environment += @{'IsRedHatFamily' = $Environment.IsCentOS -or $Environment.IsFedora} + $environment += @{'IsRedHatFamily' = $Environment.IsCentOS -or $Environment.IsFedora -or $Environment.IsRedHat} $environment += @{'IsSUSEFamily' = $Environment.IsSLES -or $Environment.IsOpenSUSE} # Workaround for temporary LD_LIBRARY_PATH hack for Fedora 24 @@ -151,6 +153,15 @@ function Get-EnvironmentInformation Remove-Item -Force ENV:\LD_LIBRARY_PATH Get-ChildItem ENV: } + + if( -not( + $environment.IsDebian -or + $environment.IsUbuntu -or + $environmment.IsRedHatFamily -or + $environmment.IsSUSEFamily) + ) { + throw "The current OS : $($LinuxInfo.ID) is not supported for building PowerShell." + } } return [PSCustomObject] $environment