Class: EnhanceRepo::Other
- Inherits:
-
Object
- Object
- EnhanceRepo::Other
- Defined in:
- lib/enhance_repo/other.rb
Overview
represents filelist data
Instance Method Summary collapse
- #empty? ⇒ Boolean
-
#initialize(dir) ⇒ Other
constructor
A new instance of Other.
- #read ⇒ Object
-
#write(file) ⇒ Object
write filelists.xml.
- #write_package(file, rpmfile) ⇒ Object
Constructor Details
#initialize(dir) ⇒ Other
Returns a new instance of Other.
35 36 37 38 |
# File 'lib/enhance_repo/other.rb', line 35 def initialize(dir) @dir = dir @rpmfiles = [] end |
Instance Method Details
#empty? ⇒ Boolean
46 47 48 |
# File 'lib/enhance_repo/other.rb', line 46 def empty? @rpmfiles.empty? end |
#read ⇒ Object
40 41 42 43 44 |
# File 'lib/enhance_repo/other.rb', line 40 def read Dir["#{@dir}/**/*.rpm"].each do |rpmfile| @rpmfiles << rpmfile end end |
#write(file) ⇒ Object
write filelists.xml
67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/enhance_repo/other.rb', line 67 def write(file) # builder = Builder::XmlMarkup.new(:target=>file, :indent=>2) # builder.instruct! # xml = builder.tag!("otherdata", 'xmlns' => 'xmlns="http://linux.duke.edu/metadata/other"', 'packages'=> @rpmfiles.size ) do |b| @rpmfiles.each do |rpmfile| # done package tag write_package(file, rpmfile) end # next package # end end |
#write_package(file, rpmfile) ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/enhance_repo/other.rb', line 50 def write_package(file, rpmfile) b = Builder::XmlMarkup.new(target: file, indent: 2, initial: 2) pkgid = PackageId.new(rpmfile) puts pkgid.rpm.methods.sort pkgid[RPM::TAG_CHANGELOGTEXT].each do |ch| puts ch end exit b.package('pkgid' => pkgid.checksum, 'name' => pkgid.name, 'arch' => pkgid.arch) do |b| b.version('epoch' => pkgid.version.e, 'ver' => pkgid.version.v, 'rel' => pkgid.version.r) pkgid.files.each do |f| b.file f end end end |