mirror of
https://github.com/Jackett/Jackett
synced 2024-12-31 12:18:37 +00:00
ci/cd: build linux-musl artifacts (#12886)
Documentation - [Alpine Linux](https://github.com/Jackett/Jackett/wiki/Installation-on-Alpine-Linux) - [OpenWrt](https://github.com/Jackett/Jackett/wiki/Installation-on-OpenWrt) Co-authored-by: garfield69 <garfield69@outlook.com> Co-authored-by: garfield69 <garfieldsixtynine@gmail.com> Co-authored-by: Diego Heras <ngosang@hotmail.es>
This commit is contained in:
parent
9c0b620721
commit
0def2f0bf3
7 changed files with 68 additions and 7 deletions
|
@ -744,10 +744,18 @@ Download and extract the latest `Jackett.Binaries.macOS.tar.gz` or `Jackett.Bina
|
|||
Detailed instructions are available at [LinuxServer.io Jackett Docker](https://hub.docker.com/r/linuxserver/jackett/). The Jackett Docker is highly recommended, especially if you are having Mono stability issues or having issues running Mono on your system e.g. QNAP, Synology. Thanks to [LinuxServer.io](https://linuxserver.io)
|
||||
|
||||
|
||||
## Installation on Alpine Linux
|
||||
Detailed instructions are available at [Jackett's Wiki](https://github.com/Jackett/Jackett/wiki/Installation-on-Alpine-Linux).
|
||||
|
||||
|
||||
## Installation on Synology
|
||||
Jackett is available as a [beta package](https://synocommunity.com/package/jackett) from [SynoCommunity](https://synocommunity.com/)
|
||||
|
||||
|
||||
## Installation on OpenWrt
|
||||
Detailed instructions are available at [Jackett's Wiki](https://github.com/Jackett/Jackett/wiki/Installation-on-OpenWrt).
|
||||
|
||||
|
||||
## Running Jackett behind a reverse proxy
|
||||
When running jackett behind a reverse proxy make sure that the original hostname of the request is passed to Jackett. If HTTPS is used also set the X-Forwarded-Proto header to "https". Don't forget to adjust the "Base path override" Jackett option accordingly.
|
||||
|
||||
|
|
|
@ -78,6 +78,27 @@ stages:
|
|||
runtime: linux-arm64
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.LinuxARM64.tar.gz
|
||||
LinuxMuslAMDx64:
|
||||
buildDescription: Linux musl AMD x64
|
||||
imageName: ubuntu-20.04
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-musl-x64
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.LinuxMuslAMDx64.tar.gz
|
||||
LinuxMuslARM32:
|
||||
buildDescription: Linux musl ARM32
|
||||
imageName: ubuntu-20.04
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-musl-arm
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.LinuxMuslARM32.tar.gz
|
||||
LinuxMuslARM64:
|
||||
buildDescription: Linux musl ARM64
|
||||
imageName: ubuntu-20.04
|
||||
framework: $(netCoreFramework)
|
||||
runtime: linux-musl-arm64
|
||||
archiveType: tar
|
||||
artifactName: Jackett.Binaries.LinuxMuslARM64.tar.gz
|
||||
pool:
|
||||
vmImage: $(imageName)
|
||||
displayName: ${{ variables.buildDescription }}
|
||||
|
|
|
@ -161,7 +161,9 @@ namespace Jackett.Common.Services
|
|||
private string GetUpdaterPath(string tempDirectory) =>
|
||||
variant == Variants.JackettVariant.CoreMacOs || variant == Variants.JackettVariant.CoreMacOsArm64 ||
|
||||
variant == Variants.JackettVariant.CoreLinuxAmdx64 || variant == Variants.JackettVariant.CoreLinuxArm32 ||
|
||||
variant == Variants.JackettVariant.CoreLinuxArm64
|
||||
variant == Variants.JackettVariant.CoreLinuxArm64 ||
|
||||
variant == Variants.JackettVariant.CoreLinuxMuslAmdx64 || variant == Variants.JackettVariant.CoreLinuxMuslArm32 ||
|
||||
variant == Variants.JackettVariant.CoreLinuxMuslArm64
|
||||
? Path.Combine(tempDirectory, "Jackett", "JackettUpdater")
|
||||
: Path.Combine(tempDirectory, "Jackett", "JackettUpdater.exe");
|
||||
|
||||
|
@ -265,7 +267,9 @@ namespace Jackett.Common.Services
|
|||
|
||||
if (variant == Variants.JackettVariant.CoreMacOs || variant == Variants.JackettVariant.CoreMacOsArm64
|
||||
|| variant == Variants.JackettVariant.CoreLinuxAmdx64 || variant == Variants.JackettVariant.CoreLinuxArm32
|
||||
|| variant == Variants.JackettVariant.CoreLinuxArm64 || variant == Variants.JackettVariant.Mono)
|
||||
|| variant == Variants.JackettVariant.CoreLinuxArm64 || variant == Variants.JackettVariant.Mono
|
||||
|| variant == Variants.JackettVariant.CoreLinuxMuslAmdx64 || variant == Variants.JackettVariant.CoreLinuxMuslArm32
|
||||
|| variant == Variants.JackettVariant.CoreLinuxMuslArm64)
|
||||
{
|
||||
// When the files get extracted, the execute permission for jackett and JackettUpdater don't get carried across
|
||||
|
||||
|
|
|
@ -15,7 +15,10 @@ namespace Jackett.Common.Utils
|
|||
CoreMacOsArm64,
|
||||
CoreLinuxAmdx64,
|
||||
CoreLinuxArm32,
|
||||
CoreLinuxArm64
|
||||
CoreLinuxArm64,
|
||||
CoreLinuxMuslAmdx64,
|
||||
CoreLinuxMuslArm32,
|
||||
CoreLinuxMuslArm64
|
||||
}
|
||||
|
||||
public JackettVariant GetVariant()
|
||||
|
@ -29,12 +32,21 @@ namespace Jackett.Common.Utils
|
|||
return JackettVariant.CoreMacOs;
|
||||
if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX) && RuntimeInformation.ProcessArchitecture == Architecture.Arm64)
|
||||
return JackettVariant.CoreMacOsArm64;
|
||||
#if ISLINUXMUSL
|
||||
if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) && RuntimeInformation.ProcessArchitecture == Architecture.X64)
|
||||
return JackettVariant.CoreLinuxMuslAmdx64;
|
||||
if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) && RuntimeInformation.ProcessArchitecture == Architecture.Arm)
|
||||
return JackettVariant.CoreLinuxMuslArm32;
|
||||
if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) && RuntimeInformation.ProcessArchitecture == Architecture.Arm64)
|
||||
return JackettVariant.CoreLinuxMuslArm64;
|
||||
#else
|
||||
if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) && RuntimeInformation.ProcessArchitecture == Architecture.X64)
|
||||
return JackettVariant.CoreLinuxAmdx64;
|
||||
if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) && RuntimeInformation.ProcessArchitecture == Architecture.Arm)
|
||||
return JackettVariant.CoreLinuxArm32;
|
||||
if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) && RuntimeInformation.ProcessArchitecture == Architecture.Arm64)
|
||||
return JackettVariant.CoreLinuxArm64;
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -67,6 +79,12 @@ namespace Jackett.Common.Utils
|
|||
return "Jackett.Binaries.LinuxARM32.tar.gz";
|
||||
case JackettVariant.CoreLinuxArm64:
|
||||
return "Jackett.Binaries.LinuxARM64.tar.gz";
|
||||
case JackettVariant.CoreLinuxMuslAmdx64:
|
||||
return "Jackett.Binaries.LinuxMuslAMDx64.tar.gz";
|
||||
case JackettVariant.CoreLinuxMuslArm32:
|
||||
return "Jackett.Binaries.LinuxMuslARM32.tar.gz";
|
||||
case JackettVariant.CoreLinuxMuslArm64:
|
||||
return "Jackett.Binaries.LinuxMuslARM64.tar.gz";
|
||||
default:
|
||||
return "";
|
||||
}
|
||||
|
@ -76,7 +94,9 @@ namespace Jackett.Common.Utils
|
|||
{
|
||||
return (variant == JackettVariant.CoreMacOs || variant == JackettVariant.CoreMacOsArm64
|
||||
|| variant == JackettVariant.CoreLinuxAmdx64 || variant == JackettVariant.CoreLinuxArm32
|
||||
|| variant == JackettVariant.CoreLinuxArm64);
|
||||
|| variant == JackettVariant.CoreLinuxArm64
|
||||
|| variant == JackettVariant.CoreLinuxMuslAmdx64 || variant == JackettVariant.CoreLinuxMuslArm32
|
||||
|| variant == JackettVariant.CoreLinuxMuslArm64);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
<OutputType>Exe</OutputType>
|
||||
<NoWarn></NoWarn>
|
||||
<ServerGarbageCollection>false</ServerGarbageCollection>
|
||||
<DefineConstants Condition="'$(RuntimeIdentifier)' == 'linux-musl-x64' or '$(RuntimeIdentifier)' == 'linux-musl-arm' or '$(RuntimeIdentifier)' == 'linux-musl-arm64'">ISLINUXMUSL</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net6.0|AnyCPU'">
|
||||
|
@ -64,7 +65,9 @@
|
|||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Jackett.Common\Jackett.Common.csproj" />
|
||||
<ProjectReference Include="..\Jackett.Common\Jackett.Common.csproj">
|
||||
<Properties Condition="$(DefineConstants.Contains('ISLINUXMUSL')) == 'true'">DefineConstants=ISLINUXMUSL</Properties>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
<NoWarn />
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
<WarningsAsErrors />
|
||||
<DefineConstants Condition="'$(RuntimeIdentifier)' == 'linux-musl-x64' or '$(RuntimeIdentifier)' == 'linux-musl-arm' or '$(RuntimeIdentifier)' == 'linux-musl-arm64'">ISLINUXMUSL</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Conditionally obtain references for the .NET461 target -->
|
||||
|
@ -18,7 +19,9 @@
|
|||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Jackett.Common\Jackett.Common.csproj" />
|
||||
<ProjectReference Include="..\Jackett.Common\Jackett.Common.csproj">
|
||||
<Properties Condition="$(DefineConstants.Contains('ISLINUXMUSL')) == 'true'">DefineConstants=ISLINUXMUSL</Properties>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -671,7 +671,9 @@ namespace Jackett.Updater
|
|||
|
||||
if (variant == Variants.JackettVariant.CoreMacOs || variant == Variants.JackettVariant.CoreMacOsArm64
|
||||
|| variant == Variants.JackettVariant.CoreLinuxAmdx64 || variant == Variants.JackettVariant.CoreLinuxArm32
|
||||
|| variant == Variants.JackettVariant.CoreLinuxArm64)
|
||||
|| variant == Variants.JackettVariant.CoreLinuxArm64
|
||||
|| variant == Variants.JackettVariant.CoreLinuxMuslAmdx64 || variant == Variants.JackettVariant.CoreLinuxMuslArm32
|
||||
|| variant == Variants.JackettVariant.CoreLinuxMuslArm64)
|
||||
{
|
||||
startInfo.UseShellExecute = false;
|
||||
startInfo.CreateNoWindow = true;
|
||||
|
|
Loading…
Reference in a new issue