stickler 2.1.1 → 2.1.2

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.
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