From 1de454de17907e6647af6379a23dad7d75eff1c5 Mon Sep 17 00:00:00 2001 From: ta264 Date: Mon, 16 May 2022 21:21:48 +0100 Subject: [PATCH] New: Support older ARMv7 CPUs Eg armada370 ad armadaxp --- azure-pipelines.yml | 10 +++++++++- build.sh | 11 ++++++----- src/Directory.Build.props | 5 +++++ src/NzbDrone.Core/Update/UpdatePackageProvider.cs | 8 +++++++- src/NzbDrone.Host/Radarr.Host.csproj | 1 + src/NzbDrone.Mono.Test/Radarr.Mono.Test.csproj | 2 +- src/NzbDrone.Mono/Radarr.Mono.csproj | 2 +- 7 files changed, 30 insertions(+), 9 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index eb254859b..924280447 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -101,7 +101,7 @@ stages: echo "Extra platforms already enabled" else echo "Enabling extra platform support" - sed -i.ORI 's/osx-x64/osx-x64;freebsd-x64;linux-x86/' $BUNDLEDVERSIONS + sed -i.ORI 's/osx-x64/osx-x64;freebsd-x64;linux-x86;linux-arm-vfpv3d16/' $BUNDLEDVERSIONS fi displayName: Enable Extra Platform Support - bash: ./build.sh --backend --enable-extra-platforms @@ -326,6 +326,14 @@ stages: tarCompression: 'gz' includeRootFolder: false rootFolderOrFile: $(artifactsFolder)/linux-arm/net6.0 + - task: ArchiveFiles@2 + displayName: Create linux-arm-vfpv3d16 tar + inputs: + archiveFile: '$(Build.ArtifactStagingDirectory)/Radarr.$(buildName).linux-core-arm-vfpv3d16.tar.gz' + archiveType: 'tar' + tarCompression: 'gz' + includeRootFolder: false + rootFolderOrFile: $(artifactsFolder)/linux-arm-vfpv3d16/net6.0 - task: ArchiveFiles@2 displayName: Create linux-musl-arm tar inputs: diff --git a/build.sh b/build.sh index 1a375b6ca..467917d77 100755 --- a/build.sh +++ b/build.sh @@ -27,20 +27,20 @@ UpdateVersionNumber() EnableExtraPlatformsInSDK() { - SDK_PATH=$(dotnet --list-sdks | grep -P '6\.\d\.\d+' | head -1 | sed 's/\(6\.[0-9]*\.[0-9]*\).*\[\(.*\)\]/\2\/\1/g') + SDK_PATH=$(dotnet --list-sdks | grep -P '6\.\d\.\d+' | tail -1 | sed 's/\(6\.[0-9]*\.[0-9]*\).*\[\(.*\)\]/\2\/\1/g') BUNDLEDVERSIONS="${SDK_PATH}/Microsoft.NETCoreSdk.BundledVersions.props" - if grep -q freebsd-x64 $BUNDLEDVERSIONS; then + if grep -q freebsd-x64 "${BUNDLEDVERSIONS}"; then echo "Extra platforms already enabled" else echo "Enabling extra platform support" - sed -i.ORI 's/osx-x64/osx-x64;freebsd-x64;linux-x86/' $BUNDLEDVERSIONS + sed -i.ORI 's/osx-x64/osx-x64;freebsd-x64;linux-x86;linux-arm-vfpv3d16/' "${BUNDLEDVERSIONS}" fi } EnableExtraPlatforms() { - if grep -qv freebsd-x64 src/Directory.Build.props; then - sed -i'' -e "s^\(.*\)^\1;freebsd-x64;linux-x86^g" src/Directory.Build.props + if ! grep -q freebsd-x64 src/Directory.Build.props; then + sed -i'' -e "s^\(.*\)^\1;freebsd-x64;linux-x86;linux-arm-vfpv3d16^g" src/Directory.Build.props fi } @@ -428,6 +428,7 @@ then then Package "net6.0" "freebsd-x64" Package "net6.0" "linux-x86" + Package "net6.0" "linux-arm-vfpv3d16" fi else Package "$FRAMEWORK" "$RID" diff --git a/src/Directory.Build.props b/src/Directory.Build.props index ffca0cf34..d807d0a7b 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -154,4 +154,9 @@ osx-x64 + + + ARM_VFPV3D16 + + diff --git a/src/NzbDrone.Core/Update/UpdatePackageProvider.cs b/src/NzbDrone.Core/Update/UpdatePackageProvider.cs index 40f91fbfb..40e09f2ab 100644 --- a/src/NzbDrone.Core/Update/UpdatePackageProvider.cs +++ b/src/NzbDrone.Core/Update/UpdatePackageProvider.cs @@ -34,11 +34,17 @@ namespace NzbDrone.Core.Update public UpdatePackage GetLatestUpdate(string branch, Version currentVersion) { +#if ARM_VFPV3D16 + var arch = "arm-vfpv3d16"; +#else + var arch = RuntimeInformation.OSArchitecture.ToString(); +#endif + var request = _requestBuilder.Create() .Resource("/update/{branch}") .AddQueryParam("version", currentVersion) .AddQueryParam("os", OsInfo.Os.ToString().ToLowerInvariant()) - .AddQueryParam("arch", RuntimeInformation.OSArchitecture) + .AddQueryParam("arch", arch) .AddQueryParam("runtime", PlatformInfo.Platform.ToString().ToLowerInvariant()) .AddQueryParam("runtimeVer", _platformInfo.Version) .AddQueryParam("dbType", _mainDatabase.DatabaseType) diff --git a/src/NzbDrone.Host/Radarr.Host.csproj b/src/NzbDrone.Host/Radarr.Host.csproj index 421407265..814ed2549 100644 --- a/src/NzbDrone.Host/Radarr.Host.csproj +++ b/src/NzbDrone.Host/Radarr.Host.csproj @@ -9,6 +9,7 @@ + diff --git a/src/NzbDrone.Mono.Test/Radarr.Mono.Test.csproj b/src/NzbDrone.Mono.Test/Radarr.Mono.Test.csproj index 62a56b369..a740c894a 100644 --- a/src/NzbDrone.Mono.Test/Radarr.Mono.Test.csproj +++ b/src/NzbDrone.Mono.Test/Radarr.Mono.Test.csproj @@ -7,7 +7,7 @@ See https://github.com/xamarin/XamarinComponents/issues/282 --> - + diff --git a/src/NzbDrone.Mono/Radarr.Mono.csproj b/src/NzbDrone.Mono/Radarr.Mono.csproj index 6aeb7b8b2..bddf1991d 100644 --- a/src/NzbDrone.Mono/Radarr.Mono.csproj +++ b/src/NzbDrone.Mono/Radarr.Mono.csproj @@ -7,7 +7,7 @@ See https://github.com/xamarin/XamarinComponents/issues/282 --> - +