[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: gem2deb for ruby-bdb (former libdb-ruby)



Hi Antonio,

Could you review this package? You know the gem2deb code much better
than me.

L.

On 25/05/11 at 14:45 +0200, Ondřej Surý wrote:
> Hi,
> 
> Lucas has asked me if I could gem2debize libdb-ruby, so here are the findings.
> 
> [Disclaimer: I am not a ruby user, my only interest is helping my
> db5.1 transition, so my experience is limited by readability of ruby
> programs and ruby docs + google]
> 
> bdb package:
> - doesn't have gemspec
> - does have 4 extconf.rb ['extconf.rb', 'src/extconf.rb',
> 'bdbxml1/extconf.rb', 'bdbxml2/extconf.rb']
> - does build only by calling <sourcedir>/extconf.rb, it does all the
> subdirectory work itself
> 
> The build failed on several places due the fact, that
> gem2deb/metadata.rb searches for subdirs for extconf.rb
> (Dir.glob(**/...)) which is not correct for bdb. The dbxml is not in
> Debian, so it cannot be built.
> 
> I was able to circumvent this either by removing bdbxml*/extconf.rb or
> the next solution was to write own gemspec.
> 
> The second FTBFS after creating gemspec with:
> 
> spec.extensions << 'extconf.rb'
> 
> came from extconf.rb. It includes this code:
> 
> subdirs.each do |subdir|
>    STDERR.puts("#{$0}: Entering directory `#{subdir}'")
>    Dir.chdir(subdir)
>    system("#{CONFIG['RUBY_INSTALL_NAME']} extconf.rb " + ARGV.join(" "))
>    Dir.chdir("..")
>    STDERR.puts("#{$0}: Leaving directory `#{subdir}'")
> end
> 
> Which doesn't pass the target variable from
> gem2deb/extension_builder.rb, therefore build fails when it tries to
> install shared library to /usr/local/lib.
> 
> The workaround which I have used was to create gemspec file with just
> the extension directory supplied thus it doesn't run the
> <sourcedir>/extconf.rb at all.
> 
> spec = Gem::Specification.new do |s|
>   s.extensions << 'src/extconf.rb'
> end
> 
> I also had to write some code (mostly copied from
> <sourcedir/extconf.rb) to run the tests, but somebody should check it
> if it's correct.
> 
> I am little bit convinced that it's the upstream at fault who uses
> little bit non-standard system (they should use gemspec instead of
> custom extconf.rb), but as I said I don't use ruby, so maybe I am just
> confused.
> 
> The git repository was pushed to
> git.debian.org/git/users/ondrej/ruby-bdb since I am not a member of
> pkg-ruby-extras (and I don't want to be). Please copy this repository
> and drop me an email when it's done, so I can delete it.
> 
> O.
> -- 
> Ondřej Surý <ondrej@sury.org>
> 
> 
> --
> To UNSUBSCRIBE, email to debian-ruby-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> Archive: BANLkTinQVeTMVbUnQqUu1MxjGBy7n_VqJw@mail.gmail.com">http://lists.debian.org/BANLkTinQVeTMVbUnQqUu1MxjGBy7n_VqJw@mail.gmail.com


Reply to: