prm 0.2.9 → 0.2.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/bin/prm +4 -0
- data/lib/prm/repo.rb +13 -9
- data/lib/prm/rpm.rb +2 -4
- data/templates/deb_release.erb +9 -3
- metadata +71 -88
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: c087bcdb19f4bf6f49ed7d42da7362b89ab578e1
|
4
|
+
data.tar.gz: f41c8d28b05461271389139c5d0a24740a780131
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 35ac22da34aba114bdd281e33188a011021e6f6197e9b02e7855480c2b27c4a68a7d565946371f15a5ff4ba54632c3d48add6f43c98ab503cbfbcabb13a8e2c6
|
7
|
+
data.tar.gz: 4e1671cebb3980d553e7cb0e812c8f1e8e6ddfa50650632253bb3569626eb10d7fa63a7fadede73385681e7a56e8e317413340b26a493ab1aae5602016ba6da8
|
data/bin/prm
CHANGED
@@ -16,6 +16,8 @@ class Main < Clamp::Command
|
|
16
16
|
option ["-r", "--release"], "RELEASE", "OS version to create", :required => true
|
17
17
|
option ["-a", "--arch"], "ARCH", "Architecture of repo contents", :required => true
|
18
18
|
option ["-c", "--component"], "COMPONENT", "Component to create [DEB ONLY]"
|
19
|
+
option ["-l", "--label"], "LABEL", "Label for generated repository [DEB ONLY]"
|
20
|
+
option ["-o", "--origin"], "ORIGIN", "Origin for generated repository [DEB ONLY]"
|
19
21
|
option ["--nocache"], :flag, "Don't cache md5 sums [DEB ONLY]"
|
20
22
|
option ["--accesskey"], "ACCESS KEY", "DHO/S3 Access Key", :default => false
|
21
23
|
option ["--secretkey"], "SECRET KEY", "DHO/S3 Secret Key", :default => false
|
@@ -42,6 +44,8 @@ class Main < Clamp::Command
|
|
42
44
|
r.arch = arch
|
43
45
|
r.type = type
|
44
46
|
r.path = path
|
47
|
+
r.label = label
|
48
|
+
r.origin = origin
|
45
49
|
unless gpg.nil?
|
46
50
|
r.gpg = gpg
|
47
51
|
end
|
data/lib/prm/repo.rb
CHANGED
@@ -12,7 +12,7 @@ require 'arr-pm'
|
|
12
12
|
require File.join(File.dirname(__FILE__), 'rpm.rb')
|
13
13
|
|
14
14
|
module Debian
|
15
|
-
def build_apt_repo(path, component, arch, release, gpg, silent, nocache)
|
15
|
+
def build_apt_repo(path, component, arch, release, label, origin, gpg, silent, nocache)
|
16
16
|
release.each { |r|
|
17
17
|
component.each { |c|
|
18
18
|
arch.each { |a|
|
@@ -30,7 +30,7 @@ module Debian
|
|
30
30
|
generate_packages_gz(fpath,pfpath,path,rfpath,r,c,a, silent)
|
31
31
|
}
|
32
32
|
}
|
33
|
-
generate_release(path,r,component,arch)
|
33
|
+
generate_release(path,r,component,arch,label,origin)
|
34
34
|
|
35
35
|
unless gpg == false
|
36
36
|
generate_release_gpg(path,r, gpg)
|
@@ -123,7 +123,7 @@ module Debian
|
|
123
123
|
end
|
124
124
|
|
125
125
|
package_info = [
|
126
|
-
"Filename: #{npath}#{tdeb}",
|
126
|
+
"Filename: #{npath}#{s3_compatible_encode(tdeb)}",
|
127
127
|
"MD5sum: #{md5sum}",
|
128
128
|
"Size: #{init_size}"
|
129
129
|
]
|
@@ -148,7 +148,7 @@ module Debian
|
|
148
148
|
end
|
149
149
|
end
|
150
150
|
|
151
|
-
def generate_release(path,release,component,arch)
|
151
|
+
def generate_release(path,release,component,arch,label,origin)
|
152
152
|
date = Time.now.utc
|
153
153
|
|
154
154
|
release_info = Hash.new()
|
@@ -181,9 +181,7 @@ module Debian
|
|
181
181
|
|
182
182
|
|
183
183
|
template_dir = File.join(File.dirname(__FILE__), "..", "..", "templates")
|
184
|
-
erb = ERB.new(File.
|
185
|
-
file.read
|
186
|
-
}).result(binding)
|
184
|
+
erb = ERB.new(File.read("#{template_dir}/deb_release.erb"), nil, "-").result(binding)
|
187
185
|
|
188
186
|
release_file = File.new("#{path}/dists/#{release}/Release.tmp","wb")
|
189
187
|
release_file.puts erb
|
@@ -203,6 +201,10 @@ module Debian
|
|
203
201
|
system sign_cmd
|
204
202
|
end
|
205
203
|
end
|
204
|
+
|
205
|
+
def s3_compatible_encode(str)
|
206
|
+
str.gsub(/[#\$&'\(\)\*\+,\/:;=\?@\[\]]/) { |x| x.each_byte.map { |b| '%' + b.to_s(16) }.join }
|
207
|
+
end
|
206
208
|
end
|
207
209
|
|
208
210
|
module SNAP
|
@@ -347,6 +349,8 @@ module PRM
|
|
347
349
|
attr_accessor :component
|
348
350
|
attr_accessor :arch
|
349
351
|
attr_accessor :release
|
352
|
+
attr_accessor :label
|
353
|
+
attr_accessor :origin
|
350
354
|
attr_accessor :gpg
|
351
355
|
attr_accessor :secretkey
|
352
356
|
attr_accessor :accesskey
|
@@ -364,13 +368,13 @@ module PRM
|
|
364
368
|
end
|
365
369
|
if directory
|
366
370
|
silent = true
|
367
|
-
build_apt_repo(path,pcomponent,parch,prelease,gpg,silent,nocache)
|
371
|
+
build_apt_repo(path,pcomponent,parch,prelease,label,origin,gpg,silent,nocache)
|
368
372
|
if move_packages(path,pcomponent,parch,prelease,directory) == false
|
369
373
|
return
|
370
374
|
end
|
371
375
|
end
|
372
376
|
silent = false
|
373
|
-
build_apt_repo(path,pcomponent,parch,prelease,gpg,silent,nocache)
|
377
|
+
build_apt_repo(path,pcomponent,parch,prelease,label,origin,gpg,silent,nocache)
|
374
378
|
elsif "#{@type}" == "sync"
|
375
379
|
parch,pcomponent,prelease = _parse_vars(arch,component,release)
|
376
380
|
sync_to_dho(path, accesskey, secretkey,pcomponent,prelease)
|
data/lib/prm/rpm.rb
CHANGED
@@ -58,9 +58,7 @@ module Redhat
|
|
58
58
|
template_dir = File.join(File.dirname(__FILE__), "..", "..", "templates")
|
59
59
|
|
60
60
|
erb_files.each { |f|
|
61
|
-
erb = ERB.new(File.
|
62
|
-
file.read
|
63
|
-
}).result(binding)
|
61
|
+
erb = ERB.new(File.read("#{template_dir}/#{f}.xml.erb"), nil, "-").result(binding)
|
64
62
|
|
65
63
|
release_file = File.new("#{repo_path}/#{f}.xml","wb")
|
66
64
|
release_file.puts erb
|
@@ -115,7 +113,7 @@ module Redhat
|
|
115
113
|
timestamp = Time.now.to_i
|
116
114
|
|
117
115
|
repomd_xml << create_repomd_xml(xml_data_hash,timestamp)
|
118
|
-
erb_two = ERB.new(File.open("#{template_dir}/repomd.xml.erb") { |file|
|
116
|
+
erb_two = ERB.new(File.open("#{template_dir}/repomd.xml.erb", nil, "-") { |file|
|
119
117
|
file.read
|
120
118
|
}).result(binding)
|
121
119
|
|
data/templates/deb_release.erb
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
Date: <%= date %>
|
2
2
|
Suite: <%= release %>
|
3
|
+
<% if origin -%>
|
4
|
+
Origin: <%= origin %>
|
5
|
+
<% end -%>
|
6
|
+
<% if label -%>
|
7
|
+
Label: <%= label %>
|
8
|
+
<% end -%>
|
3
9
|
MD5Sum:
|
4
10
|
d41d8cd98f00b204e9800998ecf8427e 0 Release
|
5
|
-
<% release_info.each_pair do |k,v|
|
6
|
-
"#{release_info[k]['md5sum']} #{release_info[k]['size']} #{k}" %>
|
7
|
-
<% end
|
11
|
+
<% release_info.each_pair do |k,v| -%>
|
12
|
+
<%= "#{release_info[k]['md5sum']} #{release_info[k]['size']} #{k}" %>
|
13
|
+
<% end -%>
|
metadata
CHANGED
@@ -1,128 +1,111 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: prm
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 2
|
9
|
-
- 9
|
10
|
-
version: 0.2.9
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.10
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Brett Gailey
|
14
8
|
autorequire:
|
15
9
|
bindir: bin
|
16
10
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
- !ruby/object:Gem::Dependency
|
11
|
+
date: 2015-08-01 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
21
14
|
name: peach
|
22
|
-
|
23
|
-
|
24
|
-
none: false
|
25
|
-
requirements:
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
26
17
|
- - ">="
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
|
29
|
-
segments:
|
30
|
-
- 0
|
31
|
-
version: "0"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
32
20
|
type: :runtime
|
33
|
-
version_requirements: *id001
|
34
|
-
- !ruby/object:Gem::Dependency
|
35
|
-
name: aws-s3
|
36
21
|
prerelease: false
|
37
|
-
|
38
|
-
|
39
|
-
requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
40
24
|
- - ">="
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: aws-s3
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
46
34
|
type: :runtime
|
47
|
-
version_requirements: *id002
|
48
|
-
- !ruby/object:Gem::Dependency
|
49
|
-
name: clamp
|
50
35
|
prerelease: false
|
51
|
-
|
52
|
-
|
53
|
-
requirements:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
54
38
|
- - ">="
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: clamp
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
60
48
|
type: :runtime
|
61
|
-
version_requirements: *id003
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: arr-pm
|
64
49
|
prerelease: false
|
65
|
-
|
66
|
-
|
67
|
-
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: arr-pm
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
68
59
|
- - ">="
|
69
|
-
- !ruby/object:Gem::Version
|
70
|
-
|
71
|
-
segments:
|
72
|
-
- 0
|
73
|
-
version: "0"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
74
62
|
type: :runtime
|
75
|
-
|
76
|
-
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
description: 'PRM (Package Repository Manager) is an Operating System independent
|
70
|
+
Package Repository tool. It allows you to quickly build Debian and Yum Package Repositories.
|
71
|
+
PRM supports Repository syncing to DreamObjects '
|
77
72
|
email: brett.gailey@dreamhost.com
|
78
|
-
executables:
|
73
|
+
executables:
|
79
74
|
- prm
|
80
75
|
extensions: []
|
81
|
-
|
82
76
|
extra_rdoc_files: []
|
83
|
-
|
84
|
-
|
85
|
-
- lib/prm/rpm.rb
|
86
|
-
- lib/prm/repo.rb
|
77
|
+
files:
|
78
|
+
- bin/prm
|
87
79
|
- lib/prm.rb
|
80
|
+
- lib/prm/repo.rb
|
81
|
+
- lib/prm/rpm.rb
|
88
82
|
- templates/deb_release.erb
|
89
83
|
- templates/filelists.xml.erb
|
90
84
|
- templates/other.xml.erb
|
91
85
|
- templates/primary.xml.erb
|
92
86
|
- templates/repomd.xml.erb
|
93
|
-
- bin/prm
|
94
87
|
homepage: https://github.com/dnbert/prm
|
95
|
-
licenses:
|
88
|
+
licenses:
|
96
89
|
- MIT
|
90
|
+
metadata: {}
|
97
91
|
post_install_message:
|
98
92
|
rdoc_options: []
|
99
|
-
|
100
|
-
require_paths:
|
93
|
+
require_paths:
|
101
94
|
- lib
|
102
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
103
|
-
|
104
|
-
requirements:
|
95
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
96
|
+
requirements:
|
105
97
|
- - ">="
|
106
|
-
- !ruby/object:Gem::Version
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
version: "0"
|
111
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
112
|
-
none: false
|
113
|
-
requirements:
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: '0'
|
100
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
114
102
|
- - ">="
|
115
|
-
- !ruby/object:Gem::Version
|
116
|
-
|
117
|
-
segments:
|
118
|
-
- 0
|
119
|
-
version: "0"
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '0'
|
120
105
|
requirements: []
|
121
|
-
|
122
106
|
rubyforge_project:
|
123
|
-
rubygems_version:
|
107
|
+
rubygems_version: 2.2.1
|
124
108
|
signing_key:
|
125
|
-
specification_version:
|
109
|
+
specification_version: 4
|
126
110
|
summary: Package Repository Manager
|
127
111
|
test_files: []
|
128
|
-
|