rubygem-gem2rpm/0002-added-basic-config-file-support-to-gem2rpm-in-yaml-f.patch
Marcus Rueckert 2c88c1595d - added support for 2.4.0
- dropped all patches and replaced them with git format-patch
  series:
  - modified:
     0001-use-the-ID-from-os-release-to-use-the-proper-templat.patch
     0002-added-basic-config-file-support-to-gem2rpm-in-yaml-f.patch
     0003-new-opensuse-templates.-they-require-the-config-file.patch
     0004-added-example-gem2rpm.yml.patch
     0005-properly-shorten-description-and-summary.patch
     0006-Preserve-the-license-header-found-in-the-output-file.patch
     0007-fixes-for-the-opensuse-template.patch
     0008-do-not-use-not-.-not-supported-on-1.8-e.g.patch
     0009-No-longer-require-the-ruby-version-inside-the-subpac.patch
     0010-Try-to-load-rbconfigpackagingsupport-and-fail-gracef.patch
     0011-Add-support-for-scripts-pre-post-for-subpackages.patch
     0012-typo-in-gem2rpm.yml.documentation-custom_pkgs-instea.patch
     0013-Also-tag-LICENSE-MIT-as-docfile.patch
     0014-Refactor-into-multiple-lines.patch
     0015-Add-licence-to-the-list-of-license-files-as-well.patch
     0016-add-two-more-ways-to-express-changes.patch
   - dropped:
     0017-touch-unpacked-sources.patch
     0001-Also-tag-APACHE-LICENSE-2.0-as-docfile.patch
   - newly added:
     0017-.markdown-is-also-seen-in-the-wild.patch
     0018-Only-use-the-extensions-doc-dir-on-MRI-2.1.x.patch
     0019-Cleaner-solution-for-the-extensions-doc-dir.patch
     0020-Ruby-1.8-insists-on-the-for-the-parameter.patch
     0021-Fix-company-name-in-copyright-header.patch

OBS-URL: https://build.opensuse.org/package/show/devel:languages:ruby/rubygem-gem2rpm?expand=0&rev=20
2016-11-10 16:21:35 +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 02/25] 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
--
2.10.1