[Bug 1979128] Re: [SRU] ruby-sdbm should be backported to jammy
Launchpad Bug Tracker
1979128 at bugs.launchpad.net
Mon Jan 23 10:49:38 UTC 2023
This bug was fixed in the package bsfilter - 1:1.0.19-2.1ubuntu0.1
---------------
bsfilter (1:1.0.19-2.1ubuntu0.1) jammy; urgency=medium
* d/control: add dependency on ruby-sdbm (LP: #1979128)
-- Mitsuya Shibata <mty.shibata at gmail.com> Sat, 10 Dec 2022 11:05:45
+0000
** Changed in: bsfilter (Ubuntu Jammy)
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1979128
Title:
[SRU] ruby-sdbm should be backported to jammy
Status in bsfilter package in Ubuntu:
Fix Released
Status in ruby-sdbm package in Ubuntu:
Fix Released
Status in bsfilter source package in Jammy:
Fix Released
Status in ruby-sdbm source package in Jammy:
Fix Released
Bug description:
[Impact]
In jammy, the bsfilter package assumes that ruby has the sdbm library
built in. However, the sdbm library was removed in Ruby 3.0 and became
a separate package. Therefore, the learning function of bsfilter does
not work anymore.
Therefore, we will add the ruby-sdbm package to bsfilter's Depends
field.
[Test Plan]
$ lxc launch ubuntu-daily:jammy bsfilter-test
$ lxc shell bsfilter-test
# apt install -y bsfilter
# touch foo
# bsfilter --sub-clean --add-spam --insert-flag --insert-probability --update foo
# echo $?
0
no display load error for "require" instruction, and bsfilter command
should succeed.
[Where problems could occur]
The bsfilter command always fails if ruby-sdbm is not installed,
because it tries to load the sdbm library by default if the DB option
is unspecified. Therefore, I consider that there is no risk of
regression.
---
Following for SRU of ruby-sdbm
[Impact]
In Ruby 3.0, sdbm has been removed from the standard library[1].
However, some packages, such as the bsfilter package, will fail at
startup without the sdbm library, LP: #1972040 .
The ruby-sdbm package does not exist in Jammy, only in Kinetic.
Therefore, backporting ruby-sdbm from kinetic to jammy and relying on
ruby-sdbm on the bsfilter side seems to solve the problem.
[1] https://www.ruby-lang.org/en/news/2020/12/25/ruby-3-0-0-released/
[Test Plan]
$ lxc launch ubuntu-daily:jammy ruby-sdbm-test
$ lxc shell ruby-sdbm-test
# apt install -y ruby-sdbm
# ruby -e "require 'sdbm'; SDBM.open 'my_database' do |db| db.update('foo' => 'bar') end"
The command above will create 2 files: my_database.dir and
my_database.pag. No exception is expected.
[Where problems could occur]
The ruby-sdbm package does not exist in Jammy, I do not believe that
any regression will occur.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/bsfilter/+bug/1979128/+subscriptions
More information about the Ubuntu-sponsors
mailing list