Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create Linux installers for the aspnetcore targeting pack #7776

Merged
merged 12 commits into from
Feb 25, 2019

Conversation

natemcmaster
Copy link
Contributor

@natemcmaster natemcmaster commented Feb 21, 2019

Resolves #6501

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 (cc @Eilon)
  • Add shared properties for building the targeting pack (or not building it in a servicing build)

cc @dagood @nguerrera @dsplaisted

@natemcmaster natemcmaster changed the base branch from master to release/3.0-preview3 February 21, 2019 03:08
@natemcmaster
Copy link
Contributor Author

@Eilon - are we in 'ask mode' for preview3? I've retargeted this PR to release/3.0-preview3 b/c I believe this is required to complete the SDK's RPM/DEB story for Preview 3

@dagood
Copy link
Member

dagood commented Feb 21, 2019

I believe this is required to complete the SDK's RPM/DEB story for Preview 3

We don't have Linux or MacOS installers for the .NET Core targeting pack for preview 3, and it's not in progress yet for 4. I have been working with the understanding that there isn't anything blocked on these until 3.1 comes along--similar to the targeting pack bundle Windows installers (nice EXE installers wrapping the MSIs).

(Edit: That's not to say we shouldn't do it early to get it proven out and tested, I'm just not aware of a hard dependency.)

@nguerrera @dsplaisted can you help clear this up?

@dsplaisted
Copy link
Member

@dagood @natemcmaster No need to rush to get these installers for Preview 3 at this point. We do need them for 3.0, and would like them for preview 4.

The reason we need these is that the SDK package needs to depend on them, which is analogous to bundling the MSIs in the Windows installer.

@natemcmaster natemcmaster changed the base branch from release/3.0-preview3 to master February 21, 2019 15:40
@natemcmaster
Copy link
Contributor Author

Ok, thanks for clarification. I've retargeted this PR to master (preview4) since we missed the cutoff for P3.

@Eilon Eilon added the feature-platform Deprecated: Cross-cutting issues related to ASP.NET Core as a platform label Feb 21, 2019
Copy link
Member

@dougbu dougbu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Many of the renamed files are losing their exec bit. I doubt that was intentional. If I'm correct, please do the git update-index --chmod=-x {path} fun.

Otherwise looks good. I didn't delve into all of the Debian or RPM-specific updates, assuming they came from somewhere else e.g. recommendations. If there's something in there that needs detailed review, please let me know.

@@ -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) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea. Fortunately, the command only writes to stdout when process lacks admin rights.

@pakrym pakrym mentioned this pull request Feb 22, 2019
@natemcmaster
Copy link
Contributor Author

Many of the renamed files are losing their exec bit.

Intentional for some of the files, like the plaintext ones. I've restored +x permissions on .py and .bats files.

Changes to existing rpm/deb code was done to share common targets/props between multiple .deb and .rpm projects. They mostly build the same way -- take a folder of stuff and put it in a package, but with slightly different names and dependencies.

Still investigating why build fails on CI but passes locally. Added more binlog output so I can investigate

@natemcmaster
Copy link
Contributor Author

🆙 📅 figure out the problem was that AspNeCore.App.Ref.csproj was not getting built. IsPackable was set to 'false' due to new conventions about ref/ folders (cc @pakrym ) CI builds are looking good now.


<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.props))\Directory.Build.props" />

<UsingTask Condition=" '$(BuildToolsTaskAssembly)' != '' AND Exists('$(BuildToolsTaskAssembly)') " TaskName="Microsoft.AspNetCore.BuildTools.GenerateFileFromTemplate" AssemblyFile="$(BuildToolsTaskAssembly)" />
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why isn't this defined in some common location?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only the Linux installer projects use these tasks directly.

<DebBuildDependsOn>$(DebBuildDependsOn);LayoutSharedFramework</DebBuildDependsOn>
</PropertyGroup>

<Target Name="LayoutSharedFramework" DependsOnTargets="PrepareForBuild;ResolveProjectReferences">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is completely duplicated in between both installer projects. Worth to move to common targets?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Figured it wasn't worth de-duplicating because it will be deleted in #7832 anyways.

@natemcmaster natemcmaster merged commit d2d6000 into master Feb 25, 2019
@natemcmaster natemcmaster deleted the namc/linux-targeting-pack branch February 28, 2019 22:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-platform Deprecated: Cross-cutting issues related to ASP.NET Core as a platform
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants