[DRE-commits] [SCM] gem2deb.git branch, master, updated. e54f196cd9435c5147d4b83469a2be5cf12303b1
Lucas Nussbaum
lucas at lucas-nussbaum.net
Fri Mar 25 07:20:00 UTC 2011
The following commit has been merged in the master branch:
commit 97f374cd1b347fe71432349c4dda487b30438949
Author: Lucas Nussbaum <lucas at lucas-nussbaum.net>
Date: Wed Mar 23 16:06:59 2011 +0100
Put everything in the same binary package.
diff --git a/debian/changelog b/debian/changelog
index 0c5d1ff..a10ac5a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -11,8 +11,9 @@ gem2deb (0.1.1) experimental; urgency=low
* gem2tgz gemname now downloads the gem if needed.
* Generate a better debian/copyright template.
* Support DEB_BUILD_OPTIONS=nocheck.
+ * Put everything in the same binary package.
- -- Lucas Nussbaum <lucas at lucas-nussbaum.net> Tue, 22 Mar 2011 19:01:47 +0100
+ -- Lucas Nussbaum <lucas at lucas-nussbaum.net> Wed, 23 Mar 2011 16:06:45 +0100
gem2deb (0.1.0) experimental; urgency=low
diff --git a/lib/gem2deb/dh_make_ruby.rb b/lib/gem2deb/dh_make_ruby.rb
index d8b60da..543ebe9 100644
--- a/lib/gem2deb/dh_make_ruby.rb
+++ b/lib/gem2deb/dh_make_ruby.rb
@@ -115,19 +115,27 @@ module Gem2Deb
self.metadata = Gem2Deb::Metadata.new('.')
end
+ MULTI_PACKAGES = false # kept in case we want to reintroduce that, as an option for example
def detect_needed_binary_packages
- binary_packages << Package.new(source_package_name)
- if metadata.has_native_extensions?
- binary_packages << Package.new(source_package_name.sub('ruby-', 'ruby1.8-'))
- binary_packages << Package.new(source_package_name.sub('ruby-', 'ruby1.9.1-'))
- end
+ if MULTI_PACKAGES
+ binary_packages << Package.new(source_package_name)
+ if metadata.has_native_extensions?
+ binary_packages << Package.new(source_package_name.sub('ruby-', 'ruby1.8-'), 'any')
+ binary_packages << Package.new(source_package_name.sub('ruby-', 'ruby1.9.1-'), 'any')
+ end
- binary_packages.each do |package|
- metadata.dependencies.each do |dependency|
- package.gem_dependencies << dependency
- end
+ binary_packages.each do |package|
+ metadata.dependencies.each do |dependency|
+ package.gem_dependencies << dependency
+ end
+ end
+ else
+ pkg = Package.new(source_package_name, metadata.has_native_extensions? ? 'any' : 'all')
+ metadata.dependencies.each do |dependency|
+ pkg.gem_dependencies << dependency
+ end
+ binary_packages << pkg
end
-
binary_packages
end
@@ -233,8 +241,10 @@ module Gem2Deb
class Package
attr_accessor :name
- def initialize(name)
+ attr_accessor :architecture
+ def initialize(name, architecture = 'all')
self.name = name
+ self.architecture = architecture
end
def dependencies
['${shlibs:Depends}', '${misc:Depends}', 'ruby1.8 | ruby-interpreter' ]
@@ -242,13 +252,6 @@ module Gem2Deb
def gem_dependencies
@gem_dependencies ||= []
end
- def architecture
- if name =~ /^ruby-/ || name !~ /ruby/
- 'all'
- else
- 'any'
- end
- end
end
def test_suite
@@ -372,7 +375,7 @@ Standards-Version: 3.9.1
#Vcs-Browser: http://git.debian.org/?p=pkg-ruby-extras/<%= source_package_name %>;a=summary
Homepage: <%= homepage ? homepage : 'FIXME'%>
<% binary_packages.each do |package| %>
-
+
Package: <%= package.name %>
Architecture: <%= package.architecture %>
Depends: <%= package.dependencies.join(', ') %>
diff --git a/lib/gem2deb/dh_ruby.rb b/lib/gem2deb/dh_ruby.rb
index 0153009..3b278bb 100644
--- a/lib/gem2deb/dh_ruby.rb
+++ b/lib/gem2deb/dh_ruby.rb
@@ -91,6 +91,19 @@ module Gem2Deb
install_files('lib', find_files('lib'), File.join(destdir_for(package), libdir_for(package)), 644) if File::directory?('lib')
end
+ package = packages.first
+ if metadata.has_native_extensions?
+ SUPPORTED_RUBY_VERSIONS.each_key do |rubyver|
+ puts "Building extension for #{rubyver} ..." if @verbose
+ run("#{SUPPORTED_RUBY_VERSIONS[rubyver]} -I#{LIBDIR} #{EXTENSION_BUILDER} #{package}")
+ end
+ end
+ # run tests
+ SUPPORTED_RUBY_VERSIONS.each_key do |rubyver|
+ run_tests(rubyver)
+ end
+
+=begin This only works in the multi-binary packages case, which is not supported anymore
packages.each do |package|
# handle extensions
rubyver = ruby_version_for(package)
@@ -115,6 +128,7 @@ module Gem2Deb
# Update shebang lines of installed programs
update_shebangs(package)
end
+=end
# FIXME after install, check for require 'rubygems' and other stupid things, and
# issue warnings
--
gem2deb.git
More information about the Pkg-ruby-extras-commits
mailing list