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

Re: ruby-google-protobuf: Missing lib/google/protobuf directory and fails require



On Mon, Aug 09, 2021 at 01:35:43AM +0530, Pirate Praveen wrote:
> On Mon, Aug 9, 2021 at 12:12 am, Pirate Praveen <praveen@onenetbeyond.org>
> wrote:
> > [copying debian-ruby list]
> > 
> > On Sun, 08 Aug 2021 22:08:39 +0530 Akshay S Dinesh
> > <akshay@learnlearn.in> wrote:
> > > Package: ruby-google-protobuf
> > > Version: 3.17.3-1
> > > Severity: grave
> > > Justification: renders package unusable
> > >
> > > Dear Maintainer,
> > >
> > > I was trying to install gitlab to reproduce #966653
> > >
> > > Installed ruby-google-protobuf from experimental
> > >
> > > The pg_query library was erroring at startup,
> > > with failure to require 'google/protobuf'
> > >
> > > I tried to isolate it to debian by `gem install google-protobuf`
> > >
> > > It worked correctly with that.
> > >
> > > On comparing stable version
> > > http://ftp.debian.org/debian/pool/main/p/protobuf/ruby-google-protobuf_3.12.4-1_amd64.deb
> > > with the experimental version
> > > http://ftp.debian.org/debian/pool/main/p/protobuf/ruby-google-protobuf_3.17.3-1_amd64.deb
> > >
> > > I could see that the latter lacks the
> > ..../2.7.0/gems/lib/google/protobuf directory altogether
> > >
> > > The upstream gem at
> > https://rubygems.org/downloads/google-protobuf-3.17.3.gem includes
> > > this lib directory with lots of ruby files
> > >
> > > I'm suspecting that this folder is critical to the functioning of this
> > package
> > >
> > 
> > I think this is a problem with gem2deb not including the pure ruby files
> > along with the extention. I think we have seen such issues before, but
> > don't remember how we fixed it.
> > 
> > Another possibility is that the rules is calling ruby build only in
> > override_dh_auto_build-arch.
> 
> Adding,
> ruby/lib/google usr/lib/ruby/vendor_ruby
> to debian/ruby-google-protobuf.install makes require 'google/protobuf' to
> pass. This can be used as a workaround until we figure out why gem2deb is
> not installing these files even though gemspec includes them in files.

protobuf is nothing like an usual Ruby package.

The top of debian/rules has this:

    export DH_RUBY = --gem-install
    export DH_RUBY_USE_DH_AUTO_INSTALL_DESTDIR = debian/ruby-google-protobuf
    export GEM2DEB_TEST_RUNNER = --check-dependencies


But this is completely misleading, since the part that seems to actually
do the Ruby build does not use gem2deb at all, and looks like this:

    ifeq (,$(filter noruby,$(DEB_BUILD_PROFILES)))
        # Ruby build
        cd ruby && rake package genproto
    endif

So this has definitively nothing to do with gem2deb.

Attachment: signature.asc
Description: PGP signature


Reply to: