From d312131d1c836bfa37ad1075d542ec18e3a18834 Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Mon, 8 Apr 2019 16:22:55 -0700 Subject: [PATCH 1/2] Update repo for Ubuntu 14.04 EOL --- README.md | 3 -- build.psm1 | 6 +-- .../fxdependent-ubuntu14.04/Dockerfile | 37 ------------------ docker/tests/Templates/ubuntu14.04/Dockerfile | 28 -------------- docker/tests/containerTestCommon.psm1 | 6 +-- docs/building/linux.md | 2 +- tools/packaging/packaging.psm1 | 5 +-- .../Dockerfile | 38 ------------------- tools/releaseBuild/build.json | 19 ---------- 9 files changed, 5 insertions(+), 139 deletions(-) delete mode 100644 docker/tests/Templates/fxdependent-ubuntu14.04/Dockerfile delete mode 100644 docker/tests/Templates/ubuntu14.04/Dockerfile delete mode 100644 tools/releaseBuild/Images/microsoft_powershell_ubuntu14.04/Dockerfile diff --git a/README.md b/README.md index ff62a724030..cdfd9f7ca04 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,6 @@ You can download and install a PowerShell package for any of the following platf | [Windows (x86)][corefx-win] | [.msi][rl-windows-86] | [.msi][pv-windows-86] | [Instructions][in-windows] | | [Ubuntu 18.04][corefx-linux] | [.deb][rl-ubuntu18] | [.deb][pv-ubuntu18] | [Instructions][in-ubuntu18] | | [Ubuntu 16.04][corefx-linux] | [.deb][rl-ubuntu16] | [.deb][pv-ubuntu16] | [Instructions][in-ubuntu16] | -| [Ubuntu 14.04][corefx-linux] | [.deb][rl-ubuntu14] | [.deb][pv-ubuntu14] | [Instructions][in-ubuntu14] | | [Debian 9][corefx-linux] | [.deb][rl-debian9] | [.deb][pv-debian9] | [Instructions][in-deb9] | | [CentOS 7][corefx-linux] | [.rpm][rl-centos] | [.rpm][pv-centos] | [Instructions][in-centos] | | [Red Hat Enterprise Linux 7][corefx-linux] | [.rpm][rl-centos] | [.rpm][pv-centos] | [Instructions][in-rhel7] | @@ -62,7 +61,6 @@ You can also download the PowerShell binary archives for Windows, macOS and Linu [rl-windows-86]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0/PowerShell-6.2.0-win-x86.msi [rl-ubuntu18]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0/powershell_6.2.0-1.ubuntu.18.04_amd64.deb [rl-ubuntu16]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0/powershell_6.2.0-1.ubuntu.16.04_amd64.deb -[rl-ubuntu14]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0/powershell_6.2.0-1.ubuntu.14.04_amd64.deb [rl-debian9]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0/powershell_6.2.0-1.debian.9_amd64.deb [rl-centos]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0/powershell-6.2.0-1.rhel.7.x86_64.rpm [rl-macos]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0/powershell-6.2.0-osx-x64.pkg @@ -79,7 +77,6 @@ You can also download the PowerShell binary archives for Windows, macOS and Linu [pv-windows-86]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-rc.1/PowerShell-6.2.0-rc.1-win-x86.msi [pv-ubuntu18]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-rc.1/powershell-preview_6.2.0-rc.1-1.ubuntu.18.04_amd64.deb [pv-ubuntu16]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-rc.1/powershell-preview_6.2.0-rc.1-1.ubuntu.16.04_amd64.deb -[pv-ubuntu14]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-rc.1/powershell-preview_6.2.0-rc.1-1.ubuntu.14.04_amd64.deb [pv-debian9]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-rc.1/powershell-preview_6.2.0-rc.1-1.debian.9_amd64.deb [pv-centos]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-rc.1/powershell-preview-6.2.0_rc.1-1.rhel.7.x86_64.rpm [pv-macos]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-rc.1/powershell-6.2.0-rc.1-osx-x64.pkg diff --git a/build.psm1 b/build.psm1 index 17080cbc6f6..3ff73bf4700 100644 --- a/build.psm1 +++ b/build.psm1 @@ -130,7 +130,6 @@ function Get-EnvironmentInformation $environment += @{'IsDebian' = $LinuxInfo.ID -match 'debian'} $environment += @{'IsDebian9' = $Environment.IsDebian -and $LinuxInfo.VERSION_ID -match '9'} $environment += @{'IsUbuntu' = $LinuxInfo.ID -match 'ubuntu'} - $environment += @{'IsUbuntu14' = $Environment.IsUbuntu -and $LinuxInfo.VERSION_ID -match '14.04'} $environment += @{'IsUbuntu16' = $Environment.IsUbuntu -and $LinuxInfo.VERSION_ID -match '16.04'} $environment += @{'IsUbuntu18' = $Environment.IsUbuntu -and $LinuxInfo.VERSION_ID -match '18.04'} $environment += @{'IsCentOS' = $LinuxInfo.ID -match 'centos' -and $LinuxInfo.VERSION_ID -match '7'} @@ -1510,7 +1509,7 @@ function Install-Dotnet { Invoke-Expression "$sudo bash ./$uninstallScript" } } else { - Write-Warning "This script only removes prior versions of dotnet for Ubuntu 14.04 and OS X" + Write-Warning "This script only removes prior versions of dotnet for Ubuntu and OS X" } # Install new dotnet 1.1.0 preview packages @@ -1587,8 +1586,7 @@ function Start-PSBootstrap { # .NET Core required runtime libraries $Deps += "libunwind8" - if ($Environment.IsUbuntu14) { $Deps += "libicu52" } - elseif ($Environment.IsUbuntu16) { $Deps += "libicu55" } + if ($Environment.IsUbuntu16) { $Deps += "libicu55" } elseif ($Environment.IsUbuntu18) { $Deps += "libicu60"} # Packaging tools diff --git a/docker/tests/Templates/fxdependent-ubuntu14.04/Dockerfile b/docker/tests/Templates/fxdependent-ubuntu14.04/Dockerfile deleted file mode 100644 index 1f18a09ab35..00000000000 --- a/docker/tests/Templates/fxdependent-ubuntu14.04/Dockerfile +++ /dev/null @@ -1,37 +0,0 @@ -FROM ubuntu:trusty - -ARG PACKAGENAME -ARG PACKAGELOCATION -ARG PREVIEWSUFFIX= -ARG TESTLIST=/PowerShell/test/powershell/Modules/PackageManagement/PackageManagement.Tests.ps1,/PowerShell/test/powershell/engine/Module -ARG TESTDOWNLOADCOMMAND="git clone --recursive https://github.com/PowerShell/PowerShell.git" - -# Install dependencies -RUN apt-get update \ - && apt-get install -y --no-install-recommends \ - apt-utils \ - ca-certificates \ - apt-transport-https \ - locales \ - git - -# Install dotnet-runtime -ADD https://packages.microsoft.com/config/ubuntu/14.04/packages-microsoft-prod.deb . -RUN dpkg -i packages-microsoft-prod.deb -RUN apt-get update \ - && apt-get install -y --no-install-recommends \ - dotnet-runtime-2.1 - -# Setup the locale -ENV LANG en_US.UTF-8 -ENV LC_ALL $LANG -RUN locale-gen $LANG && update-locale - -# Install PowerShell package -ADD $PACKAGELOCATION/$PACKAGENAME . -RUN mkdir -p /opt/microsoft/powershell -RUN tar zxf $PACKAGENAME -C /opt/microsoft/powershell - -# Download and run tests -RUN $TESTDOWNLOADCOMMAND -RUN dotnet /opt/microsoft/powershell/pwsh.dll -c "Import-Module /PowerShell/build.psm1;\$dir='/usr/local/share/powershell/Modules';\$null=New-Item -Type Directory -Path \$dir -ErrorAction SilentlyContinue;Restore-PSPester -Destination \$dir;exit (Invoke-Pester $TESTLIST -PassThru).FailedCount" diff --git a/docker/tests/Templates/ubuntu14.04/Dockerfile b/docker/tests/Templates/ubuntu14.04/Dockerfile deleted file mode 100644 index 64058ee820d..00000000000 --- a/docker/tests/Templates/ubuntu14.04/Dockerfile +++ /dev/null @@ -1,28 +0,0 @@ -FROM ubuntu:trusty - -ARG PACKAGENAME -ARG PACKAGELOCATION -ARG PREVIEWSUFFIX= -ARG TESTLIST=/PowerShell/test/powershell/Modules/PackageManagement/PackageManagement.Tests.ps1,/PowerShell/test/powershell/engine/Module -ARG TESTDOWNLOADCOMMAND="git clone --recursive https://github.com/PowerShell/PowerShell.git" - -# Install dependencies -RUN apt-get update \ - && apt-get install -y --no-install-recommends \ - apt-utils \ - ca-certificates \ - curl \ - apt-transport-https \ - locales \ - git - -# Setup the locale -ENV LANG en_US.UTF-8 -ENV LC_ALL $LANG -RUN locale-gen $LANG && update-locale - -RUN curl -L -o $PACKAGENAME $PACKAGELOCATION/$PACKAGENAME -RUN dpkg -i $PACKAGENAME || : -RUN apt-get install -y -f -RUN $TESTDOWNLOADCOMMAND -RUN pwsh$PREVIEWSUFFIX -c "Import-Module /PowerShell/build.psm1;\$dir='/usr/local/share/powershell/Modules';\$null=New-Item -Type Directory -Path \$dir -ErrorAction SilentlyContinue;Restore-PSPester -Destination \$dir;exit (Invoke-Pester $TESTLIST -PassThru).FailedCount" diff --git a/docker/tests/containerTestCommon.psm1 b/docker/tests/containerTestCommon.psm1 index 75796c2fed8..3b1dd767b74 100644 --- a/docker/tests/containerTestCommon.psm1 +++ b/docker/tests/containerTestCommon.psm1 @@ -68,7 +68,7 @@ function Invoke-Docker # Return a list of Linux Container Test Cases function Get-LinuxContainer { - foreach($os in 'centos7','ubuntu14.04','ubuntu16.04') + foreach($os in 'centos7','ubuntu16.04') { Write-Output @{ Name = $os @@ -223,14 +223,12 @@ function Get-DefaultPreviewConfigForPackageValidation 'debian.9'='debian.9'; 'fedora28'='rhel.7'; 'opensuse42.3'='linux-x64.tar.gz'; - 'ubuntu14.04'='ubuntu.14.04'; 'ubuntu16.04'='ubuntu.16.04'; 'ubuntu18.04'='ubuntu.18.04'; 'fxdependent-centos7'='linux-x64-fxdependent.tar.gz'; 'fxdependent-debian.9'='linux-x64-fxdependent.tar.gz'; 'fxdependent-fedora28'='linux-x64-fxdependent.tar.gz'; 'fxdependent-opensuse42.3'='linux-x64-fxdependent.tar.gz'; - 'fxdependent-ubuntu14.04'='linux-x64-fxdependent.tar.gz'; 'fxdependent-ubuntu16.04'='linux-x64-fxdependent.tar.gz'; 'fxdependent-ubuntu18.04'='linux-x64-fxdependent.tar.gz'; 'fxdependent-dotnetsdk-latest'='linux-x64-fxd-dotnetsdk.tar.gz' @@ -246,12 +244,10 @@ function Get-DefaultStableConfigForPackageValidation @{ 'centos7'='rhel.7'; 'debian.9'='debian.9'; 'opensuse42.3'='linux-x64.tar.gz'; - 'ubuntu14.04'='ubuntu.14.04'; 'ubuntu16.04'='ubuntu.16.04'; 'fxdependent-centos7'='linux-x64-fxdependent.tar.gz'; 'fxdependent-debian.9'='linux-x64-fxdependent.tar.gz'; 'fxdependent-opensuse42.3'='linux-x64-fxdependent.tar.gz'; - 'fxdependent-ubuntu14.04'='linux-x64-fxdependent.tar.gz'; 'fxdependent-ubuntu16.04'='linux-x64-fxdependent.tar.gz' } } diff --git a/docs/building/linux.md b/docs/building/linux.md index 4a65b74cbd7..f648f1d5170 100644 --- a/docs/building/linux.md +++ b/docs/building/linux.md @@ -5,7 +5,7 @@ We'll start by showing how to set up your environment from scratch. ## Environment -These instructions are written assuming the Ubuntu 14.04 LTS, since that's the distro the team uses. +These instructions are written assuming the Ubuntu 16.04 LTS, since that's the distro the team uses. The build module works on a best-effort basis for other distributions. ### Git Setup diff --git a/tools/packaging/packaging.psm1 b/tools/packaging/packaging.psm1 index a189ebc8be7..ae1c21f9689 100644 --- a/tools/packaging/packaging.psm1 +++ b/tools/packaging/packaging.psm1 @@ -6,7 +6,7 @@ $RepoRoot = (Resolve-Path -Path "$PSScriptRoot/../..").Path $packagingStrings = Import-PowerShellDataFile "$PSScriptRoot\packaging.strings.psd1" Import-Module "$PSScriptRoot\..\Xml" -ErrorAction Stop -Force -$DebianDistributions = @("ubuntu.14.04", "ubuntu.16.04", "ubuntu.18.04", "debian.9") +$DebianDistributions = @("ubuntu.16.04", "ubuntu.18.04", "debian.9") function Start-PSPackage { [CmdletBinding(DefaultParameterSetName='Version',SupportsShouldProcess=$true)] @@ -681,8 +681,6 @@ function New-UnixPackage { if ($PSBoundParameters.ContainsKey('Distribution')) { $DebDistro = $PSBoundParameters['Distribution'] - } elseif ($Environment.IsUbuntu14) { - $DebDistro = "ubuntu.14.04" } elseif ($Environment.IsUbuntu16) { $DebDistro = "ubuntu.16.04" } elseif ($Environment.IsUbuntu18) { @@ -1117,7 +1115,6 @@ function Get-PackageDependencies ) switch ($Distribution) { - "ubuntu.14.04" { $Dependencies += @("libssl1.0.0", "libicu52") } "ubuntu.16.04" { $Dependencies += @("libssl1.0.0", "libicu55") } "ubuntu.17.10" { $Dependencies += @("libssl1.0.0", "libicu57") } "ubuntu.18.04" { $Dependencies += @("libssl1.0.0", "libicu60") } diff --git a/tools/releaseBuild/Images/microsoft_powershell_ubuntu14.04/Dockerfile b/tools/releaseBuild/Images/microsoft_powershell_ubuntu14.04/Dockerfile deleted file mode 100644 index 4691b42b435..00000000000 --- a/tools/releaseBuild/Images/microsoft_powershell_ubuntu14.04/Dockerfile +++ /dev/null @@ -1,38 +0,0 @@ -# Docker image file that describes an Ubuntu14.04 image with PowerShell installed from Microsoft APT Repo - -FROM mcr.microsoft.com/powershell:ubuntu-14.04 -LABEL maintainer="PowerShell Team " - -# Install dependencies and clean up -RUN apt-get update \ - && apt-get install -y --no-install-recommends \ - apt-utils \ - libc6 \ - libcurl3 \ - ca-certificates \ - libgcc1 \ - libicu52 \ - libssl1.0.0 \ - libstdc++6 \ - libtinfo5 \ - libunwind8 \ - libuuid1 \ - libcroco3 \ - libgraphite2-3 \ - zlib1g \ - curl \ - git \ - apt-transport-https \ - wget \ - dpkg-dev \ - libfuse-dev \ - fuse \ - python \ - && rm -rf /var/lib/apt/lists/* - -COPY PowerShellPackage.ps1 / - -ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 - -# Use PowerShell as the default shell -ENTRYPOINT [ "pwsh" ] diff --git a/tools/releaseBuild/build.json b/tools/releaseBuild/build.json index 95cefcbb4d2..1584bf66118 100644 --- a/tools/releaseBuild/build.json +++ b/tools/releaseBuild/build.json @@ -253,25 +253,6 @@ } ], "Linux": [ - { - "Name": "ubuntu.14.04-unused", - "RepoDestinationPath": "/PowerShell", - "BuildCommand": "/PowerShellPackage.ps1 -location _RepoDestinationPath_ -destination _DockerVolume_ -ReleaseTag _ReleaseTag_ -TarX64 -TarArm", - "BuildDockerOptions": [ - "--cap-add", - "SYS_ADMIN", - "--cap-add", - "MKNOD", - "--device=/dev/fuse", - "--security-opt", - "apparmor:unconfined" - ], - "DockerFile": "./tools/releaseBuild/Images/microsoft_powershell_ubuntu14.04/Dockerfile", - "AdditionalContextFiles" :[ "./tools/releaseBuild/Images/GenericLinuxFiles/PowerShellPackage.ps1"], - "DockerImageName": "ps-ubunutu-14-04", - "BinaryBucket": "release", - "EnableFeature": [ "ArtifactAsFolder" ] - }, { "Name": "deb", "RepoDestinationPath": "/PowerShell", From 83930c19744c0e6be88e48d12c0bbbee3cb65ac4 Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Tue, 9 Apr 2019 12:48:46 -0700 Subject: [PATCH 2/2] remove fedora 27 mention --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cdfd9f7ca04..00e23930db3 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ You can download and install a PowerShell package for any of the following platf | [CentOS 7][corefx-linux] | [.rpm][rl-centos] | [.rpm][pv-centos] | [Instructions][in-centos] | | [Red Hat Enterprise Linux 7][corefx-linux] | [.rpm][rl-centos] | [.rpm][pv-centos] | [Instructions][in-rhel7] | | [openSUSE 42.3][corefx-linux] | [.rpm][rl-centos] | [.rpm][pv-centos] | [Instructions][in-opensuse] | -| [Fedora 27, Fedora 28][corefx-linux] | [.rpm][rl-centos] | [.rpm][pv-centos] | [Instructions][in-fedora] | +| [Fedora 28][corefx-linux] | [.rpm][rl-centos] | [.rpm][pv-centos] | [Instructions][in-fedora] | | [macOS 10.12+][corefx-macos] | [.pkg][rl-macos] | [.pkg][pv-macos] | [Instructions][in-macos] | | Docker | | | [Instructions][in-docker] |