[SRU] ruby-sdbm should be backported to jammy
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
bsfilter (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Jammy |
Fix Released
|
Undecided
|
Mitsuya Shibata | ||
ruby-sdbm (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Jammy |
Fix Released
|
Undecided
|
Lucas Kanashiro |
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-
# 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:/
[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.
Changed in bsfilter (Ubuntu): | |
status: | New → Fix Released |
tags: | removed: server-todo |
@ubuntu-sponsors
If I would like to backport new package SRU process, I cannot generate debdiff.
Do I need to attach anything else?