prm 0.2.9 → 0.2.10

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -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.open("#{template_dir}/deb_release.erb") { |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)
@@ -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.open("#{template_dir}/#{f}.xml.erb") { |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
 
@@ -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
- hash: 5
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
- date: 2014-01-14 00:00:00 Z
19
- dependencies:
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
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
- requirements:
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
26
17
  - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 3
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
- requirement: &id002 !ruby/object:Gem::Requirement
38
- none: false
39
- requirements:
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
40
24
  - - ">="
41
- - !ruby/object:Gem::Version
42
- hash: 3
43
- segments:
44
- - 0
45
- version: "0"
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
- requirement: &id003 !ruby/object:Gem::Requirement
52
- none: false
53
- requirements:
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
54
38
  - - ">="
55
- - !ruby/object:Gem::Version
56
- hash: 3
57
- segments:
58
- - 0
59
- version: "0"
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
- requirement: &id004 !ruby/object:Gem::Requirement
66
- none: false
67
- requirements:
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
- hash: 3
71
- segments:
72
- - 0
73
- version: "0"
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
74
62
  type: :runtime
75
- version_requirements: *id004
76
- description: "PRM (Package Repository Manager) is an Operating System independent Package Repository tool. It allows you to quickly build Debian and Yum Package Repositories. PRM supports Repository syncing to DreamObjects "
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
- files:
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
- none: false
104
- requirements:
95
+ required_ruby_version: !ruby/object:Gem::Requirement
96
+ requirements:
105
97
  - - ">="
106
- - !ruby/object:Gem::Version
107
- hash: 3
108
- segments:
109
- - 0
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
- hash: 3
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: 1.8.25
107
+ rubygems_version: 2.2.1
124
108
  signing_key:
125
- specification_version: 3
109
+ specification_version: 4
126
110
  summary: Package Repository Manager
127
111
  test_files: []
128
-