From 1c38b17f8b7de64dd2afff2d0358319c6a68a3a1 Mon Sep 17 00:00:00 2001 From: Bryan Thornbury Date: Tue, 22 Mar 2016 11:40:57 -0700 Subject: [PATCH] make sdk package sdk only fix dependencies between packages re-disable upgrade test another fi to add_dir_to_install fix sdk package name update the package name functino in monikers --- packaging/debian/dotnet-debian_config.json | 2 +- .../debian/dotnet-nightly-debian_config.json | 3 +-- scripts/dotnet-cli-build/DebTargets.cs | 7 ++++-- scripts/dotnet-cli-build/Utils/Monikers.cs | 24 +++++++++++++++++++ scripts/package/package-debian.sh | 12 +++++++--- .../scripts/debian_build_lib.sh | 3 ++- 6 files changed, 42 insertions(+), 9 deletions(-) diff --git a/packaging/debian/dotnet-debian_config.json b/packaging/debian/dotnet-debian_config.json index 7cef71bf1..73fbcc6cc 100644 --- a/packaging/debian/dotnet-debian_config.json +++ b/packaging/debian/dotnet-debian_config.json @@ -30,7 +30,7 @@ "debian_dependencies":{ "clang-3.5" : {}, - "%SHARED_FRAMEWORK_NUGET_NAME%" : {} + "%SHARED_FRAMEWORK_DEBIAN_PACKAGE_NAME%" : {} }, "package_conflicts" : [ diff --git a/packaging/debian/dotnet-nightly-debian_config.json b/packaging/debian/dotnet-nightly-debian_config.json index fb7b609ee..8a33b27a8 100644 --- a/packaging/debian/dotnet-nightly-debian_config.json +++ b/packaging/debian/dotnet-nightly-debian_config.json @@ -29,7 +29,7 @@ "debian_dependencies":{ "clang-3.5" : {}, - "%SHARED_FRAMEWORK_NUGET_NAME%" : {} + "%SHARED_FRAMEWORK_DEBIAN_PACKAGE_NAME%" : {} }, "package_conflicts" : [ @@ -37,7 +37,6 @@ ], "symlinks": { - "bin/dotnet" : "usr/bin/dotnet", "bin/dotnet-compile-native" : "/usr/bin/dotnet-compile-native" } } diff --git a/scripts/dotnet-cli-build/DebTargets.cs b/scripts/dotnet-cli-build/DebTargets.cs index 32027bd92..7382e9224 100644 --- a/scripts/dotnet-cli-build/DebTargets.cs +++ b/scripts/dotnet-cli-build/DebTargets.cs @@ -26,11 +26,13 @@ namespace Microsoft.DotNet.Cli.Build public static BuildTargetResult GenerateSdkDeb(BuildTargetContext c) { var channel = c.BuildContext.Get("Channel").ToLower(); - var packageName = Monikers.GetDebianPackageName(c); + var packageName = Monikers.GetSdkDebianPackageName(c); var version = c.BuildContext.Get("BuildVersion").SimpleVersion; var debFile = c.BuildContext.Get("SdkInstallerFile"); var manPagesDir = Path.Combine(Dirs.RepoRoot, "Documentation", "manpages"); var previousVersionURL = $"https://dotnetcli.blob.core.windows.net/dotnet/{channel}/Installers/Latest/dotnet-ubuntu-x64.latest.deb"; + var sdkPublishRoot = c.BuildContext.Get("CLISDKRoot"); + var sharedFxDebianPackageName = Monikers.GetDebianSharedFrameworkPackageName(c); var objRoot = Path.Combine(Dirs.Output, "obj", "debian", "sdk"); @@ -43,10 +45,11 @@ namespace Microsoft.DotNet.Cli.Build Cmd(Path.Combine(Dirs.RepoRoot, "scripts", "package", "package-debian.sh"), "-v", version, - "-i", Dirs.Stage2, + "-i", sdkPublishRoot, "-o", debFile, "-p", packageName, "-m", manPagesDir, + "--framework-debian-package-name", sharedFxDebianPackageName, "--framework-nuget-name", Monikers.SharedFrameworkName, "--framework-nuget-version", c.BuildContext.Get("SharedFrameworkNugetVersion"), "--previous-version-url", previousVersionURL, diff --git a/scripts/dotnet-cli-build/Utils/Monikers.cs b/scripts/dotnet-cli-build/Utils/Monikers.cs index 417b0517e..231b09a8d 100644 --- a/scripts/dotnet-cli-build/Utils/Monikers.cs +++ b/scripts/dotnet-cli-build/Utils/Monikers.cs @@ -40,6 +40,30 @@ namespace Microsoft.DotNet.Cli.Build return packageName; } + public static string GetSdkDebianPackageName(BuildTargetContext c) + { + var channel = c.BuildContext.Get("Channel").ToLower(); + var sharedFrameworkNugetVersion = c.BuildContext.Get("SharedFrameworkNugetVersion"); + + var packagePrefix = ""; + switch (channel) + { + case "dev": + packagePrefix = "dotnet-nightly"; + break; + case "beta": + case "rc1": + case "rc2": + case "rtm": + packagePrefix = "dotnet"; + break; + default: + throw new Exception($"Unknown channel - {channel}"); + } + + return $"{packagePrefix}-dev-{sharedFrameworkNugetVersion}"; + } + public static string GetDebianSharedFrameworkPackageName(BuildTargetContext c) { var sharedFrameworkNugetVersion = c.BuildContext.Get("SharedFrameworkNugetVersion"); diff --git a/scripts/package/package-debian.sh b/scripts/package/package-debian.sh index 702c628ef..ec008683b 100755 --- a/scripts/package/package-debian.sh +++ b/scripts/package/package-debian.sh @@ -64,6 +64,10 @@ parseargs(){ PREVIOUS_VERSION_URL=$2 shift ;; + --framework-debian-package-name) + SHARED_FRAMEWORK_DEBIAN_PACKAGE_NAME=$2 + shift + ;; --framework-nuget-name) SHARED_FRAMEWORK_NUGET_NAME=$2 shift @@ -121,7 +125,7 @@ parseargs(){ } -parseargs $@ +parseargs "$@" PACKAGING_ROOT="$REPOROOT/packaging/debian" PACKAGING_TOOL_DIR="$REPOROOT/tools/DebianPackageTool" @@ -174,12 +178,13 @@ create_debian_package(){ mkdir -p "$PACKAGE_OUTPUT_DIR" - "$PACKAGING_TOOL_DIR/package_tool" -i "$PACKAGE_LAYOUT_DIR" -o "$PACKAGE_OUTPUT_DIR" -v $DOTNET_CLI_VERSION -n $DOTNET_DEB_PACKAGE_NAME + "$PACKAGING_TOOL_DIR/package_tool" -i "$PACKAGE_LAYOUT_DIR" -o "$PACKAGE_OUTPUT_DIR" -v $DOTNET_CLI_VERSION } update_debian_json() { header "Updating debian.json file" + sed -i "s/%SHARED_FRAMEWORK_DEBIAN_PACKAGE_NAME%/$SHARED_FRAMEWORK_DEBIAN_PACKAGE_NAME/g" "$PACKAGE_LAYOUT_DIR"/debian_config.json sed -i "s/%SHARED_FRAMEWORK_NUGET_NAME%/$SHARED_FRAMEWORK_NUGET_NAME/g" "$PACKAGE_LAYOUT_DIR"/debian_config.json sed -i "s/%SHARED_FRAMEWORK_NUGET_VERSION%/$SHARED_FRAMEWORK_NUGET_VERSION/g" "$PACKAGE_LAYOUT_DIR"/debian_config.json sed -i "s/%SDK_NUGET_VERSION%/$DOTNET_CLI_VERSION/g" "$PACKAGE_LAYOUT_DIR"/debian_config.json @@ -199,7 +204,8 @@ install_bats() { run_package_integrity_tests() { # Set LAST_VERSION_URL to enable upgrade tests - export LAST_VERSION_URL="$PREVIOUS_VERSION_URL" + # Temporarily disable last version until we have one with shared fx + # export LAST_VERSION_URL="$PREVIOUS_VERSION_URL" $TEST_STAGE_DIR/bin/bats $PACKAGE_OUTPUT_DIR/test_package.bats } diff --git a/tools/DebianPackageTool/scripts/debian_build_lib.sh b/tools/DebianPackageTool/scripts/debian_build_lib.sh index f7dd5ff1a..8aa53420f 100755 --- a/tools/DebianPackageTool/scripts/debian_build_lib.sh +++ b/tools/DebianPackageTool/scripts/debian_build_lib.sh @@ -107,7 +107,8 @@ add_dir_to_install(){ for file in "${dir_files[@]}" do - add_system_file_placement "${rel_install_path}/${file}" "${INSTALL_ROOT}/$rel_install_path/$file" + file_rel_dir="$(dirname $file)" + add_system_file_placement "${rel_install_path}/${file}" "${INSTALL_ROOT}/$rel_install_path/${file_rel_dir}" done }