Skip to content

testing/dotnet5: new aport

Antoine Martin requested to merge ayakael/aports:testing/dotnet-5.0 into master

New aport for dotnet5 and dotnet5-stage (to build dotnet5) from source using (at first) Microsoft bootstraps, with capacity to then build using Alpine bootstraps. Successful build on x86_64 platform, further notes copied from README.md:

Parallel thread on Microsoft's side here

Accompanies merge requests: dotnet6, dotnet31, and continuation of closed merge request for dotnet5/31

dotnet5-stage0:

# Description
APKBUILD for dotnet5-stage0, prebuilt bits sourced from Microsoft

# Generated packages
* dotnet5-stage0-bootstrap
* dotnet5-stage0-artifacts 

# How to build dotnet5 stack
* Build testing/dotnet5-stage0 (provides prebuilt bits for first bootstrap bld)
* Build testing/dotnet5-bootstrap (provides "tainted" SDK for first build)
* Build testing/dotnet5-build ("untainted" build of dotnet)
* Build testing/dotnet5-runtime (packages runtime bits from dotnet5-build)
* Build testing/dotnet5-sdk (packages sdk bits from dotnet5-build)

# Special functions
* abuild _update_source: Stage0 adapts prebuilt artifacts packages by replacing
linux-x64 nupkgs with linux-musl-x64 versions. Any updates to artifacts will
require executing this function to update source with up to date nuget packages

dotnet5-bootstrap:

# Description
APKBUILD for dotnet5-bootstrap, acting as intermediary between stage0 and 
untainted dotnet build. This is a workaround for buildrepo, allowing automatic
build of dotnet after stage0, insuring that end-user doesn't have any binaries
"tainted" by Microsoft prebuilt binaries

# Generated packages
* dotnet5-bootstrap (used by dotnet5-build for first untainted dotnet build)
* dotnet5-bootstrap-artifacts (provides nupkgs for dotnet5-build)

# Special functions
To update, execute 'abuild _update_bootstrap

dotnet5-build:

# Description
APKBUILD for dotnet5-build. This is sourced by dotnet5-runtime and dotnet5-sdk,
which handles the actual packaging due to this aport building products with
varying versions

# Generated packages
* dotnet5-build (aimed for internal use)
 
# How to build dotnet5 stack
* Build testing/dotnet5-stage0 (provides prebuilt bits for first bootstrap bld)
* Build testing/dotnet5-bootstrap (provides "tainted" SDK for first build)
* Build testing/dotnet5-build ("untainted" build of dotnet)
* Build testing/dotnet5-runtime (packages runtime bits from dotnet5-build)
* Build testing/dotnet5-sdk (packages sdk bits from dotnet5-build)

# Special functions
* abuild _update_bootstrap: Updates dotnet5-bootstrap to current version

dotnet5-runtime:

# Description
APKBUILD for dotnet5-runtime. Note that this doesn't actually build anything.
It depends on dotnet5-build, which handles the actual dotnet build process
This is a workaround to abuild / lua-aports not supporting custom pkgver
for subpackages. While there are pending MRs for this feature, the feature
is yet to be introduced. See abuild!137 and lua-aports!4

# Generated packages
* aspnetcore5-runtime
* aspnetcore5-targeting-pack
* dotnet5-apphost-pack (used by dotnet5-runtime)
* dotnet5-host (provides dotnet-host)
* dotnet5-host-zsh-completion (provides dotnet-host-zsh-completion)
* dotnet5-host-bash-completion (provides dotnet-host-bash-completion)
* dotnet5-host-doc (docs for dotnet5)
* dotnet5-hostfxr (provides fxr for host)
* dotnet5-runtime
* dotnet5-targeting-pack
 
# How to build dotnet5 stack
* Build testing/dotnet5-stage0 (provides prebuilt bits for first bootstrap bld)
* Build testing/dotnet5-bootstrap (provides "tainted" SDK for first build)
* Build testing/dotnet5-build ("untainted" build of dotnet)
* Build testing/dotnet5-runtime (packages runtime bits from dotnet5-build)
* Build testing/dotnet5-sdk (packages sdk bits from dotnet5-build)

dotnet5-sdk

# Description
APKBUILD for dotnet5-sdk. Note that this doesn't actually build anything.
It depends on dotnet5-build, which handles the actual dotnet build process
This is a workaround to abuild / lua-aports not supporting custom pkgver
for subpackages. While there are pending MRs for this feature, the feature
is yet to be introduced. See abuild!137 and lua-aports!4

# Generated packages
* dotnet5 (virtual package that pulls dotnet5-sdk, thus all dotnet products)
* dotnet5-sdk
* dotnet5-templates (required by sdk)
* netstandard5-targeting-pack (provides netstandard21-targeting-pack)
 
# How to build dotnet5 stack
* Build testing/dotnet5-stage0 (provides prebuilt bits for first bootstrap bld)
* Build testing/dotnet5-bootstrap (provides "tainted" SDK for first build)
* Build testing/dotnet5-build ("untainted" build of dotnet)
* Build testing/dotnet5-runtime (packages runtime bits from dotnet5-build)
* Build testing/dotnet5-sdk (packages sdk bits from dotnet5-build)
Edited by Antoine Martin

Merge request reports