[SRU] libruby2.7 provides ruby-bundler library but its binary is missing

Bug #1876912 reported by Lucas Kanashiro
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ruby2.7 (Ubuntu)
Fix Released
High
Lucas Kanashiro
Focal
Fix Released
High
Lucas Kanashiro

Bug Description

[ Impact ]

Users who are used to call 'bundle' are not able to do it installing just libruby2.7. ruby-bundler was marked as provided by libruby2.7 in version 2.7.0-5.

ruby2.7 binary package provides 'bundle2.7' executable which could be symlinked to 'bundle', however, it would be conceptually wrong to mark ruby-bundler as provided by libruby2.7 and its binary be shipped in ruby2.7. Moreover, we would need to handle the case where ruby-bundler binary package is installed because it also provides 'bundle'.

The simplest solution here is make libruby2.7 does not provide ruby-bundler at all, and always force users to install ruby-bundler binary package.

[ Test Case ]

Try to install libruby2.7 in a Focal system and try to call 'bundle'.

$ lxc launch ubuntu-daily:focal ruby-does-not-provide-bundler
$ lxc shell ruby-does-not-provide-bundler
# apt install -y libruby2.7
# bundle

Command 'bundle' not found, but can be installed with:

apt install ruby-bundler

Since ruby-bundler is provided by libruby2.7 its binary must be already available to the user at this point.

[ Regression Potential ]

This change should not affect users heavily since it was introduced recently and most of them are not relying on it yet. However, there is a chance of someone preparing a ruby package/custom script and removing the dependency on ruby-bundler since it is now provided by libruby2.7, those packages/scripts will fail during build time or runtime.

[ Original description ]

In version 2.7.0-5, libruby2.7 became a provider of a bunch of libraries builtin to the standard
library, including ruby-bundler. The issue here is that ruby-bundler binary package ships the library and binary (called 'bundle') and libruby2.7 does not ship the binary just the library files.

This bug was reported here in Debian:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=959393

And it was already fixed in version 2.7.0-7:

https://tracker.debian.org/news/1141239/accepted-ruby27-270-7-source-into-unstable/

The solution is to make libruby2.7 stop providing ruby-bundler for now. This fix should be synced into Groovy and SRUed to Focal.

Related branches

Changed in ruby2.7 (Ubuntu):
assignee: nobody → Lucas Kanashiro (lucaskanashiro)
importance: Undecided → High
status: New → In Progress
Changed in ruby2.7 (Ubuntu Focal):
assignee: nobody → Lucas Kanashiro (lucaskanashiro)
importance: Undecided → High
status: New → In Progress
description: updated
Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :

Here is a PPA with the proposed solution for Focal:

https://launchpad.net/~lucaskanashiro/+archive/ubuntu/focal-ruby2.7-lp1876912/+packages

Verifying if the test case mentioned in the description has the expected behavior:

$ lxc launch ubuntu-daily:focal ruby-does-not-provide-bundler
$ lxc shell ruby-does-not-provide-bundler
# add-apt-repository -y ppa:lucaskanashiro/focal-ruby2.7-lp1876912
# apt install -y libruby2.7
# bundle

Command 'bundle' not found, but can be installed with:

apt install ruby-bundler

As expected libruby2.7 does not provide ruby-bundler anymore, so users willing to use it need to install ruby-bundler binary package.

summary: - libruby2.7 provides ruby-bundler library but its binary is missing
+ [SRU] libruby2.7 provides ruby-bundler library but its binary is missing
Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :

Version 2.7.0-7 (with the fix for this bug) was already synced from Debian to Groovy:

https://launchpad.net/ubuntu/+source/ruby2.7/2.7.0-7

Changed in ruby2.7 (Ubuntu):
status: In Progress → Fix Released
tags: added: verification-done verification-done-focal
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Lucas, or anyone else affected,

Accepted ruby2.7 into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/ruby2.7/2.7.0-5ubuntu1.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in ruby2.7 (Ubuntu Focal):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-focal
removed: verification-done verification-done-focal
Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (ruby2.7/2.7.0-5ubuntu1.1)

All autopkgtests for the newly accepted ruby2.7 (2.7.0-5ubuntu1.1) for focal have finished running.
The following regressions have been reported in tests triggered by the package:

puma/3.12.4-1ubuntu2 (armhf, amd64, s390x)
ruby-rblineprof/0.3.7-2build1 (arm64)
ruby-stackprof/0.2.15-2 (amd64, arm64)
ruby-bootsnap/1.4.6-1 (amd64)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/focal/update_excuses.html#ruby2.7

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :

The autopkgtest failures were related to some flaky tests, I re-triggered them and all of them are green now. However, ruby2.7 FTBFS on riscv64, after a discussion on #ubuntu-devel IRC channel wgrant will investigate it tomorrow (it might be an issue after upgrading the riscv64 builders after Focal release). AFAICT the build failure is not releated to the package changes.

Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :

Now the build on riscv64 was fixed. I tested the package in focal-proposed and it works as expected.

tags: added: verification-done verification-done-focal
removed: verification-needed verification-needed-focal
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

For formality's sake, please include information about what exact package version has been tested and what testing has been performed.

Revision history for this message
Łukasz Zemczak (sil2100) wrote : Update Released

The verification of the Stable Release Update for ruby2.7 has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ruby2.7 - 2.7.0-5ubuntu1.1

---------------
ruby2.7 (2.7.0-5ubuntu1.1) focal; urgency=medium

  * d/control: do not provide ruby-bundler (LP: #1876912).
    libruby2.7 provides only ruby-bundler library and not its binary.

 -- Lucas Kanashiro <email address hidden> Tue, 05 May 2020 15:12:42 -0300

Changed in ruby2.7 (Ubuntu Focal):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.