Bug#1059592: qhelpgenerator-qt5: emits .qch file attribute entries with unpredictable ordering

2023-12-28 Thread James Addison
Followup-For: Bug #1059592
Description: helpgenerator: populate FileAttributeSetTable in sorted attribute 
ID order.
Author: James Addison 
Bug-Debian: https://bugs.debian.org/1059592

--- 
qttools-opensource-src-5.15.10.orig/src/assistant/qhelpgenerator/helpgenerator.cpp
+++ 
qttools-opensource-src-5.15.10/src/assistant/qhelpgenerator/helpgenerator.cpp
@@ -445,7 +445,9 @@ bool HelpGeneratorPrivate::insertFiles(c
 if (filterSetId < 0)
 return false;
 ++filterSetId;
-for (int attId : qAsConst(filterAtts)) {
+QList sortedAtts = filterAtts.values();
+std::sort(sortedAtts.begin(), sortedAtts.end());
+for (int attId : qAsConst(sortedAtts)) {
 m_query->prepare(QLatin1String("INSERT INTO FileAttributeSetTable "
 "VALUES(?, ?)"));
 m_query->bindValue(0, filterSetId);


Bug#1059592: qhelpgenerator-qt5: emits .qch file attribute entries with unpredictable ordering

2023-12-28 Thread James Addison
Package: qhelpgenerator-qt5
Severity: wishlist
Tags: patch
User: reproducible-bui...@lists.alioth.debian.org
Usertags: randomness
X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org

Dear Maintainer,

I'm an occasional contributor to Debian's reproducible builds, and noticed
a recent reproducibility test failure[1] for the qtwebview-opensource-src
source package that has a build-dependency on qhelpgenerator-qt5.

The problem relates to a documentation file -- qtwebview.qch -- that is built
by the qhelpgenerator binary.

In particular, when qhelpgenerator collects items for a FileAttributeSetTable
table in the .qch file -- which is a SQLite3 database -- it uses a QT QSet
datastructure.  Crucially, that datastructure does _not_ guarantee sort
ordering (neither insertion-order nor key-order) when retrieving items,
as documented[2].

I'll offer a patch shortly that adds a sort step, consistent with another
similar sort that occurs within the same helpgenerator.cpp code file.

In terms of testing:  I've confirmed that the package compiles with my patch,
and that the resulting qhelpgenerator-qt5 binary package can be used to build
the src:qtwebview-opensource-src package and produces a qtwebview.qch file with
the expected table records in the expected order.

Thanks,
James


[1] - 
https://tests.reproducible-builds.org/debian/rb-pkg/trixie/arm64/qtwebview-opensource-src.html

[2] - https://doc.qt.io/qt-5/qset.html



qtwebengine-opensource-src_5.15.15+dfsg-2~bpo12+1_amd64.changes is NEW

2023-12-28 Thread Debian FTP Masters
Mapping bookworm-backports to stable-backports.
binary:libqt5pdf5 is NEW.
binary:libqt5pdfwidgets5 is NEW.
binary:libqt5webengine-data is NEW.
binary:libqt5webengine5 is NEW.
binary:libqt5webenginecore5 is NEW.
binary:libqt5webenginewidgets5 is NEW.
binary:qml-module-qtquick-pdf is NEW.
binary:qml-module-qtwebengine is NEW.
binary:qt5-image-formats-plugin-pdf is NEW.
binary:qtpdf5-dev is NEW.
binary:qtpdf5-doc is NEW.
binary:qtpdf5-doc-html is NEW.
binary:qtpdf5-examples is NEW.
binary:qtwebengine5-dev is NEW.
binary:qtwebengine5-dev-tools is NEW.
binary:qtwebengine5-doc is NEW.
binary:qtwebengine5-doc-html is NEW.
binary:qtwebengine5-examples is NEW.
binary:qtwebengine5-private-dev is NEW.
binary:libqt5pdf5 is NEW.
binary:libqt5pdfwidgets5 is NEW.
binary:libqt5webengine-data is NEW.
binary:libqt5webengine5 is NEW.
binary:libqt5webenginecore5 is NEW.
binary:libqt5webenginewidgets5 is NEW.
binary:qml-module-qtquick-pdf is NEW.
binary:qml-module-qtwebengine is NEW.
binary:qt5-image-formats-plugin-pdf is NEW.
binary:qtpdf5-dev is NEW.
binary:qtpdf5-doc-html is NEW.
binary:qtpdf5-doc is NEW.
binary:qtpdf5-examples is NEW.
binary:qtwebengine5-dev-tools is NEW.
binary:qtwebengine5-dev is NEW.
binary:qtwebengine5-doc-html is NEW.
binary:qtwebengine5-doc is NEW.
binary:qtwebengine5-examples is NEW.
binary:qtwebengine5-private-dev is NEW.
source:qtwebengine-opensource-src is NEW.

Your package has been put into the NEW queue, which requires manual action
from the ftpteam to process. The upload was otherwise valid (it had a good
OpenPGP signature and file hashes are valid), so please be patient.

Packages are routinely processed through to the archive, and do feel
free to browse the NEW queue[1].

If there is an issue with the upload, you will receive an email from a
member of the ftpteam.

If you have any questions, you may reply to this email.

[1]: https://ftp-master.debian.org/new.html
 or https://ftp-master.debian.org/backports-new.html for *-backports



Processing of qtwebengine-opensource-src_5.15.15+dfsg-2~bpo12+1_amd64.changes

2023-12-28 Thread Debian FTP Masters
qtwebengine-opensource-src_5.15.15+dfsg-2~bpo12+1_amd64.changes uploaded 
successfully to localhost
along with the files:
  qtwebengine-opensource-src_5.15.15+dfsg-2~bpo12+1.dsc
  qtwebengine-opensource-src_5.15.15+dfsg.orig.tar.xz
  qtwebengine-opensource-src_5.15.15+dfsg-2~bpo12+1.debian.tar.xz
  libqt5pdf5-dbgsym_5.15.15+dfsg-2~bpo12+1_amd64.deb
  libqt5pdf5_5.15.15+dfsg-2~bpo12+1_amd64.deb
  libqt5pdfwidgets5-dbgsym_5.15.15+dfsg-2~bpo12+1_amd64.deb
  libqt5pdfwidgets5_5.15.15+dfsg-2~bpo12+1_amd64.deb
  libqt5webengine-data_5.15.15+dfsg-2~bpo12+1_all.deb
  libqt5webengine5-dbgsym_5.15.15+dfsg-2~bpo12+1_amd64.deb
  libqt5webengine5_5.15.15+dfsg-2~bpo12+1_amd64.deb
  libqt5webenginecore5-dbgsym_5.15.15+dfsg-2~bpo12+1_amd64.deb
  libqt5webenginecore5_5.15.15+dfsg-2~bpo12+1_amd64.deb
  libqt5webenginewidgets5-dbgsym_5.15.15+dfsg-2~bpo12+1_amd64.deb
  libqt5webenginewidgets5_5.15.15+dfsg-2~bpo12+1_amd64.deb
  qml-module-qtquick-pdf-dbgsym_5.15.15+dfsg-2~bpo12+1_amd64.deb
  qml-module-qtquick-pdf_5.15.15+dfsg-2~bpo12+1_amd64.deb
  qml-module-qtwebengine-dbgsym_5.15.15+dfsg-2~bpo12+1_amd64.deb
  qml-module-qtwebengine_5.15.15+dfsg-2~bpo12+1_amd64.deb
  qt5-image-formats-plugin-pdf-dbgsym_5.15.15+dfsg-2~bpo12+1_amd64.deb
  qt5-image-formats-plugin-pdf_5.15.15+dfsg-2~bpo12+1_amd64.deb
  qtpdf5-dev_5.15.15+dfsg-2~bpo12+1_amd64.deb
  qtpdf5-doc-html_5.15.15+dfsg-2~bpo12+1_all.deb
  qtpdf5-doc_5.15.15+dfsg-2~bpo12+1_all.deb
  qtpdf5-examples-dbgsym_5.15.15+dfsg-2~bpo12+1_amd64.deb
  qtpdf5-examples_5.15.15+dfsg-2~bpo12+1_amd64.deb
  qtwebengine-opensource-src_5.15.15+dfsg-2~bpo12+1_amd64.buildinfo
  qtwebengine5-dev-dbgsym_5.15.15+dfsg-2~bpo12+1_amd64.deb
  qtwebengine5-dev-tools-dbgsym_5.15.15+dfsg-2~bpo12+1_amd64.deb
  qtwebengine5-dev-tools_5.15.15+dfsg-2~bpo12+1_amd64.deb
  qtwebengine5-dev_5.15.15+dfsg-2~bpo12+1_amd64.deb
  qtwebengine5-doc-html_5.15.15+dfsg-2~bpo12+1_all.deb
  qtwebengine5-doc_5.15.15+dfsg-2~bpo12+1_all.deb
  qtwebengine5-examples-dbgsym_5.15.15+dfsg-2~bpo12+1_amd64.deb
  qtwebengine5-examples_5.15.15+dfsg-2~bpo12+1_amd64.deb
  qtwebengine5-private-dev_5.15.15+dfsg-2~bpo12+1_amd64.deb

Greetings,

Your Debian queue daemon (running on host usper.debian.org)