From 878542e3fc7e9403b161ffa1dbc2b47a19c81035 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Thu, 1 Nov 2018 14:17:56 -0700 Subject: [PATCH 1/7] Updating submodule(s) DotNetTools => d745b8c161d42665ceb51597888062336fec7764 Identity => b56dc070fbd712d843ebf40bcb2a9b68b0f5056b [auto-updated: submodules] --- modules/DotNetTools | 2 +- modules/Identity | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/DotNetTools b/modules/DotNetTools index fbca8be404..d745b8c161 160000 --- a/modules/DotNetTools +++ b/modules/DotNetTools @@ -1 +1 @@ -Subproject commit fbca8be4042533db160704324e4f095efe77583d +Subproject commit d745b8c161d42665ceb51597888062336fec7764 diff --git a/modules/Identity b/modules/Identity index 5e10eb1d1a..b56dc070fb 160000 --- a/modules/Identity +++ b/modules/Identity @@ -1 +1 @@ -Subproject commit 5e10eb1d1ab934a381a8894478016e618930142c +Subproject commit b56dc070fbd712d843ebf40bcb2a9b68b0f5056b From 7388b64ed9499b56ec18df01d45e46cee6389f42 Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Thu, 1 Nov 2018 14:18:04 -0700 Subject: [PATCH 2/7] Updating BuildTools from 2.2.0-preview2-20181031.7 to 2.2.0-preview2-20181101.2 [auto-updated: buildtools] --- global.json | 12 ++++++------ korebuild-lock.txt | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/global.json b/global.json index 19698a2be4..652a69f941 100644 --- a/global.json +++ b/global.json @@ -1,8 +1,8 @@ { - "sdk": { - "version": "2.2.100-rtm-009571" - }, - "msbuild-sdks": { - "Internal.AspNetCore.Sdk": "2.2.0-preview2-20181031.7" - } + "sdk": { + "version": "2.2.100-rtm-009578" + }, + "msbuild-sdks": { + "Internal.AspNetCore.Sdk": "2.2.0-preview2-20181101.2" } +} diff --git a/korebuild-lock.txt b/korebuild-lock.txt index a941100efd..d25eaa4112 100644 --- a/korebuild-lock.txt +++ b/korebuild-lock.txt @@ -1,2 +1,2 @@ -version:2.2.0-preview2-20181031.7 -commithash:fbd6da7e4dc130cb73a3b8583a326ac1338ca0cf +version:2.2.0-preview2-20181101.2 +commithash:028ef37154ea949029f005e12955a7b4aee6120a From 27deb6f6f88f2cb5217ccfff7bb1d9675b394e56 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Thu, 1 Nov 2018 15:02:29 -0700 Subject: [PATCH 3/7] Remove dependency on Docker from MSBuild targets (#3866) Changes: * This removes MSBuild targets which invoke `docker` commands to build deb and rpm installers * Remove installer targets from the KoreBuild context. Put them into separate project files * Simplify the targets used to build installers by reducing duplicate variable names and deeply nested MSBuild contexts * Remove unused dependencies from the Docker build context --- .azure/pipelines/ci-official.yml | 7 - Directory.Build.props | 30 ++- build/Publish.targets | 3 +- build/SharedFx.props | 75 ------- build/SharedFx.targets | 9 +- build/SharedFxInstaller.targets | 189 ------------------ build/docker/bionic.Dockerfile | 34 ++++ .../Dockerfile => docker/rhel.Dockerfile} | 22 +- build/repo.props | 2 + build/repo.targets | 6 +- build/tools/docker/ubuntu.14.04/Dockerfile | 52 ----- build/tools/packaging/debian_config.json.in | 34 ---- dockerbuild.sh | 6 + eng/targets/RuntimeIdentifiers.props | 25 +++ .../Archive.Internal.zipproj | 2 +- .../Archive.Redist.zipproj | 0 src/Installers/Debian/Runtime.debproj | 110 ++++++++++ src/Installers/Debian/debian_config.json.in | 36 ++++ src/Installers/Rpm/Rpm.props | 42 ++++ src/Installers/Rpm/Rpm.targets | 78 ++++++++ src/Installers/Rpm/Runtime.Generic.rpmproj | 13 ++ src/Installers/Rpm/Runtime.Rhel.rpmproj | 13 ++ .../Installers/Rpm}/changelog.in | 0 version.props | 2 + 24 files changed, 397 insertions(+), 393 deletions(-) delete mode 100644 build/SharedFx.props delete mode 100644 build/SharedFxInstaller.targets create mode 100644 build/docker/bionic.Dockerfile rename build/{tools/docker/rhel.7/Dockerfile => docker/rhel.Dockerfile} (55%) delete mode 100644 build/tools/docker/ubuntu.14.04/Dockerfile delete mode 100644 build/tools/packaging/debian_config.json.in create mode 100644 eng/targets/RuntimeIdentifiers.props rename src/Installers/{Archive.Internal => Archive}/Archive.Internal.zipproj (96%) rename src/Installers/{Archive.Redist => Archive}/Archive.Redist.zipproj (100%) create mode 100644 src/Installers/Debian/Runtime.debproj create mode 100644 src/Installers/Debian/debian_config.json.in create mode 100644 src/Installers/Rpm/Rpm.props create mode 100644 src/Installers/Rpm/Rpm.targets create mode 100644 src/Installers/Rpm/Runtime.Generic.rpmproj create mode 100644 src/Installers/Rpm/Runtime.Rhel.rpmproj rename {build/tools/packaging => src/Installers/Rpm}/changelog.in (100%) diff --git a/.azure/pipelines/ci-official.yml b/.azure/pipelines/ci-official.yml index 83d1ec95e4..6e817592f3 100644 --- a/.azure/pipelines/ci-official.yml +++ b/.azure/pipelines/ci-official.yml @@ -208,13 +208,6 @@ phases: /p:SharedFxRID=linux-musl-x64 /p:BuildNumber=$(Build.BuildNumber) displayName: Build linux-musl-x64 runtime - # TODO: configure installers to run in one build.sh invocation - - script: > - ./build.sh - --ci - /t:BuildInstallers - /p:_SharedFxSourceDir=$(Build.SourcesDirectory)/artifacts/runtime/ - displayName: Build linux installers - task: PublishTestResults@2 displayName: Publish test results condition: always() diff --git a/Directory.Build.props b/Directory.Build.props index d3c148edca..b865e3d20a 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -6,15 +6,21 @@ Microsoft Microsoft Corporation. + .NET Foundation © Microsoft Corporation. All rights reserved. en-US https://raw.githubusercontent.com/aspnet/AspNetCore/2.0.0/LICENSE.txt + + Apache-2.0 $(NoWarn);NU5125 + + nugetaspnet@microsoft.com + https://go.microsoft.com/fwlink/?LinkID=288859 https://asp.net true @@ -24,6 +30,12 @@ https://github.com/aspnet/AspNetCore git + $(Product) $(PackageVersion) Shared Framework + Shared Framework for hosting of Microsoft ASP.NET Core applications. It is open source, cross-platform and is supported by Microsoft. We hope you enjoy using it! If you do, please consider joining the active community of developers that are contributing to the project on GitHub ($(RepositoryUrl)). We happily accept issues and PRs. + + + + $(MSBuildThisFileDirectory)eng\AspNetCore.snk true true @@ -40,6 +52,7 @@ + $(RepositoryRoot)artifacts\ $(ArtifactsDir)obj\ @@ -48,24 +61,9 @@ $(ArtifactsConfigurationDir)bin\ $(ArtifactsConfigurationDir)installers\ $(ArtifactsDir)build\ - - - win-x64 - osx-x64 - linux-x64 - - - - win-x64; - win-x86; - win-arm; - osx-x64; - linux-musl-x64; - linux-x64; - linux-arm - + diff --git a/build/Publish.targets b/build/Publish.targets index 0d4df4c96d..a3493b3933 100644 --- a/build/Publish.targets +++ b/build/Publish.targets @@ -48,7 +48,8 @@ Overwrite="true" /> - + <_AllSharedFxRIDs Include="$(SupportedRuntimeIdentifiers)" /> + - - win-x64 - osx-x64 - linux-x64 - - - <_WorkRoot>$(RepositoryRoot).w\$(SharedFxRID)\ - <_WorkLayoutDir>$(_WorkRoot).l\ - <_WorkOutputDir>$(_WorkRoot).o\ - <_MetapackageSrcRoot>$(RepositoryRoot)src\Packages\ - <_TemplatesDir>$(MSBuildThisFileDirectory)tools\templates\ - <_DockerDir>$(MSBuildThisFileDirectory)tools\docker\ - <_PackagingDir>$(MSBuildThisFileDirectory)tools\packaging\ - <_SharedFxSourceDir>$(RepositoryRoot).deps\Signed\SharedFx\ - <_InstallerSourceDir>$(RepositoryRoot).deps\Installers\ - <_SymbolsSourceDir>$(RepositoryRoot).deps\symbols\ - <_DockerRootDir>/opt/code/ - <_InstallersOutputDir>$(ArtifactsDir)installers\ - - .tar.gz - .zip - - netcoreapp2.2 - - - aspnetcore-runtime - - $(SharedFxInstallerName)-internal - $(_PackagingDir)debian_config.json.in - https://dotnetcli.blob.core.windows.net/dotnet/ - - - $(PublicCoreFeedPrefix) - - dotnet-runtime-$(MicrosoftNETCoreAppPackageVersion) - $(DotNetAssetRootUrl)Runtime/$(MicrosoftNETCoreAppPackageVersion)/$(DotnetRuntimeFileNamePrefix) - - $(_SharedFxSourceDir)$(SharedFxIntermediateArchiveBaseName)-$(PackageVersion) - - - - $(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion) - $(InstallerIdVersion).$(AspNetCorePatchVersion) - - $(InstallerPackageVersion) - $(DebInstallerPackageVersion)~$(PackageVersionSuffix) - 1 - - $(PackageRevision) - 0.1.$(PackageVersionSuffix) - $([System.String]::Copy('$(RpmPackageRevision)').Replace('-', '_')) - - - Microsoft - nugetaspnet@microsoft.com - https://www.asp.net/ - /usr/share/dotnet - Apache-2.0 - Microsoft ASP.NET Core $(PackageVersion) Shared Framework - Shared Framework for hosting of Microsoft ASP.NET Core applications. It is open source, cross-platform and is supported by Microsoft. We hope you enjoy using it! If you do, please consider joining the active community of developers that are contributing to the project on GitHub (https://github.com/aspnet/home). We happily accept issues and PRs. - - - - - - - - - - - diff --git a/build/SharedFx.targets b/build/SharedFx.targets index bbdf2998f5..016a08afb1 100644 --- a/build/SharedFx.targets +++ b/build/SharedFx.targets @@ -1,6 +1,4 @@ - - $(RepositoryRoot)src\Framework\Framework.UnitTests\Framework.UnitTests.csproj $([MSBuild]::NormalizePath($(UnitTestFxProject))) @@ -14,8 +12,9 @@ - - + + + @@ -69,8 +68,8 @@ - + $(LogOutputDir)SharedFx-UnitTests-$(Version).trx diff --git a/build/SharedFxInstaller.targets b/build/SharedFxInstaller.targets deleted file mode 100644 index 84de47a045..0000000000 --- a/build/SharedFxInstaller.targets +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DATE=$([System.DateTime]::UtcNow.ToString(ddd MMM dd yyyy)) - $(ChangeLogProps);MAINTAINER_NAME=$(RpmMaintainerName) - $(ChangeLogProps);MAINTAINER_EMAIL=$(RpmMaintainerEmail) - $(ChangeLogProps);PACKAGE_VERSION=$(RpmPackageVersion) - $(ChangeLogProps);PACKAGE_REVISION=$(RpmRevision) - - - - - - - - - - - - rhel.7 - .NET Foundation - /opt/rh/rh-dotnet20/root/usr/lib64/dotnet - dotnet-runtime-$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion) - $(MicrosoftNETCoreAppPackageVersion.Split('-')[0]) - - - - - - - - - - - - - @(RpmSharedFxDependencies->' -d "%(Identity) >= %(Version)"', ' ') - $(RpmSharedFxArguments) @(RpmRHSharedFxDirectories->' --directories "%(FullPath)"', ' ') - $(RpmSharedFxArguments) @(RpmGenericSharedFxDirectories->' --directories "%(FullPath)"', ' ') - - Image=$(Image);RpmVendor=$(RpmVendor);RpmName=$(SharedFxInstallerName) - $(RpmCommonProps);RpmMaintainerName=$(MaintainerName);RpmMaintainerEmail=$(MaintainerEmail) - $(RpmCommonProps);RpmHomepage=$(Homepage);RpmRevision=$(RpmPackageRevision) - $(RpmCommonProps);RpmLicense=$(LicenseType) - $(RpmCommonProps);SharedFxArchive=$(SharedFxIntermediateArchiveFilePrefix)-linux-x64.tar.gz - $(RpmCommonProps);RpmMSummary=$(SharedFxSummary);RpmDescription=$(SharedFxDescription) - RpmInstallRoot=$(InstallRoot) - RpmInstallRoot=$(RHInstallRoot) - RpmIdVersion=$(InstallerIdVersion);RpmPackageVersion=$(InstallerPackageVersion);RpmFileVersion=$(PackageVersion) - - $(RpmCommonProps);$(RpmGenericProps);$(RpmProps);RpmArguments=$(RpmGenericSharedFxArguments);RpmFileSuffix=x64.rpm - $(RpmCommonProps);$(RpmRHProps);$(RpmProps);RpmArguments=$(RpmRHSharedFxArguments);RpmFileSuffix=rh.rhel.7-x64.rpm - - - - - - - - - - - - - - - $(RepositoryRoot)src/Installers/Debian/build.sh - - - - - - - - - - - - - - - - - - MAINTAINER_NAME=$(MaintainerName) - $(DebConfigProps);MAINTAINER_EMAIL=$(MaintainerEmail) - $(DebConfigProps);HOMEPAGE=$(Homepage) - $(DebConfigProps);INSTALL_ROOT=$(InstallRoot) - $(DebConfigProps);PACKAGE_NAME=$(DebPrefix) - $(DebConfigProps);PACKAGE_REVISION=$(PackageRevision) - $(DebConfigProps);LICENSE_TYPE=$(LicenseType) - $(DebConfigProps);SHORT_DESCRIPTION=$(DebSummary) - $(DebConfigProps);LONG_DESCRIPTION=$(DebDescription) - $(DebConfigProps);DEBIAN_DEPENDENCIES=$(DebDependencies) - - - - - - - - - - - - - - - - - - - - - dotnet-runtime-$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion) - $(MicrosoftNETCoreAppPackageVersion) - - $(Deb_DotnetRuntimeDependencyVersion.Substring(0, $(Deb_DotnetRuntimeDependencyVersion.IndexOf('-'))))~$(Deb_DotnetRuntimeDependencyVersion.Substring($([MSBuild]::Add($(Deb_DotnetRuntimeDependencyVersion.IndexOf('-')), 1)))) - - - - <_DebSharedFxDependencies Include="$(Deb_DotnetRuntimeDependencyId)" Version="$(Deb_DotnetRuntimeDependencyVersion)"/> - - - - ubuntu.14.04 - - @(_DebSharedFxDependencies->'"%(Identity)": { "package_version": "%(Version)" }', ', ') - - Image=$(Image);DebPrefix=$(SharedFxInstallerName) - $(DebCommonProps);DebSummary=$(SharedFxSummary);DebDescription=$(SharedFxDescription) - $(DebCommonProps);SharedFxArchive=$(SharedFxIntermediateArchiveFilePrefix)-linux-x64.tar.gz - - DebIdVersion=$(InstallerIdVersion);DebPackageVersion=$(DebInstallerPackageVersion);DebFileVersion=$(PackageVersion);DebDependencies=$(DebSharedFxDependencies) - - - - - - - - - - - diff --git a/build/docker/bionic.Dockerfile b/build/docker/bionic.Dockerfile new file mode 100644 index 0000000000..c8ad159119 --- /dev/null +++ b/build/docker/bionic.Dockerfile @@ -0,0 +1,34 @@ +FROM microsoft/dotnet:2.1-runtime-deps-bionic + +ARG USER +ARG USER_ID +ARG GROUP_ID + +WORKDIR /code/build +RUN mkdir -p "/home/$USER" && chown "${USER_ID}:${GROUP_ID}" "/home/$USER" +ENV HOME "/home/$USER" + +RUN apt-get update && \ + apt-get -qqy install --no-install-recommends \ + jq \ + wget \ + locales \ + python \ + fakeroot \ + debhelper \ + build-essential \ + devscripts \ + unzip && \ + rm -rf /var/lib/apt/lists/* + +# Resolves warnings about locale in the perl scripts for building debian installers +RUN locale-gen en_US.UTF-8 +ENV LANGUAGE=en_US.UTF-8 \ + LANG=en_US.UTF-8 \ + LC_ALL=en_US.UTF-8 + +# Set the user to non-root +USER $USER_ID:$GROUP_ID + +# Skip package initilization +ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 diff --git a/build/tools/docker/rhel.7/Dockerfile b/build/docker/rhel.Dockerfile similarity index 55% rename from build/tools/docker/rhel.7/Dockerfile rename to build/docker/rhel.Dockerfile index 331cb6335b..451b4798f3 100644 --- a/build/tools/docker/rhel.7/Dockerfile +++ b/build/docker/rhel.Dockerfile @@ -1,15 +1,15 @@ -# -# Copyright (c) .NET Foundation. All rights reserved. -# Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -# - # Dockerfile that creates a container suitable to build dotnet-cli FROM microsoft/dotnet-buildtools-prereqs:rhel-7-rpmpkg-e1b4a89-20175311035359 # Setup User to match Host User, and give superuser permissions -ARG USER_ID=0 -RUN useradd -m code_executor -u ${USER_ID} -g root -RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers +ARG USER +ARG USER_ID +ARG GROUP_ID + +WORKDIR /code/build + +RUN useradd -m ${USER} --uid ${USER_ID} -g root -G ${GROUP_ID} +RUN echo '${USER} ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers # With the User Change, we need to change permssions on these directories RUN chmod -R a+rwx /usr/local @@ -17,7 +17,7 @@ RUN chmod -R a+rwx /home RUN chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo # Set user to the one we just created -USER ${USER_ID} +USER $USER_ID:$GROUP_ID -# Set working directory -WORKDIR /opt/code +# Skip package initilization +ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 diff --git a/build/repo.props b/build/repo.props index 9c9564fd8e..9b866315e8 100644 --- a/build/repo.props +++ b/build/repo.props @@ -1,4 +1,6 @@ + + true diff --git a/build/repo.targets b/build/repo.targets index 498ff1fa6f..c4a0dd7bce 100644 --- a/build/repo.targets +++ b/build/repo.targets @@ -3,12 +3,14 @@ - + + $(BuildProperties);BuildToolsTaskAssembly=$(_BuildToolsAssembly) + $(IntermediateDir)dependencies.g.props $(IntermediateDir)sources.g.props $(IntermediateDir)branding.g.props @@ -29,7 +31,7 @@ - MicrosoftNETCoreAppPackageVersion=$(MicrosoftNETCoreAppPackageVersion); + $(BuildProperties);MicrosoftNETCoreAppPackageVersion=$(MicrosoftNETCoreAppPackageVersion); $(DesignTimeBuildProps);MicrosoftNETCoreApp22PackageVersion=$(MicrosoftNETCoreApp22PackageVersion); $(DesignTimeBuildProps);MicrosoftNETCoreApp21PackageVersion=$(MicrosoftNETCoreApp21PackageVersion); $(DesignTimeBuildProps);MicrosoftNETCoreApp20PackageVersion=$(MicrosoftNETCoreApp20PackageVersion); diff --git a/build/tools/docker/ubuntu.14.04/Dockerfile b/build/tools/docker/ubuntu.14.04/Dockerfile deleted file mode 100644 index f039506971..0000000000 --- a/build/tools/docker/ubuntu.14.04/Dockerfile +++ /dev/null @@ -1,52 +0,0 @@ -# -# Copyright (c) .NET Foundation. All rights reserved. -# Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -# - -# Dockerfile that creates a container suitable to build dotnet-cli -FROM ubuntu:14.04 - -# Misc Dependencies for build -RUN apt-get update && \ - apt-get -qqy install \ - curl \ - unzip \ - gettext \ - sudo \ - libunwind8 \ - libkrb5-3 \ - libicu52 \ - liblttng-ust0 \ - libssl1.0.0 \ - zlib1g \ - libuuid1 \ - debhelper \ - build-essential \ - devscripts \ - git \ - cmake \ - clang-3.5 \ - lldb-3.6 \ - wget && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* - -# Use clang as c++ compiler -RUN update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-3.5 100 -RUN update-alternatives --set c++ /usr/bin/clang++-3.5 - -# Setup User to match Host User, and give superuser permissions -ARG USER_ID=0 -RUN useradd -m code_executor -u ${USER_ID} -g sudo -RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers - -# With the User Change, we need to change permissions on these directories -RUN chmod -R a+rwx /usr/local -RUN chmod -R a+rwx /home -RUN chmod -R 755 /usr/lib/sudo - -# Set user to the one we just created -USER ${USER_ID} - -# Set working directory -WORKDIR /opt/code diff --git a/build/tools/packaging/debian_config.json.in b/build/tools/packaging/debian_config.json.in deleted file mode 100644 index d7449760c4..0000000000 --- a/build/tools/packaging/debian_config.json.in +++ /dev/null @@ -1,34 +0,0 @@ -{ - "maintainer_name": "${MAINTAINER_NAME}", - "maintainer_email": "${MAINTAINER_EMAIL}", - - "package_name": "${PACKAGE_NAME}", - "install_root": "${INSTALL_ROOT}", - - "short_description": "${SHORT_DESCRIPTION}", - "long_description": "${LONG_DESCRIPTION}", - "homepage": "${HOMEPAGE}", - - "release":{ - "package_version":"0.0.0.0", - "package_revision":"${PACKAGE_REVISION}", - "urgency" : "low", - "changelog_message" : "" - }, - - "control": { - "priority":"standard", - "section":"devel", - "architecture":"any" - }, - - "copyright": "Microsoft", - "license": { - "type": "${LICENSE_TYPE}", - "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." - }, - - "debian_dependencies": { - ${DEBIAN_DEPENDENCIES} - } -} \ No newline at end of file diff --git a/dockerbuild.sh b/dockerbuild.sh index ccc55b8852..db6dbbaa15 100755 --- a/dockerbuild.sh +++ b/dockerbuild.sh @@ -87,6 +87,12 @@ if ! __machine_has docker; then exit 1 fi +commit_hash="$(git rev-parse HEAD || true)" + +if [ ! -z "$commit_hash" ]; then + build_args[${#build_args[*]}]="-p:RepositoryCommit=$commit_hash" +fi + dockerfile="$DIR/build/docker/$image.Dockerfile" tagname="aspnetcore-build-$image" diff --git a/eng/targets/RuntimeIdentifiers.props b/eng/targets/RuntimeIdentifiers.props new file mode 100644 index 0000000000..3faa05e4ee --- /dev/null +++ b/eng/targets/RuntimeIdentifiers.props @@ -0,0 +1,25 @@ + + + + + win-x64 + osx-x64 + linux-x64 + + + win-x64 + osx-x64 + linux-x64 + + + + win-x64; + win-x86; + win-arm; + osx-x64; + linux-musl-x64; + linux-x64; + linux-arm + + + diff --git a/src/Installers/Archive.Internal/Archive.Internal.zipproj b/src/Installers/Archive/Archive.Internal.zipproj similarity index 96% rename from src/Installers/Archive.Internal/Archive.Internal.zipproj rename to src/Installers/Archive/Archive.Internal.zipproj index 2501b67be8..68ea9cd4fc 100644 --- a/src/Installers/Archive.Internal/Archive.Internal.zipproj +++ b/src/Installers/Archive/Archive.Internal.zipproj @@ -16,7 +16,7 @@ - + true _ResolvedFxProjects diff --git a/src/Installers/Archive.Redist/Archive.Redist.zipproj b/src/Installers/Archive/Archive.Redist.zipproj similarity index 100% rename from src/Installers/Archive.Redist/Archive.Redist.zipproj rename to src/Installers/Archive/Archive.Redist.zipproj diff --git a/src/Installers/Debian/Runtime.debproj b/src/Installers/Debian/Runtime.debproj new file mode 100644 index 0000000000..4ad600efa7 --- /dev/null +++ b/src/Installers/Debian/Runtime.debproj @@ -0,0 +1,110 @@ + + + + + + + + + + $(RepositoryRoot)obj\Debian\$(MSBuildProjectName)\ + $(BaseIntermediateOutputPath)$(SharedFxRid)\ + + $(IntermediateOutputPath)package_root\ + $(RuntimeInstallerBaseName)-$(SharedFxVersion)-$(SharedFxRid).deb + $(InstallersOutputPath) + $(InstallersOutputPath)$(OutputFileName) + + + + + /usr/share/dotnet + + + + + + $(RuntimeInstallerBaseName)-$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion) + + + $(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).$(AspNetCorePatchVersion) + + $(PackageVersion)~$(BuildNumber) + 1 + + + $(MicrosoftNETCoreAppPackageVersion) + $(DotnetRuntimeDependencyVersion.Substring(0, $(DotnetRuntimeDependencyVersion.IndexOf('-'))))~$(DotnetRuntimeDependencyVersion.Substring($([MSBuild]::Add($(DotnetRuntimeDependencyVersion.IndexOf('-')), 1)))) + + + + + true + _ResolvedFxProjects + + + 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/debian_config.json.in b/src/Installers/Debian/debian_config.json.in new file mode 100644 index 0000000000..26a46c5388 --- /dev/null +++ b/src/Installers/Debian/debian_config.json.in @@ -0,0 +1,36 @@ +{ + "maintainer_name": "${Authors}", + "maintainer_email": "${MaintainerEmail}", + + "package_name": "${PackageId}", + "install_root": "${DebianPackageInstallRoot}", + + "short_description": "${SharedFxProductName}", + "long_description": "${SharedFxDescription}", + "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." + }, + + "debian_dependencies": { + "dotnet-runtime-${AspNetCoreMajorVersion}.${AspNetCoreMinorVersion}": { + "package_version": "${DotnetRuntimeDependencyVersion}" + } + } +} diff --git a/src/Installers/Rpm/Rpm.props b/src/Installers/Rpm/Rpm.props new file mode 100644 index 0000000000..1aab3462e9 --- /dev/null +++ b/src/Installers/Rpm/Rpm.props @@ -0,0 +1,42 @@ + + + + + + + + $(RepositoryRoot)obj\Rpm\$(MSBuildProjectName)\ + $(BaseIntermediateOutputPath)$(SharedFxRid)\ + $([MSBuild]::NormalizeDirectory('$(IntermediateOutputPath)content/')) + $(InstallersOutputPath) + + + + + + $(RuntimeInstallerBaseName)-$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion) + $(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).$(AspNetCorePatchVersion) + + + 1 + 0.1.$(PreReleaseLabel)_$(BuildNumber.Replace('-', '_')) + + + + + true + _ResolvedFxProjects + + + true + _ResolvedFxProjects + + + + + + + + diff --git a/src/Installers/Rpm/Rpm.targets b/src/Installers/Rpm/Rpm.targets new file mode 100644 index 0000000000..ea8470f287 --- /dev/null +++ b/src/Installers/Rpm/Rpm.targets @@ -0,0 +1,78 @@ + + + + + + + + $(RpmPackageInstallRoot)/ + $(InstallersOutputPath)$(OutputFileName) + + + + + + + + + + + + + + + + + + + + $(IntermediatePackageRoot)shared\%(SharedFxAssetFolder.SharedFxName)\$(SharedFxVersion)\ + + + + + + + + DATE=$([System.DateTime]::UtcNow.ToString(ddd MMM dd yyyy)) + $(ChangeLogProps);MAINTAINER_NAME=$(Authors) + $(ChangeLogProps);MAINTAINER_EMAIL=$(MaintainerEmail) + $(ChangeLogProps);PACKAGE_VERSION=$(PackageVersion) + $(ChangeLogProps);PACKAGE_REVISION=$(PackageRevision) + + $(IntermediateOutputPath)changelog + + + + + + + amd64 + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Installers/Rpm/Runtime.Generic.rpmproj b/src/Installers/Rpm/Runtime.Generic.rpmproj new file mode 100644 index 0000000000..b5f22bc09d --- /dev/null +++ b/src/Installers/Rpm/Runtime.Generic.rpmproj @@ -0,0 +1,13 @@ + + + + + + /usr/share/dotnet/ + $(RuntimeInstallerBaseName)-$(SharedFxVersion)-x64.rpm + + + + diff --git a/src/Installers/Rpm/Runtime.Rhel.rpmproj b/src/Installers/Rpm/Runtime.Rhel.rpmproj new file mode 100644 index 0000000000..c4d12d1344 --- /dev/null +++ b/src/Installers/Rpm/Runtime.Rhel.rpmproj @@ -0,0 +1,13 @@ + + + + + + /opt/rh/rh-dotnet20/root/usr/lib64/dotnet/ + $(RuntimeInstallerBaseName)-$(SharedFxVersion)-rh.rhel.7-x64.rpm + + + + diff --git a/build/tools/packaging/changelog.in b/src/Installers/Rpm/changelog.in similarity index 100% rename from build/tools/packaging/changelog.in rename to src/Installers/Rpm/changelog.in diff --git a/version.props b/version.props index 96f9bff706..bddf99d8db 100644 --- a/version.props +++ b/version.props @@ -24,6 +24,8 @@ $(VersionPrefix) $(VersionPrefix)-$(VersionSuffix) + $(PackageVersion) + $(ExperimentalVersionPrefix) $(ExperimentalVersionPrefix)-$(VersionSuffix) From e295d0506e8d8b09f1bbf956e070804332d37197 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Thu, 1 Nov 2018 17:37:03 -0700 Subject: [PATCH 4/7] Ignore GROUP_ID when building the RHEL docker build image --- build/docker/rhel.Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/docker/rhel.Dockerfile b/build/docker/rhel.Dockerfile index 451b4798f3..8a4237ff62 100644 --- a/build/docker/rhel.Dockerfile +++ b/build/docker/rhel.Dockerfile @@ -8,7 +8,7 @@ ARG GROUP_ID WORKDIR /code/build -RUN useradd -m ${USER} --uid ${USER_ID} -g root -G ${GROUP_ID} +RUN useradd -m ${USER} --uid ${USER_ID} -g root RUN echo '${USER} ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers # With the User Change, we need to change permssions on these directories @@ -17,7 +17,7 @@ RUN chmod -R a+rwx /home RUN chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo # Set user to the one we just created -USER $USER_ID:$GROUP_ID +USER $USER_ID # Skip package initilization ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 From 303ee1ff569dba4720d7765cc6e117926ab2ee6c Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Thu, 1 Nov 2018 22:50:58 -0700 Subject: [PATCH 5/7] Fix the filename for the debian installer --- src/Installers/Debian/Runtime.debproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Installers/Debian/Runtime.debproj b/src/Installers/Debian/Runtime.debproj index 4ad600efa7..ed9d8aea51 100644 --- a/src/Installers/Debian/Runtime.debproj +++ b/src/Installers/Debian/Runtime.debproj @@ -13,7 +13,7 @@ $(BaseIntermediateOutputPath)$(SharedFxRid)\ $(IntermediateOutputPath)package_root\ - $(RuntimeInstallerBaseName)-$(SharedFxVersion)-$(SharedFxRid).deb + $(RuntimeInstallerBaseName)-$(SharedFxVersion)-x64.deb $(InstallersOutputPath) $(InstallersOutputPath)$(OutputFileName) From e9749786a8d246a1b1a8e55040d2c2a7b34cb70d Mon Sep 17 00:00:00 2001 From: "ASP.NET CI" Date: Fri, 2 Nov 2018 07:05:36 +0000 Subject: [PATCH 6/7] Updating submodule(s) ServerTests => 04c6c6bab868ca11fc6521d5621b986f5b7352ee SignalR => b006a2c789863fbfdc163cfe1712d6856e3c5c3a [auto-updated: submodules] --- modules/ServerTests | 2 +- modules/SignalR | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/ServerTests b/modules/ServerTests index e24779b357..04c6c6bab8 160000 --- a/modules/ServerTests +++ b/modules/ServerTests @@ -1 +1 @@ -Subproject commit e24779b357248206ed034278a78fcbcacfc03291 +Subproject commit 04c6c6bab868ca11fc6521d5621b986f5b7352ee diff --git a/modules/SignalR b/modules/SignalR index 4496366794..b006a2c789 160000 --- a/modules/SignalR +++ b/modules/SignalR @@ -1 +1 @@ -Subproject commit 4496366794fda2cb35444163a0cb48ec8f931c90 +Subproject commit b006a2c789863fbfdc163cfe1712d6856e3c5c3a From c92536a21ab59f80872728429f96637a062c26d3 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Fri, 2 Nov 2018 09:48:56 -0700 Subject: [PATCH 7/7] Remove the DependencyInjection submodule --- .gitmodules | 4 - build/artifacts.props | 5 - build/buildorder.props | 1 - build/dependencies.props | 51 ++-- build/external-dependencies.props | 5 + build/sources.props | 1 + build/submodules.props | 1 - modules/DependencyInjection | 1 - modules/SubmoduleGraph.dgml | 394 ------------------------------ 9 files changed, 34 insertions(+), 429 deletions(-) delete mode 160000 modules/DependencyInjection delete mode 100644 modules/SubmoduleGraph.dgml diff --git a/.gitmodules b/.gitmodules index b9aec8459c..aefa39701e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -34,10 +34,6 @@ path = modules/CORS url = https://github.com/aspnet/CORS.git branch = release/2.2 -[submodule "modules/DependencyInjection"] - path = modules/DependencyInjection - url = https://github.com/aspnet/DependencyInjection.git - branch = release/2.2 [submodule "modules/Diagnostics"] path = modules/Diagnostics url = https://github.com/aspnet/Diagnostics.git diff --git a/build/artifacts.props b/build/artifacts.props index f3b205a5cb..9b1e3558d3 100644 --- a/build/artifacts.props +++ b/build/artifacts.props @@ -184,7 +184,6 @@ - @@ -206,9 +205,6 @@ - - - @@ -239,7 +235,6 @@ - diff --git a/build/buildorder.props b/build/buildorder.props index bfc184a375..b21d07e2e8 100644 --- a/build/buildorder.props +++ b/build/buildorder.props @@ -7,7 +7,6 @@ - diff --git a/build/dependencies.props b/build/dependencies.props index e0f5d607bb..1a71d9db87 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -6,29 +6,34 @@ 2.2.0-rtm-27023-02 4.6.0-rtm-27023-03 - 2.2.0-rtm-35542 - 2.2.0-rtm-35542 - 2.2.0-rtm-35542 - 2.2.0-rtm-35542 - 2.2.0-rtm-35542 - 2.2.0-rtm-35542 - 2.2.0-rtm-35542 - 2.2.0-rtm-35542 - 2.2.0-rtm-35542 - 2.2.0-rtm-35542 - 2.2.0-rtm-35542 - 2.2.0-rtm-35542 - 2.2.0-rtm-35542 - 2.2.0-rtm-35542 - 2.2.0-rtm-35542 - 2.2.0-rtm-35542 - 2.2.0-rtm-35542 - 2.2.0-rtm-35542 - 2.2.0-rtm-35542 - 2.2.0-rtm-35542 - 2.2.0-rtm-35542 - 2.2.0-rtm-35542 - 2.2.0-rtm-35542 + 2.2.0-rtm-181102-04 + 2.2.0-rtm-181102-04 + 2.2.0-rtm-181102-04 + 2.2.0-rtm-181102-04 + 2.2.0-rtm-181102-04 + 2.2.0-rtm-181102-04 + 2.2.0-rtm-181102-04 + 2.2.0-rtm-181102-04 + 2.2.0-rtm-181102-04 + 2.2.0-rtm-181102-04 + 2.2.0-rtm-181102-04 + 2.2.0-rtm-181102-04 + 2.2.0-rtm-181102-04 + 2.2.0-rtm-181102-04 + 2.2.0-rtm-181102-04 + 2.2.0-rtm-181102-04 + 2.2.0-rtm-181102-04 + 2.2.0-rtm-181102-04 + 2.2.0-rtm-181102-04 + 2.2.0-rtm-181102-04 + 2.2.0-rtm-181102-04 + 2.2.0-rtm-181102-04 + 2.2.0-rtm-181102-04 + 2.2.0-rtm-181102-04 + 2.2.0-rtm-181102-04 + 2.2.0-rtm-181102-04 + 2.2.0-rtm-181102-04 + 2.2.0-rtm-181102-04 diff --git a/build/external-dependencies.props b/build/external-dependencies.props index 0afff9cdfd..1469795b04 100644 --- a/build/external-dependencies.props +++ b/build/external-dependencies.props @@ -15,15 +15,20 @@ + + + + + diff --git a/build/sources.props b/build/sources.props index 039b4f37fd..8b99dd7c11 100644 --- a/build/sources.props +++ b/build/sources.props @@ -15,6 +15,7 @@ $(RestoreSources); https://dotnet.myget.org/F/dotnet-core/api/v3/index.json; + https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json; https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json; https://dotnet.myget.org/F/aspnetcore-master/api/v3/index.json; https://dotnet.myget.org/F/roslyn/api/v3/index.json; diff --git a/build/submodules.props b/build/submodules.props index c9e2390486..90488d1c61 100644 --- a/build/submodules.props +++ b/build/submodules.props @@ -45,7 +45,6 @@ - diff --git a/modules/DependencyInjection b/modules/DependencyInjection deleted file mode 160000 index 12eef5e86e..0000000000 --- a/modules/DependencyInjection +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 12eef5e86e965b9611221c72c169002e6f3038ee diff --git a/modules/SubmoduleGraph.dgml b/modules/SubmoduleGraph.dgml deleted file mode 100644 index 58a8289412..0000000000 --- a/modules/SubmoduleGraph.dgml +++ /dev/null @@ -1,394 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -