Notes for qtconnectivity-opensource-src - reproducible builds result

Version annotated: 5.4.2-2
Identified issues:
Identifier: randomness_in_qdoc
Description Non-deterministic order of and elements in XML. See
https://sources.debian.net/src/qtbase-opensource-src/latest/src/tools/qdoc/helpprojectwriter.cpp/?hl=630#L787
etc.
Identifier: captures_build_path
Description Captures build path, e.g., /build/1st/foo-42.0 v. /build/foo-42.0/2nd
.
Until early 2024 we varied the build path when testing packages from unstable
and experimental, which we have stopped doing now as the build path is recorded
as part of the environment and thus can be used when rebuilding.
.
This issue is kept here for the time being.
.
This issue is only for miscellaneous issues which need individual fixes,
please create new issues for specific issues, e.g. gcc_captures_build_path.
.
Here follows some general tips for packages using the standard GNU toolchain:
.
If using autoconf, make sure you call ./configure via a relative and not absolute path.
.
If your issue is related to using the `__FILE__` macro, or the recording of
--debug-prefix-map flags in non-GCC non-debugging output, this is what is
fixed by our patch mentioned above; you should not need to fix it
specifically in your package.
.
For more background information see:
.
• https://alioth-lists.debian.net/pipermail/reproducible-builds/Week-of-Mon-20160822/006788.html
• https://alioth-lists.debian.net/pipermail/reproducible-builds/Week-of-Mon-20160905/006984.html
• https://alioth-lists.debian.net/pipermail/reproducible-builds/Week-of-Mon-20160912/007076.html
Identifier: build_path_in_qdoc
Description eg. filepath elements
Identifier: captures_build_dir_in_qmake_prl_files
Description QMAKE_PRL_BUILD_DIR contains the absolute build path.
Identifier: timestamps_in_qhc
URL https://wiki.debian.org/ReproducibleBuilds/TimestampsInDatabaseGeneratedByQhelpgenerator
Description There has been done a lot of reproducible fixes in 5.5.0, so it is worth to
wait entering this version sid before retrying.
.
qhelpgenerator inserts a timestamp into documentation (qhc) files,
which are sqlite3 databases. The timestamp used now respects
SOURCE_DATE_EPOCH, but is still affected by timezone.
.
https://codesearch.debian.net/search?q=Q_UNLIKELY.*SOURCE_DATE_EPOCH&literal=0
.
sqlite3 databases appear to be reproducible in themselves, but qhelp
generator is using various file IDs which become non-deterministic due to
map access. For example
.
https://sources.debian.net/src/qt4-x11/latest/tools/assistant/lib/qhelpgenerator.cpp/?hl=742#L742
.
I suspect we just need a few sorts (and some time to build qt4-x11...)
.
Also
.
https://sources.debian.org/src/qttools-opensource-src/latest/src/assistant/help/qhelpcollectionhandler.cpp/?hl=1639#L1639
.
debian bug https://bugs.debian.org/875847
.
upstream bug https://bugreports.qt.io/browse/QTBUG-62697
 

Our notes about issues affecting packages are stored in notes.git and are targeted at packages in Debian in 'unstable/amd64' (unless they say otherwise).