motion-sparkle-sandbox 0.8.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/LICENSE +1 -0
- data/README.md +2 -2
- data/lib/motion-sparkle-sandbox.rb +1 -0
- data/lib/motion/project/project.rb +1 -1
- data/motion-sparkle-sandbox.gemspec +1 -1
- data/vendor/README.md +14 -4
- data/vendor/Sparkle.zip +0 -0
- data/vendor/{codesign_xpc → codesign_embedded_executable} +6 -6
- data/vendor/generate_appcast +0 -0
- metadata +4 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eb36aa00aa6bcfa0a003626e4df82fec0d15b6ffe9887301b65b68f2cdf6e2f8
|
4
|
+
data.tar.gz: 9848c1800e37dc90399cb8b424d079719b9c9e1751d13a7f8d6fcc2679291a0c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b7640ff4fa3545cb12f75bfd8a3a24b69ee6c659e71e6a9f4ee405f1cd8349f0afd9a8ac4ad51180969226232c59fb61a1cff3084572a7f084997de578c84416
|
7
|
+
data.tar.gz: 536419939c150e497532e54eeb5c3328cfd3001ff4b4491d6c31e8b3557f4a0c05a35e7068aa40a87318b7750788e39eee73ecccc5f1a5d368c770a69d25ba8e
|
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -6,9 +6,9 @@ Easily package and release updates of your RubyMotion app with Sparkle.
|
|
6
6
|
|
7
7
|
## Sandboxing
|
8
8
|
|
9
|
-
This version uses the [
|
9
|
+
This version uses the [2.x branch](https://github.com/sparkle-project/Sparkle/tree/2.x) to support an app that uses sandboxing. Sparkle 2.x is still in beta.
|
10
10
|
|
11
|
-
_Sparkle built from
|
11
|
+
_Sparkle built from https://github.com/sparkle-project/Sparkle/commit/438f4a21d5b52596b899d9931525c02a691b2287 on Aug 28th, 2020_
|
12
12
|
|
13
13
|
[Reference thread](https://github.com/sparkle-project/Sparkle/issues/363)
|
14
14
|
|
@@ -53,7 +53,7 @@ module Motion::Project
|
|
53
53
|
|
54
54
|
Dir.glob("#{xpc_path}/*.xpc").each do |path|
|
55
55
|
App.info 'Codesign', path
|
56
|
-
results = `#{App.config.sparkle.sparkle_vendor_path}/
|
56
|
+
results = `#{App.config.sparkle.sparkle_vendor_path}/codesign_embedded_executable "#{App.config.codesign_certificate}" "#{File.expand_path(path)}" 2>&1`
|
57
57
|
end
|
58
58
|
end
|
59
59
|
end
|
@@ -8,7 +8,7 @@ $:.unshift File.expand_path('../lib', __FILE__)
|
|
8
8
|
|
9
9
|
Gem::Specification.new do |spec|
|
10
10
|
spec.name = 'motion-sparkle-sandbox'
|
11
|
-
spec.version = '0.
|
11
|
+
spec.version = '2.0.0'
|
12
12
|
spec.date = Date.today
|
13
13
|
spec.summary = 'Sparkle (sandboxed) integration for Rubymotion projects'
|
14
14
|
spec.description = "motion-sparkle-sandbox makes it easy to use the sandboxed version of Sparkle in your RubyMotion OS X apps"
|
data/vendor/README.md
CHANGED
@@ -1,12 +1,22 @@
|
|
1
1
|
## Building the Sparkle.zip
|
2
2
|
|
3
|
+
The `vendor` directory should contain
|
4
|
+
|
5
|
+
```
|
6
|
+
vendor
|
7
|
+
codesign_embedded_executable
|
8
|
+
generate_appcast
|
9
|
+
README.md
|
10
|
+
Sparkle.zip
|
11
|
+
```
|
12
|
+
|
3
13
|
The structure of `Sparkle.zip` is:
|
4
14
|
|
5
15
|
```
|
6
16
|
Sparkle
|
7
|
-
codesign_xpc
|
8
17
|
Sparkle.framework
|
9
18
|
XPCServices
|
19
|
+
org.sparkle-project.Downloader.xpc (not usually needed)
|
10
20
|
org.sparkle-project.InstallerConnection.xpc
|
11
21
|
org.sparkle-project.InstallerLauncher.xpc
|
12
22
|
org.sparkle-project.InstallerStatus.xpc
|
@@ -14,10 +24,10 @@ Sparkle
|
|
14
24
|
|
15
25
|
In order to get xpc services to be signed and work properly, they need to be copied into an `XPCServices` folder in `MyApp.app/Contents`
|
16
26
|
|
17
|
-
The `
|
27
|
+
The `codesign_embedded_executable` can properly sign these files once they have been copied into place.
|
18
28
|
|
19
|
-
1. Fetch the `
|
20
|
-
2. Copy the `bin/
|
29
|
+
1. Fetch the `2.x` branch
|
30
|
+
2. Copy the `bin/codesign_embedded_executable` into the `vendor` folder
|
21
31
|
3. Run `make release` and change to the output folder
|
22
32
|
4. Copy the `Sparkle.framework` into the `Sparkle` folder
|
23
33
|
5. Copy each of the above xpc files into the `XPCServices` folder
|
data/vendor/Sparkle.zip
CHANGED
Binary file
|
@@ -10,7 +10,7 @@ def sanitize(argument):
|
|
10
10
|
return ('"' + argument + '"' if ' ' in argument else argument)
|
11
11
|
|
12
12
|
def _codesign_service(identity, path, entitlements_path=None):
|
13
|
-
command = ["codesign", "-fs", identity, path] + ([] if entitlements_path is None else ["--entitlements", entitlements_path])
|
13
|
+
command = ["codesign", "-o", "runtime", "-fs", identity, path] + ([] if entitlements_path is None else ["--entitlements", entitlements_path])
|
14
14
|
log_message(" ".join(map(sanitize, command)))
|
15
15
|
|
16
16
|
process = subprocess.Popen(command, stdout=subprocess.PIPE)
|
@@ -32,15 +32,15 @@ def codesign_service(service_name, identity, path, entitlements_path=None):
|
|
32
32
|
|
33
33
|
if __name__ == "__main__":
|
34
34
|
if len(sys.argv) < 3:
|
35
|
-
log_message("Usage:\n\t%s code-signing-identity
|
35
|
+
log_message("Usage:\n\t%s code-signing-identity executable1 executable1 ..." % (sys.argv[0]))
|
36
36
|
log_message("Example:\n\t%s \"Developer ID Application\" ./XPCServices/*.xpc" % (sys.argv[0]))
|
37
37
|
sys.exit(1)
|
38
38
|
|
39
39
|
signing_identity = sys.argv[1]
|
40
|
-
|
40
|
+
executables = sys.argv[2:]
|
41
41
|
|
42
|
-
for
|
43
|
-
parent, child = os.path.split(
|
42
|
+
for executable in executables:
|
43
|
+
parent, child = os.path.split(executable)
|
44
44
|
service_name = os.path.splitext(child)[0]
|
45
45
|
entitlements_path = os.path.join(parent, service_name + ".entitlements")
|
46
|
-
codesign_service(service_name, signing_identity,
|
46
|
+
codesign_service(service_name, signing_identity, executable, None if not os.path.exists(entitlements_path) else entitlements_path)
|
data/vendor/generate_appcast
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: motion-sparkle-sandbox
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brett Walker
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-08-30 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: motion-sparkle-sandbox makes it easy to use the sandboxed version of
|
14
14
|
Sparkle in your RubyMotion OS X apps
|
@@ -38,7 +38,7 @@ files:
|
|
38
38
|
- spec/spec_helper.rb
|
39
39
|
- vendor/README.md
|
40
40
|
- vendor/Sparkle.zip
|
41
|
-
- vendor/
|
41
|
+
- vendor/codesign_embedded_executable
|
42
42
|
- vendor/generate_appcast
|
43
43
|
homepage: https://github.com/digitalmoksha/motion-sparkle-sandbox
|
44
44
|
licenses:
|
@@ -59,8 +59,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
59
59
|
- !ruby/object:Gem::Version
|
60
60
|
version: '0'
|
61
61
|
requirements: []
|
62
|
-
|
63
|
-
rubygems_version: 2.7.6
|
62
|
+
rubygems_version: 3.0.6
|
64
63
|
signing_key:
|
65
64
|
specification_version: 4
|
66
65
|
summary: Sparkle (sandboxed) integration for Rubymotion projects
|