Bug#1038935: [DRE-maint] Bug#1038935: schleuder: fails to upgrade buster -> bullseye -> bookworm: NoMethodError: undefined method `preparable='
Hi, On 23-06-27 09:05:43, Georg Faerber wrote: > Regarding the test: I'll seek comments of the Ruby team before filling > the -pu; I believe the risk of regressions should be fairly low, as > arel, as described, has been part of activerecord since quite some > time. I'll test this especially in combination with schleuder, which > exposed this issue; to ease future maintenance and increase the > chances of spotting these issues earlier, ideally before release, I > added a "piuparts multi distro upgrade" test job to the Salsa CI [1]. I was on the road the last weeks, therefore I was only able to mail the team by now. Cheers, Georg
Bug#1038935: schleuder: fails to upgrade buster -> bullseye -> bookworm: NoMethodError: undefined method `preparable='
Hi, On 23-06-26 10:27:37, Antoine Beaupré wrote: > Just to make sure, someone still is working on this to make sure it's > fixed in bookworm? I'll take care of it. > I guess the first step is to wait for the package to transition to > trixie and then do the -pu? I suspect it will be hard to test this in > trixie since you'd need to upgrade from buster to trixie, right? Right, it needs some more days. CI reported regressions, which I believe are unrelated to the issue and hand the fix. As of now it should migrate within five days. Regarding the test: I'll seek comments of the Ruby team before filling the -pu; I believe the risk of regressions should be fairly low, as arel, as described, has been part of activerecord since quite some time. I'll test this especially in combination with schleuder, which exposed this issue; to ease future maintenance and increase the chances of spotting these issues earlier, ideally before release, I added a "piuparts multi distro upgrade" test job to the Salsa CI [1]. I'll keep this bug updated. Cheers, Georg [1] https://salsa.debian.org/ruby-team/schleuder/-/commit/08fd9a91a938346f5cad3cf216f8225b6f6cdd0e
Bug#1038935: schleuder: fails to upgrade buster -> bullseye -> bookworm: NoMethodError: undefined method `preparable='
On 2023-06-26 10:27:37, Antoine Beaupré wrote: [...] > I guess the first step is to wait for the package to transition to > trixie and then do the -pu? I suspect it will be hard to test this in > trixie since you'd need to upgrade from buster to trixie, right? I meant bullseye here of course, sorry. I, for one, will be glad to have a few releases not starting with `b` for a while. :P -- L'homme construit des maisons parce qu'il est vivant, mais il écrit des livres parce qu'il se sait mortel. - Daniel Pennac, Comme un roman
Bug#1038935: schleuder: fails to upgrade buster -> bullseye -> bookworm: NoMethodError: undefined method `preparable='
On 2023-06-24 22:38:38, Andreas Beckmann wrote: [...] >> I'll prepare a ruby-activerecord proposed-update targeting bookworm. > > This needs to be fixed in sid first. > > Adding the Conflicts against ruby-arel in ruby-activerecord requires > changes in src:ruby-premailer-rails, too, since that (directly) > build-depends on ruby-arel and indirectly on ruby-activerecord. > Maybe dropping the B-D: ruby-arel is already sufficient. > These changes need to be backported to bookworm-pu as well. > If that is fixed, ruby-arel can be removed from sid (and it could be > considered to remove it from bookworm as well). Just to make sure, someone still is working on this to make sure it's fixed in bookworm? I guess the first step is to wait for the package to transition to trixie and then do the -pu? I suspect it will be hard to test this in trixie since you'd need to upgrade from buster to trixie, right? thanks!
Processed: Re: Bug#1038935: schleuder: fails to upgrade buster -> bullseye -> bookworm: NoMethodError: undefined method `preparable='
Processing control commands: > reassign -1 ruby-activerecord 2:6.1.7.3+dfsg-1 Bug #1038935 [schleuder] schleuder: fails to upgrade buster -> bullseye -> bookworm: NoMethodError: undefined method `preparable=' Bug reassigned from package 'schleuder' to 'ruby-activerecord'. No longer marked as found in versions schleuder/4.0.3-7. Ignoring request to alter fixed versions of bug #1038935 to the same values previously set Bug #1038935 [ruby-activerecord] schleuder: fails to upgrade buster -> bullseye -> bookworm: NoMethodError: undefined method `preparable=' Marked as found in versions rails/2:6.1.7.3+dfsg-1. > retitle -1 ruby-activerecord: missing Conflicts: ruby-arel Bug #1038935 [ruby-activerecord] schleuder: fails to upgrade buster -> bullseye -> bookworm: NoMethodError: undefined method `preparable=' Changed Bug title to 'ruby-activerecord: missing Conflicts: ruby-arel' from 'schleuder: fails to upgrade buster -> bullseye -> bookworm: NoMethodError: undefined method `preparable=''. > affects -1 + src:schleuder Bug #1038935 [ruby-activerecord] ruby-activerecord: missing Conflicts: ruby-arel Added indication that 1038935 affects src:schleuder > clone -1 -2 -3 Bug #1038935 [ruby-activerecord] ruby-activerecord: missing Conflicts: ruby-arel Bug 1038935 cloned as bugs 1039034-1039035 > reassign -2 ruby-arel 9.0.0-2 Bug #1039034 [ruby-activerecord] ruby-activerecord: missing Conflicts: ruby-arel Bug reassigned from package 'ruby-activerecord' to 'ruby-arel'. No longer marked as found in versions rails/2:6.1.7.3+dfsg-1. Ignoring request to alter fixed versions of bug #1039034 to the same values previously set Bug #1039034 [ruby-arel] ruby-activerecord: missing Conflicts: ruby-arel Marked as found in versions ruby-arel/9.0.0-2. > tag -2 sid trixie Bug #1039034 [ruby-arel] ruby-activerecord: missing Conflicts: ruby-arel Added tag(s) trixie and sid. > retitle -2 ruby-arel: obsolete, integrated into ruby-activerecord, > incompatible with ruby-activerecord 6.1.x Bug #1039034 [ruby-arel] ruby-activerecord: missing Conflicts: ruby-arel Changed Bug title to 'ruby-arel: obsolete, integrated into ruby-activerecord, incompatible with ruby-activerecord 6.1.x' from 'ruby-activerecord: missing Conflicts: ruby-arel'. > reassign -3 src:ruby-premailer-rails 1.10.3-3 Bug #1039035 [ruby-activerecord] ruby-activerecord: missing Conflicts: ruby-arel Bug reassigned from package 'ruby-activerecord' to 'src:ruby-premailer-rails'. No longer marked as found in versions rails/2:6.1.7.3+dfsg-1. Ignoring request to alter fixed versions of bug #1039035 to the same values previously set Bug #1039035 [src:ruby-premailer-rails] ruby-activerecord: missing Conflicts: ruby-arel Marked as found in versions ruby-premailer-rails/1.10.3-3. > tag -3 sid trixie bookworm Bug #1039035 [src:ruby-premailer-rails] ruby-activerecord: missing Conflicts: ruby-arel Added tag(s) sid and trixie. > retitle -3 ruby-premailer-rails: B-D on obsolete ruby-arel, incompatible with > ruby-activerecord 6.1.x Bug #1039035 [src:ruby-premailer-rails] ruby-activerecord: missing Conflicts: ruby-arel Changed Bug title to 'ruby-premailer-rails: B-D on obsolete ruby-arel, incompatible with ruby-activerecord 6.1.x' from 'ruby-activerecord: missing Conflicts: ruby-arel'. -- 1038935: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1038935 1039034: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1039034 1039035: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1039035 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
Bug#1038935: schleuder: fails to upgrade buster -> bullseye -> bookworm: NoMethodError: undefined method `preparable='
Control: reassign -1 ruby-activerecord 2:6.1.7.3+dfsg-1 Control: retitle -1 ruby-activerecord: missing Conflicts: ruby-arel Control: affects -1 + src:schleuder Control: clone -1 -2 -3 Control: reassign -2 ruby-arel 9.0.0-2 Control: tag -2 sid trixie Control: retitle -2 ruby-arel: obsolete, integrated into ruby-activerecord, incompatible with ruby-activerecord 6.1.x Control: reassign -3 src:ruby-premailer-rails 1.10.3-3 Control: tag -3 sid trixie bookworm Control: retitle -3 ruby-premailer-rails: B-D on obsolete ruby-arel, incompatible with ruby-activerecord 6.1.x On 24/06/2023 15.07, Georg Faerber wrote: So, given the above, I believe this bug should be reassigned to ruby-activerecord, and schleuder should be marked as affected? Also, I Doing that, and cloning it for ruby-arel and ruby-premailer-rails. guess, as this issue is not specific to schleuder, probably more packages which rely on ruby-activerecord are affected. But schleuder seems to be the only one using it "sufficiently" to expose the bug already in the maintainer scripts. I'll prepare a ruby-activerecord proposed-update targeting bookworm. This needs to be fixed in sid first. Adding the Conflicts against ruby-arel in ruby-activerecord requires changes in src:ruby-premailer-rails, too, since that (directly) build-depends on ruby-arel and indirectly on ruby-activerecord. Maybe dropping the B-D: ruby-arel is already sufficient. These changes need to be backported to bookworm-pu as well. If that is fixed, ruby-arel can be removed from sid (and it could be considered to remove it from bookworm as well). Andreas
Bug#1038935: schleuder: fails to upgrade buster -> bullseye -> bookworm: NoMethodError: undefined method `preparable='
Hi, On 23-06-24 14:58:21, Andreas Beckmann wrote: > Shouldn't these conflicts rather be in ruby-activerecord? Yes, I agree, that's the correct place. > As I understand the history, arel has been merged into activerecord (5 years > ago, probably version 6.0.x) and the "old" arel 9 is no longer compatible > with current activerecord 6.1.x. This is probably unrelated to schleuder > (which only exposes the bug). That's my understanding as well. > Interestingly this didn't happen on buster->bullseye upgrades, but perhaps > arel 9 was still compatible with activerecord 6.0.x. Yeah, I wondered about this also, but I'm unsure why is that, so far. > Should ruby-arel be RM:ed? > Note: one reverse build dependency > # Broken Build-Depends: > ruby-premailer-rails: ruby-arel Yes -- I sent a mail about this to the Ruby team, see [1] for details. > I'll give it a try... yes, the conflict against ruby-arel fixes the > upgrade path. Great, thanks. So, given the above, I believe this bug should be reassigned to ruby-activerecord, and schleuder should be marked as affected? Also, I guess, as this issue is not specific to schleuder, probably more packages which rely on ruby-activerecord are affected. I'll prepare a ruby-activerecord proposed-update targeting bookworm. Cheers, Georg [1] https://lists.debian.org/debian-ruby/2023/06/msg4.html
Bug#1038935: schleuder: fails to upgrade buster -> bullseye -> bookworm: NoMethodError: undefined method `preparable='
On 24/06/2023 02.22, Georg Faerber wrote: I believe that's caused by ruby-arel, the attached patches fix the issue in my tests. Shouldn't these conflicts rather be in ruby-activerecord? As I understand the history, arel has been merged into activerecord (5 years ago, probably version 6.0.x) and the "old" arel 9 is no longer compatible with current activerecord 6.1.x. This is probably unrelated to schleuder (which only exposes the bug). Interestingly this didn't happen on buster->bullseye upgrades, but perhaps arel 9 was still compatible with activerecord 6.0.x. Should ruby-arel be RM:ed? Note: one reverse build dependency # Broken Build-Depends: ruby-premailer-rails: ruby-arel Andreas, are you able to test these in your environment? I'll give it a try... yes, the conflict against ruby-arel fixes the upgrade path. Andreas, who has no clue at all about ruby
Processed: Re: Bug#1038935: schleuder: fails to upgrade buster -> bullseye -> bookworm: NoMethodError: undefined method `preparable='
Processing control commands: > tag -1 + patch Bug #1038935 [schleuder] schleuder: fails to upgrade buster -> bullseye -> bookworm: NoMethodError: undefined method `preparable=' Added tag(s) patch. -- 1038935: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1038935 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
Bug#1038935: schleuder: fails to upgrade buster -> bullseye -> bookworm: NoMethodError: undefined method `preparable='
Control: tag -1 + patch Hi, Thanks for the report! On 23-06-23 11:20:28, Andreas Beckmann wrote: > Package: schleuder > > during a test with piuparts I noticed your package fails to upgrade > from 'buster' to 'bullseye' to 'bookworm'. > It installed fine in 'buster', and upgraded to 'bullseye' > successfully, but then the upgrade to 'bookworm' failed. I believe that's caused by ruby-arel, the attached patches fix the issue in my tests. Andreas, are you able to test these in your environment? All the best, Georg >From 45bc5cfff9adbacef1174d6bb9cd49ba8a90d860 Mon Sep 17 00:00:00 2001 From: Georg Faerber Date: Sat, 24 Jun 2023 00:14:47 + Subject: [PATCH 1/2] debian/control: add Conflicts: ruby-arel --- debian/control | 1 + 1 file changed, 1 insertion(+) diff --git a/debian/control b/debian/control index 0f08e89..80a6f0c 100644 --- a/debian/control +++ b/debian/control @@ -32,6 +32,7 @@ Rules-Requires-Root: no Package: schleuder Architecture: all +Conflicts: ruby-arel, Depends: adduser, cron | cron-daemon, default-mta | postfix | mail-transport-agent, -- 2.30.2 >From 009d8af740408deccafd477bbbeaf8eaa6d54ec1 Mon Sep 17 00:00:00 2001 From: Georg Faerber Date: Sat, 24 Jun 2023 00:15:10 + Subject: [PATCH 2/2] debian/changelog: Debian release 4.0.3-8 --- debian/changelog | 9 + 1 file changed, 9 insertions(+) diff --git a/debian/changelog b/debian/changelog index edb2aa8..9bda664 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +schleuder (4.0.3-8) unstable; urgency=medium + + * debian/control: +- Declare that schleuder conflicts with ruby-arel. Before, database + migration failed during an upgrade, if ruby-arel was installed. + (Closes: #1038935) + + -- Georg Faerber Sat, 24 Jun 2023 00:05:14 + + schleuder (4.0.3-7) unstable; urgency=medium * Team upload -- 2.30.2
Bug#1038935: schleuder: fails to upgrade buster -> bullseye -> bookworm: NoMethodError: undefined method `preparable='
Package: schleuder Version: 4.0.3-7 Severity: serious User: debian...@lists.debian.org Usertags: piuparts Hi, during a test with piuparts I noticed your package fails to upgrade from 'buster' to 'bullseye' to 'bookworm'. It installed fine in 'buster', and upgraded to 'bullseye' successfully, but then the upgrade to 'bookworm' failed. >From the attached log (scroll to the bottom...): Setting up schleuder (4.0.3-7) ... Installing new version of config file /etc/postfix/schleuder_sqlite.cf ... Installing new version of config file /etc/schleuder/schleuder.yml ... rake aborted! NoMethodError: undefined method `preparable=' for #, @right=#> collector.preparable = true ^ /usr/share/rubygems-integration/all/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/abstract/database_statements.rb:27:in `to_sql_and_binds' /usr/share/rubygems-integration/all/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/abstract/database_statements.rb:64:in `select_all' /usr/share/rubygems-integration/all/gems/activerecord-6.1.7.3/lib/active_record/connection_adapters/abstract/query_cache.rb:103:in `select_all' /usr/share/rubygems-integration/all/gems/activerecord-6.1.7.3/lib/active_record/relation/calculations.rb:200:in `block in pluck' /usr/share/rubygems-integration/all/gems/activerecord-6.1.7.3/lib/active_record/relation.rb:861:in `skip_query_cache_if_necessary' /usr/share/rubygems-integration/all/gems/activerecord-6.1.7.3/lib/active_record/relation/calculations.rb:196:in `pluck' /usr/share/rubygems-integration/all/gems/activerecord-6.1.7.3/lib/active_record/schema_migration.rb:46:in `all_versions' /usr/share/rubygems-integration/all/gems/activerecord-6.1.7.3/lib/active_record/migration.rb:1282:in `load_migrated' /usr/share/rubygems-integration/all/gems/activerecord-6.1.7.3/lib/active_record/migration.rb:1278:in `migrated' /usr/share/rubygems-integration/all/gems/activerecord-6.1.7.3/lib/active_record/migration.rb:1314:in `ran?' /usr/share/rubygems-integration/all/gems/activerecord-6.1.7.3/lib/active_record/migration.rb:1260:in `block in runnable' /usr/share/rubygems-integration/all/gems/activerecord-6.1.7.3/lib/active_record/migration.rb:1260:in `reject' /usr/share/rubygems-integration/all/gems/activerecord-6.1.7.3/lib/active_record/migration.rb:1260:in `runnable' /usr/share/rubygems-integration/all/gems/activerecord-6.1.7.3/lib/active_record/migration.rb:1302:in `migrate_without_lock' /usr/share/rubygems-integration/all/gems/activerecord-6.1.7.3/lib/active_record/migration.rb:1253:in `migrate' /usr/share/rubygems-integration/all/gems/activerecord-6.1.7.3/lib/active_record/migration.rb:1086:in `up' /usr/share/rubygems-integration/all/gems/activerecord-6.1.7.3/lib/active_record/migration.rb:1061:in `migrate' /usr/share/rubygems-integration/all/gems/activerecord-6.1.7.3/lib/active_record/tasks/database_tasks.rb:237:in `migrate' /usr/share/rubygems-integration/all/gems/activerecord-6.1.7.3/lib/active_record/railties/databases.rake:92:in `block (3 levels) in ' /usr/share/rubygems-integration/all/gems/activerecord-6.1.7.3/lib/active_record/railties/databases.rake:90:in `each' /usr/share/rubygems-integration/all/gems/activerecord-6.1.7.3/lib/active_record/railties/databases.rake:90:in `block (2 levels) in ' Tasks: TOP => db:migrate (See full trace by running task with --trace) dpkg: error processing package schleuder (--configure): installed schleuder package post-installation script subprocess returned error exit status 1 This does not happen on the bullseye -> bookworm upgrade path. This is unrelated to bug #1036950: "schleuder: fails to upgrade from 'buster': insufficient dependency on ruby-activerecord (>= 2:6)", i.e. it is reproducible even if that bug is fixed in bullseye. cheers, Andreas schleuder_4.0.3-7.log.gz Description: application/gzip