From d2d60000eb08599bef2e5caf616f4a616ed57b32 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Mon, 25 Feb 2019 12:00:36 -0800 Subject: [PATCH] Create Linux installers for the aspnetcore targeting pack (#7776) This creates 3 new build outputs: * aspnetcore-targeting-pack-$(version).tar.gz * aspnetcore-targeting-pack-$(version)-linux-x64.deb * aspnetcore-targeting-pack-$(version)-linux-x64.rpm Other changes: * Make RPM packaging consistent with other installers. Vendor == Microsoft Corporation * Add shared properties for building the targeting pack (or not building it in a servicing build) --- .azure/pipelines/ci.yml | 9 +- .gitignore | 1 + Directory.Build.props | 1 - build/SharedFx.targets | 4 +- eng/scripts/KillProcesses.ps1 | 6 +- .../ref/Microsoft.AspNetCore.App.Ref.csproj | 27 +++-- .../Microsoft.AspNetCore.App.Runtime.csproj | 1 - src/Installers/Debian/Directory.Build.props | 23 ++++ src/Installers/Debian/Directory.Build.targets | 58 ++++++++++ src/Installers/Debian/Runtime.debproj | 105 ------------------ .../Debian/Runtime/Debian.Runtime.debproj | 56 ++++++++++ .../{ => Runtime}/debian_config.json.in | 4 +- .../Debian.TargetingPack.debproj | 47 ++++++++ .../TargetingPack/debian_config.json.in | 30 +++++ src/Installers/Debian/{ => tools}/build.sh | 0 .../{ => tools}/package_files/debian/compat | 0 .../package_files/debian/source/format | 0 .../scripts/config_template_generator.py | 0 .../{ => tools}/scripts/debian_build_lib.sh | 0 .../{ => tools}/scripts/extract_json_value.py | 0 .../{ => tools}/scripts/manpage_generator.py | 0 .../Debian/{ => tools}/setup/build_setup.sh | 0 .../Debian/{ => tools}/setup/test_setup.sh | 0 .../{ => tools}/templates/debian/changelog | 0 .../{ => tools}/templates/debian/control | 0 .../{ => tools}/templates/debian/copyright | 0 .../Debian/{ => tools}/templates/debian/rules | 0 src/Installers/Debian/{ => tools}/test.sh | 0 .../test/integration_tests/test_package.bats | 0 .../{ => tools}/test/test_assets/lkgtestman.1 | 0 .../test_package_layout/debian_config.json | 0 .../test_assets/test_package_layout/docs.json | 0 .../test_package_layout/docs/testdocs.1 | 0 .../path_relative_to_package_root/test_exe.sh | 0 .../package_root/test_called.sh | 0 .../test_package_layout/samples/testsample.cs | 0 .../test/test_assets/testdocs.json | 0 .../unit_tests/test_debian_build_lib.bats | 0 .../test/unit_tests/test_scripts.bats | 0 src/Installers/Directory.Build.props | 1 + src/Installers/Rpm/Directory.Build.props | 18 +++ .../{Rpm.targets => Directory.Build.targets} | 32 +++--- src/Installers/Rpm/Rpm.Runtime.Common.targets | 47 ++++++++ src/Installers/Rpm/Rpm.props | 37 ------ src/Installers/Rpm/Runtime.Generic.rpmproj | 13 --- src/Installers/Rpm/Runtime.Rhel.rpmproj | 13 --- .../Rpm/Runtime.Rhel/Rpm.Runtime.Rhel.rpmproj | 15 +++ .../Rpm/Runtime/Rpm.Runtime.rpmproj | 15 +++ .../TargetingPack/Rpm.TargetingPack.rpmproj | 38 +++++++ .../TargetingPack/TargetingPack.wixproj | 7 +- version.props | 11 ++ 51 files changed, 417 insertions(+), 202 deletions(-) create mode 100644 src/Installers/Debian/Directory.Build.props create mode 100644 src/Installers/Debian/Directory.Build.targets delete mode 100644 src/Installers/Debian/Runtime.debproj create mode 100644 src/Installers/Debian/Runtime/Debian.Runtime.debproj rename src/Installers/Debian/{ => Runtime}/debian_config.json.in (93%) create mode 100644 src/Installers/Debian/TargetingPack/Debian.TargetingPack.debproj create mode 100644 src/Installers/Debian/TargetingPack/debian_config.json.in rename src/Installers/Debian/{ => tools}/build.sh (100%) rename src/Installers/Debian/{ => tools}/package_files/debian/compat (100%) mode change 100755 => 100644 rename src/Installers/Debian/{ => tools}/package_files/debian/source/format (100%) mode change 100755 => 100644 rename src/Installers/Debian/{ => tools}/scripts/config_template_generator.py (100%) rename src/Installers/Debian/{ => tools}/scripts/debian_build_lib.sh (100%) rename src/Installers/Debian/{ => tools}/scripts/extract_json_value.py (100%) rename src/Installers/Debian/{ => tools}/scripts/manpage_generator.py (100%) rename src/Installers/Debian/{ => tools}/setup/build_setup.sh (100%) rename src/Installers/Debian/{ => tools}/setup/test_setup.sh (100%) rename src/Installers/Debian/{ => tools}/templates/debian/changelog (100%) mode change 100755 => 100644 rename src/Installers/Debian/{ => tools}/templates/debian/control (100%) mode change 100755 => 100644 rename src/Installers/Debian/{ => tools}/templates/debian/copyright (100%) mode change 100755 => 100644 rename src/Installers/Debian/{ => tools}/templates/debian/rules (100%) mode change 100755 => 100644 rename src/Installers/Debian/{ => tools}/test.sh (100%) rename src/Installers/Debian/{ => tools}/test/integration_tests/test_package.bats (100%) rename src/Installers/Debian/{ => tools}/test/test_assets/lkgtestman.1 (100%) mode change 100755 => 100644 rename src/Installers/Debian/{ => tools}/test/test_assets/test_package_layout/debian_config.json (100%) mode change 100755 => 100644 rename src/Installers/Debian/{ => tools}/test/test_assets/test_package_layout/docs.json (100%) mode change 100755 => 100644 rename src/Installers/Debian/{ => tools}/test/test_assets/test_package_layout/docs/testdocs.1 (100%) mode change 100755 => 100644 rename src/Installers/Debian/{ => tools}/test/test_assets/test_package_layout/package_root/path_relative_to_package_root/test_exe.sh (100%) rename src/Installers/Debian/{ => tools}/test/test_assets/test_package_layout/package_root/test_called.sh (100%) rename src/Installers/Debian/{ => tools}/test/test_assets/test_package_layout/samples/testsample.cs (100%) mode change 100755 => 100644 rename src/Installers/Debian/{ => tools}/test/test_assets/testdocs.json (100%) mode change 100755 => 100644 rename src/Installers/Debian/{ => tools}/test/unit_tests/test_debian_build_lib.bats (100%) rename src/Installers/Debian/{ => tools}/test/unit_tests/test_scripts.bats (100%) create mode 100644 src/Installers/Rpm/Directory.Build.props rename src/Installers/Rpm/{Rpm.targets => Directory.Build.targets} (76%) create mode 100644 src/Installers/Rpm/Rpm.Runtime.Common.targets delete mode 100644 src/Installers/Rpm/Rpm.props delete mode 100644 src/Installers/Rpm/Runtime.Generic.rpmproj delete mode 100644 src/Installers/Rpm/Runtime.Rhel.rpmproj create mode 100644 src/Installers/Rpm/Runtime.Rhel/Rpm.Runtime.Rhel.rpmproj create mode 100644 src/Installers/Rpm/Runtime/Rpm.Runtime.rpmproj create mode 100644 src/Installers/Rpm/TargetingPack/Rpm.TargetingPack.rpmproj diff --git a/.azure/pipelines/ci.yml b/.azure/pipelines/ci.yml index f7cd050b7f..2b5642b74c 100644 --- a/.azure/pipelines/ci.yml +++ b/.azure/pipelines/ci.yml @@ -162,9 +162,11 @@ jobs: --arch x64 \ -e KOREBUILD_SKIP_INSTALL_NETFX=0 \ --no-restore \ + --no-build-deps \ /t:BuildSharedFx \ /p:BuildRuntimeArchive=false \ - /p:LinuxInstallerType=deb + /p:LinuxInstallerType=deb \ + /bl:artifacts/logs/build.deb.binlog displayName: Build Debian installers - script: | rm -rf .dotnet/ @@ -173,9 +175,12 @@ jobs: --ci --pack --all --no-build-nodejs --no-build-java \ --arch x64 \ -e KOREBUILD_SKIP_INSTALL_NETFX=0 \ + --no-restore \ + --no-build-deps \ /t:BuildSharedFx \ /p:BuildRuntimeArchive=false \ - /p:LinuxInstallerType=rpm + /p:LinuxInstallerType=rpm \ + /bl:artifacts/logs/build.rpm.binlog displayName: Build RPM installers afterBuild: # Remove packages that are not rid-specific. diff --git a/.gitignore b/.gitignore index 0f57015b8c..789031bf52 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,7 @@ StyleCop.Cache node_modules/ *.snk .nuget +.packages/ .r .w .deps diff --git a/Directory.Build.props b/Directory.Build.props index 3c5e258261..07e500124b 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -6,7 +6,6 @@ Microsoft Microsoft Corporation. - .NET Foundation © Microsoft Corporation. All rights reserved. en-US diff --git a/build/SharedFx.targets b/build/SharedFx.targets index 80e2978835..27eb7e65b3 100644 --- a/build/SharedFx.targets +++ b/build/SharedFx.targets @@ -12,8 +12,8 @@ - - + + diff --git a/eng/scripts/KillProcesses.ps1 b/eng/scripts/KillProcesses.ps1 index 8df10e9f10..2706785962 100644 --- a/eng/scripts/KillProcesses.ps1 +++ b/eng/scripts/KillProcesses.ps1 @@ -21,6 +21,10 @@ _kill git.exe _kill vctip.exe _kill chrome.exe _kill h2spec.exe -iisreset /restart +_kill WerFault.exe +if (Get-Command iisreset -ErrorAction ignore) { + iisreset /restart +} +Stop-Service w3svc -NoWait -ErrorAction Ignore exit 0 diff --git a/src/Framework/ref/Microsoft.AspNetCore.App.Ref.csproj b/src/Framework/ref/Microsoft.AspNetCore.App.Ref.csproj index fd3cec362c..5d0b9d9649 100644 --- a/src/Framework/ref/Microsoft.AspNetCore.App.Ref.csproj +++ b/src/Framework/ref/Microsoft.AspNetCore.App.Ref.csproj @@ -12,6 +12,10 @@ $(DefaultNetCoreTargetFramework) true true + false + $(TargetingPackName) + $(TargetingPackVersion) + Provides a default set of APIs for building an ASP.NET Core application. Contains reference assemblies, documentation, and other design-time assets. This package is an internal implementation of the .NET Core SDK and is not meant to be used as a normal PackageReference. @@ -22,7 +26,8 @@ This package is an internal implementation of the .NET Core SDK and is not meant ref/$(TargetFramework)/ $(TargetingPackLayoutRoot)packs/Microsoft.AspNetCore.App.Ref/$(PackageVersion)/ - aspnetcore-targeting-pack-$(PackageVersion).zip + aspnetcore-targeting-pack-$(PackageVersion).zip + aspnetcore-targeting-pack-$(PackageVersion).tar.gz $(InstallersOutputPath)$(ArchiveOutputFileName) @@ -54,7 +59,8 @@ This package is an internal implementation of the .NET Core SDK and is not meant - + + $(BuildDependsOn); GeneratePackageConflictManifest; _ResolveTargetingPackContent; @@ -65,9 +71,7 @@ This package is an internal implementation of the .NET Core SDK and is not meant - - - + @@ -115,20 +119,25 @@ This package is an internal implementation of the .NET Core SDK and is not meant DependsOnTargets="_ResolveTargetingPackContent" Inputs="@(RefPackContent)" Outputs="@(RefPackContent->'$(LayoutTargetDir)%(PackagePath)%(FileName)%(Extension)')"> - + + Outputs="$(ArchiveOutputPath)"> + Overwrite="true" + Condition="'$(TargetRuntimeIdentifier)' == 'win-x64'" /> + + diff --git a/src/Framework/src/Microsoft.AspNetCore.App.Runtime.csproj b/src/Framework/src/Microsoft.AspNetCore.App.Runtime.csproj index 0841d4c07f..024bd9f6a1 100644 --- a/src/Framework/src/Microsoft.AspNetCore.App.Runtime.csproj +++ b/src/Framework/src/Microsoft.AspNetCore.App.Runtime.csproj @@ -12,7 +12,6 @@ $(TargetRuntimeIdentifier) false - Microsoft.AspNetCore.App $(MSBuildProjectName).$(RuntimeIdentifier) true false diff --git a/src/Installers/Debian/Directory.Build.props b/src/Installers/Debian/Directory.Build.props new file mode 100644 index 0000000000..80a542cd9b --- /dev/null +++ b/src/Installers/Debian/Directory.Build.props @@ -0,0 +1,23 @@ + + + true + + + + + + + + $(InstallersOutputPath) + $(IntermediateOutputPath)$(TargetRuntimeIdentifier)\ + + $(IntermediateOutputPath)package_root\ + + + /usr/share/dotnet + + amd64 + + $(MSBuildThisFileDirectory)tools/build.sh + + diff --git a/src/Installers/Debian/Directory.Build.targets b/src/Installers/Debian/Directory.Build.targets new file mode 100644 index 0000000000..36e823a338 --- /dev/null +++ b/src/Installers/Debian/Directory.Build.targets @@ -0,0 +1,58 @@ + + + + + $(OutputPath)$(TargetFileName) + + $(DebBuildDependsOn); + PrepareForBuild; + ResolveProjectReferences; + GetTargetPath; + + + + + + + + + + + + + + + + + + $(DebianConfigProperties); + AspNetCoreMajorVersion=$(AspNetCoreMajorVersion); + AspNetCoreMinorVersion=$(AspNetCoreMinorVersion); + Authors=$(Authors); + DebianPackageInstallRoot=$(DebianPackageInstallRoot); + MaintainerEmail=$(MaintainerEmail); + PackageId=$(PackageId); + PackageLicenseType=$(PackageLicenseType); + PackageProjectUrl=$(PackageProjectUrl); + PackageRevision=$(PackageRevision); + PackageVersion=$(PackageVersion); + PackageSummary=$(PackageSummary); + PackageDescription=$(PackageDescription); + + + + + + + + + + + $(PackageId)_$(PackageVersion)-$(PackageRevision)_$(DebianPackageArch).deb + + + + + diff --git a/src/Installers/Debian/Runtime.debproj b/src/Installers/Debian/Runtime.debproj deleted file mode 100644 index 7876521cfa..0000000000 --- a/src/Installers/Debian/Runtime.debproj +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - - - $(ArtifactsObjDir)Debian\$(MSBuildProjectName)\ - $(BaseIntermediateOutputPath)$(TargetRuntimeIdentifier)\ - - $(IntermediateOutputPath)package_root\ - $(RuntimeInstallerBaseName)-$(SharedFxVersion)-x64.deb - $(InstallersOutputPath) - $(InstallersOutputPath)$(OutputFileName) - - - - - /usr/share/dotnet - - - - - - $(RuntimeInstallerBaseName)-$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion) - - - $(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).$(AspNetCorePatchVersion) - - $(PackageVersion)~$(PreReleaseLabel)-$(BuildNumberSuffix) - 1 - - - $(MicrosoftNETCoreAppPackageVersion) - $(DotnetRuntimeDependencyVersion.Substring(0, $(DotnetRuntimeDependencyVersion.IndexOf('-'))))~$(DotnetRuntimeDependencyVersion.Substring($([MSBuild]::Add($(DotnetRuntimeDependencyVersion.IndexOf('-')), 1)))) - - - - - true - _ResolvedFxProjects - - - - - - - - - - - - - - - - - - - - $(IntermediatePackageRoot)shared\%(SharedFxAssetFolder.SharedFxName)\$(SharedFxVersion)\ - - - - - - - - - AspNetCoreMajorVersion=$(AspNetCoreMajorVersion); - AspNetCoreMinorVersion=$(AspNetCoreMinorVersion); - Authors=$(Authors); - DebianPackageInstallRoot=$(DebianPackageInstallRoot); - DotnetRuntimeDependencyVersion=$(DotnetRuntimeDependencyVersion); - MaintainerEmail=$(MaintainerEmail); - PackageId=$(PackageId); - PackageLicenseType=$(PackageLicenseType); - PackageProjectUrl=$(PackageProjectUrl); - PackageRevision=$(PackageRevision); - PackageVersion=$(PackageVersion); - SharedFxDescription=$(SharedFxDescription); - SharedFxProductName=$(SharedFxProductName); - - - - - - - - - - - amd64 - $(PackageId)_$(PackageVersion)-$(PackageRevision)_$(DebArch).deb - - - - - diff --git a/src/Installers/Debian/Runtime/Debian.Runtime.debproj b/src/Installers/Debian/Runtime/Debian.Runtime.debproj new file mode 100644 index 0000000000..cdd7b12d01 --- /dev/null +++ b/src/Installers/Debian/Runtime/Debian.Runtime.debproj @@ -0,0 +1,56 @@ + + + + + + $(RuntimeInstallerBaseName)-$(SharedFxVersion)-x64.deb + + + $(RuntimeInstallerBaseName)-$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion) + + + $(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).$(AspNetCorePatchVersion) + + $(PackageVersion)~$(VersionSuffix) + 1 + + + $(MicrosoftNETCoreAppPackageVersion) + $(DotnetRuntimeDependencyVersion.Substring(0, $(DotnetRuntimeDependencyVersion.IndexOf('-'))))~$(DotnetRuntimeDependencyVersion.Substring($([MSBuild]::Add($(DotnetRuntimeDependencyVersion.IndexOf('-')), 1)))) + + $(SharedFxProductName) + $(SharedFxDescription) + + DotnetRuntimeDependencyVersion=$(DotnetRuntimeDependencyVersion); + + + + + + true + _ResolvedFxProjects + + + + + + + $(DebBuildDependsOn);LayoutSharedFramework + + + + + + + + $(IntermediatePackageRoot)shared\%(SharedFxAssetFolder.SharedFxName)\$(SharedFxVersion)\ + + + + + + diff --git a/src/Installers/Debian/debian_config.json.in b/src/Installers/Debian/Runtime/debian_config.json.in similarity index 93% rename from src/Installers/Debian/debian_config.json.in rename to src/Installers/Debian/Runtime/debian_config.json.in index 26a46c5388..c8c33f681e 100644 --- a/src/Installers/Debian/debian_config.json.in +++ b/src/Installers/Debian/Runtime/debian_config.json.in @@ -5,8 +5,8 @@ "package_name": "${PackageId}", "install_root": "${DebianPackageInstallRoot}", - "short_description": "${SharedFxProductName}", - "long_description": "${SharedFxDescription}", + "short_description": "${PackageSummary}", + "long_description": "${PackageDescription}", "homepage": "${PackageProjectUrl}", "release":{ diff --git a/src/Installers/Debian/TargetingPack/Debian.TargetingPack.debproj b/src/Installers/Debian/TargetingPack/Debian.TargetingPack.debproj new file mode 100644 index 0000000000..5f3508eb2c --- /dev/null +++ b/src/Installers/Debian/TargetingPack/Debian.TargetingPack.debproj @@ -0,0 +1,47 @@ + + + + + + $(TargetingPackInstallerBaseName)-$(TargetingPackVersion).deb + + $(TargetingPackInstallerBaseName)-$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion) + + $(TargetingPackVersionPrefix) + + $(PackageVersion)~$(VersionSuffix) + 1 + + ASP.NET Core Targeting Pack + Provides a default set of APIs for building an ASP.NET Core $(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion) application. Contains reference assemblies, documentation, and other design-time assets. + + + + + + false + true + + + + + + + $(DebBuildDependsOn);LayoutTargetingPack + + + + + + + + + + + + + diff --git a/src/Installers/Debian/TargetingPack/debian_config.json.in b/src/Installers/Debian/TargetingPack/debian_config.json.in new file mode 100644 index 0000000000..0b795daa80 --- /dev/null +++ b/src/Installers/Debian/TargetingPack/debian_config.json.in @@ -0,0 +1,30 @@ +{ + "maintainer_name": "${Authors}", + "maintainer_email": "${MaintainerEmail}", + + "package_name": "${PackageId}", + "install_root": "${DebianPackageInstallRoot}", + + "short_description": "${PackageSummary}", + "long_description": "${PackageDescription}", + "homepage": "${PackageProjectUrl}", + + "release":{ + "package_version":"${PackageVersion}", + "package_revision":"${PackageRevision}", + "urgency" : "low", + "changelog_message" : "" + }, + + "control": { + "priority":"standard", + "section":"devel", + "architecture":"any" + }, + + "copyright": "Microsoft", + "license": { + "type": "${PackageLicenseType}", + "full_text": "Copyright (c) .NET Foundation. All rights reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthese files except in compliance with the License. You may obtain a copy of the\nLicense at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed\nunder the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\nCONDITIONS OF ANY KIND, either express or implied. See the License for the\nspecific language governing permissions and limitations under the License." + } +} diff --git a/src/Installers/Debian/build.sh b/src/Installers/Debian/tools/build.sh similarity index 100% rename from src/Installers/Debian/build.sh rename to src/Installers/Debian/tools/build.sh diff --git a/src/Installers/Debian/package_files/debian/compat b/src/Installers/Debian/tools/package_files/debian/compat old mode 100755 new mode 100644 similarity index 100% rename from src/Installers/Debian/package_files/debian/compat rename to src/Installers/Debian/tools/package_files/debian/compat diff --git a/src/Installers/Debian/package_files/debian/source/format b/src/Installers/Debian/tools/package_files/debian/source/format old mode 100755 new mode 100644 similarity index 100% rename from src/Installers/Debian/package_files/debian/source/format rename to src/Installers/Debian/tools/package_files/debian/source/format diff --git a/src/Installers/Debian/scripts/config_template_generator.py b/src/Installers/Debian/tools/scripts/config_template_generator.py similarity index 100% rename from src/Installers/Debian/scripts/config_template_generator.py rename to src/Installers/Debian/tools/scripts/config_template_generator.py diff --git a/src/Installers/Debian/scripts/debian_build_lib.sh b/src/Installers/Debian/tools/scripts/debian_build_lib.sh similarity index 100% rename from src/Installers/Debian/scripts/debian_build_lib.sh rename to src/Installers/Debian/tools/scripts/debian_build_lib.sh diff --git a/src/Installers/Debian/scripts/extract_json_value.py b/src/Installers/Debian/tools/scripts/extract_json_value.py similarity index 100% rename from src/Installers/Debian/scripts/extract_json_value.py rename to src/Installers/Debian/tools/scripts/extract_json_value.py diff --git a/src/Installers/Debian/scripts/manpage_generator.py b/src/Installers/Debian/tools/scripts/manpage_generator.py similarity index 100% rename from src/Installers/Debian/scripts/manpage_generator.py rename to src/Installers/Debian/tools/scripts/manpage_generator.py diff --git a/src/Installers/Debian/setup/build_setup.sh b/src/Installers/Debian/tools/setup/build_setup.sh similarity index 100% rename from src/Installers/Debian/setup/build_setup.sh rename to src/Installers/Debian/tools/setup/build_setup.sh diff --git a/src/Installers/Debian/setup/test_setup.sh b/src/Installers/Debian/tools/setup/test_setup.sh similarity index 100% rename from src/Installers/Debian/setup/test_setup.sh rename to src/Installers/Debian/tools/setup/test_setup.sh diff --git a/src/Installers/Debian/templates/debian/changelog b/src/Installers/Debian/tools/templates/debian/changelog old mode 100755 new mode 100644 similarity index 100% rename from src/Installers/Debian/templates/debian/changelog rename to src/Installers/Debian/tools/templates/debian/changelog diff --git a/src/Installers/Debian/templates/debian/control b/src/Installers/Debian/tools/templates/debian/control old mode 100755 new mode 100644 similarity index 100% rename from src/Installers/Debian/templates/debian/control rename to src/Installers/Debian/tools/templates/debian/control diff --git a/src/Installers/Debian/templates/debian/copyright b/src/Installers/Debian/tools/templates/debian/copyright old mode 100755 new mode 100644 similarity index 100% rename from src/Installers/Debian/templates/debian/copyright rename to src/Installers/Debian/tools/templates/debian/copyright diff --git a/src/Installers/Debian/templates/debian/rules b/src/Installers/Debian/tools/templates/debian/rules old mode 100755 new mode 100644 similarity index 100% rename from src/Installers/Debian/templates/debian/rules rename to src/Installers/Debian/tools/templates/debian/rules diff --git a/src/Installers/Debian/test.sh b/src/Installers/Debian/tools/test.sh similarity index 100% rename from src/Installers/Debian/test.sh rename to src/Installers/Debian/tools/test.sh diff --git a/src/Installers/Debian/test/integration_tests/test_package.bats b/src/Installers/Debian/tools/test/integration_tests/test_package.bats similarity index 100% rename from src/Installers/Debian/test/integration_tests/test_package.bats rename to src/Installers/Debian/tools/test/integration_tests/test_package.bats diff --git a/src/Installers/Debian/test/test_assets/lkgtestman.1 b/src/Installers/Debian/tools/test/test_assets/lkgtestman.1 old mode 100755 new mode 100644 similarity index 100% rename from src/Installers/Debian/test/test_assets/lkgtestman.1 rename to src/Installers/Debian/tools/test/test_assets/lkgtestman.1 diff --git a/src/Installers/Debian/test/test_assets/test_package_layout/debian_config.json b/src/Installers/Debian/tools/test/test_assets/test_package_layout/debian_config.json old mode 100755 new mode 100644 similarity index 100% rename from src/Installers/Debian/test/test_assets/test_package_layout/debian_config.json rename to src/Installers/Debian/tools/test/test_assets/test_package_layout/debian_config.json diff --git a/src/Installers/Debian/test/test_assets/test_package_layout/docs.json b/src/Installers/Debian/tools/test/test_assets/test_package_layout/docs.json old mode 100755 new mode 100644 similarity index 100% rename from src/Installers/Debian/test/test_assets/test_package_layout/docs.json rename to src/Installers/Debian/tools/test/test_assets/test_package_layout/docs.json diff --git a/src/Installers/Debian/test/test_assets/test_package_layout/docs/testdocs.1 b/src/Installers/Debian/tools/test/test_assets/test_package_layout/docs/testdocs.1 old mode 100755 new mode 100644 similarity index 100% rename from src/Installers/Debian/test/test_assets/test_package_layout/docs/testdocs.1 rename to src/Installers/Debian/tools/test/test_assets/test_package_layout/docs/testdocs.1 diff --git a/src/Installers/Debian/test/test_assets/test_package_layout/package_root/path_relative_to_package_root/test_exe.sh b/src/Installers/Debian/tools/test/test_assets/test_package_layout/package_root/path_relative_to_package_root/test_exe.sh similarity index 100% rename from src/Installers/Debian/test/test_assets/test_package_layout/package_root/path_relative_to_package_root/test_exe.sh rename to src/Installers/Debian/tools/test/test_assets/test_package_layout/package_root/path_relative_to_package_root/test_exe.sh diff --git a/src/Installers/Debian/test/test_assets/test_package_layout/package_root/test_called.sh b/src/Installers/Debian/tools/test/test_assets/test_package_layout/package_root/test_called.sh similarity index 100% rename from src/Installers/Debian/test/test_assets/test_package_layout/package_root/test_called.sh rename to src/Installers/Debian/tools/test/test_assets/test_package_layout/package_root/test_called.sh diff --git a/src/Installers/Debian/test/test_assets/test_package_layout/samples/testsample.cs b/src/Installers/Debian/tools/test/test_assets/test_package_layout/samples/testsample.cs old mode 100755 new mode 100644 similarity index 100% rename from src/Installers/Debian/test/test_assets/test_package_layout/samples/testsample.cs rename to src/Installers/Debian/tools/test/test_assets/test_package_layout/samples/testsample.cs diff --git a/src/Installers/Debian/test/test_assets/testdocs.json b/src/Installers/Debian/tools/test/test_assets/testdocs.json old mode 100755 new mode 100644 similarity index 100% rename from src/Installers/Debian/test/test_assets/testdocs.json rename to src/Installers/Debian/tools/test/test_assets/testdocs.json diff --git a/src/Installers/Debian/test/unit_tests/test_debian_build_lib.bats b/src/Installers/Debian/tools/test/unit_tests/test_debian_build_lib.bats similarity index 100% rename from src/Installers/Debian/test/unit_tests/test_debian_build_lib.bats rename to src/Installers/Debian/tools/test/unit_tests/test_debian_build_lib.bats diff --git a/src/Installers/Debian/test/unit_tests/test_scripts.bats b/src/Installers/Debian/tools/test/unit_tests/test_scripts.bats similarity index 100% rename from src/Installers/Debian/test/unit_tests/test_scripts.bats rename to src/Installers/Debian/tools/test/unit_tests/test_scripts.bats diff --git a/src/Installers/Directory.Build.props b/src/Installers/Directory.Build.props index b31d896477..8028e62456 100644 --- a/src/Installers/Directory.Build.props +++ b/src/Installers/Directory.Build.props @@ -4,6 +4,7 @@ aspnetcore-runtime + aspnetcore-targeting-pack $(RuntimeInstallerBaseName)-internal diff --git a/src/Installers/Rpm/Directory.Build.props b/src/Installers/Rpm/Directory.Build.props new file mode 100644 index 0000000000..072aa6b6b3 --- /dev/null +++ b/src/Installers/Rpm/Directory.Build.props @@ -0,0 +1,18 @@ + + + + + true + + + + + + + $(IntermediateOutputPath)$(TargetRuntimeIdentifier)\ + $(InstallersOutputPath) + + + diff --git a/src/Installers/Rpm/Rpm.targets b/src/Installers/Rpm/Directory.Build.targets similarity index 76% rename from src/Installers/Rpm/Rpm.targets rename to src/Installers/Rpm/Directory.Build.targets index da8010bbd3..7f12d09ec8 100644 --- a/src/Installers/Rpm/Rpm.targets +++ b/src/Installers/Rpm/Directory.Build.targets @@ -2,17 +2,17 @@ Common targets for building RPM. --> + + $(RpmPackageInstallRoot)/ - $(InstallersOutputPath)$(OutputFileName) + $(InstallersOutputPath)$(TargetFileName) - - @@ -21,19 +21,21 @@ + - - - - - - $(IntermediatePackageRoot)shared\%(SharedFxAssetFolder.SharedFxName)\$(SharedFxVersion)\ - - + + + $(RpmBuildDependsOn); + PrepareForBuild; + ResolveProjectReferences; + GetTargetPath; + + - + + DATE=$([System.DateTime]::UtcNow.ToString(ddd MMM dd yyyy)) @@ -63,10 +65,10 @@ - - + + - + diff --git a/src/Installers/Rpm/Rpm.Runtime.Common.targets b/src/Installers/Rpm/Rpm.Runtime.Common.targets new file mode 100644 index 0000000000..a64e3eec5c --- /dev/null +++ b/src/Installers/Rpm/Rpm.Runtime.Common.targets @@ -0,0 +1,47 @@ + + + + + + + $(RuntimeInstallerBaseName)-$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion) + $(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).$(AspNetCorePatchVersion) + + + 1 + 0.1.$(VersionSuffix.Replace('-', '_')) + + $(SharedFxProductName) + $(SharedFxDescription) + + $(IntermediateOutputPath)content\ + + + + + true + _ResolvedFxProjects + + + + + + + + $(RpmBuildDependsOn);LayoutSharedFramework; + + + + + + + $(IntermediatePackageRoot)shared\%(SharedFxAssetFolder.SharedFxName)\$(SharedFxVersion)\ + + + + + + + diff --git a/src/Installers/Rpm/Rpm.props b/src/Installers/Rpm/Rpm.props deleted file mode 100644 index ac6e457421..0000000000 --- a/src/Installers/Rpm/Rpm.props +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - $(ArtifactsObjDir)Rpm\$(MSBuildProjectName)\ - $(BaseIntermediateOutputPath)$(TargetRuntimeIdentifier)\ - $([MSBuild]::NormalizeDirectory('$(IntermediateOutputPath)content/')) - $(InstallersOutputPath) - - - - - - $(RuntimeInstallerBaseName)-$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion) - $(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).$(AspNetCorePatchVersion) - - - 1 - 0.1.$(PreReleaseLabel)_$(BuildNumber.Replace('-', '_')) - - - - - true - _ResolvedFxProjects - - - - - - - diff --git a/src/Installers/Rpm/Runtime.Generic.rpmproj b/src/Installers/Rpm/Runtime.Generic.rpmproj deleted file mode 100644 index b5f22bc09d..0000000000 --- a/src/Installers/Rpm/Runtime.Generic.rpmproj +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - /usr/share/dotnet/ - $(RuntimeInstallerBaseName)-$(SharedFxVersion)-x64.rpm - - - - diff --git a/src/Installers/Rpm/Runtime.Rhel.rpmproj b/src/Installers/Rpm/Runtime.Rhel.rpmproj deleted file mode 100644 index c4d12d1344..0000000000 --- a/src/Installers/Rpm/Runtime.Rhel.rpmproj +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - /opt/rh/rh-dotnet20/root/usr/lib64/dotnet/ - $(RuntimeInstallerBaseName)-$(SharedFxVersion)-rh.rhel.7-x64.rpm - - - - diff --git a/src/Installers/Rpm/Runtime.Rhel/Rpm.Runtime.Rhel.rpmproj b/src/Installers/Rpm/Runtime.Rhel/Rpm.Runtime.Rhel.rpmproj new file mode 100644 index 0000000000..5edb6bd85e --- /dev/null +++ b/src/Installers/Rpm/Runtime.Rhel/Rpm.Runtime.Rhel.rpmproj @@ -0,0 +1,15 @@ + + + + + + /opt/rh/rh-dotnet20/root/usr/lib64/dotnet/ + $(RuntimeInstallerBaseName)-$(SharedFxVersion)-rh.rhel.7-x64.rpm + + + + + + diff --git a/src/Installers/Rpm/Runtime/Rpm.Runtime.rpmproj b/src/Installers/Rpm/Runtime/Rpm.Runtime.rpmproj new file mode 100644 index 0000000000..9d2fe036ad --- /dev/null +++ b/src/Installers/Rpm/Runtime/Rpm.Runtime.rpmproj @@ -0,0 +1,15 @@ + + + + + + /usr/share/dotnet/ + $(RuntimeInstallerBaseName)-$(SharedFxVersion)-x64.rpm + + + + + + diff --git a/src/Installers/Rpm/TargetingPack/Rpm.TargetingPack.rpmproj b/src/Installers/Rpm/TargetingPack/Rpm.TargetingPack.rpmproj new file mode 100644 index 0000000000..6b59d6ddf5 --- /dev/null +++ b/src/Installers/Rpm/TargetingPack/Rpm.TargetingPack.rpmproj @@ -0,0 +1,38 @@ + + + + + /usr/share/dotnet/ + $(TargetingPackInstallerBaseName)-$(TargetingPackVersion)-x64.rpm + + $(TargetingPackLayoutRoot) + + + + $(TargetingPackInstallerBaseName)-$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion) + $(TargetingPackVersionPrefix) + + + 1 + 0.1.$(VersionSuffix.Replace('-', '_')) + + ASP.NET Core Targeting Pack + Provides a default set of APIs for building an ASP.NET Core $(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion) application. Contains reference assemblies, documentation, and other design-time assets. + + + + + false + true + + + + + + + + + + + + diff --git a/src/Installers/Windows/TargetingPack/TargetingPack.wixproj b/src/Installers/Windows/TargetingPack/TargetingPack.wixproj index 3d571020c6..86208a2b68 100644 --- a/src/Installers/Windows/TargetingPack/TargetingPack.wixproj +++ b/src/Installers/Windows/TargetingPack/TargetingPack.wixproj @@ -6,7 +6,7 @@ AspNetCoreTargetingPack - aspnetcore-targeting-pack-$(PackageVersion)-win-$(Platform) + $(TargetingPackInstallerBaseName)-$(PackageVersion)-win-$(Platform) Package true 0AC34F1B-8056-4FFB-A398-E6BB7D67B48D @@ -64,4 +64,9 @@ + + + + + diff --git a/version.props b/version.props index 3c8f07709d..74142c4aa0 100644 --- a/version.props +++ b/version.props @@ -65,8 +65,19 @@ $(VersionPrefix) $(VersionPrefix)-$(VersionSuffix) + Microsoft.AspNetCore.App $(PackageVersion) + Microsoft.AspNetCore.App.Ref + + $(VersionPrefix) + + $(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).0 + $(TargetingPackVersionPrefix) + $(TargetingPackVersionPrefix)-$(VersionSuffix) + + false + $(ExperimentalVersionPrefix) $(ExperimentalVersionPrefix)-$(VersionSuffix)