aports/testing/dotnet6-runtime/APKBUILD
Antoine Martin 47d3859f61 testing/dotnet6-runtime: set sonameprefix variable
Fixes #16629

!74134 introduced recursive soname scanning, which broke the ability to
install multiple dotnet major versions at once, as `apk` would think
that they provided the same shared objects. By setting `sonameprefix`,
we inform `apk` that different major versions provide different versions
of those shared objects, fixing the issue.
2024-11-25 03:38:20 +00:00

195 lines
5.3 KiB
Text

# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
pkgname=dotnet6-runtime
pkgver=6.0.36
_bldver=6.0.136-r1
pkgrel=1
_pkgver_macro=${pkgver%.*}
_pkgver_name=${_pkgver_macro//[.0]}
_bldver_ver=${_bldver%%-*}
pkgdesc="The .NET $_pkgver_macro Core runtime"
arch="x86_64 aarch64 armv7"
url="https://dotnet.microsoft.com/"
license="MIT"
install="$pkgname.post-upgrade $pkgname.post-install"
depends="
dotnet$_pkgver_name-hostfxr
icu-data-full
icu-libs
"
makedepends="dotnet$_pkgver_name-build=$_bldver"
subpackages="
aspnetcore$_pkgver_name-runtime:aspnetcore_runtime:noarch
aspnetcore$_pkgver_name-targeting-pack:aspnetcore_targeting_pack:noarch
dotnet$_pkgver_name-apphost-pack:apphost_pack
dotnet$_pkgver_name-hostfxr
dotnet$_pkgver_name-targeting-pack:targeting_pack:noarch
dotnet-host:host
"
provides="dotnet$_pkgver_name=$pkgver-r$pkgrel"
# check: no test suite
# ldpath-recursive: helps find shared objects
options="!check ldpath-recursive"
# makes sure different major versions don't conflict
sonameprefix="dotnet$_pkgver_name:"
source="dotnet.sh.in"
builddir="$srcdir"
# secfixes:
# 6.0.6-r0:
# - CVE-2022-30184
# 6.0.8-r0:
# - CVE-2022-34716
# 6.0.9-r0:
# - CVE-2022-38013
# 6.0.10-r0:
# - CVE-2022-41032
# 6.0.12-r0:
# - CVE-2022-41089
# 6.0.13-r0:
# - CVE-2023-21538
# 6.0.14-r0:
# - CVE-2023-21808
# 6.0.16-r0:
# - CVE-2023-28260
# 6.0.18-r0:
# - CVE-2023-24895
# - CVE-2023-24897
# - CVE-2023-24936
# - CVE-2023-29331
# - CVE-2023-29337
# - CVE-2023-33126
# - CVE-2023-33128
# - CVE-2023-33135
# 6.0.20-r0:
# - CVE-2023-33127
# - CVE-2023-33170
# 6.0.21-r0:
# - CVE-2023-35390
# - CVE-2023-38180
# - CVE-2023-35391
# 6.0.22-r0:
# - CVE-2023-36792
# - CVE-2023-36793
# - CVE-2023-36794
# - CVE-2023-36796
# - CVE-2023-36799
# 6.0.23-r0:
# - CVE-2023-44487
# 6.0.24-r0:
# - CVE-2023-36792
# - CVE-2023-36793
# - CVE-2023-36794
# - CVE-2023-36796
# - CVE-2023-36799
# - CVE-2023-44487
# 6.0.25-r0:
# - CVE-2023-36049
# - CVE-2023-36558
# 6.0.26-r0:
# - CVE-2024-0056
# - CVE-2024-0057
# - CVE-2024-21319
# 6.0.27-r0:
# - CVE-2024-21386
# - CVE-2024-21404
# 6.0.29-r0:
# - CVE-2024-21409
# 6.0.31-r0:
# - CVE-2024-20672
# 6.0.32-r0:
# - CVE-2024-38095
# - CVE-2024-38081
# 6.0.35-r0:
# - CVE-2024-43483
# - CVE-2024-43484
# - CVE-2024-43485
_libdir="/usr/lib"
case $CARCH in
x86_64) _dotnet_arch="x64";;
aarch64) _dotnet_arch="arm64";;
armv7) _dotnet_arch="arm";;
armhf) _dotnet_arch="armv6";;
*) _dotnet_arch="$CARCH";;
esac
build() {
sed "s|%LIBDIR%|$_libdir/dotnet|" "$srcdir"/dotnet.sh.in > "$srcdir"/dotnet.sh
}
package() {
install -dm 755 "$pkgdir"/$_libdir/dotnet/shared
cp -r $_libdir/dotnet/bootstrap/$_bldver_ver/shared/Microsoft.NETCore.App "$pkgdir"/$_libdir/dotnet/shared/.
}
host() {
pkgdesc="A generic driver for the .NET Core Command Line Interface"
depends=""
install -dm 755 \
"$subpkgdir"/etc/profile.d \
"$subpkgdir"/etc/dotnet \
"$subpkgdir"/usr/bin \
"$subpkgdir"/$_libdir/dotnet
cp -r $_libdir/dotnet/bootstrap/$_bldver_ver/dotnet "$subpkgdir"/$_libdir/dotnet/.
ln -s $_libdir/dotnet/dotnet "$subpkgdir"/usr/bin/dotnet
echo "$_libdir/dotnet" > "$subpkgdir"/etc/dotnet/install_location
echo "$_libdir/dotnet" > "$subpkgdir"/etc/dotnet/install_location_$_dotnet_arch
install -Dm 644 "$srcdir"/dotnet.sh -t "$subpkgdir"/etc/profile.d/
}
hostfxr() {
pkgdesc="The .NET host resolver contains the logic to resolve and select the right version of the .NET SDK or runtime to use."
depends="dotnet-host"
provides="dotnet-hostfxr-$_pkgver_macro=$pkgver-r$pkgrel"
install -dm 755 "$subpkgdir"/$_libdir/dotnet
cp -r $_libdir/dotnet/bootstrap/$_bldver_ver/host "$subpkgdir"/$_libdir/dotnet/.
}
aspnetcore_runtime() {
pkgdesc="The ASP.NET $_pkgver_macro Core runtime"
depends="dotnet$_pkgver_name-runtime"
provides="aspnetcore-runtime-$_pkgver_macro=$pkgver-r$pkgrel"
install -dm 755 "$subpkgdir"/$_libdir/dotnet/shared
cp -r $_libdir/dotnet/bootstrap/$_bldver_ver/shared/Microsoft.AspNetCore.App "$subpkgdir"/$_libdir/dotnet/shared/.
}
apphost_pack() {
pkgdesc="The .NET $_pkgver_macro Core apphost pack"
provides="dotnet-apphost-pack-$_pkgver_macro=$pkgver-r$pkgrel"
install -dm 755 "$subpkgdir"/$_libdir/dotnet/packs
cp -r $_libdir/dotnet/bootstrap/$_bldver_ver/packs/Microsoft.NETCore.App.Host.* "$subpkgdir"/$_libdir/dotnet/packs/.
}
targeting_pack() {
pkgdesc="The .NET $_pkgver_macro Core targeting pack"
provides="dotnet-targeting-pack-$_pkgver_macro=$pkgver-r$pkgrel"
install -dm 755 "$subpkgdir"/$_libdir/dotnet/packs
cp -r $_libdir/dotnet/bootstrap/$_bldver_ver/packs/Microsoft.NETCore.App.Ref "$subpkgdir"/$_libdir/dotnet/packs/.
}
aspnetcore_targeting_pack() {
pkgdesc="The ASP.NET $_pkgver_macro Core targeting pack"
provides="aspnetcore-targeting-pack-$_pkgver_macro=$pkgver-r$pkgrel"
install -dm 755 "$subpkgdir"/$_libdir/dotnet/packs
cp -r $_libdir/dotnet/bootstrap/$_bldver_ver/packs/Microsoft.AspNetCore.App.Ref "$subpkgdir"/$_libdir/dotnet/packs/.
}
sha512sums="
c3f31956976b77198e72a3fef3427338b6b2961f8c121416040c1105de0ce8073e46f4c2e9ef22a001aee69cbe39621c2ddac988522693110071dfae42f2e2b7 dotnet.sh.in
"