powder 0.2.2 → 0.3.0.pre
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/CHANGELOG.md +10 -3
- data/bin/powder +44 -17
- data/lib/powder/version.rb +1 -1
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cfdbbad992ebcd320ce4f12389c1a09241cfdada
|
4
|
+
data.tar.gz: 08462e02316255b300c6e907c795efb971f6fa2e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c2d9cb7c30bbeefc83accae12db8805d93e9e6804d11832d85518309ae810300958fb9db3cdd5fa039d7d57578f435c99475030a699060f386a90ff9d0b95a53
|
7
|
+
data.tar.gz: 729300ebd70dbfac68187c4474c36605a7ae0ff4519d935d01f52a96ff79dbf7b11ff585cf9f564f6fe3585ddca9d9dad5eb1df9759a2aa0f4c55f89dbcf0c60
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
### 0.3.0.pre / 2014-10-22 ###
|
2
|
+
|
3
|
+
* 1 minor change
|
4
|
+
|
5
|
+
* Support for OS X Yosemite. Pow no longer uses the ipfw firewall,
|
6
|
+
which was deprecated in OS X 10.9 and removed in 10.10. Port
|
7
|
+
redirection is now handled by the pf packet filter.
|
8
|
+
Powder reflects the same changes.
|
9
|
+
|
1
10
|
### 0.2.2 / 2014-10-22 ###
|
2
11
|
|
3
12
|
* 1 minor change
|
@@ -18,11 +27,9 @@
|
|
18
27
|
* Updates gist URLs
|
19
28
|
([commit](https://github.com/rodreegez/powder/commit/96af4fae93bd35a47a6cf0baa99f85aa739d0835))
|
20
29
|
|
21
|
-
|
22
|
-
|
23
30
|
### 0.2.0 / 2013-03-12 ###
|
24
31
|
|
25
|
-
* 7 minor
|
32
|
+
* 7 minor changes
|
26
33
|
|
27
34
|
* fix debug command: rdebug connection errors
|
28
35
|
([commit](https://github.com/Rodreegez/powder/commit/3ea0a1bc68bd9517e5673cc64d8bf25f41a5e2de))
|
data/bin/powder
CHANGED
@@ -21,6 +21,12 @@ module Powder
|
|
21
21
|
map '-o' => 'open'
|
22
22
|
map '-v' => 'version'
|
23
23
|
|
24
|
+
MAC_OS_X_VERSION_REGEXP = /^(?<major_version>\d+)\.(?<minor_version>\d+)\.(?<patch_version>\d+)/
|
25
|
+
MAC_OS_X_MINOR_VERSION = begin
|
26
|
+
version_string = %x{sw_vers -productVersion}
|
27
|
+
version_string.match(MAC_OS_X_VERSION_REGEXP)[:minor_version].to_i
|
28
|
+
end
|
29
|
+
|
24
30
|
POWDER_CONFIG = ".powder"
|
25
31
|
POW_ENV = ".powenv"
|
26
32
|
POW_PATH = "#{ENV['HOME']}/.pow"
|
@@ -65,15 +71,10 @@ module Powder
|
|
65
71
|
|
66
72
|
desc "up", "Enable pow"
|
67
73
|
def up
|
68
|
-
if
|
69
|
-
|
70
|
-
else
|
71
|
-
say "Pow firewall configuration missing."
|
72
|
-
end
|
73
|
-
if File.exists? POW_DAEMON_PLIST_PATH
|
74
|
-
%x{launchctl load #{POW_DAEMON_PLIST_PATH}}
|
74
|
+
if MAC_OS_X_MINOR_VERSION >= 10
|
75
|
+
start_on_yosemite
|
75
76
|
else
|
76
|
-
|
77
|
+
start_on_mavericks
|
77
78
|
end
|
78
79
|
end
|
79
80
|
|
@@ -86,20 +87,29 @@ module Powder
|
|
86
87
|
if not %x{sudo launchctl list | grep cx.pow.firewall}.empty?
|
87
88
|
%x{sudo launchctl unload #{POW_FIREWALL_PLIST_PATH}}
|
88
89
|
end
|
89
|
-
if ports = File.open(POW_FIREWALL_PLIST_PATH).read.match(/fwd .*?,([\d]+).*?dst-port ([\d]+)/)
|
90
|
-
http_port, dst_port = ports[1..2]
|
91
|
-
end
|
92
90
|
end
|
93
91
|
|
94
92
|
if File.exists? POW_DAEMON_PLIST_PATH
|
95
93
|
%x{launchctl unload #{POW_DAEMON_PLIST_PATH}}
|
96
94
|
end
|
97
95
|
|
98
|
-
|
99
|
-
|
96
|
+
if MAC_OS_X_MINOR_VERSION < 10
|
97
|
+
if File.exists? POW_FIREWALL_PLIST_PATH
|
98
|
+
if ports = File.open(POW_FIREWALL_PLIST_PATH).read.match(/fwd .*?,([\d]+).*?dst-port ([\d]+)/)
|
99
|
+
http_port, dst_port = ports[1..2]
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
http_port ||= 20559
|
104
|
+
dst_port ||= 80
|
105
|
+
|
106
|
+
if rule = %x{sudo ipfw show | grep ",#{http_port} .* dst-port #{dst_port} in"}.split.first
|
107
|
+
%x{sudo ipfw delete #{rule} && sudo sysctl -w net.inet.ip.forwarding=0}
|
108
|
+
end
|
109
|
+
end
|
100
110
|
|
101
|
-
if
|
102
|
-
%
|
111
|
+
if MAC_OS_X_MINOR_VERSION >= 10
|
112
|
+
%{sudo pfctl -a "com.apple/250.PowFirewall" -F all}
|
103
113
|
end
|
104
114
|
end
|
105
115
|
|
@@ -165,7 +175,6 @@ module Powder
|
|
165
175
|
FileUtils.rm_f Dir.glob('tmp/*restart.txt')
|
166
176
|
end
|
167
177
|
|
168
|
-
|
169
178
|
desc "respawn", "Restart the pow process"
|
170
179
|
def respawn
|
171
180
|
%x{launchctl stop cx.pow.powd}
|
@@ -328,7 +337,7 @@ module Powder
|
|
328
337
|
desc "status", "Shows current pow status"
|
329
338
|
def status
|
330
339
|
http_port = ":" + configured_pow_http_port.to_s
|
331
|
-
results = %x{curl --silent -H host:pow
|
340
|
+
results = %x{curl --silent -H host:pow 127.0.0.1#{http_port}/status.json}.gsub(':','=>')
|
332
341
|
return say("Error: Cannot get Pow status. Pow may be down. Try 'powder up' first.") if results.empty? || !(results =~ /^\{/)
|
333
342
|
json = eval results
|
334
343
|
json.each {|k,v| say "#{k.ljust(12, ' ')} #{v}"}
|
@@ -518,6 +527,24 @@ module Powder
|
|
518
527
|
request = Net::HTTP::Get.new(uri.request_uri)
|
519
528
|
http.request(request).body
|
520
529
|
end
|
530
|
+
|
531
|
+
def start_on_yosemite
|
532
|
+
return say "Pow daemon configuration missing." unless File.exists?(POW_DAEMON_PLIST_PATH)
|
533
|
+
%x{launchctl bootstrap gui/"$UID" #{POW_DAEMON_PLIST_PATH}}
|
534
|
+
|
535
|
+
%x{launchctl enable gui/"$UID"/cx.pow.powd}
|
536
|
+
%x{launchctl kickstart -k gui/"$UID"/cx.pow.powd}
|
537
|
+
end
|
538
|
+
|
539
|
+
def start_on_mavericks
|
540
|
+
return say "Pow firewall configuration missing." unless File.exists?(POW_FIREWALL_PLIST_PATH)
|
541
|
+
%x{launchctl load #{POW_FIREWALL_PLIST_PATH}}
|
542
|
+
|
543
|
+
return say "Pow daemon configuration missing." unless File.exists?(POW_DAEMON_PLIST_PATH)
|
544
|
+
%x{launchctl load #{POW_DAEMON_PLIST_PATH}}
|
545
|
+
end
|
546
|
+
|
521
547
|
end
|
522
548
|
end
|
549
|
+
|
523
550
|
Powder::CLI.start
|
data/lib/powder/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: powder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0.pre
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Phil Nash
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-10-
|
12
|
+
date: 2014-10-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: thor
|
@@ -74,13 +74,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
74
74
|
version: '0'
|
75
75
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
76
76
|
requirements:
|
77
|
-
- - "
|
77
|
+
- - ">"
|
78
78
|
- !ruby/object:Gem::Version
|
79
|
-
version:
|
79
|
+
version: 1.3.1
|
80
80
|
requirements: []
|
81
81
|
rubyforge_project: powder
|
82
|
-
rubygems_version: 2.
|
82
|
+
rubygems_version: 2.4.1
|
83
83
|
signing_key:
|
84
84
|
specification_version: 4
|
85
85
|
summary: Makes Pow even easier
|
86
86
|
test_files: []
|
87
|
+
has_rdoc:
|