prm 0.2.9 → 0.2.10
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 +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
|
-
|