Bug#992008: ruby-google-protobuf: Missing lib/google/protobuf directory and fails require
2021, ഓഗസ്റ്റ് 10 5:44:35 PM IST, Pirate Praveen ൽ എഴുതി > > >2021, ഓഗസ്റ്റ് 10 12:44:39 PM IST, "László Böszörményi (GCS)" >ൽ എഴുതി >>Control: tags -1 +pending >> >>Hi Pirate, >> >>On Mon, Aug 9, 2021 at 8:51 PM Pirate Praveen >>wrote: >>> Can you upload this change? Or if you are okay with this change, I can >>> upload it as well. Once this is fixed, I can switch back to the >>> packaged version (currently using gem install google-protobuf as work >>> around). >> Sure, I can. Will do it soon. Thanks. >>> I had seen this bug earlier >>> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=989774 but I thought >>> it was something similar/related to >>> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=966653 (between, this >>> bug also seems to be fixed with newer protobuf/grpc versions in >>> experimental). >> You know, my question is, how and why it was and still working for >>3.12.4 but nor for 3.17.3? One change that I can think of is adding noruby build profile between these two versions. >>Regards, >>Laszlo/GCS -- Sent from my Android device with K-9 Mail. Please excuse my brevity.
Bug#992008: ruby-google-protobuf: Missing lib/google/protobuf directory and fails require
Control: tags -1 +pending Hi Pirate, On Mon, Aug 9, 2021 at 8:51 PM Pirate Praveen wrote: > Can you upload this change? Or if you are okay with this change, I can > upload it as well. Once this is fixed, I can switch back to the > packaged version (currently using gem install google-protobuf as work > around). Sure, I can. Will do it soon. > I had seen this bug earlier > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=989774 but I thought > it was something similar/related to > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=966653 (between, this > bug also seems to be fixed with newer protobuf/grpc versions in > experimental). You know, my question is, how and why it was and still working for 3.12.4 but nor for 3.17.3? Regards, Laszlo/GCS
Bug#992008: ruby-google-protobuf: Missing lib/google/protobuf directory and fails require
Control: tags -1 patch On Mon, 09 Aug 2021 01:35:43 +0530 Pirate Praveen wrote: > 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. Hi Laszlo, Can you upload this change? Or if you are okay with this change, I can upload it as well. Once this is fixed, I can switch back to the packaged version (currently using gem install google-protobuf as work around). I had seen this bug earlier https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=989774 but I thought it was something similar/related to https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=966653 (between, this bug also seems to be fixed with newer protobuf/grpc versions in experimental). diff -Nru protobuf-3.17.3/debian/changelog protobuf-3.17.3/debian/changelog --- protobuf-3.17.3/debian/changelog 2021-06-23 21:06:44.0 +0530 +++ protobuf-3.17.3/debian/changelog 2021-08-09 21:32:33.0 +0530 @@ -1,3 +1,10 @@ +protobuf (3.17.3-1.1) experimental; urgency=medium + + * Non-maintainer upload. + * Include ruby/lib in ruby-google-protobuf binary (Closes: #992008) + + -- Pirate Praveen Mon, 09 Aug 2021 21:32:33 +0530 + protobuf (3.17.3-1) experimental; urgency=medium * New upstream release. diff -Nru protobuf-3.17.3/debian/ruby-google-protobuf.install protobuf-3.17.3/debian/ruby-google-protobuf.install --- protobuf-3.17.3/debian/ruby-google-protobuf.install 1970-01-01 05:30:00.0 +0530 +++ protobuf-3.17.3/debian/ruby-google-protobuf.install 2021-08-09 21:30:39.0 +0530 @@ -0,0 +1 @@ +ruby/lib/google usr/lib/ruby/vendor_ruby
Bug#992008: ruby-google-protobuf: Missing lib/google/protobuf directory and fails require
On Mon, Aug 9, 2021 at 1:50 pm, Antonio Terceiro wrote: On Mon, Aug 09, 2021 at 01:35:43AM +0530, Pirate Praveen wrote: On Mon, Aug 9, 2021 at 12:12 am, Pirate Praveen wrote: > [copying debian-ruby list] > > On Sun, 08 Aug 2021 22:08:39 +0530 Akshay S Dinesh > 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. Well, I tried with dh_auto_build -O--buildsystem=ruby -O--package=ruby-google-protobuf after this rake command without any change Also it has the following lines below it and dh_auto_install -O--buildsystem=ruby -O--package=ruby-google-protobuf --destdir=$(CURDIR)/debian/ruby-google-protobuf and you can see in the build logs at https://buildd.debian.org/status/fetch.php?pkg=protobuf=amd64=3.17.3-1=1624466935=0 this looks to me pretty much gem2deb's doing. dh_auto_install -O--buildsystem=ruby -O--package=ruby-google-protobuf --destdir=/<>/debian/ruby-google-protobuf dh_ruby --install /<>/debian/ruby-google-protobuf dh_ruby --install /usr/bin/ruby2.7 -S gem build --config-file /dev/null --verbose /tmp/d20210623-865026-7jt4fj/gemspec Failed to load /dev/null because it doesn't contain valid YAML hash Successfully built RubyGem Name: google-protobuf Version: 3.17.3 File: google-protobuf-3.17.3.gem /usr/bin/ruby2.7 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir /<>/debian/ruby-google-protobuf/usr/lib/x86_64-linux-gnu/rubygems-integration/2.7.0 /tmp/d20210623-865026-7jt4fj/google-protobuf-3.17.3.gem Failed to load /dev/null because it doesn't contain valid YAML hash /<>/debian/ruby-google-protobuf/usr/lib/x86_64-linux-gnu/rubygems-integration/2.7.0/gems/google-protobuf-3.17.3/ruby/ext/google/protobuf_c/convert.c /<>/debian/ruby-google-protobuf/usr/lib/x86_64-linux-gnu/rubygems-integration/2.7.0/gems/google-protobuf-3.17.3/ruby/ext/google/protobuf_c/convert.h /<>/debian/ruby-google-protobuf/usr/lib/x86_64-linux-gnu/rubygems-integration/2.7.0/gems/google-protobuf-3.17.3/ruby/ext/google/protobuf_c/defs.c /<>/debian/ruby-google-protobuf/usr/lib/x86_64-linux-gnu/rubygems-integration/2.7.0/gems/google-protobuf-3.17.3/ruby/ext/google/protobuf_c/defs.h /<>/debian/ruby-google-protobuf/usr/lib/x86_64-linux-gnu/rubygems-integration/2.7.0/gems/google-protobuf-3.17.3/ruby/ext/google/protobuf_c/extconf.rb /<>/debian/ruby-google-protobuf/usr/lib/x86_64-linux-gnu/rubygems-integration/2.7.0/gems/google-protobuf-3.17.3/ruby/ext/google/protobuf_c/map.c /<>/debian/ruby-google-protobuf/usr/lib/x86_64-linux-gnu/rubygems-integration/2.7.0/gems/google-protobuf-3.17.3/ruby/ext/google/protobuf_c/map.h
Bug#992008: ruby-google-protobuf: Missing lib/google/protobuf directory and fails require
On Mon, Aug 9, 2021 at 12:12 am, Pirate Praveen wrote: [copying debian-ruby list] On Sun, 08 Aug 2021 22:08:39 +0530 Akshay S Dinesh 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.
Bug#992008: ruby-google-protobuf: Missing lib/google/protobuf directory and fails require
[copying debian-ruby list] On Sun, 08 Aug 2021 22:08:39 +0530 Akshay S Dinesh 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.
Bug#992008: ruby-google-protobuf: Missing lib/google/protobuf directory and fails require
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 -- System Information: Debian Release: 11.0 APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 5.10.0-8-amd64 (SMP w/1 CPU thread) Locale: LANG=en_IN, LC_CTYPE=en_IN (charmap=UTF-8), LANGUAGE=en_IN:en Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages ruby-google-protobuf depends on: ii libc6 2.31-13 ii libruby2.7 2.7.4-1 ii ruby1:2.7+2 ruby-google-protobuf recommends no packages. ruby-google-protobuf suggests no packages. -- no debconf information