1
0
rubygem-gem2rpm/0002-added-basic-config-file-support-to-gem2rpm-in-yaml-f.patch
Marcus Rueckert ec53805b8a - refreshed patch series to match the git again:
M 0001-use-the-ID-from-os-release-to-use-the-proper-templat.patch
  M 0002-added-basic-config-file-support-to-gem2rpm-in-yaml-f.patch
  A 0003-new-opensuse-templates.-they-require-the-config-file.patch
  A 0004-added-example-gem2rpm.yml.patch
  A 0005-properly-shorten-description-and-summary.patch
  A 0006-Preserve-the-license-header-found-in-the-output-file.patch
  A 0007-fixes-for-the-opensuse-template.patch
  A 0008-do-not-use-not-.-not-supported-on-1.8-e.g.patch
  D 0003-sle-12-templates.-they-require-the-config-file-suppo.patch
  D 0004-openSUSE-template-fixes.patch
  D 0005-added-example-gem2rpm.yml.patch
  D 0006-properly-shorten-description-and-summary.patch
  D 0007-Preserve-the-license-header-found-in-the-output-file.patch
  D 0008-dont-allow-suffixes-with-just-a-plain-number.-prefix.patch
  D 0009-rubinius-has-no-extensions-docdir.patch
  D 0010-switch-to-new-packaging-scheme-by-default.patch
  D 0011-fixes-for-the-opensuse-template.patch
- new patch for fixing usage of not() which breaks on 1.8

OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/rubygem-gem2rpm?expand=0&rev=8
2014-10-21 13:08:21 +00:00

94 lines
2.8 KiB
Diff

From 1742038eb7ec8fcb25009ce8b270b420183875bc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marcus=20R=C3=BCckert?= <mrueckert@suse.de>
Date: Thu, 24 Jul 2014 16:54:45 +0200
Subject: [PATCH 2/8] added basic config file support to gem2rpm in yaml
format.
There is no validation as it is basically a hash where certain keys are
picked up by our templates.
---
bin/gem2rpm | 21 +++++++++++++++++++--
lib/gem2rpm.rb | 3 ++-
2 files changed, 21 insertions(+), 3 deletions(-)
diff --git a/bin/gem2rpm b/bin/gem2rpm
index fa7ce6b..7f28603 100755
--- a/bin/gem2rpm
+++ b/bin/gem2rpm
@@ -8,6 +8,7 @@ require 'optparse'
require 'fileutils'
require 'open-uri'
require 'uri'
+require 'yaml'
opts = OptionParser.new("Usage: #{$0} [OPTIONS] GEM")
opts.separator(" Convert ruby Gems to source RPMs and specfiles")
@@ -23,6 +24,8 @@ deps = false
nongem = false
doc_subpackage = true
fetch = false
+config_file = nil
+config = {}
opts.separator("")
opts.separator(" Options:")
@@ -58,6 +61,9 @@ end
opts.on("--fetch", "Fetch the gem from rubygems.org") do |val|
fetch = true
end
+opts.on("--config FILE", "Path to gem2rpm.yaml") do |val|
+ config_file = val
+end
opts.separator("")
opts.separator(" Arguments:")
opts.separator(" GEM the path to locally stored gem package file or the name")
@@ -127,13 +133,24 @@ if srpm
end
end
+if config_file
+ begin
+ config = YAML.load_file(config_file)
+ config[:sources] ||= []
+ config[:sources] << File.basename(config_file)
+ rescue Exception => ex
+ $stderr.puts "Failed to load config file '#{config_file}': #{ex}"
+ exit 1
+ end
+end
+
# Produce a specfile
if output_file.nil?
- Gem2Rpm::convert(gemfile, template, $stdout, nongem, local, doc_subpackage) unless deps
+ Gem2Rpm::convert(gemfile, template, $stdout, nongem, local, doc_subpackage, config) unless deps
else
begin
out = open(output_file, "w")
- Gem2Rpm::convert(gemfile, template, out, nongem, local, doc_subpackage)
+ Gem2Rpm::convert(gemfile, template, out, nongem, local, doc_subpackage, config)
ensure
out.close()
end
diff --git a/lib/gem2rpm.rb b/lib/gem2rpm.rb
index 017ecd1..e5e2693 100644
--- a/lib/gem2rpm.rb
+++ b/lib/gem2rpm.rb
@@ -31,12 +31,13 @@ module Gem2Rpm
end
def Gem2Rpm.convert(fname, template=TEMPLATE, out=$stdout,
- nongem=true, local=false, doc_subpackage = true)
+ nongem=true, local=false, doc_subpackage = true, config={})
package = Gem2Rpm::Package.new(fname)
# Deprecate, kept just for backward compatibility.
format = Gem2Rpm::Format.new(package)
spec = Gem2Rpm::Specification.new(package.spec)
spec.description ||= spec.summary
+ config ||= {}
download_path = ""
unless local
begin
--
1.8.4.5