[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#990619: marked as done (unblock: qtbase-opensource-src/5.15.2+dfsg-9)



Your message dated Sun, 04 Jul 2021 19:17:00 +0000
with message-id <E1m07bw-0005pZ-4t@respighi.debian.org>
and subject line unblock qtbase-opensource-src
has caused the Debian Bug report #990619,
regarding unblock: qtbase-opensource-src/5.15.2+dfsg-9
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
990619: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=990619
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package qtbase-opensource-src 5.15.2+dfsg-9.

[ Reason ]
Unfortunately the patch I added in 5.15.2+dfsg-6 introduced some regressions.

The original purpose of that patch was to fix the bug described here:
- https://bugs.launchpad.net/bugs/1857824
- https://bugs.kde.org/show_bug.cgi?id=417761

However that patch also contained an unrelated change. Quoting the commit
message:

> This change also optimizes QMimeBinaryProvider::addFileNameMatches
> to have the same logic as xdgmime for glob matching:
> literals > extensions > other globs
> As soon as one category matches, we can stop there.
> This makes no difference in the overall results, in practice.

It turns out this optimization causes various problems, which can be seen in
the following bug reports:
- https://bugs.debian.org/989255 (problems with qbittorrent-nox)
- https://bugs.debian.org/989744 (problems with dolphin and all/all MIME type)
- https://bugs.debian.org/990129 (problems with Qt WebEngine)

[ Impact ]
According to the bugs, the previous patch causes issues in different
applications. All issues are in some way related to determining MIME types.

[ Tests ]
I have prepared a locally built .deb where the part of the patch causing
problems was removed:
- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=989744#37

In all three bugs, I got feedback that the issue is fixed with that:
- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=989255#36
- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=989744#42
- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=990129#27

[ Risks ]
The risks are all related to MIME types handling. But at least it should be
no worse than before -6 upload. I hope these two parts of the patch were
really independent.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing

[ Other info ]
The 5.15.2+dfsg-8 upload contained another fix that was contributed to us via
a merge request. Apparently that fix also causes a regression, so I decided to
remove it in -9.

unblock qtbase-opensource-src/5.15.2+dfsg-9

Of course there is no urgency, this package can wait its N-day quarantine
in unstable.

--
Dmitry Shachnev
diff -Nru qtbase-opensource-src-5.15.2+dfsg/debian/changelog qtbase-opensource-src-5.15.2+dfsg/debian/changelog
--- qtbase-opensource-src-5.15.2+dfsg/debian/changelog	2021-06-03 15:55:29.000000000 +0300
+++ qtbase-opensource-src-5.15.2+dfsg/debian/changelog	2021-07-02 18:58:04.000000000 +0300
@@ -1,3 +1,23 @@
+qtbase-opensource-src (5.15.2+dfsg-9) unstable; urgency=medium
+
+  * Revert adding fix-misplacement-of-placeholder-text-in-QLineEdit.diff.
+    Unfortunately it causes a regression (see QTBUG-94824).
+
+ -- Dmitry Shachnev <mitya57@debian.org>  Fri, 02 Jul 2021 18:58:04 +0300
+
+qtbase-opensource-src (5.15.2+dfsg-8) unstable; urgency=medium
+
+  [ Lu Yaning ]
+  * Backport upstream patch to fix misplacement of placeholder text in
+    QLineEdit with RTL content.
+
+  [ Dmitry Shachnev ]
+  * Remove the qmimeprovider.cpp part of mime_globs.diff. It is unrelated
+    to the original purpose of that patch, and causes various problems
+    (closes: #989255, #989744, #990129).
+
+ -- Dmitry Shachnev <mitya57@debian.org>  Mon, 28 Jun 2021 20:38:59 +0300
+
 qtbase-opensource-src (5.15.2+dfsg-7) unstable; urgency=medium
 
   [ Lu Yaning ]
diff -Nru qtbase-opensource-src-5.15.2+dfsg/debian/patches/mime_globs.diff qtbase-opensource-src-5.15.2+dfsg/debian/patches/mime_globs.diff
--- qtbase-opensource-src-5.15.2+dfsg/debian/patches/mime_globs.diff	2021-06-03 15:37:49.000000000 +0300
+++ qtbase-opensource-src-5.15.2+dfsg/debian/patches/mime_globs.diff	2021-07-02 18:58:04.000000000 +0300
@@ -2,14 +2,8 @@
  When multiple globs match, and the result from magic sniffing is
  unrelated to any of those globs, globs have priority and one of them
  should be picked up.
- .
- This change also optimizes QMimeBinaryProvider::addFileNameMatches
- to have the same logic as xdgmime for glob matching:
- literals > extensions > other globs
- As soon as one category matches, we can stop there.
- This makes no difference in the overall results, in practice.
 Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=0cbbba2aa5b47224
-Last-Update: 2021-05-18
+Last-Update: 2021-06-12
 
 --- a/src/corelib/mimetypes/qmimedatabase.cpp
 +++ b/src/corelib/mimetypes/qmimedatabase.cpp
@@ -55,31 +49,3 @@
          m_knownSuffixLength = knownSuffixLength;
      }
  }
---- a/src/corelib/mimetypes/qmimeprovider.cpp
-+++ b/src/corelib/mimetypes/qmimeprovider.cpp
-@@ -244,15 +244,18 @@ void QMimeBinaryProvider::addFileNameMat
-     const QString lowerFileName = fileName.toLower();
-     // Check literals (e.g. "Makefile")
-     matchGlobList(result, m_cacheFile, m_cacheFile->getUint32(PosLiteralListOffset), fileName);
--    // Check complex globs (e.g. "callgrind.out[0-9]*")
--    matchGlobList(result, m_cacheFile, m_cacheFile->getUint32(PosGlobListOffset), fileName);
-     // Check the very common *.txt cases with the suffix tree
--    const int reverseSuffixTreeOffset = m_cacheFile->getUint32(PosReverseSuffixTreeOffset);
--    const int numRoots = m_cacheFile->getUint32(reverseSuffixTreeOffset);
--    const int firstRootOffset = m_cacheFile->getUint32(reverseSuffixTreeOffset + 4);
--    matchSuffixTree(result, m_cacheFile, numRoots, firstRootOffset, lowerFileName, lowerFileName.length() - 1, false);
-+    if (result.m_matchingMimeTypes.isEmpty()) {
-+        const int reverseSuffixTreeOffset = m_cacheFile->getUint32(PosReverseSuffixTreeOffset);
-+        const int numRoots = m_cacheFile->getUint32(reverseSuffixTreeOffset);
-+        const int firstRootOffset = m_cacheFile->getUint32(reverseSuffixTreeOffset + 4);
-+        matchSuffixTree(result, m_cacheFile, numRoots, firstRootOffset, lowerFileName, lowerFileName.length() - 1, false);
-+        if (result.m_matchingMimeTypes.isEmpty())
-+            matchSuffixTree(result, m_cacheFile, numRoots, firstRootOffset, fileName, fileName.length() - 1, true);
-+    }
-+    // Check complex globs (e.g. "callgrind.out[0-9]*" or "README*")
-     if (result.m_matchingMimeTypes.isEmpty())
--        matchSuffixTree(result, m_cacheFile, numRoots, firstRootOffset, fileName, fileName.length() - 1, true);
-+        matchGlobList(result, m_cacheFile, m_cacheFile->getUint32(PosGlobListOffset), fileName);
- }
- 
- void QMimeBinaryProvider::matchGlobList(QMimeGlobMatchResult &result, CacheFile *cacheFile, int off, const QString &fileName)

--- End Message ---
--- Begin Message ---
Unblocked.

--- End Message ---

Reply to: