prm 0.0.1 → 0.0.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.
Files changed (2) hide show
  1. data/prm/repo.rb +36 -1
  2. metadata +5 -5
data/prm/repo.rb CHANGED
@@ -3,6 +3,7 @@ require 'fileutils'
3
3
  require 'zlib'
4
4
  require 'digest/md5'
5
5
  require 'peach'
6
+ require 'erb'
6
7
 
7
8
  module Debian
8
9
  def build_apt_repo(path, component, arch, release)
@@ -21,6 +22,7 @@ module Debian
21
22
  generate_packages_gz(fpath,pfpath,path,rfpath,r,c,a)
22
23
  }
23
24
  }
25
+ generate_release(path,r,component,arch)
24
26
  }
25
27
  end
26
28
 
@@ -74,7 +76,40 @@ module Debian
74
76
  Zlib::GzipWriter.open(pfpath + ".gz") do |gz|
75
77
  gz.write data
76
78
  end
77
- `apt-ftparchive release #{path}/dists/#{r}/ > #{path}/dists/#{r}/Release`
79
+ end
80
+
81
+ def generate_release(path,release,component,arch)
82
+ date = Time.now.utc
83
+
84
+ release_info = Hash.new()
85
+ unreasonable_array = Array.new
86
+ unreasonable_array = ["Packages", "Packages.gz", "Release"]
87
+
88
+
89
+ component.each do |c|
90
+ arch.each do |ar|
91
+ unreasonable_array.each do |unr|
92
+ tmp_path = "#{path}/dists/#{release}/#{c}/binary-#{ar}"
93
+ tmp_hash = Hash.new
94
+ filename = "#{c}/binary-#{ar}/#{unr}".chomp
95
+
96
+ byte_size = File.size("#{tmp_path}/#{unr}").to_s
97
+ md5sum = Digest::MD5.file("#{tmp_path}/#{unr}").to_s
98
+
99
+ tmp_hash['size'] = byte_size
100
+ tmp_hash['md5sum'] = md5sum
101
+ release_info[filename] = tmp_hash
102
+ end
103
+ end
104
+ end
105
+
106
+ erb = ERB.new(File.open('templates/deb_release.erb') { |file|
107
+ file.read
108
+ }).result(binding)
109
+
110
+ release_file = File.new("#{path}/dists/#{release}/Release","wb")
111
+ release_file.puts erb
112
+ release_file.close
78
113
  end
79
114
  end
80
115
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prm
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 27
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 1
10
- version: 0.0.1
9
+ - 2
10
+ version: 0.0.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Brett Gailey
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-12-08 00:00:00 -08:00
18
+ date: 2012-12-27 00:00:00 -08:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: "0"
33
33
  type: :runtime
34
34
  version_requirements: *id001
35
- description: PRM (Package Repository Manager) is a Package Repository tool
35
+ description: PRM (Package Repository Manager) is an Operating System independent Package Repository tool
36
36
  email: brett.gailey@dreamhost.com
37
37
  executables:
38
38
  - prm