1. KOHA_IMAGE=main-bookworm ktd up 2. prove xt/perltidy.t 3. leave running for like a minute, it passes, don't bother with full run 4. KOHA_IMAGE=main-trixie ktd up 5. prove xt/perltidy.t 6. failures quickly pile up D12: perltidy --version This is perltidy, v20230309 dpkg -l | grep tidy 20230309-1~koha3 (ours) D13: perltidy --version This is perltidy, v20250105 dpkg -l | grep tidy 20250105-1 So in KTD, the D13 image doesn't ship our perltidy so it uses Debian's which is more recent. And might use some different default that aren't covered by our current config. I guess it would be better to complete the config so that both version of perltidy output the same code, right? Rather than making the D13 image ship an old version of perltidy which would postpone the root issue.
Also, it makes the qa script fail if working on Debian 13
(In reply to Victor Grousset/tuxayo from comment #0) > So in KTD, the D13 image doesn't ship our perltidy so it uses Debian's which > is more recent. And might use some different default that aren't covered by > our current config. I guess it would be better to complete the config so > that both version of perltidy output the same code, right? Yes, that is what needs to be done.
Actually there are not many changes, and they are actually bugfixes https://perltidy.sourceforge.net/ChangeLog.html I would suggest to make v20250105 our default versions for the different OSes.
Created attachment 191896 [details] [review] Bug 41076: Adjust our perl tidiness for v20250105 Generated using `perl misc/devel/tidy.pl --perl`
It's actually a lot of changes to test files, but they are greatly improving the readability!
Do not push if v20230309 is not the default everywhere! See with Mason.
Which rules actually change?
(In reply to Marcel de Rooy from comment #7) > Which rules actually change? As said there are bug fixes. I found this one: https://perltidy.sourceforge.net/ChangeLog.html 2025 01 05 - Space around here doc delimiters follow spacing controls better. For example, a space is now added before the closing paren here: OLD: (without the here doc): push( @script, <<'EOT'); NEW: push( @script, <<'EOT' ); Also, any spaces between the '<<' and here target are removed (git #174): OLD: push( @script, << 'EOT'); NEW: push( @script, <<'EOT' ); The other changes made sense to me (and felt like bug fixes as well) so it seems better to include the changes than adding options to ignore them.
Created attachment 192028 [details] [review] Bug 41076: Adjust our perl tidiness for v20250105 Generated using `perl misc/devel/tidy.pl --perl` Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
I@m happy with the changes here.. I would have liked to indent params in search calls, but perltidy can't do that consistently.. We could add nesting to our code to get around it, but that also feels a bit dirty for little reward. Certainly need to wait for Mason to get the go ahead before pushing this one though.
Do not push if v20250105 is not the default everywhere! See with Mason.
I am now seeing this on D12: $ apt-cache policy perltidy perltidy: Installed: 20250105-1 Candidate: 20250105-1 Version table: *** 20250105-1 500 500 http://debian.koha-community.org/koha-staging dev/main amd64 Packages 100 /var/lib/dpkg/status 20220613-1 500 500 http://deb.debian.org/debian bookworm/main amd64 Packages
(In reply to Jonathan Druart from comment #12) > I am now seeing this on D12: > > $ apt-cache policy perltidy > perltidy: > Installed: 20250105-1 > Candidate: 20250105-1 > Version table: > *** 20250105-1 500 > 500 http://debian.koha-community.org/koha-staging dev/main amd64 > Packages > 100 /var/lib/dpkg/status > 20220613-1 500 > 500 http://deb.debian.org/debian bookworm/main amd64 Packages hiya, i've added perltidy 20250105-1 to the koha-staging repo i just used debian's package, and did not build/rename a koha version
i've addeed this to prod APT repo, for all active branches $ apt policy perltidy perltidy: Installed: 20250105-1~koha1 Candidate: 20250105-1~koha1 Version table: *** 20250105-1~koha1 500 500 https://debian.koha-community.org/koha stable/main amd64 Packages 500 https://debian.koha-community.org/koha stable/main armhf Packages 100 /var/lib/dpkg/status 20200110-1 500 500 http://ftp.nz.debian.org/debian bullseye/main amd64 Packages 500 http://ftp.nz.debian.org/debian bullseye/main armhf Packages
Checking KTD's, we now have: D13: This is perltidy, v20250105 D12: This is perltidy, v20250105 D11: This is perltidy, v20250105 U24: Fails to start on my machine U22: This is perltidy, v20250105 So.. all the KTD's now have the same modern perltidy.. which means we need these patches applied and any new code needs to by retidied on push to match the new rules if it now fails due to the new perltidy version.
Pushed to main for 26.05.00.
*** Bug 41735 has been marked as a duplicate of this bug. ***
(In reply to Martin Renvoize (ashimema) from comment #15) > Checking KTD's, we now have: > > D13: This is perltidy, v20250105 > > D12: This is perltidy, v20250105 > > D11: This is perltidy, v20250105 > > U24: Fails to start on my machine > > U22: This is perltidy, v20250105 > > So.. all the KTD's now have the same modern perltidy.. which means we need > these patches applied and any new code needs to by retidied on push to match > the new rules if it now fails due to the new perltidy version. I am running on Debian 12 and note that not everyone runs KTD ! perltidy -v This is perltidy, v20230309 Please help the non-KTD minority ;)
(In reply to Marcel de Rooy from comment #18) > (In reply to Martin Renvoize (ashimema) from comment #15) > > Checking KTD's, we now have: > > > > D13: This is perltidy, v20250105 > > > > D12: This is perltidy, v20250105 > > > > D11: This is perltidy, v20250105 > > > > U24: Fails to start on my machine > > > > U22: This is perltidy, v20250105 > > > > So.. all the KTD's now have the same modern perltidy.. which means we need > > these patches applied and any new code needs to by retidied on push to match > > the new rules if it now fails due to the new perltidy version. > > I am running on Debian 12 and note that not everyone runs KTD ! > perltidy -v > This is perltidy, v20230309 > > Please help the non-KTD minority ;) Note that D12 even has an older version. This one already came from debian.koha-community. So a rebuild should fix my container :)
Just a side note but just intrigued by the first perltidy change in Auth.pm: @@ -1236,7 +1236,7 @@ sub checkauth { : Koha::Cash::Registers->search( { branch => $branchcode, branch_default => 1 }, { rows => 1 } - )->single; + )->single; I would have preferred to indent the two lines after ->search here.. Now the search parameters in the ternary else branch are on the same level as the single applied on the whole ternary result.
(In reply to Marcel de Rooy from comment #20) > Just a side note but just intrigued by the first perltidy change in Auth.pm: > @@ -1236,7 +1236,7 @@ sub checkauth { > : Koha::Cash::Registers->search( > { branch => $branchcode, branch_default => 1 }, > { rows => 1 } > - )->single; > + )->single; > > I would have preferred to indent the two lines after ->search here.. Now the > search parameters in the ternary else branch are on the same level as the > single applied on the whole ternary result. Martin asked the same on Mattermost: https://chat.koha-community.org/koha-community/pl/4j1pnibow7n9tdhcjddgzs1w4c The whole statement (now): 1233 my $register = 1234 $query->param('register_id') 1235 ? Koha::Cash::Registers->find( $query->param('register_id') ) 1236 : Koha::Cash::Registers->search( 1237 { branch => $branchcode, branch_default => 1 }, 1238 { rows => 1 } 1239 )->single; 1239 was definitely wrong, and it's fixed now. However I do agree that 1237 and 1238 should have an additional indent level. Maybe it will be fixed in the next update? :)
Created attachment 193768 [details] [review] Bug 41076: [25.05.x] Adjust perl tidiness