in lib/omnibus/packagers/rpm.rb [413:458]
def create_rpm_file
command = %{rpmbuild}
command << %{ --target
command << %{ -bb}
command << %{ --buildroot
command << %{ --define '_topdir #{staging_dir}'}
command << " #{spec_file}"
log.info(log_key) { "Creating .rpm file" }
shellout!("#{command}")
if signing_passphrase
log.info(log_key) { "Signing enabled for .rpm file" }
if File.exist?("#{ENV["HOME"]}/.rpmmacros")
log.info(log_key) { "Detected .rpmmacros file at `#{ENV["HOME"]}'" }
home = ENV["HOME"]
else
log.info(log_key) { "Using default .rpmmacros file from Omnibus" }
home = Dir.mktmpdir
render_template(resource_path("rpmmacros.erb"),
destination: "#{home}/.rpmmacros",
variables: {
gpg_name: project.maintainer,
gpg_path: "#{ENV["HOME"]}/.gnupg",
})
end
sign_cmd = "rpmsign --addsign #{rpm_file}"
with_rpm_signing do |signing_script|
log.info(log_key) { "Signing the built rpm file" }
sign_cmd.prepend("#{signing_script} \"").concat("\"")
shellout!("#{sign_cmd}", environment: { "HOME" => home })
end
end
FileSyncer.glob("#{staging_dir}/RPMS/**/*.rpm").each do |rpm|
copy_file(rpm, Config.package_dir)
end
end