stickler 2.2.4 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. data/CONTRIBUTING.md +48 -0
  2. data/{HISTORY.asciidoc → HISTORY.md} +8 -2
  3. data/Manifest.txt +86 -0
  4. data/{README.asciidoc → README.rdoc} +18 -20
  5. data/Rakefile +25 -59
  6. data/bin/stickler +10 -3
  7. data/examples/gemcutter_repo.ru +1 -2
  8. data/lib/stickler.rb +6 -2
  9. data/lib/stickler/client.rb +5 -4
  10. data/lib/stickler/client/delete.rb +50 -0
  11. data/lib/stickler/client/unyank.rb +50 -0
  12. data/lib/stickler/middleware.rb +7 -0
  13. data/lib/stickler/middleware/compression.rb +0 -2
  14. data/lib/stickler/middleware/gemcutter.rb +16 -7
  15. data/lib/stickler/middleware/helpers.rb +1 -3
  16. data/lib/stickler/middleware/index.rb +0 -8
  17. data/lib/stickler/middleware/local.rb +1 -5
  18. data/lib/stickler/middleware/mirror.rb +0 -4
  19. data/lib/stickler/middleware/not_found.rb +0 -1
  20. data/lib/stickler/repository.rb +9 -5
  21. data/lib/stickler/repository/index.rb +0 -1
  22. data/lib/stickler/repository/local.rb +12 -4
  23. data/lib/stickler/repository/null.rb +0 -1
  24. data/lib/stickler/repository/remote.rb +40 -20
  25. data/lib/stickler/repository/remote_mirror.rb +1 -1
  26. data/lib/stickler/server.rb +1 -9
  27. data/lib/stickler/server/public/css/blueprint/ie.css +35 -0
  28. data/lib/stickler/server/public/css/blueprint/screen.css +266 -0
  29. data/lib/stickler/server/public/css/style.css +19 -0
  30. data/man/stickler-passenger-config.1 +83 -0
  31. data/man/stickler-passenger-config.1.ronn +70 -0
  32. data/man/stickler-server.1 +168 -0
  33. data/man/stickler-server.1.ronn +84 -0
  34. data/man/stickler.1 +321 -0
  35. data/man/stickler.1.ronn +144 -0
  36. data/spec/data/gemcutter/gems/foo-1.0.0.gem +0 -0
  37. data/spec/middleware/local_spec.rb +1 -4
  38. data/spec/middleware/not_found_spec.rb +1 -2
  39. data/spec/paths_spec.rb +1 -3
  40. data/spec/repository/api_behavior.rb +34 -4
  41. data/spec/repository/api_spec.rb +2 -3
  42. data/spec/repository/index_spec.rb +10 -11
  43. data/spec/repository/local_spec.rb +10 -12
  44. data/spec/repository/null_spec.rb +2 -5
  45. data/spec/repository/remote_spec.rb +3 -5
  46. data/spec/spec_helper.rb +7 -2
  47. data/spec/spec_lite_spec.rb +1 -3
  48. data/tasks/default.rake +274 -0
  49. data/tasks/this.rb +209 -0
  50. metadata +142 -85
  51. data/.bnsignore +0 -14
  52. data/.gitignore +0 -23
  53. data/TODO.asciidoc +0 -6
  54. data/lib/stickler/version.rb +0 -36
  55. data/man/asciidoc.conf +0 -25
  56. data/man/stickler-passenger-config.asciidoc +0 -74
  57. data/man/stickler-server.asciidoc +0 -87
  58. data/man/stickler.asciidoc +0 -150
  59. data/tasks/asciidoc.rake +0 -32
  60. data/tasks/bundler.rake +0 -13
  61. data/tasks/contribute.rake +0 -36
  62. data/tasks/man.rake +0 -19
@@ -0,0 +1,19 @@
1
+ body { background-color: #fcfcfc}
2
+ .container { background-color: #ffffff; border-left: 2px solid #e9e9e9; border-right: 2px solid #e9e9e9; }
3
+ header h1 { font-weight: bold; text-align: center; color: #A11A00; padding: 1em; }
4
+ header samp { text-align: center; padding: 1em; }
5
+
6
+ nav { background-color: #ededed; border-top: 2px solid #ddd; border-bottom: 2px solid #ddd;}
7
+ nav ol { text-align: center; margin-bottom: 0; list-style: none;}
8
+ nav ol li { display: inline-block; padding: 0px 3px 0px 3px; }
9
+ nav ol li a { text-decoration: none; color: #393939;}
10
+ nav ol li a:hover { font-weight: bold; background-color: #fff; color: #333333; }
11
+
12
+ .gemlist ol { list-style: none; }
13
+ .gemlist li.stripe { background-color: #e9e9e9; }
14
+ .gem { padding: 10px; border-bottom: 2px solid #ddd; }
15
+ .gem .name { text-align: left; vertical-align: top; display: inline-block; width: 50%; letter-spacing: 0.2em; font-weight: 900;}
16
+ .gem .version { text-align: right; vertical-align: top; display: inline-block; width: 49%; color: #939393;}
17
+
18
+ .letter-start a { text-decoration: none; }
19
+ .letter-start h2 { font-weight: 900; color: #A11A00; text-align: center; }
@@ -0,0 +1,83 @@
1
+ .\" generated with Ronn/v0.7.3
2
+ .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
+ .
4
+ .TH "STICKLER\-PASSENGER\-CONFIG" "1" "March 2013" "" ""
5
+ .
6
+ .SH "NAME"
7
+ stickler\-passenger\-config \- output a Phusion Passenger config for stickler
8
+ .
9
+ .SH "SYNOPSIS"
10
+ \fIstickler\-passenger\-config\fR [\-\-help] [COMMAND] [COMMAND_OPTIONS] /path/to/stickler/root
11
+ .
12
+ .SH "DESCRIPTION"
13
+ \fIstickler\-passenger\-config\fR will create a stickler web application directory, including the config\.ru file for use with Phusion Passenger \fIhttp://modrails\.com/\fR\. It will then output the stanza to be incorporated into an Apache \fIhttp://httpd\.apache\.org/\fR or Nginx \fIhttp://nginx\.net\fR configuration\.
14
+ .
15
+ .SH "COMMANDS"
16
+ \fIapache2\fR: Output an Apache config\.
17
+ .
18
+ .P
19
+ \fInginx\fR: Output an Nginx config\.
20
+ .
21
+ .SH "OPTIONS"
22
+ \fI\-h, \-\-help\fR:
23
+ .
24
+ .IP "" 4
25
+ .
26
+ .nf
27
+
28
+ Show the help message
29
+ .
30
+ .fi
31
+ .
32
+ .IP "" 0
33
+ .
34
+ .P
35
+ \fI\-v, \-\-version\fR:
36
+ .
37
+ .IP "" 4
38
+ .
39
+ .nf
40
+
41
+ Output the version\.
42
+ .
43
+ .fi
44
+ .
45
+ .IP "" 0
46
+ .
47
+ .SH "EXAMPLES"
48
+ Output a passenger config for use with apache\.
49
+ .
50
+ .IP "" 4
51
+ .
52
+ .nf
53
+
54
+ stickler\-passenger\-config apache2 /var/lib/stickler
55
+ .
56
+ .fi
57
+ .
58
+ .IP "" 0
59
+ .
60
+ .P
61
+ Output a pasenger a config to be integrated with an nginx config\.
62
+ .
63
+ .IP "" 4
64
+ .
65
+ .nf
66
+
67
+ stickler\-passenger\-config nginx /var/lib/stickler
68
+ .
69
+ .fi
70
+ .
71
+ .IP "" 0
72
+ .
73
+ .SH "SEE ALSO"
74
+ stickler(1), stickler\-server(1)
75
+ .
76
+ .SH "AUTHOR"
77
+ Written by Jeremy Hinegardner \fIjeremy@copiousfreetime\.org\fR
78
+ .
79
+ .SH "RESOURCES"
80
+ GitHub project \fIhttps://www\.github\.com/copiousfreetime/stickler\fR
81
+ .
82
+ .SH "BUGS"
83
+ Please report bugs to the github issue tracker \fIhttps://github\.com/copiousfreetime/stickler/issues\fR
@@ -0,0 +1,70 @@
1
+ STICKLER-PASSENGER-CONFIG(1)
2
+ ============================
3
+
4
+ NAME
5
+ ----
6
+ stickler-passenger-config - output a Phusion Passenger config for stickler
7
+
8
+
9
+ SYNOPSIS
10
+ --------
11
+ *stickler-passenger-config* [--help] [COMMAND] [COMMAND_OPTIONS] /path/to/stickler/root
12
+
13
+
14
+ DESCRIPTION
15
+ -----------
16
+ *stickler-passenger-config* will create a stickler web application directory,
17
+ including the config.ru file for use with [Phusion Passenger](http://modrails.com/).
18
+ It will then output the stanza to be incorporated into an
19
+ [Apache](http://httpd.apache.org/) or [Nginx](http://nginx.net)
20
+ configuration.
21
+
22
+
23
+ COMMANDS
24
+ --------
25
+
26
+ *apache2*: Output an Apache config.
27
+
28
+ *nginx*: Output an Nginx config.
29
+
30
+
31
+ OPTIONS
32
+ -------
33
+ *-h, --help*:
34
+ Show the help message
35
+
36
+ *-v, --version*:
37
+ Output the version.
38
+
39
+
40
+ EXAMPLES
41
+ --------
42
+ Output a passenger config for use with apache.
43
+
44
+ stickler-passenger-config apache2 /var/lib/stickler
45
+
46
+
47
+ Output a pasenger a config to be integrated with an nginx config.
48
+
49
+ stickler-passenger-config nginx /var/lib/stickler
50
+
51
+
52
+ SEE ALSO
53
+ --------
54
+ stickler(1), stickler-server(1)
55
+
56
+
57
+ AUTHOR
58
+ ------
59
+ Written by Jeremy Hinegardner <jeremy@copiousfreetime.org>
60
+
61
+
62
+ RESOURCES
63
+ ---------
64
+ [GitHub project](https://www.github.com/copiousfreetime/stickler)
65
+
66
+
67
+ BUGS
68
+ ----
69
+ Please report bugs to the [github issue tracker](https://github.com/copiousfreetime/stickler/issues)
70
+
@@ -0,0 +1,168 @@
1
+ .\" generated with Ronn/v0.7.3
2
+ .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
+ .
4
+ .TH "STICKLER\-SERVER" "1" "March 2013" "" ""
5
+ .
6
+ .SH "NAME"
7
+ stickler\-server \- start and stop the stickler server process
8
+ .
9
+ .SH "SYNOPSIS"
10
+ \fIstickler\-server\fR [\-\-help] [COMMAND] [COMMAND_OPTIONS] /path/to/stickler/root
11
+ .
12
+ .SH "DESCRIPTION"
13
+ stickler\-server is the daemon process that houses the repositories of proprietary gems and/or mirrors of third party gems\.
14
+ .
15
+ .SH "COMMANDS"
16
+ \fIstart\fR:
17
+ .
18
+ .IP "" 4
19
+ .
20
+ .nf
21
+
22
+ Start the stickler server process
23
+ .
24
+ .fi
25
+ .
26
+ .IP "" 0
27
+ .
28
+ .P
29
+ \fIstop\fR:
30
+ .
31
+ .IP "" 4
32
+ .
33
+ .nf
34
+
35
+ Stop the stickler server process
36
+ .
37
+ .fi
38
+ .
39
+ .IP "" 0
40
+ .
41
+ .SH "OPTIONS"
42
+ \fI\-d, \-\-daemonize\fR:
43
+ .
44
+ .IP "" 4
45
+ .
46
+ .nf
47
+
48
+ Daemonize the server
49
+ .
50
+ .fi
51
+ .
52
+ .IP "" 0
53
+ .
54
+ .P
55
+ \fI\-\-help\fR:
56
+ .
57
+ .IP "" 4
58
+ .
59
+ .nf
60
+
61
+ Show the help message
62
+ .
63
+ .fi
64
+ .
65
+ .IP "" 0
66
+ .
67
+ .P
68
+ \fI\-h, \-\-host\fR=\'HOST\':
69
+ .
70
+ .IP "" 4
71
+ .
72
+ .nf
73
+
74
+ The host address to bind to (default: 0\.0\.0\.0)
75
+ .
76
+ .fi
77
+ .
78
+ .IP "" 0
79
+ .
80
+ .P
81
+ \fI\-o, \-\-port\fR=\'PORT\':
82
+ .
83
+ .IP "" 4
84
+ .
85
+ .nf
86
+
87
+ The port to bind to (default: 6789)
88
+ .
89
+ .fi
90
+ .
91
+ .IP "" 0
92
+ .
93
+ .P
94
+ \fI\-p, \-\-pid\fR=\'PID_FILE\':
95
+ .
96
+ .IP "" 4
97
+ .
98
+ .nf
99
+
100
+ Path to wriate a pid file to after daemonizing
101
+ .
102
+ .fi
103
+ .
104
+ .IP "" 0
105
+ .
106
+ .P
107
+ \fI\-s, \-\-server\fR=\'SERVER\':
108
+ .
109
+ .IP "" 4
110
+ .
111
+ .nf
112
+
113
+ The rack handler to use: thin, mongrel, webrick, etc\.
114
+ .
115
+ .fi
116
+ .
117
+ .IP "" 0
118
+ .
119
+ .P
120
+ \fI\-v, \-\-version\fR:
121
+ .
122
+ .IP "" 4
123
+ .
124
+ .nf
125
+
126
+ Output the version\.
127
+ .
128
+ .fi
129
+ .
130
+ .IP "" 0
131
+ .
132
+ .SH "EXAMPLES"
133
+ Start the server, daemonized, using /var/lib/stickler as the root directory of all the repositories\.
134
+ .
135
+ .IP "" 4
136
+ .
137
+ .nf
138
+
139
+ stickler\-server start \-\-daemonize /var/lib/stickler
140
+ .
141
+ .fi
142
+ .
143
+ .IP "" 0
144
+ .
145
+ .P
146
+ Stop the server that is using /var/lib/stickler as its root directory\.
147
+ .
148
+ .IP "" 4
149
+ .
150
+ .nf
151
+
152
+ stickler\-server stop /var/lib/stickler
153
+ .
154
+ .fi
155
+ .
156
+ .IP "" 0
157
+ .
158
+ .SH "SEE ALSO"
159
+ stickler(1), stickler\-passenger\-config(1)
160
+ .
161
+ .SH "AUTHOR"
162
+ Written by Jeremy Hinegardner \fIjeremy@copiousfreetime\.org\fR
163
+ .
164
+ .SH "RESOURCES"
165
+ GitHub project \fIhttps://www\.github\.com/copiousfreetime/stickler\fR
166
+ .
167
+ .SH "BUGS"
168
+ Please report bugs to the github issue tracker \fIhttps://github\.com/copiousfreetime/stickler/issues\fR
@@ -0,0 +1,84 @@
1
+ STICKLER-SERVER(1)
2
+ ==================
3
+
4
+ NAME
5
+ ----
6
+ stickler-server - start and stop the stickler server process
7
+
8
+
9
+ SYNOPSIS
10
+ --------
11
+ *stickler-server* [--help] [COMMAND] [COMMAND_OPTIONS] /path/to/stickler/root
12
+
13
+
14
+ DESCRIPTION
15
+ -----------
16
+ stickler-server is the daemon process that houses the repositories of
17
+ proprietary gems and/or mirrors of third party gems.
18
+
19
+
20
+ COMMANDS
21
+ --------
22
+ *start*:
23
+ Start the stickler server process
24
+
25
+ *stop*:
26
+ Stop the stickler server process
27
+
28
+
29
+ OPTIONS
30
+ -------
31
+ *-d, --daemonize*:
32
+ Daemonize the server
33
+
34
+ *--help*:
35
+ Show the help message
36
+
37
+ *-h, --host*='HOST':
38
+ The host address to bind to (default: 0.0.0.0)
39
+
40
+ *-o, --port*='PORT':
41
+ The port to bind to (default: 6789)
42
+
43
+ *-p, --pid*='PID_FILE':
44
+ Path to wriate a pid file to after daemonizing
45
+
46
+ *-s, --server*='SERVER':
47
+ The rack handler to use: thin, mongrel, webrick, etc.
48
+
49
+ *-v, --version*:
50
+ Output the version.
51
+
52
+
53
+ EXAMPLES
54
+ --------
55
+ Start the server, daemonized, using /var/lib/stickler as the root directory of
56
+ all the repositories.
57
+
58
+ stickler-server start --daemonize /var/lib/stickler
59
+
60
+ Stop the server that is using /var/lib/stickler as its root directory.
61
+
62
+ stickler-server stop /var/lib/stickler
63
+
64
+
65
+ SEE ALSO
66
+ --------
67
+ stickler(1), stickler-passenger-config(1)
68
+
69
+
70
+ AUTHOR
71
+ ------
72
+ Written by Jeremy Hinegardner <jeremy@copiousfreetime.org>
73
+
74
+
75
+ RESOURCES
76
+ ---------
77
+ [GitHub project](https://www.github.com/copiousfreetime/stickler)
78
+
79
+
80
+ BUGS
81
+ ----
82
+ Please report bugs to the [github issue
83
+ tracker](https://github.com/copiousfreetime/stickler/issues)
84
+
@@ -0,0 +1,321 @@
1
+ .\" generated with Ronn/v0.7.3
2
+ .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
+ .
4
+ .TH "STICKLER" "1" "March 2013" "" ""
5
+ .
6
+ .SH "NAME"
7
+ stickler \- command line program to interact with a stickler\-server
8
+ .
9
+ .SH "SYNOPSIS"
10
+ \fIstickler\fR [\-\-help] [COMMAND] [COMMAND_OPTIONS] [gemfile(s)]
11
+ .
12
+ .SH "DESCRIPTION"
13
+ Stickler is a tool to organize and maintain an internal gem repository of proprietary gems and/or a mirror of third party gems\.
14
+ .
15
+ .P
16
+ The stickler(1) command interacts with an instance of stickler\-server(1) to control the publishing and mirroring of ruby gems\.
17
+ .
18
+ .SH "COMMANDS"
19
+ \fIpush\fR:
20
+ .
21
+ .IP "" 4
22
+ .
23
+ .nf
24
+
25
+ Push one or more gems to a gemserver\. This works the same as `gem push`
26
+ although there is no authorization mechanism\.
27
+ .
28
+ .fi
29
+ .
30
+ .IP "" 0
31
+ .
32
+ .P
33
+ \fIyank\fR:
34
+ .
35
+ .IP "" 4
36
+ .
37
+ .nf
38
+
39
+ Remove a gem from the gemserver\'s index\. It will still be available from
40
+ direct download\. This works the same as `gem yank`\.
41
+ .
42
+ .fi
43
+ .
44
+ .IP "" 0
45
+ .
46
+ .P
47
+ \fImirror\fR:
48
+ .
49
+ .IP "" 4
50
+ .
51
+ .nf
52
+
53
+ Pull a specific version of a gem from an upstream gem server and
54
+ store it in a stickler\-server(1)\.
55
+ .
56
+ .fi
57
+ .
58
+ .IP "" 0
59
+ .
60
+ .P
61
+ \fIconfig\fR:
62
+ .
63
+ .IP "" 4
64
+ .
65
+ .nf
66
+
67
+ Access or update the stickler client configuration\.
68
+ .
69
+ .fi
70
+ .
71
+ .IP "" 0
72
+ .
73
+ .P
74
+ \fIlist\fR:
75
+ .
76
+ .IP "" 4
77
+ .
78
+ .nf
79
+
80
+ List all the gems in the remote repository\.
81
+ .
82
+ .fi
83
+ .
84
+ .IP "" 0
85
+ .
86
+ .P
87
+ \fIunyank\fR:
88
+ .
89
+ .IP "" 4
90
+ .
91
+ .nf
92
+
93
+ Put a gem that was _yanked_ back into the gemserver index\. This reverses a
94
+ `yank`\.
95
+ .
96
+ .fi
97
+ .
98
+ .IP "" 0
99
+ .
100
+ .SH "OPTIONS"
101
+ These are the options for all commands\. Not all options apply to all commands\.
102
+ .
103
+ .P
104
+ \fI\-a, \-\-add\fR:
105
+ .
106
+ .IP "" 4
107
+ .
108
+ .nf
109
+
110
+ Add the `\-\-server` or `\-\-upstream` items to the config file when using the
111
+ `config` command\.
112
+ .
113
+ .fi
114
+ .
115
+ .IP "" 0
116
+ .
117
+ .P
118
+ \fI\-d, \-\-debug\fR:
119
+ .
120
+ .IP "" 4
121
+ .
122
+ .nf
123
+
124
+ Output debug information
125
+ .
126
+ .fi
127
+ .
128
+ .IP "" 0
129
+ .
130
+ .P
131
+ \fI\-g, \-\-gem\-version\fR=\'VERSION\':
132
+ .
133
+ .IP "" 4
134
+ .
135
+ .nf
136
+
137
+ The version of the gem to yank from `\-\-server` or to mirror from
138
+ `\-\-upstream`\.
139
+ .
140
+ .fi
141
+ .
142
+ .IP "" 0
143
+ .
144
+ .P
145
+ \fI\-h, \-\-help\fR:
146
+ .
147
+ .IP "" 4
148
+ .
149
+ .nf
150
+
151
+ Show the help message
152
+ .
153
+ .fi
154
+ .
155
+ .IP "" 0
156
+ .
157
+ .P
158
+ \fI\-l, \-\-list\fR:
159
+ .
160
+ .IP "" 4
161
+ .
162
+ .nf
163
+
164
+ Display the current configuration when using the `config` command\.
165
+ .
166
+ .fi
167
+ .
168
+ .IP "" 0
169
+ .
170
+ .P
171
+ \fI\-p, \-\-platform\fR=\'PLATFORM\':
172
+ .
173
+ .IP "" 4
174
+ .
175
+ .nf
176
+
177
+ The platform of the gem to yank from `\-\-server` or to mirror from
178
+ `\-\-upstream` (e\.g\. ruby, java, mswin32)
179
+ .
180
+ .fi
181
+ .
182
+ .IP "" 0
183
+ .
184
+ .P
185
+ \fI\-s, \-\-server\fR=\'SERVER\':
186
+ .
187
+ .IP "" 4
188
+ .
189
+ .nf
190
+
191
+ The gem server or stickler\-server(1) URL\. This is used by all the commands\.
192
+ .
193
+ .fi
194
+ .
195
+ .IP "" 0
196
+ .
197
+ .P
198
+ \fI\-u, \-\-upstream\fR=\'SERVER\':
199
+ .
200
+ .IP "" 4
201
+ .
202
+ .nf
203
+
204
+ The upstream server from which to mirror a gem when using the `mirror`
205
+ command\.
206
+ .
207
+ .fi
208
+ .
209
+ .IP "" 0
210
+ .
211
+ .P
212
+ \fI\-v, \-\-version\fR:
213
+ .
214
+ .IP "" 4
215
+ .
216
+ .nf
217
+
218
+ Output the version\.
219
+ .
220
+ .fi
221
+ .
222
+ .IP "" 0
223
+ .
224
+ .SH "CONFIGURATION"
225
+ Stickler uses the \fB\.gem/stickler\fR file to hold its configuration\. It is a yaml file and Currently there are two options\. These are altered using the \fBstickler config\fR command\.
226
+ .
227
+ .P
228
+ \fIupstream\fR: The default upstream server from which to mirror gems\. \fIserver\fR: The default linkstick:stickler\-server[1] to interact with\.
229
+ .
230
+ .P
231
+ An example config file
232
+ .
233
+ .IP "" 4
234
+ .
235
+ .nf
236
+
237
+ \-\-\-
238
+ :server: http://stickler\.example\.com
239
+ :upstream: https://rubygems\.org
240
+ .
241
+ .fi
242
+ .
243
+ .IP "" 0
244
+ .
245
+ .SH "EXAMPLES"
246
+ Push the local \fBmy_gem\-1\.0\.0\.gem\fR file to the stickler\-server(1) at \fIstickler\.example\.com\fR
247
+ .
248
+ .IP "" 4
249
+ .
250
+ .nf
251
+
252
+ stickler push \./my_gem\-1\.0\.0\.gem \-\-server http://stickler\.example\.com/
253
+ .
254
+ .fi
255
+ .
256
+ .IP "" 0
257
+ .
258
+ .P
259
+ Push all the gems in the \fBpkg\fR directory to the stickler\-server(1) at \fIstickler\.example\.com\fR
260
+ .
261
+ .IP "" 4
262
+ .
263
+ .nf
264
+
265
+ stickler push \-\-server http://stickler\.example\.com/ \./pkg/*\.gem
266
+ .
267
+ .fi
268
+ .
269
+ .IP "" 0
270
+ .
271
+ .P
272
+ Yank vesion 1\.0\.0 of my_gem from the gem index on sticker\.example\.com
273
+ .
274
+ .IP "" 4
275
+ .
276
+ .nf
277
+
278
+ stickler yank my_gem \-\-version 1\.0\.0 \-\-server http://stickler\.example\.com/
279
+ .
280
+ .fi
281
+ .
282
+ .IP "" 0
283
+ .
284
+ .P
285
+ Take the +third_party+ gem, version +1\.4\.2+ that is on \fIrubygems\.org\fR and mirror it on \fIstickler\.example\.com\fR
286
+ .
287
+ .IP "" 4
288
+ .
289
+ .nf
290
+
291
+ stickler mirror third_party_gem \-\-gem\-version 0\.4\.2 \-\-upstream http://rubygems\.org/ \-\-server http://stickler\.example\.com/
292
+ stickler mirror \-\-help
293
+ .
294
+ .fi
295
+ .
296
+ .IP "" 0
297
+ .
298
+ .P
299
+ Set the \fBserver\fR and \fBupstream\fR configration values in the \fB\.gem/stickler\fR file\.
300
+ .
301
+ .IP "" 4
302
+ .
303
+ .nf
304
+
305
+ stickler config \-\-add \-\-server http://stickler\.example\.com \-\-upstream http://rubygems\.org/
306
+ .
307
+ .fi
308
+ .
309
+ .IP "" 0
310
+ .
311
+ .SH "SEE ALSO"
312
+ stickler\-server(1), stickler\-passenger\-config(1)
313
+ .
314
+ .SH "AUTHOR"
315
+ Written by Jeremy Hinegardner \fIjeremy@copiousfreetime\.org\fR
316
+ .
317
+ .SH "RESOURCES"
318
+ GitHub project \fIhttps://www\.github\.com/copiousfreetime/stickler\fR
319
+ .
320
+ .SH "BUGS"
321
+ Please report bugs to the github issue tracker \fIhttps://github\.com/copiousfreetime/stickler/issues\fR