stickler 2.1.1 → 2.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/HISTORY.asciidoc CHANGED
@@ -2,6 +2,10 @@ Stickler Changelog
2
2
  ==================
3
3
  Jeremy Hinegardner <jeremy@hinegardner.org>
4
4
 
5
+ Version 2.1.2 - 2011-03-31
6
+ --------------------------
7
+ * Fix bug introduced in 2.1.1 where .gemspec urls would match but .gem urls would not
8
+
5
9
  Version 2.1.1 - 2011-03-31
6
10
  --------------------------
7
11
  * Fix bug where stickler would only serve ruby platform gems
@@ -56,6 +56,8 @@ module Stickler::Middleware
56
56
  include Stickler::Middleware::Helpers::Specs
57
57
  include Stickler::Logable
58
58
 
59
+ NAME_VERSION_PLATFORM_REGEX = "(.+)-([0-9.]+[0-9a-z.]*)(?:-(.+))?"
60
+
59
61
  # The respository of the Index is a Repository::Null
60
62
  attr_reader :repo
61
63
 
@@ -123,7 +125,7 @@ module Stickler::Middleware
123
125
  # Actually serve up the gem. This is really only used by the child classes.
124
126
  # an Index instance will never have any gems to return.
125
127
  #
126
- get %r{\A/gems/(.*?)-([0-9.]+)(-.*?)?\.gem\Z} do
128
+ get %r{\A/gems/#{NAME_VERSION_PLATFORM_REGEX}\.gem\Z} do
127
129
  name, version, platform = *params[:captures]
128
130
  spec = Stickler::SpecLite.new( name, version, platform )
129
131
  full_path = @repo.full_path_to_gem( spec )
@@ -140,7 +142,7 @@ module Stickler::Middleware
140
142
  #
141
143
  # To support pre-releases the a-z has been added to the version
142
144
  #
143
- get %r{\A/quick/Marshal.#{Gem.marshal_version}/(.+)-([0-9.]+[0-9a-z.]*)(?:-(.+))?\.gemspec\.rz\Z} do
145
+ get %r{\A/quick/Marshal.#{Gem.marshal_version}/#{NAME_VERSION_PLATFORM_REGEX}\.gemspec\.rz\Z} do
144
146
  name, version, platform = *params[:captures]
145
147
  spec = Stickler::SpecLite.new( name, version, platform )
146
148
  full_path = @repo.full_path_to_specification( spec )
@@ -12,7 +12,7 @@ module Stickler
12
12
 
13
13
  MAJOR = 2
14
14
  MINOR = 1
15
- BUILD = 1
15
+ BUILD = 2
16
16
 
17
17
  def self.to_ary
18
18
  [ MAJOR, MINOR, BUILD ]
@@ -0,0 +1,106 @@
1
+ '\" t
2
+ .\" Title: stickler-passenger-config
3
+ .\" Author: [see the "AUTHOR" section]
4
+ .\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
5
+ .\" Date: 03/31/2011
6
+ .\" Manual: \ \&
7
+ .\" Source: \ \&
8
+ .\" Language: English
9
+ .\"
10
+ .TH "STICKLER\-PASSENGER\" "1" "03/31/2011" "\ \&" "\ \&"
11
+ .\" -----------------------------------------------------------------
12
+ .\" * Define some portability stuff
13
+ .\" -----------------------------------------------------------------
14
+ .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15
+ .\" http://bugs.debian.org/507673
16
+ .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
17
+ .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18
+ .ie \n(.g .ds Aq \(aq
19
+ .el .ds Aq '
20
+ .\" -----------------------------------------------------------------
21
+ .\" * set default formatting
22
+ .\" -----------------------------------------------------------------
23
+ .\" disable hyphenation
24
+ .nh
25
+ .\" disable justification (adjust text to left margin only)
26
+ .ad l
27
+ .\" -----------------------------------------------------------------
28
+ .\" * MAIN CONTENT STARTS HERE *
29
+ .\" -----------------------------------------------------------------
30
+ .SH "NAME"
31
+ stickler-passenger-config \- output a Phusion Passenger config for stickler
32
+ .SH "SYNOPSIS"
33
+ .sp
34
+ \fBstickler\-passenger\-config\fR [\fI\-\-help\fR] [\fICOMMAND\fR] [\fICOMMAND_OPTIONS\fR] /path/to/stickler/root
35
+ .SH "DESCRIPTION"
36
+ .sp
37
+ \fBstickler\-passenger\-config\fR will create a stickler web application directory, including the config\&.ru file for use with Phusion Passenger\&. It will then output the stanza to be incorporated into an Apache or Nginx configuration\&.
38
+ .SH "COMMANDS"
39
+ .TS
40
+ tab(:);
41
+ lt lt
42
+ lt lt.
43
+ T{
44
+ .sp
45
+ \fBapache2\fR
46
+ T}:T{
47
+ .sp
48
+ Output an Apache config\&.
49
+ T}
50
+ T{
51
+ .sp
52
+ \fBnginx\fR
53
+ T}:T{
54
+ .sp
55
+ Output an Nginx config\&.
56
+ T}
57
+ .TE
58
+ .sp 1
59
+ .SH "OPTIONS"
60
+ .PP
61
+ \fB\-h, \-\-help\fR
62
+ .RS 4
63
+ Show the help message
64
+ .RE
65
+ .PP
66
+ \fB\-v, \-\-version\fR
67
+ .RS 4
68
+ Output the version\&.
69
+ .RE
70
+ .SH "EXAMPLES"
71
+ .sp
72
+ Output a passenger config for use with apache\&.
73
+ .sp
74
+ .if n \{\
75
+ .RS 4
76
+ .\}
77
+ .nf
78
+ stickler\-passenger\-config apache2 /var/lib/stickler
79
+ .fi
80
+ .if n \{\
81
+ .RE
82
+ .\}
83
+ .sp
84
+ Output a pasenger a config to be integrated with an nginx config\&.
85
+ .sp
86
+ .if n \{\
87
+ .RS 4
88
+ .\}
89
+ .nf
90
+ stickler\-passenger\-config nginx /var/lib/stickler
91
+ .fi
92
+ .if n \{\
93
+ .RE
94
+ .\}
95
+ .SH "SEE ALSO"
96
+ .sp
97
+ \fBstickler\fR(1), \fBstickler-server\fR(1)
98
+ .SH "AUTHOR"
99
+ .sp
100
+ Written by Jeremy Hinegardner <jeremy@hinegardner\&.org>
101
+ .SH "RESOURCES"
102
+ .sp
103
+ GitHub project: http://www\&.github\&.com/copiousfreetime/stickler
104
+ .SH "BUGS"
105
+ .sp
106
+ Please report bugs to the github issue tracker http://github\&.com/copiousfreetime/stickler/issues
@@ -0,0 +1,131 @@
1
+ '\" t
2
+ .\" Title: stickler-server
3
+ .\" Author: [see the "AUTHOR" section]
4
+ .\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
5
+ .\" Date: 03/31/2011
6
+ .\" Manual: \ \&
7
+ .\" Source: \ \&
8
+ .\" Language: English
9
+ .\"
10
+ .TH "STICKLER\-SERVER" "1" "03/31/2011" "\ \&" "\ \&"
11
+ .\" -----------------------------------------------------------------
12
+ .\" * Define some portability stuff
13
+ .\" -----------------------------------------------------------------
14
+ .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15
+ .\" http://bugs.debian.org/507673
16
+ .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
17
+ .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18
+ .ie \n(.g .ds Aq \(aq
19
+ .el .ds Aq '
20
+ .\" -----------------------------------------------------------------
21
+ .\" * set default formatting
22
+ .\" -----------------------------------------------------------------
23
+ .\" disable hyphenation
24
+ .nh
25
+ .\" disable justification (adjust text to left margin only)
26
+ .ad l
27
+ .\" -----------------------------------------------------------------
28
+ .\" * MAIN CONTENT STARTS HERE *
29
+ .\" -----------------------------------------------------------------
30
+ .SH "NAME"
31
+ stickler-server \- start and stop the stickler server process
32
+ .SH "SYNOPSIS"
33
+ .sp
34
+ \fBstickler\-server\fR [\fI\-\-help\fR] [\fICOMMAND\fR] [\fICOMMAND_OPTIONS\fR] /path/to/stickler/root
35
+ .SH "DESCRIPTION"
36
+ .sp
37
+ stickler\-server is the daemon process that houses the repositories of proprietary gems and/or mirrors of third party gems\&.
38
+ .SH "COMMANDS"
39
+ .TS
40
+ tab(:);
41
+ lt lt
42
+ lt lt.
43
+ T{
44
+ .sp
45
+ \fBstart\fR
46
+ T}:T{
47
+ .sp
48
+ Start the stickler server process
49
+ T}
50
+ T{
51
+ .sp
52
+ \fBstop\fR
53
+ T}:T{
54
+ .sp
55
+ Stop the stickler server process
56
+ T}
57
+ .TE
58
+ .sp 1
59
+ .SH "OPTIONS"
60
+ .PP
61
+ \fB\-d, \-\-daemonize\fR
62
+ .RS 4
63
+ Daemonize the server
64
+ .RE
65
+ .PP
66
+ \fB\-\-help\fR
67
+ .RS 4
68
+ Show the help message
69
+ .RE
70
+ .PP
71
+ \fB\-h, \-\-host\fR=\fIHOST\fR
72
+ .RS 4
73
+ The host address to bind to (default: 0\&.0\&.0\&.0)
74
+ .RE
75
+ .PP
76
+ \fB\-o, \-\-port\fR=\fIPORT\fR
77
+ .RS 4
78
+ The port to bind to (default: 6789)
79
+ .RE
80
+ .PP
81
+ \fB\-p, \-\-pid\fR=\fIPID_FILE\fR
82
+ .RS 4
83
+ Path to wriate a pid file to after daemonizing
84
+ .RE
85
+ .PP
86
+ \fB\-s, \-\-server\fR=\fISERVER\fR
87
+ .RS 4
88
+ The rack handler to use: thin, mongrel, webrick, etc\&.
89
+ .RE
90
+ .PP
91
+ \fB\-v, \-\-version\fR
92
+ .RS 4
93
+ Output the version\&.
94
+ .RE
95
+ .SH "EXAMPLES"
96
+ .sp
97
+ Start the server, daemonized, using /var/lib/stickler as the root directory of all the repositories\&.
98
+ .sp
99
+ .if n \{\
100
+ .RS 4
101
+ .\}
102
+ .nf
103
+ stickler\-server start \-\-daemonize /var/lib/stickler
104
+ .fi
105
+ .if n \{\
106
+ .RE
107
+ .\}
108
+ .sp
109
+ Stop the server that is using /var/lib/stickler as its root directory\&.
110
+ .sp
111
+ .if n \{\
112
+ .RS 4
113
+ .\}
114
+ .nf
115
+ stickler\-server stop /var/lib/stickler
116
+ .fi
117
+ .if n \{\
118
+ .RE
119
+ .\}
120
+ .SH "SEE ALSO"
121
+ .sp
122
+ \fBstickler\fR(1), \fBstickler-passenger-config\fR(1)
123
+ .SH "AUTHOR"
124
+ .sp
125
+ Written by Jeremy Hinegardner <jeremy@hinegardner\&.org>
126
+ .SH "RESOURCES"
127
+ .sp
128
+ GitHub project: http://www\&.github\&.com/copiousfreetime/stickler
129
+ .SH "BUGS"
130
+ .sp
131
+ Please report bugs to the github issue tracker http://github\&.com/copiousfreetime/stickler/issues
data/man/stickler.1 ADDED
@@ -0,0 +1,262 @@
1
+ '\" t
2
+ .\" Title: stickler
3
+ .\" Author: [see the "AUTHOR" section]
4
+ .\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
5
+ .\" Date: 03/31/2011
6
+ .\" Manual: \ \&
7
+ .\" Source: \ \&
8
+ .\" Language: English
9
+ .\"
10
+ .TH "STICKLER" "1" "03/31/2011" "\ \&" "\ \&"
11
+ .\" -----------------------------------------------------------------
12
+ .\" * Define some portability stuff
13
+ .\" -----------------------------------------------------------------
14
+ .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15
+ .\" http://bugs.debian.org/507673
16
+ .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
17
+ .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18
+ .ie \n(.g .ds Aq \(aq
19
+ .el .ds Aq '
20
+ .\" -----------------------------------------------------------------
21
+ .\" * set default formatting
22
+ .\" -----------------------------------------------------------------
23
+ .\" disable hyphenation
24
+ .nh
25
+ .\" disable justification (adjust text to left margin only)
26
+ .ad l
27
+ .\" -----------------------------------------------------------------
28
+ .\" * MAIN CONTENT STARTS HERE *
29
+ .\" -----------------------------------------------------------------
30
+ .SH "NAME"
31
+ stickler \- command line program to interact with a stickler\-server
32
+ .SH "SYNOPSIS"
33
+ .sp
34
+ \fBstickler\fR [\fI\-\-help\fR] [\fICOMMAND\fR] [\fICOMMAND_OPTIONS\fR] [\fIgemfile(s)\fR]
35
+ .SH "DESCRIPTION"
36
+ .sp
37
+ Stickler is a tool to organize and maintain an internal gem repository of proprietary gems and/or a mirror of third party gems\&.
38
+ .sp
39
+ The \fBstickler\fR(1) command interacts with an instance of \fBstickler-server\fR(1) to control the publishing and mirroring of ruby gems\&.
40
+ .SH "COMMANDS"
41
+ .TS
42
+ tab(:);
43
+ lt lt
44
+ lt lt
45
+ lt lt
46
+ lt lt
47
+ lt lt.
48
+ T{
49
+ .sp
50
+ \fBpush\fR
51
+ T}:T{
52
+ .sp
53
+ Push one or more gems to a gemserver\&. This works the same as gem push although there is no authorization mechanism\&.
54
+ T}
55
+ T{
56
+ .sp
57
+ \fByank\fR
58
+ T}:T{
59
+ .sp
60
+ Remove a gem from the gemserver\(cqs index\&. It will still be available from direct download\&. This works the same as gem yank\&.
61
+ T}
62
+ T{
63
+ .sp
64
+ \fBmirror\fR
65
+ T}:T{
66
+ .sp
67
+ Pull a specific version of a gem from an upstream gem server and store it in a \fBstickler-server\fR(1)
68
+ T}
69
+ T{
70
+ .sp
71
+ \fBconfig\fR
72
+ T}:T{
73
+ .sp
74
+ Access or update the stickler client configuration\&.
75
+ T}
76
+ T{
77
+ .sp
78
+ \fBlist\fR
79
+ T}:T{
80
+ .sp
81
+ List all the gems in the remote repository
82
+ T}
83
+ .TE
84
+ .sp 1
85
+ .SH "OPTIONS"
86
+ .sp
87
+ These are the options for all commands\&. Not all options apply to all commands\&.
88
+ .PP
89
+ \fB\-a, \-\-add\fR
90
+ .RS 4
91
+ Add the
92
+ \-\-server
93
+ or
94
+ \-\-upstream
95
+ items to the config file when using the
96
+ config
97
+ command\&.
98
+ .RE
99
+ .PP
100
+ \fB\-d, \-\-debug\fR
101
+ .RS 4
102
+ Output debug information
103
+ .RE
104
+ .PP
105
+ \fB\-g, \-\-gem\-version\fR=\fIVERSION\fR
106
+ .RS 4
107
+ The version of the gem to yank from
108
+ \-\-server
109
+ or to mirror from
110
+ \-\-upstream\&.
111
+ .RE
112
+ .PP
113
+ \fB\-h, \-\-help\fR
114
+ .RS 4
115
+ Show the help message
116
+ .RE
117
+ .PP
118
+ \fB\-l, \-\-list\fR
119
+ .RS 4
120
+ Display the current configuration when using the
121
+ config
122
+ command\&.
123
+ .RE
124
+ .PP
125
+ \fB\-p, \-\-platform\fR=\fIPLATFORM\fR
126
+ .RS 4
127
+ The platform of the gem to yank from
128
+ \-\-server
129
+ or to mirror from
130
+ \-\-upstream
131
+ (e\&.g\&. ruby, java, mswin32)
132
+ .RE
133
+ .PP
134
+ \fB\-s, \-\-server\fR=\fISERVER\fR
135
+ .RS 4
136
+ The gem server or
137
+ \fBstickler-server\fR(1)
138
+ URL\&. This is used by all the commands\&.
139
+ .RE
140
+ .PP
141
+ \fB\-u, \-\-upstream\fR=\fISERVER\fR
142
+ .RS 4
143
+ The upstream server from which to mirror a gem when using the
144
+ mirror
145
+ command\&.
146
+ .RE
147
+ .PP
148
+ \fB\-v, \-\-version\fR
149
+ .RS 4
150
+ Output the version\&.
151
+ .RE
152
+ .SH "CONFIGURATION"
153
+ .sp
154
+ Stickler uses the \&.gem/stickler file to hold its configuration\&. It is a yaml file and Currently there are two options\&. These are altered using the stickler config command\&.
155
+ .TS
156
+ tab(:);
157
+ lt lt
158
+ lt lt.
159
+ T{
160
+ .sp
161
+ \fBupstream\fR
162
+ T}:T{
163
+ .sp
164
+ The default upstream server from which to mirror gems\&.
165
+ T}
166
+ T{
167
+ .sp
168
+ \fBserver\fR
169
+ T}:T{
170
+ .sp
171
+ The default \fBstickler-server\fR(1) to interact with\&.
172
+ T}
173
+ .TE
174
+ .sp 1
175
+ .sp
176
+ An example config file
177
+ .sp
178
+ .if n \{\
179
+ .RS 4
180
+ .\}
181
+ .nf
182
+ \-\-\-
183
+ :server: http://stickler\&.example\&.com
184
+ :upstream: https://rubygems\&.org
185
+ .fi
186
+ .if n \{\
187
+ .RE
188
+ .\}
189
+ .SH "EXAMPLES"
190
+ .sp
191
+ Push the local my_gem\-1\&.0\&.0\&.gem file to the \fBstickler-server\fR(1) at \fBstickler\&.example\&.com\fR
192
+ .sp
193
+ .if n \{\
194
+ .RS 4
195
+ .\}
196
+ .nf
197
+ stickler push \&./my_gem\-1\&.0\&.0\&.gem \-\-server http://stickler\&.example\&.com/
198
+ .fi
199
+ .if n \{\
200
+ .RE
201
+ .\}
202
+ .sp
203
+ Push all the gems in the pkg directory to the \fBstickler-server\fR(1) at \fBstickler\&.example\&.com\fR
204
+ .sp
205
+ .if n \{\
206
+ .RS 4
207
+ .\}
208
+ .nf
209
+ stickler push \-\-server http://stickler\&.example\&.com/ \&./pkg/*\&.gem
210
+ .fi
211
+ .if n \{\
212
+ .RE
213
+ .\}
214
+ .sp
215
+ Yank vesion 1\&.0\&.0 of my_gem from the gem index on sticker\&.example\&.com
216
+ .sp
217
+ .if n \{\
218
+ .RS 4
219
+ .\}
220
+ .nf
221
+ stickler yank my_gem \-\-version 1\&.0\&.0 \-\-server http://stickler\&.example\&.com/
222
+ .fi
223
+ .if n \{\
224
+ .RE
225
+ .\}
226
+ .sp
227
+ Take the third_party gem, version 1\&.4\&.2 that is on \fBrubygems\&.org\fR and mirror it on \fBstickler\&.example\&.com\fR
228
+ .sp
229
+ .if n \{\
230
+ .RS 4
231
+ .\}
232
+ .nf
233
+ stickler mirror third_party_gem \-\-gem\-version 0\&.4\&.2 \-\-upstream http://rubygems\&.org/ \-\-server http://stickler\&.example\&.com/
234
+ stickler mirror \-\-help
235
+ .fi
236
+ .if n \{\
237
+ .RE
238
+ .\}
239
+ .sp
240
+ Set the server and upstream configration values in the \&.gem/stickler file\&.
241
+ .sp
242
+ .if n \{\
243
+ .RS 4
244
+ .\}
245
+ .nf
246
+ stickler config \-\-add \-\-server http://stickler\&.example\&.com \-\-upstream http://rubygems\&.org/
247
+ .fi
248
+ .if n \{\
249
+ .RE
250
+ .\}
251
+ .SH "SEE ALSO"
252
+ .sp
253
+ \fBstickler-server\fR(1), \fBstickler-passenger-config\fR(1)
254
+ .SH "AUTHOR"
255
+ .sp
256
+ Written by Jeremy Hinegardner <jeremy@hinegardner\&.org>
257
+ .SH "RESOURCES"
258
+ .sp
259
+ GitHub project: http://www\&.github\&.com/copiousfreetime/stickler
260
+ .SH "BUGS"
261
+ .sp
262
+ Please report bugs to the github issue tracker http://github\&.com/copiousfreetime/stickler/issues
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stickler
3
3
  version: !ruby/object:Gem::Version
4
- hash: 9
4
+ hash: 15
5
5
  prerelease:
6
6
  segments:
7
7
  - 2
8
8
  - 1
9
- - 1
10
- version: 2.1.1
9
+ - 2
10
+ version: 2.1.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jeremy Hinegardner
@@ -282,8 +282,11 @@ files:
282
282
  - lib/stickler/spec_lite.rb
283
283
  - lib/stickler/version.rb
284
284
  - man/asciidoc.conf
285
+ - man/stickler-passenger-config.1
285
286
  - man/stickler-passenger-config.asciidoc
287
+ - man/stickler-server.1
286
288
  - man/stickler-server.asciidoc
289
+ - man/stickler.1
287
290
  - man/stickler.asciidoc
288
291
  - spec/data/gems/bar-1.0.0.gem
289
292
  - spec/data/gems/baz-3.1.4-java.gem