diff --git a/Dockerfile b/Dockerfile index d12b6bf..113bae7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,10 +9,16 @@ RUN \ PS_VERSION=$(curl -sX GET "https://api.github.com/repos/PowerShell/PowerShell/releases/latest" \ | awk '/tag_name/{print $4;exit}' FS='[""]' | awk '{print substr($1,2); }'); \ fi && \ - mkdir -p /root-layer && \ + mkdir -p /root-layer/powershell && \ curl -o \ - /root-layer/powershell.deb -L \ - "https://github.com/PowerShell/PowerShell/releases/download/v${PS_VERSION}/powershell_${PS_VERSION}-1.ubuntu.18.04_amd64.deb" + /root-layer/powershell/powershell_x86_64.tar.gz -L \ + "https://github.com/PowerShell/PowerShell/releases/download/v${PS_VERSION}/powershell_${PS_VERSION}-linux-x64.tar.gz" && \ + curl -o \ + /root-layer/powershell/powershell_armv7l.tar.gz -L \ + "https://github.com/PowerShell/PowerShell/releases/download/v${PS_VERSION}/powershell_${PS_VERSION}-linux-arm32.tar.gz" && \ + curl -o \ + /root-layer/powershell/powershell_aarch64.tar.gz -L \ + "https://github.com/PowerShell/PowerShell/releases/download/v${PS_VERSION}/powershell_${PS_VERSION}-linux-arm64.tar.gz" COPY root/ /root-layer/ diff --git a/root/etc/cont-init.d/98-powershell b/root/etc/cont-init.d/98-powershell index 00ac857..210348b 100644 --- a/root/etc/cont-init.d/98-powershell +++ b/root/etc/cont-init.d/98-powershell @@ -1,10 +1,19 @@ #!/usr/bin/with-contenv bash -if [ -f "/powershell.deb" ]; then +ARCH=$(uname -m) + +if [ -f "/powershell/powershell_${ARCH}.tar.gz" ]; then echo "Installing PowerShell" apt-get update - apt-get install -y /powershell.deb - rm /powershell.deb + apt-get install -y \ + libicu60 \ + libunwind8 + tar xf "/powershell/powershell_${ARCH}.tar.gz" -C /powershell + rm -rf \ + /powershell/powershell_x86_64.tar.gz \ + /powershell/powershell_armv7l.tar.gz \ + /powershell/powershell_aarch64.tar.gz + ln -s /powershell/pwsh /usr/bin/pwsh else echo "PowerShell already installed, skipping" fi