def self.create(name, version)
if not name.is_a?(String)
raise TypeError, "illegal argument type: name should be String"
end
if not version.is_a?(RPM::Version)
raise TypeError, "illegal argument type: version should be RPM::Version"
end
hdr = RPM::C.headerNew
if RPM::C.headerPutString(hdr, :name, name) != 1
raise "Can't set package name: #{name}"
end
if RPM::C.headerPutString(hdr, :version, version.v) != 1
raise "Can't set package version: #{version.v}"
end
if version.e
if RPM::C.headerPutUint32(hdr, :epoch, version.e) != 1
raise "Can't set package epoch: #{version.e}"
end
end
Package.new(hdr)
end