Обсуждение: Upgrade Debian CI image from Bookworm to Trixie

Поиск
Список
Период
Сортировка

Upgrade Debian CI image from Bookworm to Trixie

От
Nazir Bilal Yavuz
Дата:
Hi,

Debian Trixie CI images are generated now [1], so the attached patch
uses them with the following changes:

(copying from commit message)

- detect_stack_use_after_return=0 option is added to the ASAN_OPTIONS
  because ASAN uses a "shadow stack" to track stack variable lifetimes
  and this confuses Postgres' stack depth check [2].

- Perl is updated to the newer version (perl5.40-i386-linux-gnu).

- LLVM-14 is no longer default installation, no need to force using
  LLVM-16.

- Switch MinGW CC/CXX to x86_64-w64-mingw32ucrt-* to fix build failure
  from missing _iswctype_l in mingw-w64 v12 headers.

Please note that this patch can be applied to the master only, other
branches have conflicts. I can work on back-patches when the patch is
ready to commit.

Any feedback would be appreciated.

[1] https://github.com/anarazel/pg-vm-images/commit/35a144793f
[2] https://postgr.es/m/20240130212304.q66rquj5es4375ab%40awork3.anarazel.de

-- 
Regards,
Nazir Bilal Yavuz
Microsoft

Вложения

Re: Upgrade Debian CI image from Bookworm to Trixie

От
Andres Freund
Дата:
Hi,

On 2025-10-13 15:49:01 +0300, Nazir Bilal Yavuz wrote:
> Debian Trixie CI images are generated now [1], so the attached patch
> uses them with the following changes:
> 
> (copying from commit message)
> 
> - detect_stack_use_after_return=0 option is added to the ASAN_OPTIONS
>   because ASAN uses a "shadow stack" to track stack variable lifetimes
>   and this confuses Postgres' stack depth check [2].
> 
> - Perl is updated to the newer version (perl5.40-i386-linux-gnu).
> 
> - LLVM-14 is no longer default installation, no need to force using
>   LLVM-16.
> 
> - Switch MinGW CC/CXX to x86_64-w64-mingw32ucrt-* to fix build failure
>   from missing _iswctype_l in mingw-w64 v12 headers.
> 
> Please note that this patch can be applied to the master only, other
> branches have conflicts. I can work on back-patches when the patch is
> ready to commit.
> 
> Any feedback would be appreciated.
> 
> [1] https://github.com/anarazel/pg-vm-images/commit/35a144793f
> [2] https://postgr.es/m/20240130212304.q66rquj5es4375ab%40awork3.anarazel.de

As noted in [1] applying this to the backbranches required backpatching
7bc9a8bdd2d, or the CompilerWarnings task would fail with:

[21:08:42.818] In file included from ../../../src/include/c.h:60,
[21:08:42.818]                  from ../../../src/include/postgres.h:45,
[21:08:42.818]                  from postmaster.c:66:
[21:08:42.818] postmaster.c: In function ‘PostmasterMain’:
[21:08:42.818] postmaster.c:862:31: error: ‘__p__environ’ redeclared without dllimport attribute: previous dllimport
ignored[-Werror=attributes]
 
[21:08:42.818]   862 |                 extern char **environ;
[21:08:42.818]       |                               ^~~~~~~
[21:08:42.818] cc1: all warnings being treated as errors

I now pushed the backpatch and the upgrade to trixie. Let's hope that neither
buildfarm nor CI finds issues...

Greetings,

Andres Freund

[1] https://www.postgresql.org/message-id/o5yadhhmyjo53svzwvaocww6zkrp63i4f32cw3treuh46pxtza@hyqio5b2tkt6
[2] https://cirrus-ci.com/task/6526575971139584