Bug#930669: unblock: qtbase-opensource-src/5.11.3+dfsg1-2

2019-06-28 Thread Dmitry Shachnev
Hi Paul!

On Thu, Jun 27, 2019 at 06:46:43AM +0200, Paul Gevers wrote:
> Hi Dmitry,
>
> Your package is blocked behind gcc-8. So although unblocked, it will not
> be part of buster at release time. Sorry. If you still want to deploy
> the fix in buster, please take the point release route.

Yes, I have seen that. No problem for me.

--
Dmitry Shachnev


signature.asc
Description: PGP signature


Bug#930669: unblock: qtbase-opensource-src/5.11.3+dfsg1-2

2019-06-26 Thread Paul Gevers
Hi Dmitry,

On 19-06-2019 06:10, Paul Gevers wrote:
> Hi Dmitry,
> 
> On 18-06-2019 09:41, Dmitry Shachnev wrote:
>> Please see #911844 for details.
> 
> Interesting bug report :)
> 
>> unblock qtbase-opensource-src/5.11.3+dfsg1-2
> 
> Unblocked, thanks.

Your package is blocked behind gcc-8. So although unblocked, it will not
be part of buster at release time. Sorry. If you still want to deploy
the fix in buster, please take the point release route.

Paul



signature.asc
Description: OpenPGP digital signature


Bug#930669: unblock: qtbase-opensource-src/5.11.3+dfsg1-2

2019-06-18 Thread Dmitry Shachnev
Package: release.debian.org
User: release.debian@packages.debian.org
Usertags: unblock

Dear Release team,

Please unblock package qtbase-opensource-src. It fixes a security bug
when Qt applications could print to a different printer from what was
selected in the dialog.

Please see #911844 for details. The same patch also fixes #911702.
The reporter has confirmed that both bugs are fixed now.

The debdiff is attached.

unblock qtbase-opensource-src/5.11.3+dfsg1-2

--
Dmitry Shachnev
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+qtbase-opensource-src (5.11.3+dfsg1-2) unstable; urgency=medium
+
+  * Backport upstream patch to add support for non-PPD printers and avoid
+silent fallback to a printer supporting PPD (closes: #911844).
+
+ -- Dmitry Shachnev   Sun, 16 Jun 2019 18:22:58 +0300
+
 qtbase-opensource-src (5.11.3+dfsg1-1) unstable; urgency=medium
 
   * Repack the tarball and strip some files and directories with copyright
index 000..9ac8395
--- /dev/null
+++ b/debian/patches/raw_printers.diff
@@ -0,0 +1,92 @@
+Description: cups: support raw printers
+ They don't have a ppd but we don't *really* need a ppd to just print.
+Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=84cc8d0badb4abc3
+Last-Update: 2019-06-16
+
+--- a/src/plugins/printsupport/cups/qcupsprintengine.cpp
 b/src/plugins/printsupport/cups/qcupsprintengine.cpp
+@@ -104,7 +104,11 @@ void QCupsPrintEngine::setProperty(Print
+ break;
+ case PPK_QPageLayout: {
+ QPageLayout pageLayout = value.value();
+-if (pageLayout.isValid() && (d->m_printDevice.isValidPageLayout(pageLayout, d->resolution) || d->m_printDevice.supportsCustomPageSizes())) {
++if (pageLayout.isValid() && (d->m_printDevice.isValidPageLayout(pageLayout, d->resolution)
++ || d->m_printDevice.supportsCustomPageSizes()
++ || d->m_printDevice.supportedPageSizes().isEmpty())) {
++// supportedPageSizes().isEmpty() because QPageSetupWidget::initPageSizes says
++// "If no available printer page sizes, populate with all page sizes"
+ d->m_pageLayout = pageLayout;
+ d->setPageSize(pageLayout.pageSize());
+ }
+--- a/src/plugins/printsupport/cups/qppdprintdevice.cpp
 b/src/plugins/printsupport/cups/qppdprintdevice.cpp
+@@ -71,7 +71,7 @@ QPpdPrintDevice::QPpdPrintDevice(const Q
+ m_cupsInstance = parts.at(1).toUtf8();
+ loadPrinter();
+ 
+-if (m_cupsDest && m_ppd) {
++if (m_cupsDest) {
+ m_name = printerOption("printer-info");
+ m_location = printerOption("printer-location");
+ m_makeAndModel = printerOption("printer-make-and-model");
+@@ -87,10 +87,6 @@ QPpdPrintDevice::QPpdPrintDevice(const Q
+ // Cups ppd_file_t variable_sizes custom_min custom_max
+ // PPD MaxMediaWidth MaxMediaHeight
+ m_supportsCustomPageSizes = type & CUPS_PRINTER_VARIABLE;
+-m_minimumPhysicalPageSize = QSize(m_ppd->custom_min[0], m_ppd->custom_min[1]);
+-m_maximumPhysicalPageSize = QSize(m_ppd->custom_max[0], m_ppd->custom_max[1]);
+-m_customMargins = QMarginsF(m_ppd->custom_margins[0], m_ppd->custom_margins[3],
+-m_ppd->custom_margins[2], m_ppd->custom_margins[1]);
+ }
+ }
+ }
+@@ -107,7 +103,7 @@ QPpdPrintDevice::~QPpdPrintDevice()
+ 
+ bool QPpdPrintDevice::isValid() const
+ {
+-return m_cupsDest && m_ppd;
++return m_cupsDest;
+ }
+ 
+ bool QPpdPrintDevice::isDefault() const
+@@ -152,8 +148,8 @@ void QPpdPrintDevice::loadPageSizes() co
+ }
+ }
+ }
+-m_havePageSizes = true;
+ }
++m_havePageSizes = true;
+ }
+ 
+ QPageSize QPpdPrintDevice::defaultPageSize() const
+@@ -505,10 +501,11 @@ void QPpdPrintDevice::loadPrinter()
+ ppdMarkDefaults(m_ppd);
+ cupsMarkOptions(m_ppd, m_cupsDest->num_options, m_cupsDest->options);
+ ppdLocalize(m_ppd);
+-} else {
+-cupsFreeDests(1, m_cupsDest);
+-m_cupsDest = 0;
+-m_ppd = 0;
++
++m_minimumPhysicalPageSize = QSize(m_ppd->custom_min[0], m_ppd->custom_min[1]);
++m_maximumPhysicalPageSize = QSize(m_ppd->custom_max[0], m_ppd->custom_max[1]);
++m_customMargins = QMarginsF(m_ppd->custom_margins[0], m_ppd->custom_margins[3],
++m_ppd->custom_margins[2], m_ppd->custom_margins[1]);
+ }
+ }
+ }
+--- a/src/printsupport/dialogs/qpagesetupdialog_unix.cpp
 b/src/printsupport/dialogs/qpagesetupdialog_unix.cpp
+@@ -415,6 +415,12 @@ void QPageSetupWidget::setPrinter(QPrint
+ initPageSizes();
+ updateWidget();
+ updateSavedValues();
++
++if (m_ui.pageSizeCombo->currentIndex() == -1) {
++// This can happen in raw printers that since they