diff --git a/build.cake b/build.cake index 89bd81178..eeb23ccba 100644 --- a/build.cake +++ b/build.cake @@ -168,7 +168,7 @@ Task("Package-DotNetCore-macOS") Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Experimental.Jackett.Binaries.macOS.tar.gz"); }); -Task("Package-DotNetCore-LinuxAMD64") +Task("Package-DotNetCore-LinuxAMDx64") .IsDependentOn("Clean") .Does(() => { @@ -185,7 +185,7 @@ Task("Package-DotNetCore-LinuxAMD64") CopyFileToDirectory("./install_service_systemd.sh", buildOutputPath); CopyFileToDirectory("./Upstart.config", buildOutputPath); - Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Experimental.Jackett.Binaries.LinuxAMD64.tar.gz"); + Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Experimental.Jackett.Binaries.LinuxAMDx64.tar.gz"); }); Task("Package-DotNetCore-LinuxARM32") @@ -297,7 +297,7 @@ Task("Windows-Environment") .IsDependentOn("Package-Windows-Full-Framework") .IsDependentOn("Package-Mono-Full-Framework") //.IsDependentOn("Package-DotNetCore-macOS") - //.IsDependentOn("Package-DotNetCore-LinuxAMD64") + //.IsDependentOn("Package-DotNetCore-LinuxAMDx64") //.IsDependentOn("Package-DotNetCore-LinuxARM32") //.IsDependentOn("Package-DotNetCore-LinuxARM64") .IsDependentOn("Appveyor-Push-Artifacts") @@ -309,7 +309,7 @@ Task("Windows-Environment") Task("Linux-Environment") .IsDependentOn("Package-DotNetCore-macOS") - .IsDependentOn("Package-DotNetCore-LinuxAMD64") + .IsDependentOn("Package-DotNetCore-LinuxAMDx64") .IsDependentOn("Package-DotNetCore-LinuxARM32") .IsDependentOn("Package-DotNetCore-LinuxARM64") .IsDependentOn("Appveyor-Push-Artifacts") diff --git a/src/Jackett.Common/Jackett.Common.csproj b/src/Jackett.Common/Jackett.Common.csproj index ae440a0d4..8d4fa3621 100644 --- a/src/Jackett.Common/Jackett.Common.csproj +++ b/src/Jackett.Common/Jackett.Common.csproj @@ -18,6 +18,7 @@ + diff --git a/src/Jackett.Common/Services/UpdateService.cs b/src/Jackett.Common/Services/UpdateService.cs index 6b8f7edd0..958fb37bb 100644 --- a/src/Jackett.Common/Services/UpdateService.cs +++ b/src/Jackett.Common/Services/UpdateService.cs @@ -17,6 +17,8 @@ using Jackett.Common.Models.GitHub; using Jackett.Common.Services.Interfaces; using Jackett.Common.Utils; using Jackett.Common.Utils.Clients; +using Mono.Posix; +using Mono.Unix; using Newtonsoft.Json; using NLog; @@ -185,7 +187,7 @@ namespace Jackett.Common.Services private string GetUpdaterPath(string tempDirectory) { - if (variant == Variants.JackettVariant.CoreMacOs || variant == Variants.JackettVariant.CoreLinuxAmd64 || + if (variant == Variants.JackettVariant.CoreMacOs || variant == Variants.JackettVariant.CoreLinuxAmdx64 || variant == Variants.JackettVariant.CoreLinuxArm32 || variant == Variants.JackettVariant.CoreLinuxArm64) { return Path.Combine(tempDirectory, "Jackett", "JackettUpdater"); @@ -294,6 +296,17 @@ namespace Jackett.Common.Services tarArchive.Close(); gzipStream.Close(); inStream.Close(); + + // When the files get extracted, the execute permission for jackett and JackettUpdater don't get carried across + UnixFileInfo jackettFI = new UnixFileInfo(Path.Combine(tempDir, "/Jackett/jackett")) + { + FileAccessPermissions = FileAccessPermissions.UserReadWriteExecute | FileAccessPermissions.GroupRead | FileAccessPermissions.OtherRead + }; + + UnixFileInfo jackettUpdaterFI = new UnixFileInfo(Path.Combine(tempDir + "/Jackett/JackettUpdater")) + { + FileAccessPermissions = FileAccessPermissions.UserReadWriteExecute | FileAccessPermissions.GroupRead | FileAccessPermissions.OtherRead + }; } return tempDir; diff --git a/src/Jackett.Common/Utils/Variants.cs b/src/Jackett.Common/Utils/Variants.cs index 29c5ed7d9..e5dec1c07 100644 --- a/src/Jackett.Common/Utils/Variants.cs +++ b/src/Jackett.Common/Utils/Variants.cs @@ -14,7 +14,7 @@ namespace Jackett.Common.Utils Mono, CoreWindows, CoreMacOs, - CoreLinuxAmd64, + CoreLinuxAmdx64, CoreLinuxArm32, CoreLinuxArm64 } @@ -37,7 +37,7 @@ namespace Jackett.Common.Utils if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) && RuntimeInformation.ProcessArchitecture == Architecture.X64) { - return JackettVariant.CoreLinuxAmd64; + return JackettVariant.CoreLinuxAmdx64; } if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) && RuntimeInformation.ProcessArchitecture == Architecture.Arm) @@ -88,9 +88,9 @@ namespace Jackett.Common.Utils { return "Jackett.Binaries.macOS.tar.gz"; } - case JackettVariant.CoreLinuxAmd64: + case JackettVariant.CoreLinuxAmdx64: { - return "Jackett.Binaries.LinuxAMD64.tar.gz"; + return "Jackett.Binaries.LinuxAMDx64.tar.gz"; } case JackettVariant.CoreLinuxArm32: { diff --git a/src/Jackett.Updater/Program.cs b/src/Jackett.Updater/Program.cs index 81cd2d42a..9902f4932 100644 --- a/src/Jackett.Updater/Program.cs +++ b/src/Jackett.Updater/Program.cs @@ -389,7 +389,7 @@ namespace Jackett.Updater private string GetJackettConsolePath(string directoryPath) { - if (variant == Variants.JackettVariant.CoreMacOs || variant == Variants.JackettVariant.CoreLinuxAmd64 || + if (variant == Variants.JackettVariant.CoreMacOs || variant == Variants.JackettVariant.CoreLinuxAmdx64 || variant == Variants.JackettVariant.CoreLinuxArm32 || variant == Variants.JackettVariant.CoreLinuxArm64) { return Path.Combine(directoryPath, "jackett");