diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props
index b01c20ee2..d9d0bc93d 100644
--- a/build/DependencyVersions.props
+++ b/build/DependencyVersions.props
@@ -73,7 +73,6 @@
$(AspNetCoreVersion)-$(AspNetCoreRelease)-$(AspNetCoreRuntimePackageTimestamp)
aspnetcore-store
- $(AspNetCoreVersion)-$(AspNetCoreRelease)
$(AspNetCoreBranchName)-$(AspNetCoreRuntimePackageTimestamp)
diff --git a/build/package/Installer.DEB.targets b/build/package/Installer.DEB.targets
index 57b5a603d..3d3cc7bad 100644
--- a/build/package/Installer.DEB.targets
+++ b/build/package/Installer.DEB.targets
@@ -35,6 +35,7 @@
dotnet-hostfxr-$(HostFxrDebianPackageVersion)
$(HostFxrDebianPackageName.ToLower())
dotnet-host
+ $(AspNetCoreRuntimePackageBrandName)-$(CurrentAspNetCoreRuntimeVersion)
@@ -84,7 +85,7 @@
$(SharedFxDebianPackageName)
- $(AspNetCoreRuntimePackageName)
+ $(AspNetCoreRuntimeDebPackageName)
@@ -109,6 +110,7 @@
+
diff --git a/build/package/Installer.RPM.targets b/build/package/Installer.RPM.targets
index cb06d9823..fd9d4b117 100644
--- a/build/package/Installer.RPM.targets
+++ b/build/package/Installer.RPM.targets
@@ -50,10 +50,8 @@
dotnet-hostfxr-$(HostFxrRpmPackageVersion)
$(HostFxrRpmPackageName.ToLower())
dotnet-host
- $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersionAndRelease)-$(AspNetCoreRuntimePackageTimestamp)
- $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersion)
- $(AspNetCoreRuntimePackageBrandName)-2.0.0
- $(AspNetCoreRuntimePackageBrandName)-2.0.3
+ $(AspNetCoreRuntimePackageBrandName)-$(CurrentAspNetCoreRuntimeVersion)
+ $(CurrentAspNetCoreRuntimeVersion)
$(ScriptsDir)/$(AfterInstallHostScriptName)
$(RpmLayoutScripts)/$(AfterInstallHostScriptName)
@@ -112,10 +110,10 @@
$(SharedFrameworkVersion)
- $(AspNetCoreRuntimePackageName)
+ $(AspNetCoreRuntimeRpmPackageName)
- $(AspNetCoreRuntimePackageVersion)
+ $(AspNetCoreRuntimeRpmPackageVersion)
$(SharedFxRpmPackageName)
@@ -137,6 +135,7 @@
+
@@ -238,7 +237,7 @@
ToolPath="$(RpmInstalledDirectory)" />
diff --git a/test/EndToEnd/GivenDotNetLinuxInstallers.cs b/test/EndToEnd/GivenDotNetLinuxInstallers.cs
new file mode 100644
index 000000000..4968f0221
--- /dev/null
+++ b/test/EndToEnd/GivenDotNetLinuxInstallers.cs
@@ -0,0 +1,83 @@
+// Copyright (c) .NET Foundation and contributors. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+
+using System;
+using System.IO;
+using Microsoft.DotNet.Tools.Test.Utilities;
+using Xunit;
+
+namespace Microsoft.DotNet.Tests.EndToEnd
+{
+ public class GivenDotNetLinuxInstallers
+ {
+ [Fact]
+ public void ItHasExpectedDependencies()
+ {
+ var installerFile = Environment.GetEnvironmentVariable("SDK_INSTALLER_FILE");
+ if (string.IsNullOrEmpty(installerFile))
+ {
+ return;
+ }
+
+ var ext = Path.GetExtension(installerFile);
+ switch (ext)
+ {
+ case ".deb":
+ DebianPackageHasDependencyOnAspNetCoreStoreAndDotnetRuntime(installerFile);
+ return;
+ case ".rpm":
+ RpmPackageHasDependencyOnAspNetCoreStoreAndDotnetRuntime(installerFile);
+ return;
+ }
+ }
+
+ private void DebianPackageHasDependencyOnAspNetCoreStoreAndDotnetRuntime(string installerFile)
+ {
+ // Example output:
+
+ // $ dpkg --info dotnet-sdk-2.1.105-ubuntu-x64.deb
+
+ // new debian package, version 2.0.
+ // size 75660448 bytes: control archive=29107 bytes.
+ // 717 bytes, 11 lines control
+ // 123707 bytes, 1004 lines md5sums
+ // 1710 bytes, 28 lines * postinst #!/usr/bin/env
+ // Package: dotnet-sdk-2.1.104
+ // Version: 2.1.104-1
+ // Architecture: amd64
+ // Maintainer: Microsoft
+ // Installed-Size: 201119
+ // Depends: dotnet-runtime-2.0.6, aspnetcore-store-2.0.6
+ // Section: devel
+ // Priority: standard
+ // Homepage: https://dotnet.github.io/core
+ // Description: Microsoft .NET Core SDK - 2.1.104
+
+ new TestCommand("dpkg")
+ .ExecuteWithCapturedOutput($"--info {installerFile}")
+ .Should().Pass()
+ .And.HaveStdOutMatching(@"Depends:.*\s?dotnet-runtime-\d+(\.\d+){2}")
+ .And.HaveStdOutMatching(@"Depends:.*\s?aspnetcore-store-\d+(\.\d+){2}");
+ }
+
+ private void RpmPackageHasDependencyOnAspNetCoreStoreAndDotnetRuntime(string installerFile)
+ {
+ // Example output:
+
+ // $ rpm -qpR dotnet-sdk-2.1.105-rhel-x64.rpm
+
+ // dotnet-runtime-2.0.7 >= 2.0.7
+ // aspnetcore-store-2.0.7 >= 2.0.7
+ // /bin/sh
+ // /bin/sh
+ // rpmlib(PayloadFilesHavePrefix) <= 4.0-1
+ // rpmlib(CompressedFileNames) <= 3.0.4-1
+
+ new TestCommand("rpm")
+ .ExecuteWithCapturedOutput($"-qpR {installerFile}")
+ .Should().Pass()
+ .And.HaveStdOutMatching(@"dotnet-runtime-\d+(\.\d+){2} >= \d+(\.\d+){2}")
+ .And.HaveStdOutMatching(@"aspnetcore-store-\d+(\.\d+){2} >= \d+(\.\d+){2}");
+ }
+ }
+}