73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
# File 'lib/enhance_repo/rpm_md/pattern_writer.rb', line 73
def self.write_xml(pattern, io = STDOUT)
builder = Nokogiri::XML::Builder.new(encoding: 'UTF-8') do |xml|
xml.pattern('xmlns' => 'http://novell.com/package/metadata/suse/pattern',
'xmlns:rpm' => 'http://linux.duke.edu/metadata/rpm') do
xml.name pattern.name
xml.arch pattern.architecture
xml.version 'epoch' => '0', 'ver' => pattern.version, 'rel' => pattern.release
xml.icon pattern.icon if pattern.icon
xml.order pattern.order
pattern.summary.each do |lang, text|
if lang.empty?
xml.summary text
else
xml.summary text, 'lang' => lang.to_s
end
end
pattern.description.each do |lang, text|
if lang.empty?
xml.description text
else
xml.description text, 'lang' => lang.to_s
end
end
pattern.category.each do |lang, text|
if lang.empty?
xml.category text
else
xml.category text, 'lang' => lang.to_s
end
end
xml.uservisible if pattern.visible
write_xml_dependency(xml, pattern, :conflicts)
write_xml_dependency(xml, pattern, :supplements)
write_xml_dependency(xml, pattern, :provides)
write_xml_dependency(xml, pattern, :requires)
write_xml_dependency(xml, pattern, :recommends)
write_xml_dependency(xml, pattern, :suggests)
unless pattern.extends.empty?
xml.extends do
pattern.extends.each do |pkg, kind|
xml.item('pattern' => pkg) if kind == 'pattern'
end
end
end
unless pattern.includes.empty?
xml.includes do
pattern.includes.each do |pkg, kind|
xml.item('pattern' => pkg) if kind == 'pattern'
end
end
end
end
end
io << builder.to_xml
end
|