mirror of
https://github.com/velopack/velopack.git
synced 2025-10-25 15:19:22 +00:00
On mac, move MacOS/sq.version to Resources/sq.version and symlink it. Workaround for code signature not being preserved after updates.
This commit is contained in:
@@ -46,7 +46,6 @@ public class OsxPackCommandRunner : PackageBuilder<OsxPackOptions>
|
|||||||
|
|
||||||
var structure = new OsxStructureBuilder(dir.FullName);
|
var structure = new OsxStructureBuilder(dir.FullName);
|
||||||
var macosdir = structure.MacosDirectory;
|
var macosdir = structure.MacosDirectory;
|
||||||
File.WriteAllText(Path.Combine(macosdir, "sq.version"), GenerateNuspecContent());
|
|
||||||
File.Copy(HelperFile.GetUpdatePath(Options.TargetRuntime, Log), Path.Combine(macosdir, "UpdateMac"), true);
|
File.Copy(HelperFile.GetUpdatePath(Options.TargetRuntime, Log), Path.Combine(macosdir, "UpdateMac"), true);
|
||||||
|
|
||||||
foreach (var f in Directory.GetFiles(macosdir, "*", SearchOption.AllDirectories)) {
|
foreach (var f in Directory.GetFiles(macosdir, "*", SearchOption.AllDirectories)) {
|
||||||
@@ -56,6 +55,12 @@ public class OsxPackCommandRunner : PackageBuilder<OsxPackOptions>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Files in the MacOS directory need to be signed, but text files are signed via xattrs, which we don't yet preserve
|
||||||
|
// in nupkg releases. Instead we can put it in the Resources dir and symlink to it. Symlinks don't need to be signed.
|
||||||
|
var resourcesdir = structure.ResourcesDirectory;
|
||||||
|
File.WriteAllText(Path.Combine(resourcesdir, "sq.version"), GenerateNuspecContent());
|
||||||
|
SymbolicLink.Create(Path.Combine(macosdir, "sq.version"), Path.Combine(resourcesdir, "sq.version"), false, true);
|
||||||
|
|
||||||
progress(100);
|
progress(100);
|
||||||
return Task.FromResult(dir.FullName);
|
return Task.FromResult(dir.FullName);
|
||||||
}
|
}
|
||||||
@@ -96,9 +101,6 @@ public class OsxPackCommandRunner : PackageBuilder<OsxPackOptions>
|
|||||||
var structure = new OsxStructureBuilder(packDir);
|
var structure = new OsxStructureBuilder(packDir);
|
||||||
var updateMacPath = Path.Combine(structure.MacosDirectory, "UpdateMac");
|
var updateMacPath = Path.Combine(structure.MacosDirectory, "UpdateMac");
|
||||||
helper.CodeSign(Options.SignAppIdentity, entitlements, updateMacPath, false, keychainPath);
|
helper.CodeSign(Options.SignAppIdentity, entitlements, updateMacPath, false, keychainPath);
|
||||||
signProgress(25);
|
|
||||||
var versionPath = Path.Combine(structure.MacosDirectory, "sq.version");
|
|
||||||
helper.CodeSign(Options.SignAppIdentity, entitlements, versionPath, false, keychainPath);
|
|
||||||
signProgress(50);
|
signProgress(50);
|
||||||
|
|
||||||
Log.Info("Code signing application bundle...");
|
Log.Info("Code signing application bundle...");
|
||||||
|
|||||||
Reference in New Issue
Block a user