gem2rpm 0.9.2 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: bce49215defc0e7d4c81d17fd3a63655380e86c6
4
+ data.tar.gz: b00366c9b428d84f1e654ba802b10727efd8982e
5
+ SHA512:
6
+ metadata.gz: a0753b28268269d878f32d0d5e24755cc2919a20f700c249a0a2e92e1c8f3d543a7d34890b128e78cc561fddf26155cba5ed1b5b8f1d82d1ee43a4886ead5474
7
+ data.tar.gz: f419f27ea39e19a1da0e0f977691196cfe6251e231b6b497ae26fb8c8a086fabc0fdc3b4dc420fd78edf8b5694f655d29c0c23a1b37c43cdb7fd78140c282e6b
data/bin/gem2rpm CHANGED
@@ -109,7 +109,7 @@ gemname = nil
109
109
  srpmdir = nil
110
110
  specfile = nil
111
111
  if srpm
112
- gemname = Gem::Format.from_file_by_path(gemfile).spec.name
112
+ gemname = Gem2Rpm::Package.new(gemfile).spec.name
113
113
  srpmdir = `/bin/mktemp -t -d gem2rpm-#{gemname}.XXXXXX`.chomp
114
114
  specfile = File::join(srpmdir, "rubygem-#{gemname}.spec")
115
115
  if output_file.nil?
@@ -4,12 +4,19 @@ module Gem2Rpm
4
4
  OPENSUSE = :opensuse
5
5
  DEFAULT = :default
6
6
 
7
+ OPEN_MODE = # :nodoc:
8
+ if Object.const_defined? :Encoding
9
+ 'r:UTF-8'
10
+ else
11
+ 'r'
12
+ end
13
+
7
14
  def self.nature
8
15
  if !release_files.grep(/fedora/).empty?
9
16
  versions = []
10
17
 
11
18
  release_files.each do |file|
12
- /\d+/ =~ File.open(file, "r:UTF-8").readline
19
+ /\d+/ =~ File.open(file, OPEN_MODE).readline
13
20
  versions << Regexp.last_match.to_s if Regexp.last_match
14
21
  end
15
22
 
@@ -6,7 +6,9 @@ module Gem2Rpm
6
6
  class Specification < SimpleDelegator
7
7
  # A long description of gem wrapped to 78 characters.
8
8
  def description
9
- Helpers::word_wrap(super.to_s.chomp, 78) + "\n"
9
+ d = super.to_s.chomp
10
+ d.gsub!(/([^.])\Z/, "\\1.")
11
+ Helpers::word_wrap(d, 78) + "\n"
10
12
  end
11
13
 
12
14
  # A list of Gem::Dependency objects this gem depends on (includes every
data/lib/gem2rpm.rb CHANGED
@@ -7,7 +7,7 @@ require 'gem2rpm/spec_fetcher'
7
7
  require 'gem2rpm/specification'
8
8
 
9
9
  module Gem2Rpm
10
- Gem2Rpm::VERSION = "0.9.2"
10
+ Gem2Rpm::VERSION = "0.10.0"
11
11
 
12
12
  class Exception < RuntimeError; end
13
13
  class DownloadUrlError < Exception; end
@@ -33,6 +33,7 @@ module Gem2Rpm
33
33
  def Gem2Rpm.convert(fname, template=TEMPLATE, out=$stdout,
34
34
  nongem=true, local=false, doc_subpackage = true)
35
35
  package = Gem2Rpm::Package.new(fname)
36
+ # Deprecate, kept just for backward compatibility.
36
37
  format = Gem2Rpm::Format.new(package)
37
38
  spec = Gem2Rpm::Specification.new(package.spec)
38
39
  spec.description ||= spec.summary
@@ -27,6 +27,13 @@ BuildRequires: rubygems-devel <%= req %>
27
27
  <% for req in spec.required_ruby_version -%>
28
28
  BuildRequires: ruby<%= "-devel" unless spec.extensions.empty? %> <%= req %>
29
29
  <% end -%>
30
+ <% for d in spec.development_dependencies -%>
31
+ <% unless ["rdoc", "rake", "bundler"].include? d.name -%>
32
+ <% for req in d.requirement -%>
33
+ # BuildRequires: rubygem(<%= d.name %>) <%= req %>
34
+ <% end -%>
35
+ <% end -%>
36
+ <% end -%>
30
37
  <% if spec.extensions.empty? -%>
31
38
  BuildArch: noarch
32
39
  <% end -%>
@@ -43,7 +50,7 @@ Requires: %{name} = %{version}-%{release}
43
50
  BuildArch: noarch
44
51
 
45
52
  %description doc
46
- Documentation for %{name}
53
+ Documentation for %{name}.
47
54
  <% end # if doc_subpackage -%>
48
55
 
49
56
  %prep
@@ -57,24 +64,29 @@ gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec
57
64
  # Create the gem as gem install only works on a gem file
58
65
  gem build %{gem_name}.gemspec
59
66
 
60
- # %%gem_install compiles any C extensions and installs the gem into ./%gem_dir
67
+ # %%gem_install compiles any C extensions and installs the gem into ./%%gem_dir
61
68
  # by default, so that we can move it into the buildroot in %%install
62
69
  %gem_install
63
70
 
64
71
  %install
65
72
  mkdir -p %{buildroot}%{gem_dir}
66
- cp -pa .%{gem_dir}/* \
73
+ cp -a .%{gem_dir}/* \
67
74
  %{buildroot}%{gem_dir}/
68
75
 
69
76
  <% unless spec.extensions.empty? -%>
70
77
  mkdir -p %{buildroot}%{gem_extdir_mri}/<%= spec.require_paths.first %>
71
78
  # TODO: move the extensions
72
79
  mv %{buildroot}%{gem_instdir}/<%= spec.require_paths.first %>/shared_object.so %{buildroot}%{gem_extdir_mri}/<%= spec.require_paths.first %>/
80
+
81
+ <% for ext in spec.extensions -%>
82
+ # Prevent dangling symlink in -debuginfo (rhbz#878863).
83
+ rm -rf %{buildroot}%{gem_instdir}/<%= ext.split(File::SEPARATOR).first %>/
84
+ <% end -%>
73
85
  <% end -%>
74
86
 
75
87
  <% unless spec.executables.nil? or spec.executables.empty? -%>
76
88
  mkdir -p %{buildroot}%{_bindir}
77
- cp -pa .%{_bindir}/* \
89
+ cp -a .%{_bindir}/* \
78
90
  %{buildroot}%{_bindir}/
79
91
  <% end -%>
80
92
 
@@ -82,6 +94,12 @@ cp -pa .%{_bindir}/* \
82
94
  find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x
83
95
  <% end -%>
84
96
 
97
+ # Run the test suite
98
+ %check
99
+ pushd .%{gem_instdir}
100
+
101
+ popd
102
+
85
103
  %files
86
104
  %dir %{gem_instdir}
87
105
  <% unless spec.executables.nil? or spec.executables.empty? -%>
@@ -92,7 +110,6 @@ find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x
92
110
  <% end -%>
93
111
  %{gem_libdir}
94
112
  <% unless spec.extensions.empty? -%>
95
- %exclude %{gem_instdir}/ext
96
113
  %{gem_extdir_mri}
97
114
  <% end -%>
98
115
  <% unless doc_subpackage -%>
@@ -0,0 +1,123 @@
1
+ # Generated from <%= package.spec.file_name %> by gem2rpm -*- rpm-spec -*-
2
+ %global gem_name <%= spec.name %>
3
+
4
+ Name: rubygem-%{gem_name}
5
+ Version: <%= spec.version %>
6
+ Release: 1%{?dist}
7
+ Summary: <%= spec.summary.gsub(/\.$/, "") %>
8
+ Group: Development/Languages
9
+ License: <%= spec.licenses.join(" and ") %>
10
+ <% if spec.homepage -%>
11
+ URL: <%= spec.homepage %>
12
+ <% end -%>
13
+ Source0: <%= download_path %>%{gem_name}-%{version}.gem
14
+ BuildRequires: ruby(release)
15
+ <% for req in spec.required_rubygems_version -%>
16
+ BuildRequires: rubygems-devel <%= req %>
17
+ <% end -%>
18
+ <% for req in spec.required_ruby_version -%>
19
+ BuildRequires: ruby<%= "-devel" unless spec.extensions.empty? %> <%= req %>
20
+ <% end -%>
21
+ <% for d in spec.development_dependencies -%>
22
+ <% unless ["rdoc", "rake", "bundler"].include? d.name -%>
23
+ <% for req in d.requirement -%>
24
+ # BuildRequires: rubygem(<%= d.name %>) <%= req %>
25
+ <% end -%>
26
+ <% end -%>
27
+ <% end -%>
28
+ <% if spec.extensions.empty? -%>
29
+ BuildArch: noarch
30
+ <% end -%>
31
+
32
+ %description
33
+ <%= spec.description %>
34
+
35
+ <% if doc_subpackage -%>
36
+ %package doc
37
+ Summary: Documentation for %{name}
38
+ Group: Documentation
39
+ Requires: %{name} = %{version}-%{release}
40
+ BuildArch: noarch
41
+
42
+ %description doc
43
+ Documentation for %{name}.
44
+ <% end # if doc_subpackage -%>
45
+
46
+ %prep
47
+ gem unpack %{SOURCE0}
48
+
49
+ %setup -q -D -T -n %{gem_name}-%{version}
50
+
51
+ gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec
52
+
53
+ %build
54
+ # Create the gem as gem install only works on a gem file
55
+ gem build %{gem_name}.gemspec
56
+
57
+ # %%gem_install compiles any C extensions and installs the gem into ./%%gem_dir
58
+ # by default, so that we can move it into the buildroot in %%install
59
+ %gem_install
60
+
61
+ %install
62
+ mkdir -p %{buildroot}%{gem_dir}
63
+ cp -a .%{gem_dir}/* \
64
+ %{buildroot}%{gem_dir}/
65
+
66
+ <% unless spec.extensions.empty? -%>
67
+ mkdir -p %{buildroot}%{gem_extdir_mri}
68
+ cp -a .%{gem_extdir_mri}/{gem.build_complete,*.so} %{buildroot}%{gem_extdir_mri}/
69
+
70
+ <% for ext in spec.extensions -%>
71
+ # Prevent dangling symlink in -debuginfo (rhbz#878863).
72
+ rm -rf %{buildroot}%{gem_instdir}/<%= ext.split(File::SEPARATOR).first %>/
73
+ <% end -%>
74
+ <% end -%>
75
+
76
+ <% unless spec.executables.nil? or spec.executables.empty? -%>
77
+ mkdir -p %{buildroot}%{_bindir}
78
+ cp -pa .%{_bindir}/* \
79
+ %{buildroot}%{_bindir}/
80
+ <% end -%>
81
+
82
+ <% unless spec.executables.empty? -%>
83
+ find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x
84
+ <% end -%>
85
+
86
+ # Run the test suite
87
+ %check
88
+ pushd .%{gem_instdir}
89
+
90
+ popd
91
+
92
+ %files
93
+ %dir %{gem_instdir}
94
+ <% unless spec.executables.nil? or spec.executables.empty? -%>
95
+ <% for f in spec.executables -%>
96
+ %{_bindir}/<%= f %>
97
+ <% end -%>
98
+ %{gem_instdir}/bin
99
+ <% end -%>
100
+ %{gem_libdir}
101
+ <% unless spec.extensions.empty? -%>
102
+ %{gem_extdir_mri}
103
+ <% end -%>
104
+ <% unless doc_subpackage -%>
105
+ %doc %{gem_docdir}
106
+ <% for f in spec.extra_rdoc_files -%>
107
+ %doc %{gem_instdir}/<%= f %>
108
+ <% end -%>
109
+ <% end -%>
110
+ %exclude %{gem_cache}
111
+ %{gem_spec}
112
+
113
+ <% if doc_subpackage -%>
114
+ %files doc
115
+ %doc %{gem_docdir}
116
+ <% for f in spec.extra_rdoc_files -%>
117
+ %doc %{gem_instdir}/<%= f %>
118
+ <% end -%>
119
+ <% end # if doc_subpackage -%>
120
+
121
+ %changelog
122
+ * <%= Time.now.strftime("%a %b %d %Y") %> <%= packager %> - <%= spec.version %>-1
123
+ - Initial package
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gem2rpm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2
5
- prerelease:
4
+ version: 0.10.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - David Lutterkort
@@ -10,10 +9,10 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2013-04-23 00:00:00.000000000 Z
12
+ date: 2014-05-05 00:00:00.000000000 Z
14
13
  dependencies: []
15
- description: ! " Generate source rpms and rpm spec files from a Ruby Gem. \n The
16
- spec file tries to follow the gem as closely as possible\n"
14
+ description: " Generate source rpms and rpm spec files from a Ruby Gem. \n The spec
15
+ file tries to follow the gem as closely as possible\n"
17
16
  email: gem2rpm-devel@rubyforge.org
18
17
  executables:
19
18
  - gem2rpm
@@ -34,7 +33,8 @@ files:
34
33
  - lib/gem2rpm/specification.rb
35
34
  - templates/default.spec.erb
36
35
  - templates/fedora-17-18.spec.erb
37
- - templates/fedora-19-rawhide.spec.erb
36
+ - templates/fedora-19-21.spec.erb
37
+ - templates/fedora-21-rawhide.spec.erb
38
38
  - templates/fedora.spec.erb
39
39
  - templates/opensuse.spec.erb
40
40
  - LICENSE
@@ -42,26 +42,25 @@ files:
42
42
  - AUTHORS
43
43
  homepage: https://github.com/lutter/gem2rpm/
44
44
  licenses: []
45
+ metadata: {}
45
46
  post_install_message:
46
47
  rdoc_options: []
47
48
  require_paths:
48
49
  - lib
49
50
  required_ruby_version: !ruby/object:Gem::Requirement
50
- none: false
51
51
  requirements:
52
- - - ! '>='
52
+ - - '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  required_rubygems_version: !ruby/object:Gem::Requirement
56
- none: false
57
56
  requirements:
58
- - - ! '>='
57
+ - - '>='
59
58
  - !ruby/object:Gem::Version
60
59
  version: '0'
61
60
  requirements: []
62
61
  rubyforge_project:
63
- rubygems_version: 1.8.25
62
+ rubygems_version: 2.1.11
64
63
  signing_key:
65
- specification_version: 3
64
+ specification_version: 4
66
65
  summary: Generate rpm specfiles from gems
67
66
  test_files: []