Bug#1059592: qhelpgenerator-qt5: emits .qch file attribute entries with unpredictable ordering
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
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
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
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)