Bug#1038935: [DRE-maint] Bug#1038935: schleuder: fails to upgrade buster -> bullseye -> bookworm: NoMethodError: undefined method `preparable='

2023-07-29 Thread Georg Faerber
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='

2023-06-27 Thread Georg Faerber
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='

2023-06-26 Thread Antoine Beaupré
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='

2023-06-26 Thread Antoine Beaupré
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='

2023-06-24 Thread Debian Bug Tracking System
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='

2023-06-24 Thread Andreas Beckmann

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='

2023-06-24 Thread Georg Faerber
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='

2023-06-24 Thread Andreas Beckmann

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='

2023-06-23 Thread Debian Bug Tracking System
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='

2023-06-23 Thread Georg Faerber
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='

2023-06-23 Thread Andreas Beckmann
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