Friday 23 August 2024

+1 maintenance report

Hi there,

I was on +1 maintenance this week and here is my report.

ruby-defaults 1:3.3~ubuntu3 transition
=============================
I spent most of the time on the autopkgtest failures reported against the transition. I did an initial triage of the failures and then decided to focus on two categories of failures:

Category 1: Removal of the three-argument overload of Regexp::new (Regexp::compile is an alias)
A total of 6 packages are affected by this. I have grouped these packages under bug 2077502 [1].  
Ruby 3.3 removed support for the "encoding" argument to method Regexp::new/::compile. This argument was deprecated by Ruby 3.2 and only values 'n' and 'N', corresponding to Regexp::NOENCODING were supported. Ruby 3.3 removes the argument and recommends accommodating it in the 'flags. See the release notes here [2] and the bug report [3]. 

I have merge-proposals submitted for the affected packages. See [1] for details.

Category 2: Changes in the minitest gem API
A total of 20 packages seem to be affected by this. I have grouped them under bug 2077617 [4].
Ruby 3.3 includes minitest 5.20.0. Version 5.19.0 of the minitest gem, stopped loading the MiniTest class by default and users are not expected to use "Minitest" (instead of MiniTest). However, use of environment variable MT_COMPAT falls back to the old behaviour and no code changes are needed. See [5].

I have merge-proposals submitted for most of the affected packages. See [4] for details. Thanks to Athos for sponsoring!
I liked this suggestion [6] from Athos,  in this context.


Currently, the remaining  autopkgtest failures in the ruby-defaults cluster can be grouped into:
1. Failures due to unmet dependencies [7] - i386 (37 packages), all-archs (3 packages)
    The all-archs list has drastically reduced this week. Thanks to NCRs done by Lucas Kanashiro. Lucas also seems to be working through the i386 list.
2. Failures due to missing gems like method_source, octokit, sqlite3 and sprocket. See [8].
3. Other miscellaneous test failures. See [8].

[8] should be a good list of todos for the next +1 shift :-)

I also worked on a couple of FTBFSs on the first day of the shift.

FTBFS in crack
============
The crack package FTBFS on armhf because it assumes sizeof(long) == sizeof(time_t).

FTBFS in eiciel
============
A new overload of Gdk::Cursor::create() added in gtkmm4.0 4.15.0-1 seems to confuse the C++ compiler. We can work-around the ambiguity.

Thanks for reading through!

Regards,
Pushkar