Skip to content

Read the PostgreSQL server headers from the repository the image's PostgreSQL comes from - #203

Merged
estebanzimanyi merged 1 commit into
MobilityDB:masterfrom
estebanzimanyi:ci/postgresql-headers-from-pgdg
Oct 24, 2026
Merged

estebanzimanyi merged 1 commit into
MobilityDB:masterfrom
estebanzimanyi:ci/postgresql-headers-from-pgdg

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

The libclang sysroot of provision-meos and of openapi-validate adds apt.postgresql.org (PGDG) as an
APT source before it installs the server headers, through pgdg-source.sh, which names the key in
a keyring the source points at (signed-by), as the runner images' own installer does. The build
path, which installs PostgreSQL 17 from PGDG, reads the same source, so its step adding PGDG with
apt-key is gone.

Witness: the runner images install PostgreSQL from PGDG and then remove the source. On
ubuntu-26.04 the archive's postgresql-server-dev-18 requires the archive's client, so apt-get exits
with 100 against the image's PGDG client: "postgresql-server-dev-18 : Depends:
postgresql-client-18 (= 18.6-0ubuntu0.26.04.1) but 18.6-1.pgdg26.04+2 is to be installed" (the
fork run of MobilityFlink #86, attempt 6). apt-key, which the build path used, is not in apt 3,
the apt of Ubuntu 26.04.

Measured: in a clean container that repeats the images' install-postgresql.sh (PostgreSQL from
PGDG, then the source removed) and then runs the sysroot install: Ubuntu 26.04 without
pgdg-source.sh exits with 100, as the runner does; with it, exit 0 and
/usr/include/postgresql/18/server/postgres.h; Ubuntu 24.04 with it, exit 0 and the headers of 16.

…stgreSQL comes from

The libclang sysroot of provision-meos and of openapi-validate adds apt.postgresql.org (PGDG) as an
APT source before it installs the server headers, through pgdg-source.sh, which names the key in
a keyring the source points at (signed-by), as the runner images' own installer does. The build
path, which installs PostgreSQL 17 from PGDG, reads the same source, so its step adding PGDG with
apt-key is gone.

Witness: the runner images install PostgreSQL from PGDG and then remove the source. On
ubuntu-26.04 the archive's postgresql-server-dev-18 requires the archive's client, so apt-get exits
with 100 against the image's PGDG client: "postgresql-server-dev-18 : Depends:
postgresql-client-18 (= 18.6-0ubuntu0.26.04.1) but 18.6-1.pgdg26.04+2 is to be installed" (the
fork run of MobilityFlink MobilityDB#86, attempt 6). apt-key, which the build path used, is not in apt 3,
the apt of Ubuntu 26.04.

Measured: in a clean container that repeats the images' install-postgresql.sh (PostgreSQL from
PGDG, then the source removed) and then runs the sysroot install: Ubuntu 26.04 without
pgdg-source.sh exits with 100, as the runner does; with it, exit 0 and
/usr/include/postgresql/18/server/postgres.h; Ubuntu 24.04 with it, exit 0 and the headers of 16.
@estebanzimanyi
estebanzimanyi merged commit aa94b68 into MobilityDB:master Oct 24, 2026
3 checks passed
@estebanzimanyi
estebanzimanyi deleted the ci/postgresql-headers-from-pgdg branch October 24, 2026 16:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant