[Qa-jenkins-dev] Bug#903545: reproducible: Please don't vary kernel architecture personality

Christoph Berg christoph.berg at credativ.de
Wed Jul 11 08:48:06 BST 2018


Package: jenkins.debian.org
Severity: normal
User: jenkins.debian.org at packages.debian.org
Usertags: reproducible

Hi,

the only remaining variation in the postgresql-10 builds is the `uname -m`
information captured in pg_config.h:

/usr/include/postgresql/10/server/pg_config.h:
#define PG_VERSION_STR "PostgreSQL 10.4 (Debian 10.4-2.pgdg+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 7.3.0-18) 7.3.0, 64-bit"
#define PG_VERSION_STR "PostgreSQL 10.4 (Debian 10.4-2.pgdg+1) on i686-pc-linux-gnu, compiled by gcc (Debian 7.3.0-18) 7.3.0, 64-bit"

This information is also stored in Makefile.global, which is used by
extension modules to configure themselves for the PostgreSQL server
they are targetting:

/usr/lib/postgresql/10/lib/pgxs/src/Makefile.global:
host_tuple = x86_64-pc-linux-gnu
host_os = linux-gnu
host_cpu = x86_64

host_tuple = i686-pc-linux-gnu
host_os = linux-gnu
host_cpu = i686

I could probably remove the "on $host" part from PG_VERSION_STR, but
Makefile.global is not so easy, because 3rd-party extensions might
need the information.

The difference stems from altering the kernel personality to report
the i686 architecture name even on x86_64 aka amd64 systems.

I think this is damaging an otherwise functional environment, i.e.
systems should always be running with their native architecture
(x86_64 on amd64, armv7l on armhf, etc) - otherwise the system is just
broken. Chroots for related architectures should be using the
corresponding architecture personality, and indeed, schroot can switch
personality on entering chroots.

Please don't vary kernel architecture personality for reproducibility
testing.

(Does (or did) this variation even catch real-world reproducibility
problems in packages?)

Thanks,
Christoph

_______________________________________________
Qa-jenkins-dev mailing list
Qa-jenkins-dev at alioth-lists.debian.net
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/qa-jenkins-dev


More information about the Reproducible-builds mailing list