diff --git a/opensuse.spec.erb b/opensuse.spec.erb deleted file mode 100644 index 929b8b3..0000000 --- a/opensuse.spec.erb +++ /dev/null @@ -1,253 +0,0 @@ -<% - - begin - require 'rbconfigpackagingsupport' - rescue LoadError => ex - end - def self.patch_mod_full_name(path, mod_full_name) - path.gsub(/\/-/, "/#{mod_full_name}") - end - - def self.patch_libdir(path) - # path ? path.gsub(/\/usr\/lib(64)?/, '%{_libdir}') : path - path - end - - def self.get_extension_doc_dir(gem_spec) - return nil unless Gem.ruby_engine == 'ruby' && Gem::Requirement.new("~> 2.1.0").satisfied_by?(Gem.ruby_version) - if gem_spec.respond_to?(:extensions_dir) - rp = gem_spec.extensions_dir.rpartition(gem_spec.base_dir) - return File.join(rp[1], 'doc', rp[2]) - end - return nil - end - - def self.get_mod_weight(spec) - versions=spec.version.to_s.split('.') - begin v1=Integer(versions[0]) rescue v1=1 end - begin v2=Integer(versions[1]) rescue v2=0 end - begin v3=Integer(versions[2]) rescue v3=0 end - weight=v1*10000+v2*100+v3 - end - - def self.filecontent_or_value(path) - (path and File.exists?(path)) ? File.read(path) : path - end - - def self.parse_custom_pkgs(env_value) - custom_pkgs = {} - if env_value - list = env_value.split(/\s+/) - list.each do |element| - pkg_name,filelist_path, preamble, description = element.split(/\|/, 4) - filelist = filecontent_or_value(filelist_path) - preamble = filecontent_or_value(preamble) - description = filecontent_or_value(description) - custom_pkgs[pkg_name] = { - "filelist" => filelist, - "preamble" => preamble, - "description" => description, - } - end - end - custom_pkgs - end - - rb_suffix = RbConfig::CONFIG['ruby_install_name'].gsub(/^ruby/, '') - # TODO: "ruby" hardcoded here is wrong. it should support jruby/rubinius or so - rb_abi = "ruby:#{RbConfig::CONFIG['ruby_version']}" - rb_pkgname = RbConfig::CONFIG['ruby_install_name'].gsub(/^ruby\./, '') - if rb_suffix =~ /\A\d+\.\d+\z/ - rb_suffix = '.ruby' + rb_suffix - end - pkg_basename = rb_pkgname + '-rubygem-' + spec.name - - mod_full_name = "#{spec.name}-#{spec.version}" - mod_weight = get_mod_weight(spec) - - gem_platform = Gem::Platform.new(RbConfig::CONFIG["arch"]).to_s - rb_bindir = RbConfig::CONFIG['bindir'] - rb_sysconfdir = RbConfig::CONFIG['sysconfdir'] - docdir = '/usr/share/doc/packages' - gem_spec = Gem::Specification.new - gem_base_dir = patch_libdir(gem_spec.base_dir) - gem_cache_dir = patch_libdir(gem_spec.cache_dir) - gem_build_info_dir = patch_libdir(gem_spec.build_info_dir) - gem_gems_dir = patch_libdir(gem_spec.gems_dir) - gem_spec_dir = patch_libdir(gem_spec.spec_dir) - gem_bin_dir = patch_libdir(patch_mod_full_name(gem_spec.bin_dir , mod_full_name )) - gem_doc_dir = patch_libdir(patch_mod_full_name(gem_spec.doc_dir, mod_full_name )) - gem_gem_dir = patch_libdir(patch_mod_full_name(gem_spec.gem_dir, mod_full_name )) - gem_ri_dir = patch_libdir(patch_mod_full_name(gem_spec.ri_dir, mod_full_name )) - #ruby2.1 - gem_extensions_dir = gem_spec.respond_to?(:extensions_dir) ? patch_libdir(gem_spec.extensions_dir) : nil - gem_extension_dir = gem_spec.respond_to?(:extension_dir) ? patch_libdir(patch_mod_full_name(gem_spec.extension_dir, mod_full_name)) : nil - gem_extension_doc = patch_libdir(get_extension_doc_dir(gem_spec)) - #/ruby2.1 -%> -%package -n <%= pkg_basename %><%= config[:version_suffix] %> -# MANUAL -<% if config[:main] && config[:main][:preamble] -%> -<%= config[:main][:preamble] %> -<% end -%> -# /MANUAL -Summary: <%= config[:summary] or spec.summary %> -Group: Development/Languages/Ruby -<% unless spec.executables.empty? -%> -PreReq: update-alternatives -<% end -%> - -%description -n <%= pkg_basename %><%= config[:version_suffix] %> -<%= config[:description] or spec.description -%> - -<% if spec.has_rdoc && !(config[:disable_docs]) -%> -%package -n <%= pkg_basename %>-doc<%= config[:version_suffix] %> -Summary: RDoc documentation for <%= spec.name %> -Group: Development/Languages/Ruby -Requires: rubygem(<%= rb_abi %>:<%= spec.name %>) = <%= spec.version %> - -%description -n <%= pkg_basename %>-doc<%= config[:version_suffix] %> -Documentation generated at gem installation time. -Usually in RDoc and RI formats. - -<% end -%> -<% test_frameworks = Hash.new - docdirfiles = [] - format.file_entries.each do |entry| - # new rubygems version has it different - if entry.kind_of?(Array) - path=entry[0]['path'] - else - path=entry - end - path.gsub!(%r{^\./}, '') - %w(test spec).each { |framework| - test_frameworks[framework] = 1 if path.index(framework + "/") == 0 - } - %w(changes - copying - history - legal - licence - license - license-mit - mit-license - changelog - news - release_notes - readme - ).each { |file| - bpath = path.downcase.gsub(%r{\.rdoc$}, '').gsub(%r{\.txt$}, '').gsub(%r{\.md$}, '').gsub(%r{\.markdown$}, '') - #$stderr.puts "PATH #{path} #{bpath} #{file}" - docdirfiles << path if bpath == file - } - end - - test_frameworks = test_frameworks.keys.sort --%> -<% unless test_frameworks.empty? -%> -%package -n <%= pkg_basename %>-testsuite<%= config[:version_suffix] %> -Summary: Test suite for <%= spec.name %> -Group: Development/Languages/Ruby -Requires: rubygem(<%= rb_abi %>:<%= spec.name %>) = <%= spec.version %> - -%description -n <%= pkg_basename %>-testsuite<%= config[:version_suffix] %> -Test::Unit or RSpec files, useful for developers. - -<% end -%> - -<% unless spec.executables.empty? -%> -%post -n <%= pkg_basename %><%= config[:version_suffix] %> -<% spec.executables.each do |executable| -%> -/usr/sbin/update-alternatives --install \ - <%= rb_bindir %>/<%= executable %> <%= executable %> <%= rb_bindir %>/<%= "#{executable}#{rb_suffix}-#{spec.version}" %> <%= mod_weight %> -/usr/sbin/update-alternatives --install \ - <%= rb_bindir %>/<%= "#{executable}-#{spec.version}" %> <%= "#{executable}-#{spec.version}" %> <%= rb_bindir %>/<%= "#{executable}#{rb_suffix}-#{spec.version}" %> <%= mod_weight %> -/usr/sbin/update-alternatives --install \ - <%= rb_bindir %>/<%= "#{executable}#{rb_suffix}" %> <%= "#{executable}#{rb_suffix}" %> <%= rb_bindir %>/<%= "#{executable}#{rb_suffix}-#{spec.version}" %> <%= mod_weight %> -<% end -%> - -%preun -n <%= pkg_basename %><%= config[:version_suffix] %> -if [ "$1" = 0 ] ; then -<% spec.executables.each do |executable| -%> - /usr/sbin/update-alternatives --remove <%= executable %> <%= rb_bindir %>/<%= "#{executable}#{rb_suffix}-#{spec.version}" %> - /usr/sbin/update-alternatives --remove <%= "#{executable}-#{spec.version}" %> <%= rb_bindir %>/<%= "#{executable}#{rb_suffix}-#{spec.version}" %> - /usr/sbin/update-alternatives --remove <%= "#{executable}#{rb_suffix}" %> <%= rb_bindir %>/<%= "#{executable}#{rb_suffix}-#{spec.version}" %> -<% end -%> -fi -<% end -%> - -%files -n <%= pkg_basename %><%= config[:version_suffix] %> -%defattr(-,root,root,-) -# MANUAL -<% if config[:main] && config[:main][:filelist] -%> -<%= config[:main][:filelist] -%> -<% end -%> -# /MANUAL -<% unless docdirfiles.empty? -%> -<%= docdir %>/<%= pkg_basename %><%= config[:version_suffix] %> -<% end -%> -<% spec.executables.each do |executable| -%> -<%= rb_bindir %>/<%= "#{executable}#{rb_suffix}-#{spec.version}" %> -<%= rb_bindir %>/<%= "#{executable}#{rb_suffix}" %> -<%= rb_bindir %>/<%= "#{executable}-#{spec.version}" %> -<%= rb_bindir %>/<%= executable %> -%ghost <%= rb_sysconfdir %>/alternatives/<%= executable %> -%ghost <%= rb_sysconfdir %>/alternatives/<%= "#{executable}#{rb_suffix}" %> -%ghost <%= rb_sysconfdir %>/alternatives/<%= "#{executable}-#{spec.version}" %> -<% end -%> -# cache file -<%= gem_cache_dir %>/<%= mod_full_name %>.gem -<%= gem_gem_dir %> -<%= gem_build_info_dir %> -<% unless spec.extensions.empty? or gem_extension_dir.nil? -%> -<%= gem_extension_dir %> -<% end -%> -<% test_frameworks.each do |framework| -%> -%exclude <%= File.join gem_gem_dir, framework %> -<% end -%> -<%= gem_spec_dir %>/<%= mod_full_name -%>.gemspec - -<% if spec.has_rdoc && !(config[:disable_docs]) -%> -%files -n <%= pkg_basename %>-doc<%= config[:version_suffix] %> -%defattr(-,root,root,-) -%doc <%= gem_doc_dir %> -<% unless spec.extensions.empty? or gem_extension_doc.nil? -%> -%doc <%= gem_extension_doc %> -<% end -%> -<% end -%> - -<% unless test_frameworks.empty? -%> -%files -n <%= pkg_basename %>-testsuite<%= config[:version_suffix] %> -%defattr(-,root,root,-) -<% test_frameworks.each do |framework| -%> -<%= File.join gem_gem_dir, framework %> -<% end -%> -<% end -%> -<% - if config[:custom_pkgs_ruby_versioned] - config[:custom_pkgs_ruby_versioned].each do |custom_pkg_name, data| --%> -%package -n <%= pkg_basename %>-<%= custom_pkg_name %><%= config[:version_suffix] %> -<% if data[:preamble] and data[:preamble] != '' -%> -<%= data[:preamble] %> -<% else %> -Summary: <%= custom_pkg_name %> sub package for <%= spec.name %> -Group: Development/Languages/Ruby -<% end %> -Requires: rubygem(<%= rb_abi %>:<%= spec.name %>) = <%= spec.version %> -%description -n <%= pkg_basename %>-<%= custom_pkg_name %><%= config[:version_suffix] %> -<% if data[:description] and data[:description] != '' -%> -<%= data[:description] %> -<% else %> -<%= spec.description -%> - -This package holds the <%= custom_pkg_name %> sub package for <%= spec.name -%> -<% end %> -%files -n <%= pkg_basename %>-<%= custom_pkg_name %><%= config[:version_suffix] %> -%defattr(-,root,root,-) -<%= data['filelist'] -%> -<% - end - end --%>