[Bug 1979128] Re: [SRU] ruby-sdbm should be backported to jammy
Lucas Kanashiro
1979128 at bugs.launchpad.net
Wed Jan 4 16:18:19 UTC 2023
** Tags removed: server-todo
--
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:
In Progress
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