def converted_from(origin)
if origin == FPM::Package::Gem
fixed_deps = []
self.dependencies.collect do |dep|
fixed_deps = fixed_deps + expand_pessimistic_constraints(dep)
end
self.dependencies = fixed_deps
self.provides = self.provides.collect do |provides|
if name=/^(#{attributes[:gem_package_name_prefix]})-([^\s]+)\s*(.*)$/.match(provides)
"#{name[1]}(#{name[2]})#{name[3] ? " #{name[3]}" : ""}"
else
provides
end
end
if !self.attributes[:rpm_verbatim_gem_dependencies?]
self.dependencies = self.dependencies.collect do |dependency|
if name=/^(#{attributes[:gem_package_name_prefix]})-([^\s]+)\s*(.*)$/.match(dependency)
"#{name[1]}(#{name[2]})#{name[3] ? " #{name[3]}" : ""}"
else
dependency
end
end
end
end
self.dependencies = self.dependencies.select do |dep|
name, op, version = dep.split(/\s+/)
dep_ok = true
if op == '!='
self.conflicts << "#{name} = #{version}"
dep_ok = false
end
dep_ok
end
if self.attributes[:rpm_ignore_iteration_in_dependencies?]
self.dependencies = self.dependencies.collect do |dep|
name, op, version = dep.split(/\s+/)
if op == '='
nextversion = version.split('.').collect { |v| v.to_i }
nextversion[-1] += 1
nextversion = nextversion.join(".")
logger.warn("Converting dependency #{dep} to #{name} >= #{version}, #{name} < #{nextversion}")
["#{name} >= #{version}", "#{name} < #{nextversion}"]
else
dep
end
end.flatten
end
setscript = proc do |scriptname|
script_path = self.attributes[scriptname]
next if script_path.nil?
if !File.exists?(script_path)
logger.error("No such file (for #{scriptname.to_s}): #{script_path.inspect}")
script_errors << script_path
end
scripts[scriptname] = File.read(script_path)
end
setscript.call(:rpm_verifyscript)
setscript.call(:rpm_posttrans)
setscript.call(:rpm_pretrans)
end