diff --git a/eng/dockerfile-templates/sdk/Dockerfile.linux b/eng/dockerfile-templates/sdk/Dockerfile.linux index 4985f54339..8be0fabd16 100644 --- a/eng/dockerfile-templates/sdk/Dockerfile.linux +++ b/eng/dockerfile-templates/sdk/Dockerfile.linux @@ -23,7 +23,8 @@ when(isMariner, [ "git", - when(dotnetVersion = "3.1", "procps-ng", "") + when(dotnetVersion = "3.1", "procps-ng", ""), + when(find(OS_VERSION, "1.0") < 0, "tar", "") ], [ "curl", diff --git a/src/sdk/6.0/cbl-mariner2.0/amd64/Dockerfile b/src/sdk/6.0/cbl-mariner2.0/amd64/Dockerfile index 7687d41387..d54947517a 100644 --- a/src/sdk/6.0/cbl-mariner2.0/amd64/Dockerfile +++ b/src/sdk/6.0/cbl-mariner2.0/amd64/Dockerfile @@ -19,6 +19,7 @@ ENV \ RUN tdnf install -y \ git \ + tar \ && tdnf clean all # Install .NET SDK diff --git a/src/sdk/6.0/cbl-mariner2.0/arm64v8/Dockerfile b/src/sdk/6.0/cbl-mariner2.0/arm64v8/Dockerfile index c193f1872a..94e8dbc8e6 100644 --- a/src/sdk/6.0/cbl-mariner2.0/arm64v8/Dockerfile +++ b/src/sdk/6.0/cbl-mariner2.0/arm64v8/Dockerfile @@ -19,6 +19,7 @@ ENV \ RUN tdnf install -y \ git \ + tar \ && tdnf clean all # Install .NET SDK diff --git a/src/sdk/7.0/cbl-mariner2.0/amd64/Dockerfile b/src/sdk/7.0/cbl-mariner2.0/amd64/Dockerfile index 8fa0644161..5f64fb171f 100644 --- a/src/sdk/7.0/cbl-mariner2.0/amd64/Dockerfile +++ b/src/sdk/7.0/cbl-mariner2.0/amd64/Dockerfile @@ -19,6 +19,7 @@ ENV \ RUN tdnf install -y \ git \ + tar \ && tdnf clean all # Install .NET SDK diff --git a/src/sdk/7.0/cbl-mariner2.0/arm64v8/Dockerfile b/src/sdk/7.0/cbl-mariner2.0/arm64v8/Dockerfile index 7bce7215ba..f6fc0827d8 100644 --- a/src/sdk/7.0/cbl-mariner2.0/arm64v8/Dockerfile +++ b/src/sdk/7.0/cbl-mariner2.0/arm64v8/Dockerfile @@ -19,6 +19,7 @@ ENV \ RUN tdnf install -y \ git \ + tar \ && tdnf clean all # Install .NET SDK diff --git a/tests/Microsoft.DotNet.Docker.Tests/SdkImageTests.cs b/tests/Microsoft.DotNet.Docker.Tests/SdkImageTests.cs index a4bbbea3cc..6bf269c155 100644 --- a/tests/Microsoft.DotNet.Docker.Tests/SdkImageTests.cs +++ b/tests/Microsoft.DotNet.Docker.Tests/SdkImageTests.cs @@ -251,6 +251,21 @@ public void VerifyGitInstallation(ProductImageData imageData) ); } + /// + /// Verifies that a tar command can be executed without failure. + /// + [DotNetTheory] + [MemberData(nameof(GetImageData))] + public void VerifyTarInstallation(ProductImageData imageData) + { + // tar should exist in the SDK for both Linux and Windows. The --version option works in either OS + DockerHelper.Run( + image: imageData.GetImage(DotNetImageType.SDK, DockerHelper), + name: imageData.GetIdentifier("tar"), + command: "tar --version" + ); + } + private IEnumerable GetActualSdkContents(ProductImageData imageData) { string dotnetPath;