unicorn-camilo 4.8.2.5.19 → 5.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/.document +0 -1
- data/.gitignore +2 -2
- data/{.wrongdoc.yml → .olddoc.yml} +7 -2
- data/Documentation/unicorn.1.txt +9 -2
- data/Documentation/unicorn_rails.1.txt +2 -2
- data/FAQ +9 -1
- data/GIT-VERSION-GEN +1 -1
- data/GNUmakefile +31 -46
- data/HACKING +13 -27
- data/ISSUES +80 -16
- data/KNOWN_ISSUES +10 -10
- data/Links +10 -7
- data/PHILOSOPHY +1 -1
- data/README +8 -13
- data/Rakefile +0 -44
- data/Sandbox +1 -1
- data/TUNING +6 -3
- data/archive/.gitignore +3 -0
- data/archive/slrnpull.conf +4 -0
- data/bin/unicorn +1 -1
- data/bin/unicorn_rails +1 -1
- data/examples/unicorn.conf.rb +11 -0
- data/ext/unicorn_http/httpdate.c +1 -1
- data/ext/unicorn_http/unicorn_http.rl +48 -150
- data/lib/unicorn.rb +9 -15
- data/lib/unicorn/configurator.rb +3 -20
- data/lib/unicorn/const.rb +2 -25
- data/lib/unicorn/http_request.rb +4 -1
- data/lib/unicorn/http_response.rb +1 -3
- data/lib/unicorn/http_server.rb +85 -86
- data/lib/unicorn/socket_helper.rb +33 -67
- data/lib/unicorn/tee_input.rb +8 -1
- data/lib/unicorn/tmpio.rb +2 -4
- data/lib/unicorn/util.rb +1 -0
- data/lib/unicorn/worker.rb +1 -13
- data/t/GNUmakefile +1 -5
- data/t/README +1 -1
- data/t/t0002-parser-error.sh +3 -3
- data/test/exec/test_exec.rb +1 -1
- data/test/test_helper.rb +2 -2
- data/test/unit/test_http_parser.rb +3 -3
- data/test/unit/test_http_parser_ng.rb +8 -117
- data/test/unit/test_request.rb +1 -1
- data/test/unit/test_response.rb +3 -9
- data/test/unit/test_server.rb +3 -3
- data/test/unit/test_signals.rb +1 -1
- data/test/unit/test_socket_helper.rb +5 -5
- data/test/unit/test_tee_input.rb +10 -0
- data/test/unit/test_upload.rb +1 -1
- data/test/unit/test_util.rb +1 -1
- data/unicorn.gemspec +7 -10
- metadata +15 -33
- data/examples/git.ru +0 -13
- data/lib/unicorn/app/exec_cgi.rb +0 -154
- data/lib/unicorn/app/inetd.rb +0 -109
- data/lib/unicorn/ssl_client.rb +0 -11
- data/lib/unicorn/ssl_configurator.rb +0 -104
- data/lib/unicorn/ssl_server.rb +0 -42
- data/local.mk.sample +0 -59
- data/script/isolate_for_tests +0 -31
- data/t/t0016-trust-x-forwarded-false.sh +0 -30
- data/t/t0017-trust-x-forwarded-true.sh +0 -30
- data/test/unit/test_http_parser_xftrust.rb +0 -38
- data/test/unit/test_sni_hostnames.rb +0 -47
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e4b00373cb52bcc9edc697bf4a4e9b1b9e2a586d
|
4
|
+
data.tar.gz: f23ee623cd30cfd66e88a82116cd5abd295390c9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8e5cef96e7d9537ebd713ec7fd3a6e57d921dabb7b4a7ef6e5cea476eae6c20beab16318b2ebeea775bf07ce6b0d31d85415d28fc0e9c694287f855e2840a8bc
|
7
|
+
data.tar.gz: a7e6e36f4e0c09db559339722fc81fbe369148e7e796a25671f5c8aeebbcc2dd88a5b691eeab180463542547e5a07858081a1fda64200ee98e22e62716173646
|
data/.document
CHANGED
data/.gitignore
CHANGED
@@ -2,9 +2,14 @@
|
|
2
2
|
cgit_url: http://bogomips.org/unicorn.git
|
3
3
|
git_url: git://bogomips.org/unicorn.git
|
4
4
|
rdoc_url: http://unicorn.bogomips.org/
|
5
|
-
|
5
|
+
ml_url: http://bogomips.org/unicorn-public/
|
6
6
|
merge_html:
|
7
7
|
unicorn_1: Documentation/unicorn.1.html
|
8
8
|
unicorn_rails_1: Documentation/unicorn_rails.1.html
|
9
|
-
|
9
|
+
noindex:
|
10
|
+
- Unicorn::Const
|
11
|
+
- LATEST
|
12
|
+
- TODO
|
13
|
+
- unicorn_rails_1
|
14
|
+
public_email: unicorn-public@bogomips.org
|
10
15
|
private_email: unicorn@bogomips.org
|
data/Documentation/unicorn.1.txt
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
% UNICORN(1) Unicorn User Manual
|
2
|
-
% The Unicorn Community <
|
2
|
+
% The Unicorn Community <unicorn-public@bogomips.org>
|
3
3
|
% September 15, 2009
|
4
4
|
|
5
5
|
# NAME
|
@@ -163,6 +163,13 @@ set in the old master process are inherited by the new master process.
|
|
163
163
|
Unicorn only uses (and will overwrite) the UNICORN_FD environment
|
164
164
|
variable internally when doing transparent upgrades.
|
165
165
|
|
166
|
+
UNICORN_FD is a comma-delimited list of one or more file descriptors
|
167
|
+
used to implement USR2 upgrades. Init systems may bind listen sockets
|
168
|
+
itself and spawn unicorn with UNICORN_FD set to the file descriptor
|
169
|
+
numbers of the listen socket(s). The unicorn CONFIG_FILE must still
|
170
|
+
have the inherited listen socket parameters defined as in a normal
|
171
|
+
startup, otherwise the socket will be closed.
|
172
|
+
|
166
173
|
# SEE ALSO
|
167
174
|
|
168
175
|
* unicorn_rails(1)
|
@@ -173,6 +180,6 @@ variable internally when doing transparent upgrades.
|
|
173
180
|
* [Rackup HowTo][3]
|
174
181
|
|
175
182
|
[1]: http://unicorn.bogomips.org/
|
176
|
-
[2]: http://
|
183
|
+
[2]: http://rdoc.info/gems/r#/gems/rack/frames
|
177
184
|
[3]: http://wiki.github.com/rack/rack/tutorial-rackup-howto
|
178
185
|
[4]: http://unicorn.bogomips.org/SIGNALS.html
|
@@ -1,5 +1,5 @@
|
|
1
1
|
% UNICORN_RAILS(1) Unicorn User Manual
|
2
|
-
% The Unicorn Community <
|
2
|
+
% The Unicorn Community <unicorn-public@bogomips.org>
|
3
3
|
% September 17, 2009
|
4
4
|
|
5
5
|
# NAME
|
@@ -170,6 +170,6 @@ used by Unicorn.
|
|
170
170
|
* [Rackup HowTo][3]
|
171
171
|
|
172
172
|
[1]: http://unicorn.bogomips.org/
|
173
|
-
[2]: http://
|
173
|
+
[2]: http://rdoc.info/gems/r#/gems/rack/frames
|
174
174
|
[3]: http://wiki.github.com/rack/rack/tutorial-rackup-howto
|
175
175
|
[4]: http://unicorn.bogomips.org/SIGNALS.html
|
data/FAQ
CHANGED
@@ -1,6 +1,14 @@
|
|
1
1
|
= Frequently Asked Questions about Unicorn
|
2
2
|
|
3
|
-
===
|
3
|
+
=== Why aren't my Rails log files rotated when I use SIGUSR1?
|
4
|
+
|
5
|
+
The Rails autoflush_log option must remain disabled with multiprocess
|
6
|
+
servers such as unicorn. Buffering in userspace may cause lines to be
|
7
|
+
partially written and lead to corruption in the presence of multiple
|
8
|
+
processes. With reasonable amounts of logging, the performance impact
|
9
|
+
of autoflush_log should be negligible on Linux and other modern kernels.
|
10
|
+
|
11
|
+
=== I've installed Rack 1.1.x, why can't Unicorn load Rails (2.3.5)?
|
4
12
|
|
5
13
|
Rails 2.3.5 is not compatible with Rack 1.1.x. Unicorn is compatible
|
6
14
|
with both Rack 1.1.x and Rack 1.0.x, and RubyGems will load the latest
|
data/GIT-VERSION-GEN
CHANGED
data/GNUmakefile
CHANGED
@@ -8,6 +8,8 @@ RUBY = ruby
|
|
8
8
|
RAKE = rake
|
9
9
|
RAGEL = ragel
|
10
10
|
RSYNC = rsync
|
11
|
+
OLDDOC = olddoc
|
12
|
+
RDOC = rdoc
|
11
13
|
|
12
14
|
GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE
|
13
15
|
@./GIT-VERSION-GEN
|
@@ -23,11 +25,7 @@ endif
|
|
23
25
|
|
24
26
|
RUBY_ENGINE := $(shell $(RUBY) -e 'puts((RUBY_ENGINE rescue "ruby"))')
|
25
27
|
|
26
|
-
|
27
|
-
$(isolate_libs): script/isolate_for_tests
|
28
|
-
@$(RUBY) script/isolate_for_tests
|
29
|
-
-include $(isolate_libs)
|
30
|
-
MYLIBS = $(RUBYLIB):$(ISOLATE_LIBS)
|
28
|
+
MYLIBS = $(RUBYLIB)
|
31
29
|
|
32
30
|
# dunno how to implement this as concisely in Ruby, and hell, I love awk
|
33
31
|
awk_slow := awk '/def test_/{print FILENAME"--"$$2".n"}' 2>/dev/null
|
@@ -59,10 +57,11 @@ $(ext)/Makefile: $(ext)/extconf.rb $(c_files)
|
|
59
57
|
cd $(@D) && $(RUBY) extconf.rb
|
60
58
|
$(ext)/unicorn_http.$(DLEXT): $(ext)/Makefile
|
61
59
|
$(MAKE) -C $(@D)
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
http:
|
60
|
+
http: $(ext)/unicorn_http.$(DLEXT)
|
61
|
+
|
62
|
+
# only used for tests
|
63
|
+
http-install: $(ext)/unicorn_http.$(DLEXT)
|
64
|
+
install -m644 $< lib/
|
66
65
|
|
67
66
|
test-install: $(test_prefix)/.stamp
|
68
67
|
$(test_prefix)/.stamp: $(inst_deps)
|
@@ -70,7 +69,7 @@ $(test_prefix)/.stamp: $(inst_deps)
|
|
70
69
|
tar cf - $(inst_deps) GIT-VERSION-GEN | \
|
71
70
|
(cd $(test_prefix) && tar xf -)
|
72
71
|
$(MAKE) -C $(test_prefix) clean
|
73
|
-
$(MAKE) -C $(test_prefix) http shebang RUBY="$(RUBY)"
|
72
|
+
$(MAKE) -C $(test_prefix) http-install shebang RUBY="$(RUBY)"
|
74
73
|
> $@
|
75
74
|
|
76
75
|
# this is only intended to be run within $(test_prefix)
|
@@ -87,10 +86,14 @@ test-unit: $(wildcard test/unit/test_*.rb)
|
|
87
86
|
$(slow_tests): $(test_prefix)/.stamp
|
88
87
|
@$(MAKE) $(shell $(awk_slow) $@)
|
89
88
|
|
89
|
+
# ensure we can require just the HTTP parser without the rest of unicorn
|
90
|
+
test-require: $(ext)/unicorn_http.$(DLEXT)
|
91
|
+
$(RUBY) --disable-gems -I$(ext) -runicorn_http -e Unicorn
|
92
|
+
|
90
93
|
test-integration: $(test_prefix)/.stamp
|
91
94
|
$(MAKE) -C t
|
92
95
|
|
93
|
-
check: test test-integration
|
96
|
+
check: test-require test test-integration
|
94
97
|
test-all: check
|
95
98
|
|
96
99
|
TEST_OPTS = -v
|
@@ -120,20 +123,19 @@ run_test = $(quiet_pre) \
|
|
120
123
|
%.n: arg = $(subst .n,,$(subst --, -n ,$@))
|
121
124
|
%.n: t = $(subst .n,$(log_suffix),$@)
|
122
125
|
%.n: export PATH := $(test_prefix)/bin:$(PATH)
|
123
|
-
%.n: export RUBYLIB := $(test_prefix)
|
126
|
+
%.n: export RUBYLIB := $(test_prefix)/lib:$(MYLIBS)
|
124
127
|
%.n: $(test_prefix)/.stamp
|
125
128
|
$(run_test)
|
126
129
|
|
127
130
|
$(T): arg = $@
|
128
131
|
$(T): t = $(subst .rb,$(log_suffix),$@)
|
129
132
|
$(T): export PATH := $(test_prefix)/bin:$(PATH)
|
130
|
-
$(T): export RUBYLIB := $(test_prefix)
|
133
|
+
$(T): export RUBYLIB := $(test_prefix)/lib:$(MYLIBS)
|
131
134
|
$(T): $(test_prefix)/.stamp
|
132
135
|
$(run_test)
|
133
136
|
|
134
137
|
install: $(bins) $(ext)/unicorn_http.c
|
135
138
|
$(prep_setup_rb)
|
136
|
-
$(RM) lib/unicorn_http.$(DLEXT)
|
137
139
|
$(RM) -r .install-tmp
|
138
140
|
mkdir .install-tmp
|
139
141
|
cp -p bin/* .install-tmp
|
@@ -149,42 +151,41 @@ prep_setup_rb := @-$(RM) $(setup_rb_files);$(MAKE) -C $(ext) clean
|
|
149
151
|
clean:
|
150
152
|
-$(MAKE) -C $(ext) clean
|
151
153
|
-$(MAKE) -C Documentation clean
|
152
|
-
$(RM) $(ext)/Makefile
|
154
|
+
$(RM) $(ext)/Makefile
|
153
155
|
$(RM) $(setup_rb_files) $(t_log)
|
154
156
|
$(RM) -r $(test_prefix) man
|
155
157
|
|
156
158
|
man html:
|
157
159
|
$(MAKE) -C Documentation install-$@
|
158
160
|
|
159
|
-
pkg_extra := GIT-VERSION-FILE lib/unicorn/version.rb
|
161
|
+
pkg_extra := GIT-VERSION-FILE lib/unicorn/version.rb LATEST NEWS \
|
160
162
|
$(ext)/unicorn_http.c $(man1_paths)
|
161
163
|
|
162
|
-
|
163
|
-
|
164
|
+
NEWS:
|
165
|
+
$(OLDDOC) prepare
|
164
166
|
|
165
|
-
.manifest:
|
167
|
+
.manifest: $(ext)/unicorn_http.c man NEWS
|
166
168
|
(git ls-files && for i in $@ $(pkg_extra); do echo $$i; done) | \
|
167
169
|
LC_ALL=C sort > $@+
|
168
170
|
cmp $@+ $@ || mv $@+ $@
|
169
171
|
$(RM) $@+
|
170
172
|
|
171
|
-
|
172
|
-
|
173
|
+
PLACEHOLDERS = $(man1_rdoc)
|
174
|
+
doc: .document $(ext)/unicorn_http.c man html .olddoc.yml $(PLACEHOLDERS)
|
173
175
|
find bin lib -type f -name '*.rbc' -exec rm -f '{}' ';'
|
174
176
|
$(RM) -r doc
|
175
|
-
|
177
|
+
$(OLDDOC) prepare
|
178
|
+
$(RDOC) -f oldweb
|
179
|
+
$(OLDDOC) merge
|
176
180
|
install -m644 COPYING doc/COPYING
|
177
181
|
install -m644 $(shell LC_ALL=C grep '^[A-Z]' .document) doc/
|
178
182
|
install -m644 $(man1_paths) doc/
|
179
183
|
tar cf - $$(git ls-files examples/) | (cd doc && tar xf -)
|
180
|
-
$(RM) $(man1_rdoc)
|
181
184
|
|
182
185
|
# publishes docs to http://unicorn.bogomips.org
|
183
186
|
publish_doc:
|
184
187
|
-git set-file-times
|
185
188
|
$(MAKE) doc
|
186
|
-
find doc/images -type f | \
|
187
|
-
TZ=UTC xargs touch -d '1970-01-01 00:00:02' doc/rdoc.css
|
188
189
|
$(MAKE) doc_gz
|
189
190
|
chmod 644 $$(find doc -type f)
|
190
191
|
$(RSYNC) -av doc/ unicorn.bogomips.org:/srv/unicorn/
|
@@ -192,27 +193,15 @@ publish_doc:
|
|
192
193
|
|
193
194
|
# Create gzip variants of the same timestamp as the original so nginx
|
194
195
|
# "gzip_static on" can serve the gzipped versions directly.
|
195
|
-
doc_gz: docs = $(shell find doc -type f ! -regex '
|
196
|
+
doc_gz: docs = $(shell find doc -type f ! -regex '^.*\.gz$$')
|
196
197
|
doc_gz:
|
197
198
|
for i in $(docs); do \
|
198
199
|
gzip --rsyncable -9 < $$i > $$i.gz; touch -r $$i $$i.gz; done
|
199
200
|
|
200
201
|
ifneq ($(VERSION),)
|
201
|
-
rfproject := mongrel
|
202
202
|
rfpackage := unicorn
|
203
203
|
pkggem := pkg/$(rfpackage)-$(VERSION).gem
|
204
204
|
pkgtgz := pkg/$(rfpackage)-$(VERSION).tgz
|
205
|
-
release_notes := release_notes-$(VERSION)
|
206
|
-
release_changes := release_changes-$(VERSION)
|
207
|
-
|
208
|
-
release-notes: $(release_notes)
|
209
|
-
release-changes: $(release_changes)
|
210
|
-
$(release_changes):
|
211
|
-
wrongdoc release_changes > $@+
|
212
|
-
$(VISUAL) $@+ && test -s $@+ && mv $@+ $@
|
213
|
-
$(release_notes):
|
214
|
-
wrongdoc release_notes > $@+
|
215
|
-
$(VISUAL) $@+ && test -s $@+ && mv $@+ $@
|
216
205
|
|
217
206
|
# ensures we're actually on the tagged $(VERSION), only used for release
|
218
207
|
verify:
|
@@ -248,20 +237,16 @@ $(pkgtgz): .manifest fix-perms
|
|
248
237
|
|
249
238
|
package: $(pkgtgz) $(pkggem)
|
250
239
|
|
251
|
-
release: verify package
|
252
|
-
# make tgz release on RubyForge
|
253
|
-
rubyforge add_release -f -n $(release_notes) -a $(release_changes) \
|
254
|
-
$(rfproject) $(rfpackage) $(VERSION) $(pkgtgz)
|
240
|
+
release: verify package
|
255
241
|
# push gem to Gemcutter
|
256
242
|
gem push $(pkggem)
|
257
|
-
# in case of gem downloads from RubyForge releases page
|
258
|
-
-rubyforge add_file \
|
259
|
-
$(rfproject) $(rfpackage) $(VERSION) $(pkggem)
|
260
|
-
$(RAKE) fm_update VERSION=$(VERSION)
|
261
243
|
else
|
262
244
|
gem install-gem: GIT-VERSION-FILE
|
263
245
|
$(MAKE) $@ VERSION=$(GIT_VERSION)
|
264
246
|
endif
|
265
247
|
|
248
|
+
$(PLACEHOLDERS):
|
249
|
+
echo olddoc_placeholder > $@
|
250
|
+
|
266
251
|
.PHONY: .FORCE-GIT-VERSION-FILE doc $(T) $(slow_tests) man
|
267
252
|
.PHONY: test-install
|
data/HACKING
CHANGED
@@ -19,13 +19,6 @@ RubyGems.
|
|
19
19
|
Users of GNU-based systems (such as GNU/Linux) usually have GNU make
|
20
20
|
installed as "make" instead of "gmake".
|
21
21
|
|
22
|
-
Since we don't load RubyGems by default, loading Rack properly requires
|
23
|
-
setting up RUBYLIB to point to where Rack is located. Not loading
|
24
|
-
RubyGems drastically lowers the time to run the full test suite. You
|
25
|
-
may setup a "local.mk" file in the top-level working directory to setup
|
26
|
-
your RUBYLIB and any other environment variables. A "local.mk.sample"
|
27
|
-
file is provided for reference.
|
28
|
-
|
29
22
|
Running the entire test suite with 4 tests in parallel:
|
30
23
|
|
31
24
|
gmake -j4 check
|
@@ -57,24 +50,22 @@ programming experience will come in handy (or be learned) here.
|
|
57
50
|
|
58
51
|
=== Documentation
|
59
52
|
|
60
|
-
|
61
|
-
|
62
|
-
the lack of RDoc-to-manpage converters we know about, we're writing
|
63
|
-
manpages in Markdown and converting to troff/HTML with Pandoc.
|
53
|
+
Due to the lack of RDoc-to-manpage converters we know about, we're
|
54
|
+
writing manpages in Markdown and converting to troff/HTML with Pandoc.
|
64
55
|
|
65
56
|
Please wrap documentation at 72 characters-per-line or less (long URLs
|
66
57
|
are exempt) so it is comfortably readable from terminals.
|
67
58
|
|
68
59
|
When referencing mailing list posts, use
|
69
|
-
"http://
|
70
|
-
remains searchable even if
|
60
|
+
"http://bogomips.org/unicorn-public/m/$MESSAGE_ID.html" if possible
|
61
|
+
since the Message-ID remains searchable even if a particular site
|
62
|
+
becomes unavailable.
|
71
63
|
|
72
64
|
=== Ruby/C Compatibility
|
73
65
|
|
74
|
-
We target Ruby 1.
|
75
|
-
|
76
|
-
|
77
|
-
ability to use unlinked files.
|
66
|
+
We target mainline Ruby 1.9.3 and later. We need the Ruby
|
67
|
+
implementation to support fork, exec, pipe, UNIX signals, access to
|
68
|
+
integer file descriptors and ability to use unlinked files.
|
78
69
|
|
79
70
|
All of our C code is OS-independent and should run on compilers
|
80
71
|
supported by the versions of Ruby we target.
|
@@ -103,7 +94,9 @@ preferred because they allow code review and comments in the reply to
|
|
103
94
|
the patch.
|
104
95
|
|
105
96
|
We will adhere to mostly the same conventions for patch submissions as
|
106
|
-
git itself. See the
|
97
|
+
git itself. See the
|
98
|
+
{SubmittingPatches}[https://git.kernel.org/cgit/git/git.git/tree/Documentation/SubmittingPatches]
|
99
|
+
document
|
107
100
|
distributed with git on on patch submission guidelines to follow. Just
|
108
101
|
don't email the git mailing list or maintainer with Unicorn patches :)
|
109
102
|
|
@@ -111,7 +104,7 @@ don't email the git mailing list or maintainer with Unicorn patches :)
|
|
111
104
|
|
112
105
|
In order to build the gem, you must install the following components:
|
113
106
|
|
114
|
-
*
|
107
|
+
* olddoc (RubyGem)
|
115
108
|
* pandoc
|
116
109
|
|
117
110
|
You can build the Unicorn gem with the following command:
|
@@ -122,13 +115,6 @@ You can build the Unicorn gem with the following command:
|
|
122
115
|
|
123
116
|
It is easy to install the contents of your git working directory:
|
124
117
|
|
125
|
-
Via RubyGems
|
118
|
+
Via RubyGems
|
126
119
|
|
127
120
|
gmake install-gem
|
128
|
-
|
129
|
-
Without RubyGems (via setup.rb):
|
130
|
-
|
131
|
-
gmake install
|
132
|
-
|
133
|
-
It is not at all recommended to mix a RubyGems installation with an
|
134
|
-
installation done without RubyGems, however.
|
data/ISSUES
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
= Issues
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
{documentation}[http://unicorn.bogomips.org].
|
3
|
+
mailto:unicorn-public@bogomips.org is the best place to report bugs,
|
4
|
+
submit patches and/or obtain support after you have searched the
|
5
|
+
{email archives}[http://bogomips.org/unicorn-public/] and
|
6
|
+
{documentation}[http://unicorn.bogomips.org/].
|
7
7
|
|
8
|
-
* No subscription
|
9
|
-
|
8
|
+
* No subscription will ever be required to email the public inbox.
|
9
|
+
* Cc: all participants in a thread or commit, as subscription is optional
|
10
10
|
* Do not {top post}[http://catb.org/jargon/html/T/top-post.html] in replies
|
11
|
-
* Quote
|
12
|
-
* Do not send HTML mail
|
11
|
+
* Quote as little as possible of the message you're replying to
|
12
|
+
* Do not send HTML mail, it will likely be flagged as spam
|
13
13
|
|
14
14
|
If your issue is of a sensitive nature or you're just shy in public,
|
15
15
|
then feel free to email us privately at mailto:unicorn@bogomips.org
|
@@ -18,19 +18,83 @@ instead and your issue will be handled discreetly.
|
|
18
18
|
If you don't get a response within a few days, we may have forgotten
|
19
19
|
about it so feel free to ask again.
|
20
20
|
|
21
|
+
== Bugs in related projects
|
22
|
+
|
23
|
+
unicorn is sometimes affected by bugs in its dependencies. Bugs
|
24
|
+
triggered by unicorn in mainline Ruby, rack, GNU C library (glibc),
|
25
|
+
or the Linux kernel will be reported upstream and fixed.
|
26
|
+
|
27
|
+
For bugs in Ruby itself, we may forward bugs to
|
28
|
+
https://bugs.ruby-lang.org/ and discuss+fix them on the ruby-core
|
29
|
+
list at mailto:ruby-core@ruby-lang.org
|
30
|
+
Subscription to post is required to ruby-core, unfortunately:
|
31
|
+
mailto:ruby-core-request@ruby-lang.org?subject=subscribe
|
32
|
+
|
33
|
+
For uncommon bugs in Rack, we may forward bugs to
|
34
|
+
mailto:rack-devel@googlegroups.com and discuss there.
|
35
|
+
Subscription (without any web UI or Google account) is possible via:
|
36
|
+
mailto:rack-devel+subscribe@googlegroups.com
|
37
|
+
Note: not everyone can use the proprietary bug tracker used by Rack,
|
38
|
+
but their mailing list remains operational.
|
39
|
+
|
40
|
+
Uncommon bugs we encounter in the Linux kernel should be Cc:-ed to the
|
41
|
+
Linux kernel mailing list (LKML) at mailto:linux-kernel@vger.kernel.org
|
42
|
+
and subsystem maintainers such as mailto:netdev@vger.kernel.org
|
43
|
+
(for networking issues). It is expected practice to Cc: anybody
|
44
|
+
involved with any problematic commits (including those in the
|
45
|
+
Signed-off-by: and other trailer lines). No subscription is necessary,
|
46
|
+
and the our mailing list follows the same conventions as LKML for
|
47
|
+
interopability. There is a kernel.org Bugzilla instance, but it is
|
48
|
+
ignored by most developers.
|
49
|
+
|
50
|
+
Likewise for any rare glibc bugs we might encounter, we should Cc:
|
51
|
+
mailto:libc-alpha@sourceware.org
|
52
|
+
Keep in mind glibc upstream does use Bugzilla for tracking bugs:
|
53
|
+
https://sourceware.org/bugzilla/
|
54
|
+
|
21
55
|
== Submitting Patches
|
22
56
|
|
23
57
|
See the HACKING document (and additionally, the
|
24
|
-
Documentation/SubmittingPatches
|
25
|
-
guidelines for patch submission.
|
58
|
+
{SubmittingPatches}[https://git.kernel.org/cgit/git/git.git/tree/Documentation/SubmittingPatches]
|
59
|
+
document distributed with git) on guidelines for patch submission.
|
26
60
|
|
27
|
-
==
|
61
|
+
== Contact Info
|
28
62
|
|
29
|
-
*
|
30
|
-
* post: mailto:mongrel-unicorn@rubyforge.org
|
63
|
+
* public: mailto:unicorn-public@bogomips.org
|
31
64
|
* private: mailto:unicorn@bogomips.org
|
32
65
|
|
33
|
-
|
66
|
+
We operate a {public-inbox}[http://public-inbox.org/] which
|
67
|
+
feeds the mailing list. You may subscribe either using
|
68
|
+
{ssoma}[http://ssoma.public-inbox.org/] or by sending a mail
|
69
|
+
to mailto:unicorn-public+subscribe@bogomips.org
|
70
|
+
|
71
|
+
ssoma is a mail archiver/fetcher using git. It operates in a similar
|
72
|
+
fashion to tools such as slrnpull, fetchmail, or getmail. ssoma
|
73
|
+
subscription instructions:
|
74
|
+
|
75
|
+
URL=git://bogomips.org/unicorn-public
|
76
|
+
LISTNAME=unicorn
|
77
|
+
|
78
|
+
# to initialize a maildir (this may be a new or existing maildir,
|
79
|
+
# ssoma will not touch existing messages)
|
80
|
+
# If you prefer mbox, use mbox:/path/to/mbox as the last argument
|
81
|
+
# You may also use imap://$MAILSERVER/INBOX for an IMAP account
|
82
|
+
# or imaps:// for an IMAPS account, as well.
|
83
|
+
ssoma add $LISTNAME $URL maildir:/path/to/maildir
|
84
|
+
|
85
|
+
# read with your favorite MUA (only using mutt as an example)
|
86
|
+
mutt -f /path/to/maildir # (or /path/to/mbox)
|
87
|
+
|
88
|
+
# to keep your mbox or maildir up-to-date, periodically run the following:
|
89
|
+
ssoma sync $LISTNAME
|
90
|
+
|
91
|
+
# your MUA may modify and delete messages from the maildir or mbox,
|
92
|
+
# this does not affect ssoma functionality at all
|
93
|
+
|
94
|
+
# to sync all your ssoma subscriptions
|
95
|
+
ssoma sync
|
96
|
+
|
97
|
+
# You may wish to sync in your cronjob
|
98
|
+
ssoma sync --cron
|
34
99
|
|
35
|
-
|
36
|
-
* http://rubyforge.org/pipermail/mongrel-unicorn
|
100
|
+
HTML archives are available here: http://bogomips.org/unicorn-public/
|