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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4c72c1a939e68d9f00d0e7c6ebfd92a2888fc59d1d501320a462051852df7c31
4
- data.tar.gz: 852d394ff99e98478aab7837089016a5b3b8aaa8e1becc8e8c78ad600eef4d6e
3
+ metadata.gz: eb36aa00aa6bcfa0a003626e4df82fec0d15b6ffe9887301b65b68f2cdf6e2f8
4
+ data.tar.gz: 9848c1800e37dc90399cb8b424d079719b9c9e1751d13a7f8d6fcc2679291a0c
5
5
  SHA512:
6
- metadata.gz: 83183707c96424775e8c654504aa145a14b105ef444e42f5e3f4a3978a227012da6e6ecfc026cefc1607775249fbe44a4361e082857382fc48ed59aa98184a1c
7
- data.tar.gz: 1488d6f6193b0332f8bbdee270f963b946da7e7b0d34fc20d4ad2bbf747f58d1b304030c1808b34b28ea126468f45a57a94f5863028122adde73a92571afe1c4
6
+ metadata.gz: b7640ff4fa3545cb12f75bfd8a3a24b69ee6c659e71e6a9f4ee405f1cd8349f0afd9a8ac4ad51180969226232c59fb61a1cff3084572a7f084997de578c84416
7
+ data.tar.gz: 536419939c150e497532e54eeb5c3328cfd3001ff4b4491d6c31e8b3557f4a0c05a35e7068aa40a87318b7750788e39eee73ecccc5f1a5d368c770a69d25ba8e
data/LICENSE CHANGED
@@ -1,5 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
+ Copyright (c) 2015 Brett Walker <github@digitalmoksha.com>
3
4
  Copyright (c) 2013 Alexandre L. Solleiro <alex@webcracy.org>
4
5
 
5
6
  Permission is hereby granted, free of charge, to any person obtaining a copy
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 [ui-separation-and-xpc branch](https://github.com/sparkle-project/Sparkle/tree/ui-separation-and-xpc) to support an app that uses sandboxing. Sparkle is in transition, and the sandbox version is slated for 2.0.
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 ui-separation-and-xpc#b1c3b313f53c95a91c8adc07b991ff9a306e6cf8 on Dec 9th, 2018_
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
 
@@ -1,6 +1,7 @@
1
1
  unless defined?(Motion::Project::Config)
2
2
  raise "This file must be required within a RubyMotion project Rakefile."
3
3
  end
4
+
4
5
  require 'motion/project/sparkle'
5
6
  require 'motion/project/install'
6
7
  require 'motion/project/setup'
@@ -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}/codesign_xpc "#{App.config.codesign_certificate}" "#{File.expand_path(path)}" 2>&1`
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.8.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"
@@ -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 `codesign_xpc` can properly sign these files once they have been copied into place.
27
+ The `codesign_embedded_executable` can properly sign these files once they have been copied into place.
18
28
 
19
- 1. Fetch the `ui-separation-and-xpc` branch
20
- 2. Copy the `bin/codesign_xpc` into the `Sparkle` folder
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
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 xpc-service xpc-service2 ..." % (sys.argv[0]))
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
- xpc_services = sys.argv[2:]
40
+ executables = sys.argv[2:]
41
41
 
42
- for xpc_service in xpc_services:
43
- parent, child = os.path.split(xpc_service)
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, xpc_service, None if not os.path.exists(entitlements_path) else entitlements_path)
46
+ codesign_service(service_name, signing_identity, executable, None if not os.path.exists(entitlements_path) else entitlements_path)
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.8.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: 2019-07-17 00:00:00.000000000 Z
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/codesign_xpc
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
- rubyforge_project:
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