gem2rpm 0.9.2 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
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: []